操作系统的发展史
1965年之前的时候,电脑并不像现在⼀样普遍,它可不是⼀般⼈能碰的起的,除⾮是军事
或者学院的研究机构,⽽且当时⼤型主机⾄多能提供30台终端(30个键盘、显示器),连
接⼀台电脑
为了解决数量不够⽤的问题
1965年左后由⻉尔实验室、麻省理⼯学院 以及 通⽤电⽓共同发起了Multics项⽬,想让⼤
型主机⽀持300台终端
1969年前后这个项⽬进度缓慢,资⾦短缺,⻉尔实验室退出了研究
1969年从这个项⽬中退出的Ken Thompson当时在实验室⽆聊时,为了让⼀台空闲的电脑
上能够运⾏“星际旅⾏”游⾏,在8⽉份左右趁着其妻⼦探亲的时间,⽤了1个⽉的时间 编写
出了 Unix操作系统的原型
1970年,美国⻉尔实验室的 Ken Thompson,以 BCPL语⾔ 为基础,设计出很简单且很
接近硬件的 B语⾔(取BCPL的⾸字⺟),并且他⽤B语⾔写了第⼀个UNIX操作系统。
因为B语⾔的跨平台性较差,为了能够在其他的电脑上也能够运⾏这个⾮常棒的Unix操作
系统,Dennis Ritchie和Ken Thompson 从B语⾔的基础上准备研究⼀个更好的语⾔
1972年,美国⻉尔实验室的 Dennis Ritchie在B语⾔的基础上最终设计出了⼀种新的语
⾔,他取了BCPL的第⼆个字⺟作为这种语⾔的名字,这就是C语⾔
1973年初,C语⾔的主体完成。Thompson和Ritchie迫不及待地开始⽤它完全重写了现在
⼤名鼎鼎的Unix操作系统
Minix
因为AT&T(通⽤电⽓)的政策改变,在Version 7 Unix推出之后,发布新的使⽤条款,将
UNIX源代码私有化,在⼤学中不再能使⽤UNIX源代码。Andrew S. Tanenbaum(塔能鲍
姆)教授为了能在课堂上教授学⽣操作系统运作的实务细节,决定在不使⽤任何AT&T的源
代码前提下,⾃⾏开发与UNIX兼容的操作系统,以避免版权上的争议。他以⼩型
UNIX(mini-UNIX)之意,将它称为MINIX。
因为Minix只是教学使⽤,因此功能并不强,因此Torvalds利⽤GNU的bash当做开发环
境,gcc当做编译⼯具,编写了Linux内核-v0.02,但是⼀开始Linux并不能兼容Unix,即
Unix上跑的应⽤程序不能在Linux上跑,即应⽤程序与内核之间的接⼝不⼀致,因为Unix
是遵循POSIX规范的,因此Torvalds修改了Linux,并遵循POSIX(Portable Operating
System Interface,他规范了应⽤程序与内核的接⼝规范); ⼀开始Linux只适⽤于386,
后来经过全世界的⽹友的帮助,最终能够兼容多种硬件;