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

相关推荐

  • 人志建,则无敌—磁盘、LVM2和简单脚本练习

    马哥网络班21期-第七周博客 1、创建一个10G分区,并格式为ext4文件系统;  disk /dev/sdb         Command (m for help): n    &nbs…

    Linux干货 2016-08-19
  • 分布式文件系统MogileFS

    1、分布式系统的目标:加强A、P,在C上进行妥协     BASE模型 CAP理论: C:Consistency(一致性)  任何一个读操作总是能够读取之前完成的写操作。 A:Availability(可用性) 每一次操作总是能够在确定的时间返回。 P: Partition Tolerance ( 分区容错性 )   在出现网络分区的情况下,仍然能够满足一致…

    2017-11-23
  • 文本查看类命令

    文本查看相关的命令:1.  cat – 串连文件,并以标准输出显示语法:cat [OPTION]… [FILE]… 常用选项 选项 | 含义—— | ——-n | 在显示文件内容时打印行号示例:~]# cat -n /etc/rc.d/init.d/functions显示/e…

    2017-09-07
  • 关于Linux系统无法启动的问题(1)

                                  &nbsp…

    2017-09-04
  • 马哥教育网络版25期+第一周作业

    1、描述计算机的组成及其功能 计算机是由CPU,控制器,RAM,输入设备,输出设备组成的 2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别 现如今主流的LINUX发行版系列主要有: Debian,Slackware,Redhat,这些发行版都是基于GUNLinux开发的,不过是由不同的组织或团体开发并发行的。 3、描述Linux的哲学思想,…

    Linux干货 2016-12-05
  • 18页PPT带你深度解读运维自动化

    一、概述    在前面的文章中,提到【运维的本质—可视化】,在其中着重强调是自动化的可视化和数据化的可视化。在这个文章中,全面解码看看自动化的极致状态为什么是可视化?在前面的另外一篇文章【运维平台全体系介绍】中,也讲到运维平台体系的构成,提出“**及服务”的理念,其中有几部分和自动化密切相关,比如说资源及服务、配置及服务、架构…

    2015-04-03