淡说Linux 的发展史

 ♦ 1  Linux的简单介绍

       Linux与Windows一样都是一套OS(操作系统),Windows界面美观 ,普通用户很容易上手,点点鼠标就能搞定许多操作,而Linux生下来就是为程序员的,故精通Linux都是非常擅长命令行的,可以说命令行就是学习Linux的最基础的东西了,操作相对Windows来说并不是那么的容易上手,反而很复杂,因为命令行是艰涩难懂的,故造成了如今Linux只在程序员中流行,而普通电脑用户可能根本不知道它的存在,我当初也是听说的,到现在我才有极度想要学习它的念头,好了,废话不多说。

      操作系统=内核(kernel)+系统调用接口,内核与硬件紧密相关,见图1.1,仅有内核的话,只能将计算机运行起来,而你什么都不能做,干瞪眼的干活,所以说操作系统除了内核外 系统调用接口也是相当的重要的,有了它们,软件开发者就可以利用这些接口开发出软件,软件让操作系统更加的完美。

1.1

      Torvalds先生在写出Linux的时候,这个OS也仅有内核与接口这么简单,而且还是针对386来开发的,所以也仅能“让计算机开始运行,等待用户输入指令”而已,事实上,能在Linux上跑的软件还很少呢。

      每种OS都是在它专门的机器上运行的,像Windows系统是专门针对个人计算进X86架构的硬件去设计的,有人问 Windows操作系统能装在 苹果公司的麦金塔计算机(MAC) 上面吗? 结果很明显 不可以啊 ,为什么呢,由上可知硬件是由内核来控制的,Windows操作系统的内核只能控制Intel的X86架构的硬件,而06年之前苹果公司是请IBM公司开发硬件(所谓的power CPU), 然后apple在该硬件架构上开发自家的OS(即Mac),故Windows是不能安装在苹果计算机上的。但是在06年之后苹果公司也采用了Intel的X86架构的硬件,此时才可能将Windows用于Mac计算机,注意了,仅仅是可能,据说是由于兼容性问题的存在,这里我也不太明白。再说Linux吧,这个系统是一个Open Source(开放源代码)的操作系统,这就注定了它具有“可移植”这个强大的优点,理论上讲Linux的源代码可以被修改从而在各种机器上运行,Windows闭源则不行啊,这就奠定了Linux的良好前途。

    Linux是一个提供了一个完整操作系统当中最底层的硬件控制与资源管理的完整架构,这个架构是沿袭Unix良好的传统而来的,所以相当稳定并且强大。

    如此越来越多的软件开发者渐渐将工作心血转移到了这个系统上,所以之后能在Linux上运行的软件也不在少数了。这些软件与Linux共同形成了一个更加强大,更加稳定的操作系统发展至今。

♦2.至于Linux追根溯源到底是如何来的,那就要从Unix说起了,先说说跟Unix的建立有关的东西吧。

2.1   1969年以前——Multics项目

      在20世纪60年代左右一间学校可能仅有一台主机,而如此多的学生免不了要等待才能使用,好在之后麻省理工学院(MIT)开发了分时操作系统(compatible time-sharing system,CTSS),它可以让多个终端机通过连接大型主机利用主机的资源进行运算工作,其架构如图2.1

2.1

      这些终端机只能提供输入输出的功能,本身并不能安装软件或运算的能力,而且最先进的主机只能让30多台终端机连入而已。为了加强大型主机的功能,以便让更多的用户利用主机的资源,所以在1965年前后,由贝尔实验室(Bell)、麻省理工学院(MIT)及通用电气公司(GE)共同发起了Multics的项目,Multics的最终目标是让一台大型主机可以同时接入300台以上的终端机。但是后来由于资金短缺进度落后等原因,这个项目最终没有获得成就,而贝尔实验室也退出了该项目的研究。

      虽然这个项目不成功,但是这个项目培养出了的人才是相当优秀的。

2.2   1969年——Ken Thompson的小型File Server System

      Ken Thompson是 参与Multics项目的贝尔实验室人员之一,他从Multics中获得了一点想法,他用了四个星期的时间,终于以汇编语言(Assembier)写出了一组内核程序,同时包括一些内核工具程序,以及一个小的文件系统。该系统就是UNIX的原型,被同事们戏称为Unics。只能说“科技来自于人性”。

2.3   1973年——Unix正式诞生,Ritchie等人以C语言写出第一个正式UNIX内核

      由于Thompson写的那个OS太好用了,所以在贝尔实验室内部广为流传,并且多次经过改版。 但是因为Unics使用汇编语言写出来的,汇编语言的专一性,所以若计算机的架构不同的话,每次安装都得进行重新编写这个步骤,灰常的不方便。

      当时现成的高级语言有B语言,但是有B语言编译出来的内核性能不是很好,于是Dennis Ritchie将B语言重新改写成了C语言,Thompson、Ritchies两人合作用C语言重新编写UNICS的内核,最后发行出Unix的正式版本!!到这里你会发现,哦,C语言原来是这么来的啊,还真是神奇呢。C语言使得Unix很容易被移植到不同的机器上。

2.4   1977年——重要的Unix分支-BSD的诞生

     柏克莱大学的Bill Joy在取得了UNIX的内核源码后,便着手于修改适合自己机器的版本,并且同时增加了很多工具软件和编译程序看,最终将它命名为Berkeley Software Distribution(BSD)。这个BSD是UNIX的一个很重要的分支,Bill Joy也是Sun这家公司的创始人。

