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

相关推荐

  • Linux cluster集群全讲解

                     Linux cluster集群 Linux cluster(集群): cluster:计算机组合,为解决某个特定问题组合起来形成的单个系统;   Linux Cluster类型:    LB:Load Balancing,负载均衡;    HA:High Availiablity,高可用;    A=MTBF(平均无故障时长…

    2016-11-18
  • DNS和openssl

    本文主要讲述ssl以及使用openssl创建CA,DNS服务器的搭建  一.数据在互联网上传输存在各种各样的分险,数据在传输的过程中可能会被篡改,被截取等,于是就不得不解决这些安全问题,为了解决这些问题,ssl协议也就诞生了,ssl(Secure Socket Layer),首先,它是一中协议,专用于对数据进行加密与解密,是一个应用层协议,该协议提…

    Linux干货 2016-12-11
  • 马哥教育网络班第21期+第三周课程作业

    1. 列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | awk  '{print $1}'|uniq 2.列出最后登录到当前系统的用户的相关信息 last | head -1   3. 读取当前系统上被用户当做其默认shell最多的那个shell cat /etc/pa…

    Linux干货 2016-07-26
  • 实现基于MYSQL验证的vsftpd虚拟用户

    马哥教育面授21期 运维 vsftpd MySQL 说明:本实验在两台CentOS主机上实现,一台做为FTP服务器,一台做数据库服务器 一、安装所需要包和包组: 在数据库服务器上安装包: yum –y install mariadb-server mariadb-devel systemctl start mariad…

    Linux干货 2016-12-21
  • 8月3日课堂笔记

    课堂笔记 linux用户和组管理(非常非常重要)    用户管理和组管理各种相关的应用程序    简单的管理命令 安全上下文:   每次对主机操作都是以发起一个进程来完成的,进程代表着人来执行操作,进程以其发起者的身份来运行;所以开机时有很多守护类的进程,我们应该以普通身份来运行,普通用户通常都是系统用户;从来不用登陆系统的;进程对文件的访问权限,取决于发起…

    Linux干货 2016-08-04
  • 第九周

    统计可登录shell与不能登陆shell的个数 2. 写一个脚本 3.写一个脚本    4、写一个脚本,完成如下功能 脚本能够接受一个参数。 (1) 如果参数1为quit,则显示退出脚本,并执行正常退出。 (2) 如果参数1为yes,则显示继续执行脚本。 (3) 否则,参数1为其它任意值,均执行非正常退出。    5、…

    Linux干货 2016-12-26