我们的故事从上个世纪 60年代的美国开始。

那个时代的计算机是个新鲜玩意非常笨重家庭用户是没有的都是商用或者试验科学计算用的机器。你说你想买个电脑斗地主把你卖给地主你也买不起呀。再说那时候的计算机不 是随便一个人就会用的那时候的计算机使用的时候是由人来输入一条条的linux命令行来进行各种运算的。他们输入的指令大约相当于现在的 汇编指令所以这个效率和操作难度有多高就可想而知了。那时候计 算机大都没有什么操作系统顶多有个批处理系统可以把要输入的指令记录在某种媒介上比如纸带一次性输入进去让人们省去一 条条重复输入指令的麻烦。后来慢慢有了很简单的操作系统但并不像现在我们见到的操作系统这样通用。这个时候卖计算机的厂商要 为每一型号的计算机设计不同的操作系统一个程序如果在这个型号 的计算机上写好了拿到其他型号的计算机上是运行不了的因为这两台机器连操作系统都不一样怎么可能程序通用呢。

计算机要是老这样肯定是不行啦否则你今天要玩斗地主人家游戏公司就得专门派人到你家机器上现写出一个来——因为不同型号 的计算机上的操作系统不同用嘛。这个斗地主的问题终于还是被那个时代 IT业界的大地主蓝色的 IBM公司率先着手解决了。1964年 他们公司推出了一个系列的大型机用途、价位各不一样但他们 上面运行的操作系统都是 System/360这 360可不是卖鞋的也不是跟 QQ打架的那个。这一下获得了很大的成功因为省去了为每一台电脑单独编写系统的成本嘛。直到今天IBM的大型机上依然 可以运行这个 360系统可见其当初设计时充分考虑的兼容性。然而我们要讲的主角不是 360而是另一个伟大的操作系统。

那时候有个聚集了很多牛人的地方叫做贝尔实验室1925年由 AT&T公司成立的。一帮头脑发达四肢也不一定简单的家伙整天聚在那里研究新奇的东西什么任意门啊竹蜻蜓啊记忆面包啊——……都不是他们发明的发明这些的人是个日本科学家。那贝尔实验室那帮人研究什么呢贝尔实验室的工作可以大致分为三个类别基础研究系统工 程和应用开发。在基础研究方面主要从事电信技术的基础理论研究包括数学、物理学、材 料科学、行为科学和计算机编程理论反正都是大学听不懂的那几门就对了。系统工程主要 研究构成电信网络的高度复杂系统。开发部门是贝尔实验室最大的部门负责设计构成贝尔 系统电信网络的设备和软件。具体来说贝尔实验室研究出来过的东西有晶体管、发光二极管、数字交换机、通信卫星、电子数字计算机、蜂窝移动通信、有声电影、立体声录音等等。怎么样不比机器猫那些东西差吧?)通信网的许多重大发明都诞生自这里。

那时候还有个聚集了很多牛人的地方叫做麻省理工学院MIT),这是美国的一所综合性私立大学世界理工大学之最的美名。从这里走出的牛人很多到 2009年为止 先后有 76位诺贝尔奖得住都曾经在麻省理工学院学习或者工作。麻省理工学院的自然及工程科学在世界上享有极佳的盛誉其管理学、经济学、哲学、政治学、语言学也同样优秀。另外 麻省理工研发高科技武器和美国最高机密的林肯实验室、领先世界一流的计算机科学及人工智能实验室、世界尖端的媒体实验室、和培养了许多全球顶尖首席执行官斯隆管理学院也都是麻省理工赫赫有名宝贵资 产。有着毋庸置疑的实力 麻省理工自然非常不差钱 截止 2008年底麻省理工有 101 亿美元的总资产因为不差钱于是该校对家庭年 收入低于75000美元的学生 一律免学费。哎万恶的资 本主义阿……不提也罢。

那时候又有个聚集 了很多牛人的地方。哪那 么多地方阿!)这地方是个公司叫做通用电气。这公 司可是个大公司当年是个卖灯泡的他们的灯泡可非同一般虽然不节能虽然寿命不如现在的长虽然价格比现在贵 虽然外形也不一定好看但是——他们是第一家卖灯泡的因为他们的老大就是大名鼎鼎 的托马斯 .爱迪生。1876发明灯泡的爱迪生同学成立了爱迪生灯泡厂为节约蜡烛和灯 油做出了突出的贡献估计那年的五一劳动奖章肯定是他的了。到 1890爱迪生同学将灯 泡厂重组成立的爱迪生通用电气公司到 1892年又与汤姆森休斯顿电气公司合并成立了通用电气公司。

