初识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

相关推荐

  • MySQL 多实例详解

    目录 一、基本概念 1、MySQL多实例        就是在一台机器上面开启多个不同的端口,运行多个MySQL服务进程。这些MySQL多实例公用一套安装程序,使用不同的(也可以是相同的)配置文件,启动程序,数据文件。在提供服务时候,多实例MySQL在逻辑上看来是各自独立的,多个实例的自身是根据配置…

    Linux干货 2015-09-23
  • linux 进程解析

    博文介绍了进程信息以及部分进程管理命令

    2017-09-09
  • openssl关于CA证书的创建

    1、用openssl实现证书申请 先在/etc/pki/CA/目录下创建一个index.txt的文件,作为ca证书的数据库 在相同目录下创建一个serial的序列号文件,并写入01 生成ca的签名证书用到的私钥文件 注意:私钥的权限时600,文件名必须是cakey.pem 生成自签证书 这样私有CA建立完成 申请认证: 在申请的机器上生成私钥 生成申请文件 …

    Linux干货 2016-09-23
  • 推荐-使用iptables作为网络防火墙构建安全的网络环境

    使用iptables作为网络防火墙构建安全的网络环境 使用iptables作为网络防火墙构建安全的网络环境 前言 网络防火墙的优势 实验拓扑图 实验环境 实验步骤 防火墙未设置前对所有服务器的测试 针对不同服务器进行”非法”访问 定义网络防火墙规则 再次针对不同服务器进行”非法”访问 测试服务器是否可访问 总结 前言 一般情况下iptables只作为主机防火…

    Linux干货 2016-03-31
  • Systemd——CentOS7的init

    Systemd:     POST –> Boot Sequeue(BIOS) –> Bootloader(MBR) –> kernel(ramdisk) –> rootfs –> /sbin/init init:   &nbsp…

    Linux干货 2016-09-20

评论列表(1条)

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

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