上一篇作者讲述了计算机系统的基础知识,这章开始正式进入Linux,首先将讲述Linux的发展历史。
首先本质上Linux就是一组软件,而且是一套操作系统,属于系统软件。所以下载Linux内核并且实际安装后,计算机就可以处于一个待命状态,可以开始运行了,而不再是一堆“冷冰冰的硬件”了。
操作系统是与硬件平台有关的,同一套操作系统是无法在不同的硬件平台架构上运行的,这点需要特别注意。
Linux 提供了一套完整的操作系统当中最底层的硬件控制与资源管理的完整架构,这个架构是沿袭UNIX良好的传统而来的。
2,Linux 之前的UNIX 历史:
在Linux之前就有一个相当稳定成熟的操作系统,那就是UNIX,可以说UNIX是Linux的老大哥。
由于早期计算机资源的匮乏,经常出现这种情况:主机只有一台,很多人需要使用。在这种情况下,1960,MIT研发了分时操作系统,可以让大型主机提供多个终端机以连入主机,并且利用主机的计算机资源进行运算工作(终端机只能进行输入输出作业,本身不具有任何计算能力)。因此可以让多个用户在一段时间内分别使用CPU的资源,从而造成一种错觉:大家可以同时使用一台计算机的资源。这种思想可以说是近代操作系统的鼻祖。
1969年 Kern Thompson根据自己的需要采用汇编语言写出了一组内核程序,这就是UNIX的原型。当时还称为Unics。
1973年 Thompson与Richie 希望采用更高级的语言来改写Unics,但当时的高级语言只有B语言,但是B语言编译出来的内核性能不是很好,于是Richie将B语言重写改写成C语言,再以C语言改写Unics,最后产生UNIX的正式版。现在我们知道C语言的诞生其实是为了迎接UNIX的诞生,但是C语言还是如此成功。
开始AT&T对UNIX采取比较开放的态度,而且UNIX采用C语言编写,所以理论上具有可移植性,所以只要取得UNIX的源代码,再针对不同机器修改源代码,就能将UNIX移植到其他机器上。所以诞生了很多UNIX分支。
之后,由于商业的考虑以及对当时现实环境的思考,在1979,AT&T将UNIX的版权收回。
1984年,Andrew S.Tanebaum出于教学目的,着手编写Minux这个UNIX_Like的内核程序。Minux强调与UNIX的兼容,并且能够在x86架构计算机上运行。
3,GNU项目的发展与FSF基金会的成立:
Richard Mathew Stallman在1984年发起GNU项目,对于当今的自由软件风潮有不可磨灭的地位。GNU项目倡导自由软件,目的是创建一个开放的自由的UNIX操作系统,在这个项目的推进中,产生了例如GCC(GNU C Complier),Emacs等优秀软件,并且成立了FSF(自由软件基金会)。到1985年,为了防止GNU项目所开发的自由软件成为别人的专利软件,发表了GPL,也就是通用公共许可证。
4,GNU项目的真谛:
What's GNU? GNU is not UNIX.。呵呵。GNU项目倡导自由软件,所谓自由,并不只是指免费软件,而是对软件拥有自由的权利。也就是人们可以对软件的源代码进行复制,学习,修改甚至再发行。所以对自由软件,软件发布的同时源代码也是同时发布的。
5,Linux的诞生:
在利用GNU项目中提供的bash工作环境软件以及gcc编译程序等自由软件,Linus Tolvalds参考Minix的设计理念,编写了一组内核程序,更重要的是,他将这组内核程序放在网络上供大家进行下载,为了让Linux支持更多软件,Linux的开发又参考了POSIX规范,而UNIX的软件也是遵循 这个规范进行编写的,因此这让Linux兼容UNIX的软件。Linux的成功其实还归功于来自全世界的 虚拟团队。他们共同让Linux发展壮大。
Linux 其实就是一个操作系统最底层的内核及其提供的内核工具。它是采用GNU GPL授权模式,所以任何人都可以取得Linux源代码,并且可以修改。为了让用户能够接触到Linux,很多商业公司或团体提供Linux的可完全安装发布套件,所以Linux Distribution= Kernel +Software+Tools;各大公司的Distribution除了选择的套件内容有所差异外,总体差别不大。
7,Linux的优缺点:
Linux最大的特色就是采用GPL授权模式,因此它是自由软件,任何人都可以取得Linux的源代码或者修改源代码。
这也决定了Linux具有的优点:稳定的系统,免费或少许费用,修补漏洞快速,多任务多用户,对硬件需求低,相对不消耗资源,适合小内核程序的嵌入式系统,整合度佳且多样的图形用户界面。
但是Linux也有一些缺点:游戏支持不足,专业软件支持不够,没有特定的厂商等。