初识Linux之——Linux是如何诞生的

初识Linux之——Linux是如何诞生的


对于大多数初次接触Linux的童鞋,可能会非常好奇什么是Linux?它是做什么的?为什么那么多高手都喜欢Linux?Linux是如何产生出来的呢?本文将为大家解答释疑,让大家对Linux有一个清晰的概念。

Linux是什么

简单来说,如Windows7、Windows10、安卓、IOS等,Linux是一个计算机操作系统。我们现在的社会能够如此的绚丽多彩,各种科技高速发展,离不开计算机的功劳。而计算机能够为我们提供各种功能,如大型的科学计算、互联网服务的运作、以及我们日常的娱乐办公等,这一切都功能的实现都建立在计算机的操作系统基础之上。操作系统,通俗的讲就像一个大管家一样,能够把计算机的各种运算、存储、网络单元等硬件资源和软件资源合理的组织管理起来,从而让用户获得更好的用户体验,让我们的计算机实现更高的性能。

Linux的特性及使用场合

Linux为诸多骇客(计算机高手)所推崇的原因,在于它最大的一个特性:自由、开源(开放源代码)。正因为Linux的开源,任何计算机爱好者都可以自由的获取Linux的源代码,并且根据自己的理解和想法去自由的修改,甚至定制出自己独特的操作系统。这极大的迎合了计算机界各位大牛的极客精神。因此,Linux的诞生迅速吸引了世界上诸多计算机精英们加入并贡献自己的智慧。这使得Linux获得了极速的发展,相比其他操作系统也显得更加灵活、安全、健壮。

同样由于开源、免费,各大IT公司可以较低的成本获取到性能更高、安全性更可靠的操作系统,并且可以合法的基于Linux源码二次开发适合各种设备的系统。因此,Linux及其各种衍生系统几乎遍布到我们社会生活的各个角落,大到科研中心运行的超级计算机、网络公司的各种服务器,小到我们的智能手机及各种智能设备,都可以看到Linux的身影。据统计,目前为止各种Linux的发行版及衍生版多达数百种,而基于Linux定制的嵌入式设备更是有上千种之多。

这么神奇的操作系统   Linux是如何产生的呢

正如大多数童鞋们可能了解到的,Linux其实是来源于UNIX的,那么UNIX又是个什么鬼呢?要讲清楚Linux与UNIX之间的爱恨纠葛,这要追寻到很久很久之前的历史了 … …    ^_^

UNIX操作系统的创生

其实从1946年第一台计算机ENIC诞生之后的相当一段时间,计算机是并没有一个像样的操作系统的,而当时的计算机也并不像现在的电脑这么便携、智能。当时的计算机非常的原始,非常的庞大、笨重,只能进行一些简单的科学计算,而这些大家伙也只存在于某些科研机构。

直到1964年由贝尔实验室、麻省理工学院及美国通用电气公司所共同参与研发的Multics项目(同年IBM发布了System/360)。然而由于资金和研发进度等问题直到1969年Multics也没有获得预想中的成功和发展。

这期间在贝尔实验室的Ken Thompson,出于个人爱好开发了一个基于Multics的星际旅行(Space and Travel)的游戏。但随着Multics项目的没落,Ken希望能够寻找一个可以替代Multics的操作系统以支持自己的游戏程序。正巧他发现了一台被闲置的PDP-7,Ken Thompson就和同时Dennis Ritchie利用空余时间开发出了一个能够支持其游戏项目的操作系统。

MULTICS 其实是"MULTi-plexed Information and Computing System"的缩写,在1970年时,那台PDP-7却只能支持两个使用者,当时,Brian Kernighan 就开玩笑地戏称他们的系统其实是:"UNi-plexed Information and Computing System",缩写为"UNICS",后来,大家取其谐音,就称其为"UNIX"了。

UNIX系统的发展期

1973年,Ken Thompson和Dennis Ritchie发明了C语言之后,着手将UNIX用更高级的C语言进行了改写(之前的UNIX是用B语言编写的,B也是他们两个人发明的,为了改写UNIX,他们将B语言做了一番改进,而成了C语言)。这个划时代的动作让UNIX能够很轻易地被移植到各种不同的机器上。

