相信大家对Linux都不陌生。我们都知道Linux是从Unix继承过来的,但实际上他们在上一代有一个Multics。从最早的Multics发展到最早的Linux版本,历时28年。其中,少不了四位天才级高手的功劳。今天就让我们一起来回顾一下这段历史吧。操作系统的鼻祖——MulticsMultics的全称是MULTiplexedInformationandComputingSystem,是一套分时多任务操作系统,可以简单理解为支持并发的操作系统。例如,假设网易云音乐现在是一个大系统。如果我们是单任务系统,你现在想听歌,但是发现已经有人在听歌了,那你只能等他听完了。您只能在人们在线时收听。而如果是多任务,我们可以这样,你在听歌的同时,他也在听,因为电脑的处理速度很快,所以是切换任务。您不会感到口吃。这个项目是贝尔实验室、麻省理工学院和通用电气公司在1964年联合开发的,目的是连接1000台终端机,支持300个用户同时上网,但是这个项目进度太慢,最终里面的人都被裁掉了,贝尔实验室率先退出了这个计划。Unix的创立左:Thompson|右:里奇有两个大佬是实验室的成员,一个是肯尼斯·莱恩·汤普森(KennethLaneThompson)(英文名:KennethLaneThompson),另一个是丹尼斯·麦卡利·斯泰尔·里奇(DennisMcCullySteyerRitchie),汤普森得到了一部《星际迷航》业余时间的游戏节目《倒闭》。之前在Multics上用的时候,发现玩起来很不舒服,就是反应时快时慢。就像你玩游戏总是有卡顿,那你肯定不爽。他在仓库里找到了一台闲置的PDP-7机器,想着弄个精简版的操作系统,只支持单机。于是我就开始工作了,你要知道,那时候可不像现在,什么都给你准备好了。他和伙伴一起,将文件系统、进程、设备文件、命令行解释器等工具程序一一实现。完成后,他让同事们一起玩他的游戏。但是我的同事们对他的游戏并不感兴趣,而是对这个系统感兴趣。同事发现它相当于简化版的Multics,于是戏称它为“UNiplexedInformationandComputingService”,即Unix,简称Unics,取Unix的谐音,这就是Unix的由来。已经是1970年了,朋友们可以在电脑上打印最早的时间,你会发现最早的时间是1970年,也就是Unix诞生的元年。Kenneth写完操作系统开发后,觉得Unix需要系统级的编程语言,于是创造了B语言(BasicCombinedProgrammingLanguage),但后来Dennis发现B语言只适合处理某些类型的问题,有其自身的局限性,因此产生了一种新的语言,也就是我们今天所熟悉的C语言的流产的UnixBSD分支。.到1974年7月,贝尔实验室发布了第五版Unix,首先引起了学术界的注意,并出于教育目的索要源代码。1978年,伯克利大学推出了基于第六版Unix的扩展版。于是出现了Unix扩展分支,并将其命名为BSD(即BerkeleySoftwareDistribution伯克利发行版)。20世纪80年代后期,几个从伯克利毕业的学生成立了BerkeleySoftwareDesignInc.公司,简称BSDi。BSD独家商业发行版。当时贝尔属于AT&T,AT&T被《谢尔曼反托拉斯法》规定不能销售电话和电报以外的产品。后来,AT&T解体了,Bell可以卖Unix。于是BSD被告上法庭,这对BSD来说是致命的打击。而且,更重要的是,贝尔将价格定得极其昂贵,一项授权高达4万美元,这让当时很多研究人员和学者望而却步。这也是Unix厄运的开始。在Gnu计划开始向Unix收费的同时,我们今天要说的三哥出现了——RichardMatthewStallman(英文名:RichardMatthewStallman),他发起了GNU项目,目标是创建一个完整的免费操作系统。与此同时,Copyleft的概念也应运而生。当您查看其徽标时,它非常有趣。看图就可以理解为反版权,但其实并不代表作者应该放弃版权。其核心是,需要使用版权法原则来保护使用、修改和分发自由软件的权利。创立之初,其实他想实现的是一个类似于Unix的自由运行环境。注意,这里的核心是自由。这一点,从《Gnu 宣言》中的文字——“再现软件行业合作互助的团结精神”中便可窥见一斑。外壳完成了。只缺少操作系统核心。他们先后尝试基于Hurd和GNUMach内核进行开发,认为可以加快操作系统的开发速度。但由于一直不确定卡内基梅隆大学何时会发布核心源代码,该计划已经流产。Linux的诞生时间搬到了1991年,一位21岁的赫尔辛基大学计算机科学专业的学生LinusTorvalds登场了。他发现Minix(由Tanenbaum教授出于教学目的而创建的类Unix操作系统)有一些不完善之处。但Tanenbaum教授觉得他写的只是为了教学,所以他并不打算完善它。这个时候,Torvalds就想着自己实现一个?一开始,他打算写一个简单的操作系统内核,马上就动手了。8月25日,他在comp.os.minix上发帖:我正在构建一个(免费)操作系统(只是一个爱好,我不会把它弄得像GNU一样大和专业),我打算让它运行在386AT平台。它从四月份开始酝酿,现在已经快准备好了。我想听听喜欢或不喜欢minix的人的意见,因为我的系统与它有点相似(文件系统的相同物理布局-出于实际原因-以及其他一些事情)。我现在已经移植了bash(1.08)和gcc(1.40),它似乎可以工作。这意味着我将在几个月内得到一些实用的东西。它没有任何minix代码,并且有一个多线程fs。它不可移植(使用386任务切换等),而且它可能永远不会支持AT硬盘以外的任何东西,因为我只有这些。同年9月,Linux内核0.01版在芬兰大学与研究网的FTP服务器上发布,代码10239行,一个月后,内核0.02版发布。不愧是Linux操作系统之父,竟然能在这么短的时间内搞出一个操作系统的核心。Linux内核是根据Gnu通用公共许可证发布的,而Hurd内核的计划已被严重推迟。慢慢的,Linux取代了原来的Hurd内核进行开发。至此,Gnu项目基本完成。此时操作系统命名为Gnu/Linux。但人们倾向于简称为Linux。1994年3月14日,Linux内核1.0.0发布,共有176250行代码。那是正式版。从那时起,Linux突飞猛进,也影响了我们无数人的工作方式。毫不夸张地说,Unix和Linux的产生和发展对整个社会的历史进程产生了深远的影响。而且一开始只是Thompson想实现一个游戏程序,而Torvalds只是想参考Minix,完善它没有实现的功能。总而言之,如果适当“无为”出其不意,可能会出现意外。总结Linux的早期发展史,来自KennethBlueThompson、DennisMcAlisterRich、RichardMatthewStallman和LinusTorvalds对四位天才黑客的介绍。我们会发现他们的一些共同特点——惊人的执行力+培养自己的爱好+多分享,保持开放的心态。以上就是我今天讲的Linux的历史,希望对你有所启发~
