简述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 14:21
下一篇 2016-10-19 14:21

相关推荐

  • linux基础学习第十一天(shell循环、软件包管理)

    2016-08-16 授课内容: shell脚本基础:循环,for,while,until(未讲完) 软件包管理(未讲完): 软件运行环境 软件包基础 Rpm包管理 循环执行 将某代码段重复运行多次 重复运行多少次: 循环次数事先已知 循环次数事先未知 有进入条件和退出条件 循环控制语句: break:【提结束循环,循环将不再执行】指前面的循环退出,退…

    Linux干货 2016-08-18
  • 开学第一天

      今天是我来到马哥教育的第一天,来之前心情非常之忐忑,因为没有接触过linux系统,感觉是个新事物,来到教室里,一百多人的大集体,年龄的差异,使我感觉到压力。首先马哥和张sir的讲话,非常的帮,其中令我记忆最深刻的是那句话,取上者得中,取中者得下。一个人在奋斗的时候如果给自己的目标定的低,那就收获的还要低。所以要高标准的要求自己,一开始给自己定一…

    Linux干货 2018-03-26
  • shell脚本一键分区

    #!/bin/bash #实现硬盘自动分区助手 echo "当前所有分区:" echo `fdisk -l|grep "Disk /dev/[sh]d"|cut -d: -f1|awk '{print $2 &q…

    Linux干货 2016-07-26
  • 小白学习Linux系统一周总结

         告别平凡,安定而又没什么前途的工作,我选择了报了门热门的计算机课程--python运维开发。我不知道为什么一开始就学Linux系统,我早预料到这是一个艰难的开始,还好我不是完全没有基础,以前有学过iOS开发。看到着终端中的“\”表示根目录,我轻微有点亲切感,不像第一次看到终端时的恐惧。我总结这周的学习感受,希…

    Linux干货 2017-09-04
  • Linux发行版的基础目录名称、功能及目录的命名法则

    Linux发行版的基础目录名称、功能及目录的命名法则 基础目录名称及功能 /lib 32位系统的基础共享库文件和可装载的内核模块,用于为/bin和/sbin下的程序提供共享库,并为内核提供内核模块 /lib64 64位系统的基础共享库文件,用于为/bin和/sbin下的程序提供共享库 /etc 系统程序的配置文件 /bin 用户命令的程序文件,所有用户可用 …

    Linux干货 2017-07-02
  • DNS实验

    本实验需的注意问题:      1、运营商的服务器需要更改根指向服务器地址      2、根服务器上的配置文件/etc/named.conf需要将"."根区域禁用;      3、更改区域数据库文件的属组为named;c…

    Linux干货 2016-12-12