1974年,他们在计算机协会交流杂志(Communications of the ACM)正式发表了UNIX,吸引了更多学术界的注意与参与。从此,UNIX逐渐成为网络工作站的标准,让使用不同机器的使用者,都能使用类似的UNIX操作系统。

直到1979年之间的这段时间由于贝尔实验室被卷入反垄断法案等原因,UNIX在各大高校和科研机构获得了极大的发展,并发展出了众多主要分支。这其中最为著名的就是Ken Thompson1975年在Berkeley大学执教期间与Bill Joy等人基于UNIX共同研发的BSD。

但随着贝尔实验室的分拆,贝尔实验室又重新获得了UNIX的商业发行权,并同时宣布收回UNIX的版权。贝尔实验室与Berkeley大学开始了长达10年的版权之争。这期间各高校、科研机构、大型IT公司等UNIX用户是最为纠结的10,既要使用UNIX,又无法获得合法的使用权限。

GUN和Minux的出现

由于受限于UNIX的版权问题,在这黑色的10年世界各计算机骇客们和科研机构的大牛们奔走呼告,希望搞出一个最终的解决方案。其中最具影响力的事件要数GNU和Minux。

GNU(GNUis Not Unix)计划,又称革奴计划,是由Richard Stallman在1983年公开发起的。它的目标是创建一套完全一个自由、开源的UNIX(Free UNIX)。并于1985年创立了自由软件基金会FSF(Free Software Foundation)来为GNU计划提供技术、法律以及财政支持。为保证GNU软件可以自由地“使用、复制、修改和发布”,GNU软件必须遵循GNU通用公共许可证GPL(GNU General Public License),即“反版权”(或称Copyleft)概念。GNU可以说是计算机界开源精神的始祖,Linux上目前使用的大多数开源软件都是来自于GNU的,如Emacs、GCC、nano等。

另一个比较有影响力的就是Minux(从某中程度上,可以说是Linux的前身)。Minux是荷兰Vrije 大学的Andrew S. Tanenbaum教授,在贝尔实验室将UNIX源代码私有化之后,为满足教学和研究需求而开发的UNIX兼容操作系统,取Mini-UNIX之意,简称为Minux。该系统虽然可以免费获取,但Andrew教授严格规定其仅限于教学使用,因此这虽然是一个不错的系统,但并没有获得很好的发展。

Linux世界的开端

啊 ~    终于轮到主角出场了   重量级人物往往都是压轴的  ^_^

时间划过了一点,来到了1988年。芬兰的赫尔辛基大学迎来了一位新生Linus Benedict Torvalds(即Linus,可不是Linux哦)。这绝对是一位大神级的人物。Linus在学习操作系统原理之后,完全不满足这些概念性的知识,于是就花了大量的时间研究了Minux和BSD等其他UNIX操作系统,并基于Minux和GNU的Gcc等编写了一个自己的小型操作系统。更可怕的是我们的主角Linus将这个小程序的源码发布到了一个社区网站上,同时命名为0.01版(1991年8月),并允许任何人可以自由的下载、修改。这就是Linus的Minux,社区管理员为了便于管理就把它称之为Linux。

这种操作模式以迅雷不及掩耳之势吸引了世界各地骇客和技术大牛的注意力,在短短的两个月时间内就获得了大量的反馈,并使Linus发布了第一个Linux的“正式”版本:0.02版。由于得到了世界各大计算机精英的支持,Linux的发展真的是一日千里,同时这也形成了Linux的社区文化。

Linux OR GNU/Linux ?

GNU/Linux?怎么会又冒出来一个GNU/Linux呢?要明白这点需要我们对计算机操作系统有一个更为准确的认识。确切的说Linux代表的仅仅是操作系统本身——Linux内核(kernel)。而我们现在通常所说的Linux是包括Linux内核及运行在其上的诸多GNU和其他开源软件(如Shell、Gcc、X Windown等)在内的一个整体。