时间到了 1965这三个聚集着不少牛人的地方有一天忽然想合作一把。于是 大名鼎鼎的贝尔实验室大名鼎鼎的麻省理工学院和大名鼎鼎的通用电气公司一起开始了一个制作操作系统的计划。为了结束长期以来计算机上面没有统一的操作系统的混乱局面他 们决定要创造出一套前无古人后无来者上得厅堂下得厨房念天地之悠悠独怆然而泣 下的惊世骇俗的操作系统具体来说吧这个操作系统应该是一个支持多使用者、多任务、 多层次的操作系统因为这三多所以这个操作系统就起名叫做——MULTICS难道你以为叫许三多人家讲的是英语好不好。然后有了这三家的强强联合那开发的结果还用问么这个 MULTICS操作系统的项目在 1965年成立到了 1969年就……被取消了。

咳咳这个……其实编写操作系统也不是一件容易的事儿啦。毕竟道路是曲折滴研究是辛苦滴成绩还是有滴失败捏……也是可 以原谅滴嘛。

项目失败了大家都很沮丧。在这些沮丧的人中Kenneth Lane Thompson只是很普通的 一个。Kenneth Lane Thompson是 1943年出生在美国的新奥尔良的吃着烤翅长大的他没 有辜负养育他长大的父母和那些没有了翅膀的鸡。1960汤普逊考上了加州大学博克莱分 校主修电气工程顺利取得了电子工程硕士的学位。1966他加入了贝尔实验室参与了 MULTICS 项目。做项目是个很辛苦的事情在疲劳的揉揉因熬夜而发红的眼睛后他很想能有个电脑游戏来玩玩。然而那时候别说超级玛丽连吃豆也没有啊所以汤普逊同学就自己 编了一个游戏叫做星际旅行。这个星际旅行跟星际争霸那肯定是没的比的了不过在那时候已经算是很有吸引力了。这个游戏自然是被设计运行在 MULTICS系统上的由于 MULTICS系统还不完善所以游戏运行的也不是很流畅所以能够顺畅的玩星际旅行成为了汤普逊同学努力工作的动力。可是后来项目被干掉了如果事情就这样结束那么汤普逊同学就再也不可能流畅的玩他的星际旅行了这是多么遗憾的事情阿。可是现实是残酷的项目确实就是取消了要想顺畅的玩游戏怎么办毛主席教导我们说自己动手丰衣足食。我估计汤普逊没有背过×××语录但是他用自己的行动证明了这两句话的正确性。他在墙角淘换出一台 PDP-7的机器并且伙同其同事 Dernis Ritchie打算将星际旅行移植到这台 PDP-7上。

当然要想运行这游戏还是得有个系统。有了固定的系统那以后再编写别的游戏就更方便了。可是系统从哪里来MULTICS已经停工了并且这系统绝对不是两个人可以搞定的。那怎么办还得自己动手于是 Ken Thompson和 Dernis Ritchie再次发扬自己动手的 精神用汇编语言写出来个系统这就是最初的非常简陋的UNIX的前身。这个系统不像 MULTICS 那么牛不支持很多的用户只能支持两个用户,(估计是为了避免做好了之后俩人抢机器玩的局面发生。也可能是为了以后俩人对战?)支持的进程也有限其他功能也都 没有 MULTICS设计的那么复杂。相对于那个 MULTICS系统——MULTiplexed Information andComputing SystemBrian Kernighan 开玩笑地戏称他们的系统其实是"UNiplexed Information and Computing System"缩写为"UNICS"。后来大家取其谐音就诞生了UNIX 这个词。这一年已经是 1970史称 Unix元年。直到现在计算机中都是用 1970年 1月 1日 0点 0分 0秒 为原点来记录时间。计算机中的时间记录的是自 1970年 1月 1日 0点 0分 0秒开始到现 在经过的总秒数再用这个秒数计算出年后来Brian Kernighan觉得用汇编写的系 统不好维护于是……他发明了C语言符合大牛一切自己动手的风格),然后用 C语言又 重写了一遍。从此Unix走上了发展的快车道并且一直用到现在。许多世界级的大服务器 用的都是 Unix系统。

而这一切的努力就是为了玩个游戏。-_-b