简述Linux那些年–发展史

Linux发展史

作者:任飞鹏          日期:2016-10-13

Linux简介:

Linux同Windows一样,都是一套OS(操作系统)。Linux是一套开源的类Unix操作系统,可以免费使用和自由传播。是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux诞生于1991年10月5日(第一次正式对外公布)。严格意义上来说,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。发展至今,Linux已经发行了许多不同的版本,但是他们都是用了Linux内核。

鉴于Linux的稳定性能好,Linux被大量用于各种计算机硬件设备中,手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机,甚至可以说所有的电子产品都与Linux有着千丝万缕的关系。

Unix起源:

说到Linux就不得不提一提Unix。既然我们说到,Linux是一套类Unix的操作系统,所以不难看出二者之间的关系,可以说Linux起源于Unix。而谈到Unix就有趣多了。

在计算机发展的初期,计算机都是大型机Mainframe,计算能力很强,但操作系统几近于无,是所谓的批处理系统,单道批处理,用户独占。所以当时急需一套多任务、多用户的操作系统。为此1964年由贝尔实验室、麻省理工学院及美国通用电气公司共同发起成立了Multics项目。由三所机构共同参与研发一套安装在大型主机上的多人多任务的操作系统。很不幸,由于Multics目标太过于庞大,大家做了几年后都不知道什么了,GE、Bell先后退出了该项目,项目也就以失败告终。

不过,当时为了Multics项目,Bell实验室招了一大批年轻人,其中一个叫Ken Thompson的年轻人在此期间研发了一款游戏Space Travel,当然游戏也是基于Multics的。但是项目失败后,实验室便不再给Ken提供用于开发Multics的PDP-11计算机。偶然间,ken在实验发现了一台闲置很久的PDP-7,既然没人用,Ken就拿来研究游戏了。可是游戏需要运行在Multics平台上,所以Ken就借鉴Multics的思想并将其简化,写出了一个文件系统FileSystem。然后把Space Travel移植到PDP-7上,并向同事兜售自己的游戏。可最后却发现别人对他写的游戏兴趣缺缺,反而对他的文件系统很感兴趣。而当时的Bell实验室是不能出售任何与电话、电报无关的东西的,既然这么多人需要,那就需要无偿的给他们,于是,Ken接下来的相当长的一段时间内开始给他人免费提供自己的系统。后来贝尔实验室来了一个当时打印机排版的项目, Ken立刻将项目拦了下来,这样便有了自己的PDP-11。

    不得不说Ken写的那个操作系统实在太好用了,所以在 Bell 研究室内部广为流传,并且多次经过改版。到了1973年,Bell研究室的Dennis Ritchie 等人为了让这个系统的执行效能更佳化,所以使用编译效能更好的 C 语言将原有的1969年的那个系统核心大幅度的改写,并且将操作系统命名为Unics,短小、精悍之类的意思,之后大家慢慢的将其读为unix。最后,不得不说,游戏成就了Ken Thompson。

http://pic.baike.soso.com/p/20131203/20131203163458-314702683.jpg

Ken Thompson和Dennis Ritchie

Linux的诞生:

后来由于某些原因又发生了BSD(Berkeley System Distrubustion)和Bell十年的版权之争。在此期间比尔盖茨成立Microsoft,购买Unix后将其包装改名为Xenix,大赚了一笔。后来又通过与IBM合作,在PC机上预装自己的DOS系统大量销售,大赚特赚了一笔。后来机缘巧合之下,比尔盖茨从乔布斯那里“偷来”图形界面,研发了Windows造作系统,至此Microsoft迅速发展至今。

终于,Novell收购Bell,十年官司和解。至此,如果要学习Unix,需要花费4万美元购买操作系统,学生学习Unix将变得很难。为此一个欧洲教授Andrew自己模仿Unix写了Minix操作系统,用于教学,但Minix还是不能移植到其他主机上,而世界各地的计算机爱好者对此很感兴趣,希望将自己的代码贡献给Minix,以方便Minx的移植,但是却被该教授固执的拒绝了。

