Linux发展简史

一、Linux发展简史


1.1969年以前:Bell,MIT与GE的“Mutics”系统


Bell:贝尔实验室,隶属于AT&T公司

MIT:麻省理工学院

GE:通用电气公司

Mutics:有“多数”的意思,意在让多人同时使用一台主机的资源(多用户

·60年代初,MIT开发出分时操作系统,最多同时提供30台终端机(技术上的限制)连接一台大型主机,以让更多用户可以同时使用同一台昂贵主机的资源;

·1965年,Bell、MIT与GE共同发起Mutics项目,目的是想让大型主机可以同时提供300台以上终端机来连接大型主机;

·1969年前后,Mutics项目资金缺乏,虽然项目仍然进行,不过Bell最终退出了该项目;

·Mutics项目最终还是成功的,只是没有受到太大的重视(需求问题)。




2.1969年:Ken Thompson的小型File Server System


Thompson:贝尔实验室的成员,当时参与了Mutics项目开发

·Mutics项目培养了优秀的人才,Thompson便是其中一员;

·Thompson从Mutics项目中获得了不少的想法;

·为了移植“太空旅游”游戏,Thompson将Mutics项目中庞大复杂的系统进行简化,在PDP-7主机上以汇编语言写出了一组内核程序内核工具程序以及一个小的文件系统,被称为Unics(UNIX的原型);

·Thompson开发的文件系统概念:

a.所有的程序或系统装置都是文件

b.不管构建编辑器还是附属文件,所写的程序只有一个目的,就是要有效地完成目标



3.1973年:UNIX正式诞生,Ritchie等人以C语言写出第一个正式UNIX内核


汇编语言:具有专一性,与硬件相关,Unics即用汇编语言所开发

B语言:高级语言,但所编译出来的内核性能不是很好

C语言:高级语言,由Dennis Ritchie将B语言重新改写而成

·Thompson开发的Unics实用性强,在Bell内部广为流传;

·当时计算机机器架构(硬件架构)都不太相同,给Unics移植带来一定的复杂性;

·Ritchie将B语言改写成C语言,并与Thompson合作,用C语言来重新必定与编译Unics的内核;

·发行出UNIX的正式版本;

·由于高级语言的特性,UNIX很容易被移植到不同的机器上(硬件架构不同的主机)。



4.1977年:重要的UNIX分支——BSD诞生


可移植性:UNIX用高级语言开发,理论具有可移植性,即只要取得UNIX的源码,针对不同主机特性加以修改,即可以移植到不同的主机上

Berkeley:加州柏克莱分校

Bill Joy:Sun公司创始人

Berkeley Softsare Distribution:即BSD

FreeBSD:由BSD改版而来,可以安装在x86硬件架构上

·由于UNIX的可移植特性,1973年后,Bell得以与学术界合作开发UNIX(学术界进行学术研究,往往需要使用计算机,而当时缺乏的是一个好的操作系统);

·Bell与Berkeley进行了重要的接触;

·Berkeley的Bill Joy取得UNIX的内核源码后,修改成适合自己机器的版本,增加很多工具软件与编译程序,并将其命名为Berkeley Softsare Distribution,即BSD;

·Bell Joy创建办Sun公司,以其修改的内核(BSD)来进行自己的商业UNIX版本的开发。



5.1979年:重要的System V架构与版权声明


协议:这里指硬件架构的通用生产协议,当时计算机硬件公司没有该概念,因此所生产的硬件需要合适的UNIX系统

x86:早期的个人计算机架构,该架构下的CPU没有多任务的作业能力

纯种的UNIX:指BSD以及System V

·UNIX高可移植性、强大性能、无版权纠纷,商业公司开发UNIX操作系统,推出自家的主机搭配“自家”的UNIX操作系统;

·这些公司开发的硬件没有遵循统一的协议(当时没有),开发的UNIX操作系统及相关软件只能在自家硬件架构的主机上运行;

·这些公司有:AT&T、IBM、HP、DEC、Sun、Cray等;

·UNIX强调多用户、多任务,由于x86的特性,没有人愿意移植UNIX到x86架构主机上;

·AT&T推出的System V第七版UNIX,支持x86架构的个人计算机;

·AT&T出于商业考虑,发行其第七版UNIX时,提出“不可对学生提供源码”,即要将UNIX版权收回。



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


Minix:迷你的UNIX操作系统

·System V每七版的版权声明,影响了教导UNIX内核源码学问的谭宁邦教授;

·为了教学的方便,谭宁邦教授与UNIX兼容的迷你UNIX操作系统Minix;

·Minix只能通过磁盘/磁带购买,但是提供Minix源码;

·谭宁邦教授没有继续开发Minix,只是点到为止。



7.1984年之二:GNU项目与FSF基金会成立

Richard Mathew Stallman:史托曼,GNU项目发起人,起草GPL

GNU项目:创建一个自由、开放的UNIX操作系统(Free UNIX)

GPL:,General Public License,GNU的通用公共许可证,避免GNU自由软件被商业利用而发起

AI Lab.:黑客圈中出名的人工智能实验室,1971年史托曼进入该实验室

Lisp:MIT开发的操作系统,属于专利软件,史托曼早期在Lab中即使用其来开发软件

Free Software Foundation:即FSF,自由软件基金会

--自由分享的环境

·史托曼早年进入AI Lab.中,强调“分享”,对于软件没有专利的困扰;

·AI Lab.的管理层问题,导致优秀黑客离开并加入商业公司开发软件;

·史托曼坚持分享、自由而留下来,但意识到需要成立一个开放的团体来共同努力。

--使用UNIX开发阶段

·实验室硬件的更换,使得史托曼放弃了Lisp,并得以接触UNIX;

·UNIX在那时虽然也是专利软件,但相比Lisp,其在架构上还是比较开放的;

·史托曼将在Lisp上写的软件移植到UNIX上,并公布源码。

--GNU项目的推展

·1984年史托曼开始GNU项目,旨在创建一个自由、开放的UNIX操作系统;

·由于当时只用史托曼一个人,并且创建操作系统并不容易,困难重重;

·史托曼采取“先开发UNIX操作系统上的软件”的策略,这些软件称为GNU软件;

·开发出Emacs:程序编辑器(非编译器),进行程序语法的检查;

·为了开发出UNIX下的编译程序(非常重要),史托曼利用Emacs出售赚来的钱,成立FSF

·FSF请更多工程师和志愿者来编写软件;

·进而开发的重要软件:Gcc,C语言的编译程序



8.1985年:GNU的通用公共许可证——GPL

·起草GPL,是为了避免GNU自由软件被他人利用而成为专利软件

·GNU项目的重要自由软件:

Emacs

GNU C(GCC)

GNU C Library(GLIBC)

Bash shell

·这些软件使得软件开发者可以更好地进行软件开发工作,从而壮大了自由软件团体;

·这些软件仍然是在那些授权的UNIX平台上工作,当时并没有“自由的UNIX内核”存在,直到Linux出现。



9.1988年:图形接口XFree86项目

XFree86:,开发用户图形接口的非营利性组织,即X Window System + Free + x86的简称

·用户图形接口需求日益加重;

·MIT在1984年已与第三方合作开发出X Window System;

·MIT在1988年成立非营利性组织XFree86。



10.1991年:荷兰大学生Linus Torvalds的一则消息

·1991年,Torvalds在BBS上发布消息,称以bash,gcc等工具写了一个小小的内核程序,并可以在Intel的386机器上面运行。




二、GNU项目


1.自由软件(Free Software)活动

·将源码连同软件程序一起公布的举动,就是自由软件活动。



2.自由软件的版权:GNU GPL

·GNU=GNU‘s Not UNIX;

·GNU与FSF开发出来的软件都挂上GPL的版权声明,FSF内核观念是:版权制度是促进社会进步的手段,版权本身不是自然权力。



3.自由软件“自由(Free)”的真谛

·史托曼对GPL一直是强调Free的;

·Free的解释:

-英文解释:

-中文大意:

时间: 2024-10-05 05:04:52

Linux发展简史的相关文章

第二天-计算机硬件基本知识和linux发展简史

今天老师讲了两个部分的内容,第一个是计算机硬件的基本知识,第二个是讲了一下unix.linux简史. 第一部分:计算机硬件核心知识 1.PC服务器,当前互联网公司应用最多的服务器品牌有DELL.HP.IBM. 其中DELL品牌:2010年以前 1u  1850  1950.2u   2850  2950 2010-2014年 1u R410/R420     R610/R620 2.电源,相当于人体的心脏,在生产环境中一般核心业务都用双电接入,如果应用了集群可以用单  电接入. 3.CPU,相当

openstack 网络发展简史

openstack 网络发展简史 研究openstack有2个月的时间,这段时间从网上获取N多宝贵资料,对我的学习有很大帮助,在加上我自己的研究,终于对openstack整个网络体系有了个浅显的认识,写几篇文章,一个是对以往资料的总结,二来也希望的我的总结能为更多学习openstack的朋友们提供帮助.废话到这,进入正题. nova-network:openstack最开始网络组件叫nova-network,其代码也都在nova中,支持的插件只有Linux bridge,网络拓扑包括flat和v

Intel CPU 发展简史

Intel CPU 发展简史 1971年11月15日:4004 1971年11月15日,Intel公司的工程师霍夫发明了世界上第一个商用微处理器-4004.这款4位微处理器集成了2250个晶体管,晶体管之间的距离是10微米,能够处理4bit的数据,每秒运算6万次,频率为108KHz,前端总线为0.74MHz (4bit).原为日本Busicom公司的计数器开发. 编号为4004,第一个"4"代表此芯片是客户订购的产品编号,后一个"4"代表此芯片是英特尔公司制作的第四

经济学发展简史

经济学是研究人类社会在各个发展阶段上的各种经济活动和各种相应的经济关系,及其运行.发展的规律的科学. 经济活动是人们在一定的经济关系的前提下,进行是生产.交换.分配.消费以及与之有密切关联的活动.在经济活动中,存在以较少耗费取得较大效益的问题.经济关系是人们在经济活动中结成的相互关系,在各种经济关系中,占主导地位的是生产关系. 经济一词,在西方源于希腊文,原意是家计管理.古希腊哲学家色诺芬的著作<经济论>中论述了以家庭为单位的奴隶制经济的管理,这和当时的经济发展状况是适应的. 在中国古汉语中,

Linux发展与应用

  Linux发展与应用 UNIX/Linux发展是及版本 自由软件与LAMP Linux应用领域 Linux学习方法 UNIX发展历史 (1)1965年,美国麻省理工学院(MIT),通用电气公司(FE)及AT&T的贝尔实验室联合开发Multics工程计划,其目标是开发一种交互式的具有多道程序处理能力的分时操作系统,但因Multics追求的目标过于庞大复杂,项目进展远远落后于计划,最后贝尔实验室宣布退出. (2)1969年,美国贝尔实验室的肯·汤普森在DEC PDP-7机器上开发出了UNIX系统

Linux发展历程

Linux发展历程 Multics: 早期没有操作系统的前提下我们的计算机程序都会在硬件上直接运行,表现为一个个的作业(job1$$$$$job2$$$$$job3)job1运行完了用分隔符隔开运行下一个job2,这种机制叫做批处理,这时候其实远远无法发挥计算机的性能的,在这个时候有三个组织:通用电气公司GE.美国的电报电话公司ATMT的Bell实验室.麻省理工大学的人工智能实验室MIT,三个组织联合起来研究一个要比批处理系统功能更强大的多任务多用户的系统,功能很复杂技术很先进,当初都是使用汇编

Linux发展历史图

Linux发展历史图 http://futurist.se/gldt/wp-content/uploads/12.10/gldt1210.svg

1.Java的发展简史

命名:1991年,Gosling自己起名叫Oak(橡树),后改成现在的java(咖啡). 1995年5月23日,Java语言诞生 . 1998年12月Java 1.2版本发布后三天,Sun公司将其名称改为:Java2标准版软件开发工具箱1.2版本(即J2SE); Sun销售部人员感觉增加小数点后面的数值并不足以体现1.2版本的重大改进,但是这是发布之后才意识到这个问题的,所以JDK的命名版本也一直延用小数代表版本的方式. 1999年6月,发布了三个版本:标准版(J2SE).企业版(J2EE)和微

1.3、Java发展简史

Java发展简史 版本 年份 语言新特性 类与接口的数量 1.0   1996 语言本身 211 1.1   1997 内部类    477 1.2 1998 strictfp修饰类 1524 1.3 2000 无 1840 1.4 2002 断言 2723 5.0 2004 泛类型.for each 可变元参数 自动装箱.元数据.枚举.静态导入 3279 6 2006 无 3793 7 2011 基于字符串的switch.钻石操作符 二进制字面量.异常处理改进 4024 8 2014 lamb