淡说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 条评论
登录 后参与评论

相关文章

来自专栏美团技术团队

美团外卖iOS多端复用的推动、支撑与思考

美团外卖2013年11月开始起步,随后高速发展,不断刷新多项行业记录。截止至2018年5月19日,日订单量峰值已超过2000万,是全球规模最大的外卖平台。业务的...

843
来自专栏魏艾斯博客www.vpsss.net

WordPress 搭建网站流程-零基础搭建 wordpress 教程

接触 WordPress 时间久了,魏艾斯博客发现很多人都想学习如何用 WordPress 搭建网站,苦于没人领进门不明白从哪里开始,在门外乱转也不得要领。老魏...

2504
来自专栏Grace development

浅谈架构是为了什么 (下)

从现在开始,假设我们自己是一个创业的小团队。没资金没人脉,靠技术打天下。现在要开发一套电商系统。开始自己的表演。

592
来自专栏IT派

2018年Python web五大主流框架

我们都知道风靡一时的Python语言作为人工智能战场上主要使用的枪外,还被广泛应用在Web开发、游戏开发、人工智能、云计算开发、大数据开发、数据分析、科学运算、...

783
来自专栏极乐技术社区

一周小程序【资讯教程Demo】更新

轻松一刻 ? 漫画来自于设计师西乔《神秘的程序员们》 资讯与教程 【微信小程序】再次授权地理位置getLocation+openSetting使用 实战分享,蓝...

2128
来自专栏Fundebug

Github被微软收购,这里整理了16个替代品

微软斥资75亿美元收购以后,鉴于微软和开源竞争的历史,很多开发者都感到惊恐。毕竟,互联网上最大的一块可以自由的净土被微软染指,宝宝不开森。如果你真的担心微软会对...

2588
来自专栏纯洁的微笑

微服务(Microservice)那点事

摘要: 微服务架构被提出很短的时间内,就被越来越多的开发人员推崇,简单来说其主要的目的是有效的拆分应用,实现敏捷开发和部署 。本分享即尝试介绍微服务架构的一些实...

2696
来自专栏互扯程序

微服务(Microservice)那点事

现在是资源共享的时代,同样也是知识分享的时代,如果你觉得本文能学到知识,请把知识与别人分享。

2095
来自专栏Java学习网

微软程序员最好的时代来了

微软程序员最好的时代来了 每过一段时间就有人跳出来说微软不行了,.NET不行了,然后就去舔Java, 但是一直让我觉得比较奇怪的是,几年以后那些人还在用.NET...

2955
来自专栏SEO

搜索新规则下,移动端如何优化?

2766

扫码关注云+社区