2.5  1979年:重要的System V架构与版权声明

      早期的UNIX只能跟服务器(SERVER)和大型工作站(Workstation)画上等号!直到AT&T公司推出System V后才有所改观,S V这个架构最特殊的地方就是支持X86架构的个人计算机系统,也就是说它可以安装在个人计算机上并运行。

      不过,AT&T出于对商业的考虑,以及在当时现实环境下的思考,于是想将UNIX的版权收回去。因此,AT&T在1979年发行的第七版UNIX中,声明“不可对学生提供源码”,这个事件也造成了UNIX业界之间的紧张气氛,并且引发了很多商业纠纷。

 注:目前被称为纯种的UNIX指的就是System V 和 BSD这两套

2.6 1984年:X86架构的Minux操作系统诞生

      由于1979年的版权声明,影响到了教授关于UNIX的教学,无法向学生提供UNIX源码,教授没法讲解,谭宁邦教授就是其中之一,他自己动手编写了一个能在X86上运行的UNIX Like的内核程序Minix,为了避免版权纠纷,谭宁邦教授在编写过程中完全不看UNIX内核源码,并且强调Minix必须与UNIX兼容才行,直到1986年终于完成。

      Minix操作系统的开发者只有谭宁邦教授一人,因为学术很忙,而且谭宁邦始终认为Minix主要用在教育上面,所以对Minix是点到为止。Minix虽然很受欢迎,但是它已无法再向更高的位置前进了。

2.7  1984年:GUN项目与FSF基金会成立

      这两个东西的成立者都是史托曼(英文名:Richard Mathew Stallman,RMS),GUN项目创建的目的是创建一个自由、开放的UNIX操作系统(Free UNIX),他一个人是无法完成的,所以他以出售他自己编写的那个Emacs来赚钱,Emacs是一个很好很优秀的程序编辑器,非常牛,赚了点钱后全力编写其他软件,并且成立了自由软件基金会(Free Software Foundation,FSF),请来了更多的工程师和志愿者一同编写软件,写出了GCC这个比Emacs更加优秀的工具,还有更多可以被调用的C函数库(GNU C Library),以及可以被用来操作系统的基本接口bash shell,大约在1990年完工。

♦3.Torvalds的Linux开发

      GUN、GCC、minux等等这些东西的出现都为托瓦兹开发Linux打下基石,利用这些东西,托瓦兹写出了自己的操作系统,当这个内核程序可以在386上顺利运行后,他希望能够获取大家的意见,于是将这个内核放到网上供大家下载。

     。。。。。

     之后各个Linux团队产生,到现在各大distributions横行这个过程我就自动省略了。

♦4.再稍微普及点知识吧。

4.1 主次版本为基数:开发中版本(development)

     如2.5.xx,这种内核主要用于测试和开发新功能,经众多工程师测试没问题后,才加入下一版的稳定内核中。

4.2 主次版本为偶数:稳定版本(stable)

     如2.6.xx,这种版本可以提供给用户使用了。

想学的话建议CentOS为入门系统。说到这里,此篇文章到此结束。2015-11-1016:49:36

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT大咖说

做一个不背锅的运维

内容来源:作者:田逸(sery),来自:http://blog.51cto.com/sery/2162642

1264
来自专栏工作随笔

改VB.NET“偷懒”技巧

【开篇胡侃】虽然搞软件开发很多年了,但似乎从没有动手写过什么(很丢脸的感觉),因为,我的精力都献给了我的其他爱好,比如健身、美食、旅游等等,反而把自己最该专注的...

28813
来自专栏小文博客

就腾讯云与“前沿数控”一事回顾

前沿数控是一家从微信公众号起家的创业公司,定位于数控、模具、机械行业,后转型为一站式平台,开发了网站、H5、小程序产品等。

3092
来自专栏AI启蒙研究院

耿大侠 Diss国外架构师文章《From CQS to CQRS》

763
来自专栏北京马哥教育

海量的超赞 Linux 软件

5924
来自专栏Java学习123

iPhone丢失了怎么办 找回iPhone终极教程

3117
来自专栏开源项目

【码云周刊第 9 期】前方高能,Discuz 官方携神秘干货归来!

每周为您推送最有价值的开源技术内参! 一周热门资讯回顾 1、GitLab 8.17 发布,社区版也支持 GitLab Pages 了 ? GitLab 8.17...

3156
来自专栏直播吧

微信小程序开发定制多少钱?

卖模板小程序的优点就是价格低,几百块到几千块不等,操作方便并能够快速上线;缺点就是修改功能麻烦,后续bug比较多。

4465
来自专栏北京马哥教育

Nginx与httpd对比

作为一个运维的学习者,对nginx和apache了解的很浅,但是作为以后运维过程中非常重要的两款服务器软件,静态web服务提供者,还是相当有必要深入的了解一下他...

3825
来自专栏FreeBuf

如何真正成为一个在路上的Linuxer

Linux是工具,更像一个信仰。 写在前面 本文目的不是教你如何成为一个真正的Linuxer,也没有能力教你成为一个真正的linuxer,而是通过笔者的一些想法...

2448

扫码关注云+社区