而此时出生于芬兰赫尔辛基市Linus Benedict Torvalds,在其二十岁生日的时候祖父给他买了一台80386,可是当时Unix商业化了,而Minix却是移植性问题,于是自己也写了一个操作系统,Linux为了跟Minix显示区别,Linux将操作系统放到网上,方便大家的应用,是开源的,也就是说,用户可以自己定制,想怎么该就怎么改,而此时0.01版本。1991年的10月5日(这是第一次正式向外公布的时间),之后凭借Internet,并经过全世界各地的计算机爱好者为其贡献自己的代码Linux开始日益丰满起来。Linus Benedict Torvalds后来也被称为Linux之父。

http://h.hiphotos.baidu.com/baike/c0%3Dbaike116%2C5%2C5%2C116%2C38/sign=13e38289349b033b3885f48874a75db6/5882b2b7d0a20cf4f664615276094b36adaf9943.jpg

Linus Benedict Torvalds

GUN是什么:

GNU划是“GNU is Not Unix”的缩写,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。但GNU的内核尚未完成,所以GNU使用Linux作为其内核。GNU软件是GNU计划开发的软件,该软件可以充分利用计算机的硬件能力,比Unix中的同样的软件功能更强,因此非常流行,这些软件在GNU通用公共许可的保护下允许任何人免费使用和传播(但必须同时提供源程序),因此被大量的用在其他的Unix中。GNU和Linux以这样的方式组合成为 GNU/Linux操作系统,所以我们现在所说的Linux操作系统实际上是Linux内核+GUN软件组成的。

https://upload.wikimedia.org/wikipedia/commons/thumb/7/7b/Richard_Stallman_-_F%C3%AAte_de_l%27Humanit%C3%A9_2014_-_010.jpg/220px-Richard_Stallman_-_F%C3%AAte_de_l%27Humanit%C3%A9_2014_-_010.jpg

 

原创文章,作者:Hulk,如若转载,请注明出处:http://www.178linux.com/51136

(1)
HulkHulk
上一篇 2016-10-19
下一篇 2016-10-19

相关推荐

  • Linux的磁盘管理:

    Linux的磁盘管理: Linux的核心:一切介文件:     open,read,write,close 块设备:block,存取单位‘块’,磁盘 字符设备:char 存取单位‘字符’,键盘 设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信: 设备号码:   &nbs…

    Linux干货 2016-07-22
  • 磁盘管理与文件系统

      关于磁盘与文件系统大致思路:要想对磁盘进行充分利用,必须要对磁盘进行分区,第二步就是要对分区进行高级格式化,也就是在分区上创建文件系统,在此过程中可以对磁盘的各种属性进行自定义。打个比方来说,创建磁盘分区好比刚买来一个毛坯房,还未装修,还不适宜人居住,那么创建文件系统就好比在光秃秃的毛坯房上进行了装修,这样才更适于人居住使用。 要想搞懂磁盘,首…

    Linux干货 2016-08-30
  • Linux基础之软件包管理

    一.概述 在redhat系列的发行版中,采用rpm软件包管理器,rpm原名是Red Hat Package Manager,后来当其他发行版也采用这种软件包管理机制以后,重新命名,改为RPM Package Manager,它所能提供的功能是将编译好的应用程序文件打包成一个或几个程序文件,从而使得用户能够方便的安装,升级,卸载软件,而yum则是rpm包管理器…

    Linux干货 2016-11-16
  • n25第二周

    linux文件管理类命令     mkdir,rmdir,cp,mv,rm,chwon,chmod     1.mkdir->make directories(创建目录)     用法:    &nbsp…

    Linux干货 2016-12-11
  • 第六周作业

    1、简述osi七层模型和TCP/IP五层模型 应用层 运行着应用程序的协议http、ftp、tftp等 表示层 将应用层所编辑的数据进行加密或解密,没有协议 会话层 决定一次数据传输发起和接收会话请求,没有协议 传输层 根据选着的协议类型,决定是否将数据分割或重组,协议:tcp、udp等 网络层 编辑逻辑地址信息(原站点、目的站点)和路由选着(ARP)协议:…

    2018-02-06
  • ntp时间服务器搭建实例

    ntp时间服务器采用stratum分级架构来处理时间同步;举例说明:你搭建了一台ntp服务器,然后同步的server为stratum-1,你的ntp则为stratum-2,你的下级ntp则为tratum-3。依此类推,最多为15层。 1.ntp server安装: [root@localhost ~]# yum -y …

    Linux干货 2015-11-10