Linux发展史

日期:2016-10-12

 Bell,MIT与GE的『Multics』系统

    早期的计算机还很不普遍,除非是军事或者高科技用途,或者学术单位的学术研究,否则真的很难接触到。而且计算机架构很难使用。那个时候,程序设计者必须先将程序相关的信息在读卡纸上面打洞然后将读卡纸插入卡片阅读机来将信息读入主机中运算。出错之后很麻烦

    好在1960年,麻省理工学院(MIT)发展了所谓的所谓的“兼容分时系统(Compatible Time-Sharing System,CTSS)”,他可以让大型机透过提供数个终端机(terminal)以联机进入主机,来利用主机的资源进行运算工作。架构就像这样:

blob.png

    为了更加强化大型主机的功能,以让主机的资源可以提供更多使用者来利用所以在1965年前后,由贝尔实验室(Bell)、麻省理工学院(MIT)、通用电气公司(GE)共同发起Multics的计划,目的是想让大型主机可以达成提供300个以上的终端机联机使用的目标。 不过,到了1969年前后,计划进度落后,资金也短缺,所以该计划虽然继续在研究,但贝尔实验室还是退出了该计划的研究工作。 (注:Multics有复杂、多数的意思。)

  在认为Multics计划不可能成功之后,贝尔研究室就退出该计划。不过,原本参与Multics计划的人员中,已经从该计划当中获得一些点子, Ken Thompson 就是其中一位!Thompson因为自己的需要,希望开发一个小小的操作系统以提供自己的需求。 在开发时,有一部DEC(Digital Equipment Corporation)公司推出的PDP-7刚好没人使用, 于是他就准备针对这部主机进行操作系统核心程序的撰写。经过四个星期的奋斗,他终于以汇编语言(Assembler)写出了一组核心程序,同时包括一些核心工具程序, 以及一个小小的文件系统。那个系统就是Unix的原型! 当时Thompson将Multics庞大的复杂系统简化了不少,二是同实验室的朋友都戏称这个系统为:Unics。 后来Thompson与Ritchie合作想将Unics改以高阶程序语言来撰写。以C重新改写不编译Unics的核心, 最后正名并发行出Unix的正式版本!

 1977年:重要的Unix分支–BSD的诞生

    由于AT&T对Unix态度开放,而且Unix使用比较高级的C语言编写,理论上具有移植性。所以1973年之后,Unix得以与学术界合作开发。最重要的接触就是与加州伯克莱(Berkeley)大学的合作。

    柏克莱大学的Bill Joy在取得了Unix的核心原始码后,着手修改成适合自己机器的版本, 并且同时增加了很多工具软件与编译程序,最终将它命名为Berkeley Software Distribution (BSD)。这个BSD是Unix很重要的一个分支,Bill Joy也是Unix业者“Sun(升阳)”家公司的创办者! Sun公司即是以BSD发展的核心进行自己的商业Unix版本的发展的。 (后来可以安装在x86硬件架构上面FreeBSD即是BSD改版而来!)

 1979年:重要的System V 架构与版权宣告

  由于Unix的高度可移植性与强大的效能,加上当时并没有版权的纠纷, 所以让很多商业公司开始了Unix操作系统的发展,例如AT&T自家的System V、IBM的AIX以及HP与DEC等公司, 都有推出自家的主机搭配自己的Unix操作系统。

   不过因为AT&T由于商业的考虑,以及在当时现实环境下的思考,于是将想Unix的版权收回去。因此,AT&T在1979年发行的第七版Unix中,特别提到了 『不可对学生提供原始码』的严格限制!同时,也造成Unix业界之间的紧张气氛,并且也引爆了很多的商业纠纷。

  1984年之一:x86架构的Minix操作系统诞生

    由于1979年的版权声明,为避免版权纠纷Andrew Tanenbaum(谭宁邦)教授自己动手写了Minix这个Unix Like的核心程序。谭宁邦1984年开始编写核心程序,到了1986年终于完成。不过,由于Minix需要通过磁盘/磁带购买,并且谭宁邦教授认为Minix主要用于教育用途。所以虽然Minix很受欢迎却无法得到较快发展。

  1984年之二:GNU计划与FSF基金会的成立

    1984年,史托曼开始GNU计划, 这个计划的目的是:建立一个自由、开放的Unix操作系统(Free Unix)。史托曼开始参考Unix上面现有的软件,并依据这些软件的作用开发出功能相同的软件,于是GNU计划逐渐打开知名度。后来史托曼编写了C语言的编译程序,就是现在相当有名的GNU C Compiler(gcc)和Emacs编辑器。在此期间,史托曼成立了自由软件基金会(FSF,Free Software Foundation)。

    到了1985年,为了避免GNU所开发的自由软件被其他人所利用而成为专利软件, 所以他与律师草拟了有名的通用公共许可证(General Public License, GPL), 并且称呼他为copyleft(相对于专利软件的copyright!)。

  Torvalds的Linux发展

    Linus Torvalds(托瓦兹, 1969年出生)的外祖父是赫尔辛基大学的统计学家, 他从小就接触微计算机,并学习了汇编语言。1988年,托瓦兹进入赫尔辛基大学,接触到了Unix系统。后来他购买了Minix系统,并在386平台上实现了多任务测试:

blob.png

    托瓦兹编写了能在386平台上运行的核心程序,并发布了出来,命名为Linux。后来,通过对Linux的修改,使其能够兼容Unix。自此,Linux正式诞生,并通过广大黑客的共同努力获得飞速发展。

  

  

  

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

(0)
wangshuaiwangshuai
上一篇 2016-10-14
下一篇 2016-10-14

相关推荐

  • LINUX磁盘及文件系统管理

    LINUX磁盘及文件系统管理 cpu,Memory(RAM),I/O I/O:Disks,Entercard    Disks:持久存储数据       接口类型:        IDE(ata):并…

    Linux干货 2016-08-29
  • PHP高效率写法(详解原因)

    1.尽量静态化:    如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。   当然了,这个测试方法需要在十万级以上次执行,效果才明显。   其实静态方法和非静态方法的效率主要区别在内存:静态方法在程序开始时生成内存,实例方法在程序运行中生成内存,所以静…

    Linux干货 2015-05-28
  • 马哥教育网络班21期-第二周课程练习

    第二周课程练习 1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示?     1.1 目录管理类命令:cd,pwd,ls,mkdir,rmdir,tree          1.1.1 cd:主要功能是改变当前目录,…

    Linux干货 2016-07-04
  • 三大家族轻松管理CentOS 7网络属性配置

    一、简单介绍        在CentOS 7中对网络管理还是有不少变化的,例如管理服务的命令变为systemctl,许多命令可以更改后直接生效,还有许多独有的工具,本文以CentOS 6与CentOS 7对比进行讲解,下面现总体介绍一下网络属性配置工具。    &nb…

    Linux干货 2016-04-25
  • nginx

    http http协议:web服务器(类似于httpd)、http reverse proxy(类似于httpd)、imap/pop3 reverse proxy NGINX is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP/P…

    Linux干货 2017-06-25
  • 网络基础

    #**计算机网络**##网络的特征– 速度、成本、安全性、可用性、可扩展性、可靠性、拓扑 ##**物理拓扑分类**– 总线型– 所有设备均可接受信号– 星型拓扑– 通过中心点传输,单一故障点– 扩展星型拓扑– 比星型拓扑的复原能力强– 环拓扑– 信号绕…

    Linux干货 2017-11-27