首页 > 代码库 > Linux发展历程

Linux发展历程

Linux发展历程

Multics:

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

Unix:

    Bell实验室有一个叫做Ken的人当时为Multics系统上研发出了一个游戏叫做Space Travel(太空旅行),只能运行在Multics上,由于Bell实验室退出了研究,因此Ken无法再免费使用Multics提供的计算机能力,Ken就向实验室申请一台PDP-11计算机被拒绝,某一天在实验室墙角发现了一台没人用的PDP-7主机,如获至宝开始研究他的Space Travel,Space Travel是个应用程序,应用程序要运行必须依赖于内核Kernel,由于不能使用Multics无奈只好自己仿照Multics开发出一个最简单的,能够运行他的太空旅行游戏的操作系统,叫做Unics,只是后来才改名为:Unix;

C:

    由于当时是使用汇编语言写的,性能不错,但是程序移植起来比较困难,为了解决这个问题,Ken的一个同事叫Dennis Ritchie改进了当时脚本语言BPBL,给它引进了变量指针等,使B语言摇身一变成为了一种编译性语言C,而后两个人在C语言的基础上重写了整个Unix(当时高级语言的执行效率要比汇编语言至少低30%);

BSD:

    美国加州大学伯克利分校有一位学生Bill Joy(当时学校已经获得unix源代码的研究)成立了一个团体BSRG的小组,研究Unix改进新功能修复BUG等等,后来Ken在学校任教也加入了研究。重新取的名字叫做BSD:Berkeley System Distribution;Bell实验室的Unix就叫System,后面接版本号12345;

CP/M:

    Gary Kildall创始人:Control Program/Monitor(控制程序或监控程序)

DOS:

    美国西雅图一个小公司Microsoft成立了,一共有三个人:比尔盖茨、保罗艾伦、罗伯特,刚成立的时候卖Basic编译器(当时的一种脚本语言,类似B语言),后来包装发行卖Unix,保罗艾伦的一个同学花了4个星期写出来一个操作系统,被比尔盖茨发现商机买断与IBM沃森合作装在IBM小型机上卖License,取名DOS(Disk Operating System磁盘操作系统)

Mac:

    乔布斯jobs非常崇拜计算机之父图灵,图灵好像是个同性恋,在当时社会是不会被接受的,在监狱咬了一口涂了氰化钾的苹果自杀了,乔布斯成立的公司就叫苹果,还是咬了一口的,当时出售Apple one,操作系统是Unix,Xerox(当时生产复印机的公司)有个有名的实验室叫PARK,第一个生产鼠标和图形化的操作系统,卖给了乔布斯,Apple 2出现的时候图形界面也就出来了;

Windows:

    比尔盖茨向乔布斯骗走一份图形操作系统源码回去之后加紧研究,Windows就出来了,后来vms的基础上结合Windows重新写出了新的系统叫Windows NT(内核不是DOS了,是VMS),而后的Windows 2000 xp 2003都是在Windows NT的基础上升级出来的。 

Minix:

    荷兰的一所大学有个教授叫Andrew一直在使用Unix进行教学,但是Unix产生版权问题之后就不能用了,就自己动手仿照Unix写了一个操作系统叫Minix(意思就是小的Unix,只有4000多行代码)

linux:

    赫尔辛基大学Linus为Andrew教授的Minix写了很多驱动程序要求加进去,当时Minix是安装在Andrew教授自己的计算机上的移植很费劲,就有好多学生写了很多驱动程序,Linus就是其中一个。决定自己写一个并把它公布在电子公告栏上,正是这个思想推动了Linux的发展。

GNU:

    美国麻省理工学院有一个著名的教授Richard Stallman举起了自由的大旗Freedom, 他认为程序是全人类的思想的结晶,而不应该为某一个流氓公司所独有,自由组织运动 GNU:GNU is Not Unix,宣言GPL:General Public License(通用公共许可证),Emacs:文本编辑器    gcc:GNU C Complier编译器   bash命令行shell

Linux发展历程