字体:大 中 小
护眼
关灯
上一章
目录
下一章
第六百八十三章 贝尔实验室的UNIX (第1/1页)
Kenthompson在老婆不在家的三周里面写出了UNIxcao作系统。 1966年硕士毕业之后,被贝尔实验室多次邀请加入。 他和GE、mIt一起开发multicscao作系统,1969年因为过度设计而无法实现其宏大目标。 贝尔实验室花不少钱推出,但是Ken继续找到一台pdp7机器,废物回收,设计了太空旅行游戏。pdp7运行速度慢,他和dennisRitchie等人,重新设计文件系统,加快速度。 结果他第一周开始实现shell,第二周开始实现编辑器,第三周开始实现汇编器。 这三周刚好老婆带孩子回娘家,他完成了所有工作,在1969年写出了cao作系统Unix。 而dennisRitchie发明c语言。然后用c语言重写了UNIx。让UNIx可以轻松的在各个游戏之间移植。 公元1969年,贝尔实验室的Kenthompson和dennisRitchie正在设计一个史无前例的cao作系统:Unix dennis兄,昨夜我一夜未眠,我感觉我们上了贼船了设计一个cao作系统可真不容易啊你看看cao作系统得管理多少设备键盘,鼠标,屏幕,打印机,光盘U盘,游戏杆...... 嘘!机不可泄漏,光盘,游戏杆,U盘,几十年后才能发明啊! 所以上帝交给我们的任务不容易啊,得应对未来几十年的变化。你想想,我们可以开发一个针对键盘读写的程序,还可以开发一个针对打印机读写的程序,可是光盘U盘现在都不存在,怎么开发 在昨晚梦里,上帝好像了一句话,我想不起来了只记得抽象这俩字 抽象这些多乱七八糟的设备,有什么共同点 你看啊,这些设备虽多,但共同点是都可以向它们写点东西,或者可以从它们读点东西。 一个东西,可读可写,那不就是我们上周开发完的文件吗 对对,老弟得非常对我想起来了!上帝在梦里给我的就是:Everythingisafile! 我们再细化一下,文件就是个抽象的概念像个接口,其他的设备都是文件的实现。 没错,但是还有一个问题,既然把这些设备当成了文件那总得像文件那样给它们一个路径名吧! 嗯,有道理,当这些设备注册到cao作系统的时候,cao作系统就给它们分配一个像文件那样的路径,让它们成为文件系统的一部分! 如此甚好,以后程序员可以像cao作一个文件一样来cao作设备了: 它们都有一致的命名空间 它们都有一致的cao作方法 。 钦,等等!我们俩不是在用汇编开发cao作系统吗,你这是什么编程语言 哦,我忘了告诉你了,这是我私下里开发的语言叫做c语言,可移植性比较好,用它来开发Unix将来就可以移植到各种机器上去了。 老兄厉害啊,这c语言比汇编看起来舒服多了,敲完这行喝酒去! 1971年,Ken休假期间回到母校加州大学,开设课程,讲解cao作系统原理。一行行的给学生分析代码。激发了很多学生对编程的热情。Unix在很多大学开始流行起来。 其中影响了billJoy。 1983年Ken和dennis获得图灵机。 2000年Ken从贝尔实验室退休。 6年后63岁的他加入Google,发明了go语言。
上一章
目录
下一章