简述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

相关推荐

  • 关于压测的宏观个人总结

    工作角色定位 首先先从宏观角度来评估下本次的压测工作. 从工作职责上说本次压测理应由组内其它同学来完成,个人从旁协助或指导即可。团队成员的成长对我个人来说才是更大的成长。所以即使这次压测工作完成的再出色,都会因为是由我来完成的,所以都不能称之为优秀的。对我个人的成长最多是项目经验的增长和问题的积累,但对组员来说如何让他们做到现有成果的80%是我需要帮助他们来…

    Linux干货 2015-04-21
  • heartbeatV1+nfs实现高可用httpd

        随着互联网技术的不断发展,Web应用也越来越普遍,Web服务器的无故障工作时间就显得尤重要,但由于各种各样的原因,一台服务器并不能保证永远不出问题的运行,此时就需要一种机制来实现多台服务器共同为相同的来务功能提供服务,以确保任意一台服务器宕机后,不会影响其所承载的业务的访问。   &nbsp…

    Linux干货 2015-06-26
  • ls、shutdown命令使用及命令提示符格式修改

        ls、shutdown命令使用及命令提示符格式修改                      &nbs…

    Linux干货 2016-10-17
  • 开篇

    test 新人报道

    Linux干货 2016-10-28
  • TCP常见问题总结

    TCP协议和UDP协议的区别是什么 TCP协议是有连接的,有连接的意思是开始传输实际数据之前TCP的客户端和服务器端必须通过三次握手建立连接,会话结束之后也要结束连接。而UDP是无连接的 TCP协议保证数据按序发送,按序到达,提供超时重传来保证可靠性,但是UDP不保证按序到达,甚至不保证到达,只是努力交付,即便是按序发送的序列,也不保证按序送到。 TCP协议…

    Linux干货 2017-09-02
  • Homework week-5 grep及find

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; grep -E "^[[:space:]]+" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; grep&nbsp…

    Linux干货 2016-09-06