前面我们已经知道,GNU是一个致力于开发一个开源的不同于UNIX的系统的(正如它所宣称的GNU is Not UNIX)。但至到2013年,GNU Hurd内核已经开发了23年依然没有发布稳定版本,这对于GNU不得不说是一件极其尴尬的事。而Linux却又是在GPL条款下发布的,这在某种程度上正好填补了GNU没有操作系统的缺陷。

而一些人拒绝使用“GNU/Linux”这种叫法无非是因为:1.Linux朗朗上口,名字较短又好记;2.Richard Stallman博士直到1990年代中期,Linux开始流行后才要求更名。

那么我们就是该如何称呼呢?其实正如Linus Torvalds在1996年新闻组里说讲的一样,关于这个的讨论已经够多的了,如何称呼Linux,这真的不是个事!!!事实上无论怎么称呼,无论是GNU推动了Linux的发展,还是Linux推动了GNU的推广,只要是对开源事业对科技发展有贡献的都是好的。


扩展阅读:

1、Linux、Windows和Apple之间的故事

既然Linux这么出名、这么牛X,为什么我不知道呢?相信很多朋友会有这样的疑问。对于这部分,感兴趣的童鞋们可以自己查阅修改资料进行了解。

2、Linux的主要发行版本

Debian  –  Ubuntu
RedHat  –  Red Hat Enterprise Linux
                 CentOS
                 Fedora
SUSE
Arch Linux
Gentoo

原创文章,作者:M21-张国辉,如若转载,请注明出处:http://www.178linux.com/50916

(0)
M21-张国辉M21-张国辉
上一篇 2016-10-14
下一篇 2016-10-14

相关推荐

  • LAMP平台基于NFS实现web服务器负载均衡

    前言 随着访问量的逐渐增大,一台web服务器可能已经无法满足需求,这就需要增加web服务器的数量了,于是问题就来了:如何保证两台服务器数据同步呢?本文将讲解如何基于NFS实现web服务器的负载均衡及数据同步。 NFS服务介绍 NFS(Network File System)网络文件系统,允许一个系统通过网络共享目录和文件,通过使用NFS,用户和程序可以像访问…

    Linux干货 2015-04-22
  • 文件系统

    文件系统 文件和目录被组织成一个单根倒置树结构 文件系统从根目录下开始,用“/”表示 文件名称区分大小写 以.开头的文件为隐藏文件   一个.表示本目录。 两个..表示根目录 路径分隔的/      路径分割为正斜线分割 文件有两类数据:        元数据:metadata …

    Linux干货 2017-05-02
  • 基础指令的使用篇2 Linux版

    #echo -e "\033[41;33:4:5m"\033[0m] man命令 /usr/share/man 地址 whatis passwd 查看passwd的man 章节 man n passwd 显示passwd的第几章man文件 man -a passwd 列出所有的章节     -f   &nbs…

    Linux干货 2016-08-04
  • Linux终端类型

    适用对象:本文适用于初学Linux以及有志于学习Linux的朋友们。   一、         什么是终端 计算机体系中,终端主要是指与计算机连接,并可以与用户(人类)进行交互的设备。 二、      &nbs…

    Linux干货 2016-10-14
  • 如何修复Ubuntu 12.04上时间不正确的问题

    大家好: 今天跟大家分享下如何修复ubuntu 12.04上时间不正常的问题。 1–首先打date查看系统的时间是否正常 martell@cnux10:~/sistes/sha-mmb-o2o2o$ date  Thu Dec  1 09:15:47 UTC 2016 martell@cnux10:~/sistes/sha-m…

    Linux干货 2016-12-04
  • 2016/10/14作业

    操作类: 1、设置自己的终端提示符,要求终端登陆时:     a> 需要带颜色      b> 需要显示当前执行到了第几条命令      c> 显示当前登录终端,主机名和当前时间 首先我们要了解一个环境…

    Linux干货 2016-10-19

评论列表(1条)

  • 马哥教育
    马哥教育 2016-10-14 10:55

    加入了一些自己的理解,不错,希望可以将这段发展史熟知,加油,加油~