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

相关推荐

  • 实验:系统启动和内核管理

    实验:bootloader 破坏stage1: 备份:dd if=/dev/sda of=/app/mbr bs=1 count=512 破坏:dd if=/dev/zero of=/dev/sda bs=1 count=446;此时/boot/grub/下的文件没有任何改动; 表现:stage1破坏后系统会直接进行光盘引导 修复1:救援模式–&…

    Linux干货 2017-05-14
  • IO重定向

    I/O(IN Out)重定向(本来位置被改到别处位置):            指的改变默认输入输出的位置    程序:数据+指令  IO          可用于输入的设备:文件     &nbsp…

    Linux干货 2017-04-03
  • 使用keepalive实现nginx反向代理高可用

    简介: 在网站架构中,为了分散客户端对服务器的访问压力,可以使用nginx作为反向代理。但是使用一个nginx作为代理服务器必定会面对单点故障的情况,所以一般使用多台nginx反代服务器,而使用多台nginx服务器还要面对如何协调调度的问题。在此,我给大家介绍使用keepalive协调调度nginx反代服务器的方法。   keepalive简介 说…

    2017-05-15
  • CentOS6.7上编译安装MariaDB

    CentOS6.7上编译安装MariaDB

    系统运维 2016-06-03
  • linux基础服务之DNS

    一、DNS简介 1、DNS:Domain Name System(域名系统),是互联网上IP和域名相互解析的分布式层级结构的数据库。DNS的出现能够使用户更好的更加方便的访问互联网,不用记IP地址来访问互联网,可以通过人类更容易记住域名来访问互联网。 2、DNS是一种C/S架构的服务器,客户机用于一个名字对应的地址,而服务器是为客户机提供查询的,查询由两种机…

    2017-05-29
  • python分支循环和列表

    if语句 if condition: 代码块 condition必须是一个bool类型,这个地方有一个隐式转换bool(condition) if 1<2: print(‘1 less than 2’)   循环——while语句 while condition: block 当条件满足即condition为True,…

    2018-03-27

评论列表(1条)

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

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