Unix与linux的发展历程以及linux的发行版

Unix的发展与诞生是有源头的,早期的时候,为了生产处多任务操作系统,Bell,MIT,GE这三个单位合作要制作一款多任务操作系统,也就是multitasks,这款操作系统后来是研制成功了,但是往后的目标越来越大也越来越模糊,最终这三家单位也就相继退出了这个项目。

bell实验室的Ken Thompson因为之前在multitasks运行过一款游戏,space travel,但是由于退出了这个项目,因此无法再继续使用了,于是他利用办公室的一台DEC生产的小型机,在这个小型机上写了一个操作系统,并运行了他的游戏,这款系统就是UNIX,而早期这款系统是用汇编写的,移植起来很不方便,于是在接下来的日子里他与公司的Dennis一起用C语言改写了这个UNIX,并且发布到美国的计算机论文上,为大家所熟知,各个高校组织纷纷索要UNIX作为研究之用,而此时的bell属于AT&T,AT&T只能销售电话电报业务,因此Unix被无偿发给了各高校,各高校也纷纷投入了研究,并经研究成果回馈给了Bell实验室,使得Unix有了一个较为稳定的版本,叫system V7.

与此同时加州伯克利分校的bill joy也在其所创立的组织中制作了BSD操作系统,并且后来也整合了美国国防部的TCP/IP协议。

后来AT&T解散了,Bell独立了,Bell实验室开始将UNIX转为商业,并开始与BSD等打官司。这种商业化的运作模式激怒了Richard stallman,他发起了GNU运动,并起草了GPL协定,创建了一个与商业软件公司对立的自由软件组织,这个组织蓬勃发展,制作了很多不错的软件,例如GCC,VI,但是它有个致命的弱点,就是它的软件是运行在UNIX之上的,呵呵。恰逢此时,芬兰大学的linus torvalds 意外地制造出了很小的linux kernel,并将之公布在网上,遵循GPL,于是全世界的程序员共同努力使这个linux越来越强大,加上GNU组织的努力,最终linux做大了。

这就是Unix,linux大概的发展历史,当然中间也穿插了微软的Windows,不再细究。

虽然linux发展的很快,但是它网上发布的通常是源码,计算机只能识别二进制,而且编译对很多人是头痛的事,因此,有些公司将这些源代码连同一些工具编译成二进制并打包向外出售,这些即使linux的发行版,出售的主要是服务,因此linux才逐渐为各个公司所接受,也使linux更加普及开来。

由于编译环境的不同,linux的发行版有书百种之多,但是主要分为以下几种:

debian

    二次发行:Ubuntu

        三次发行:mint

    二次发行:knopix

slackware

    二次发行:S.u.S.E

        三次发行:SLES

        三次发行:openSUSE

RedHat:

    二次发行版:redhat enterprise linux:RHEL

        三次发行版:centos:community enterprise linux

    二次发行版:Fedora core:redhat桌面业务

Gentoo

Archlinux

广义的linux=linux kernel+ GNU工具

发行版无非就是拿出linux kernel 与一些外围工具编译成二进制程序而已。

原创文章,作者:N24_强仔,如若转载,请注明出处:http://www.178linux.com/55861

(1)
N24_强仔N24_强仔
上一篇 2016-10-30 17:22
下一篇 2016-10-30 18:40

相关推荐

  • systemd管理

    centos7:systemdSystemd :系统启动和服务器守护进程管理器,负责在系统启动或运行时,          激活系统资源,服务器进程和其它进程Systemd 新特性:        系统引导时实现服务并行启动      &n…

    Linux干货 2017-04-10
  • 知乎上推荐的几款快速上手的UI框架

    1、Flat UI Flat UI是一套精美的扁平风格 UI 工具包,基于 Twitter Bootstrap 实现。地址:designmodo/Flat-UI · GitHub 2、BootMetro 基于 Twitter Bootstrap 框架构建,用于创建 Windows 8 的 Metro 风格的网站,灵感来自于 Metro UI CSS 。地址:…

    2015-03-17
  • yum使用和源码编译进程

    yum 是通过分析RPM的标头数据,根据各软件的依赖关系制作出有依赖关系时的解决方案,然后自动处理软件的依赖性问题,以解决软件安装或升级的问题。  yum使用方法: yum [options] [command] [packages …] install package .. 通过yum安装软件包 update package .. 更新软件包 u…

    Linux干货 2016-08-24
  • 第四周 N28 (用户及权限管理及BRE、ERE应用)

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 # cp -r /etc/skel /home/tuser1 # chmod -R og= /home/tuser1 2、编辑/etc/group文件,添加组hadoop。 hadoop:x:1000: 3、手动编辑/etc…

    2017-12-22
  • 马哥教育网络班21第五周练习作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost ~]# grep "^[[:space:]]\+" /boot/grub2/grub.cfg   2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空…

    Linux干货 2016-08-08
  • CentOS7.3安装Jumpserver0.3.2

    CentOS7.3安装Jumpserver0.3.2 公司服务器前端增加堡垒机,选用开源的jumpserver 软件环境CentOS Linux release 7.3.1611 python 2.7.5 mysql5.7 安装git yum -y install git 克隆jumpserver # cd /opt # git clone https://…

    Linux干货 2017-07-11

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-02 17:26

    加入了一些自己的理解,不错,希望可以将这段发展史熟知,加油,加油