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

相关推荐

  • 文件服务及vsftpd的配置

    文件服务:     ftp:应用层,C/S,文件共享;file transfer protocol;     nfs,cifs:文件系统接口,网络文件系统;         nfs:network f…

    Linux干货 2016-10-15
  • Linux运维之路-Linux基础学习三

    先学会用户组和文件的属性,才知道怎么去管理

    Linux干货 2017-11-26
  • ☞实时数据同步方案{ rsync; inotify; }

    实时数据同步方案{ rsync; inotify; } rsync 传输数据 安装 rsyncd 服务 CentOS 6 CentOS 7 配置 rsyncd 服务 配置 rsync 手动同步示例     启动 rsyncd 服务 CentOS 6 CentOS 7 rsync 客户端命令 rsync 数据传输功能 基…

    Linux干货 2016-10-29
  • 730作业

    1、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中 [root@local ~]# cat /etc/issue |tr "[[:lower:]]" "[[:upper:]]" > /tmp/i…

    Linux干货 2016-08-02
  • Shell脚本编程 流程控制—循环

    循环:重复执行所指定的代码片段,直到循环条件不满足,则退出循环 一、for循环     语法格式:     for 变量名 in 列表     do         循环体     done &nbs…

    Linux干货 2016-08-24
  • iptables

    一、前言 什么是iptables?当我们启动iptables时,使用service命令可以启动iptables。但是并非使用service启动的iptables就能说明其是一个服务。Iptables是一个便以我们写规则的工具,真正起作用的是内核中的netfilter一个框架。Netfilter内置了5个hook函数,当一个数据包交由此机器时,经过这5个hoo…

    Linux干货 2015-10-27