1.概述
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX标准(可移植操作系统接口Portable Operating System Interface)和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
2.Unix家谱
说到Linux首先得了解Unix的历史,Linux是从Unix中演化来的,下面为Unix的家谱
3.Unix历史
(1)Unix最早由Ken Thompson(Unix之父)等人在AT&T(American Telephone & Telegraph)公司的贝尔实验室开发。Ken Thompson设计出很接近硬件的B语言,并用B语言写了第一个UNIX操作系统。
(2)Dennis M.Ritchie,在B语言基础上,最终设计出了一种新的高级语言-C语言。并用C语言改写了Unix。
(3)加州Berkeley大学的Bill Joy在Unix的基础上,修改了适合自己机器的版本,并将该版本命名为BSD(Berkeley Software Distribution伯克利软件套件),Bill Joy也是Sun公司的创办者之一。
(4)由于Unix的高度可移植性与强大的效能,加上当时没有版权的纠纷,所以很多商业公司开始了Unix操作系统的发展,例如AT&T自家的System V、IBM的AIX以及HP等公司,都有推出自家主机搭配的Unix操作系统。
(5)由于Unix强调的是多人多任务的环境,早期的x86个人计算机架构下的CPU是没有能力达到多任务的作业,因此,并没有人对移植Unix到x86的计算机上感兴趣。所以早先Unix只能与服务器或者大型工作站划上等号,并且每个公司推出的Unix虽然在架构上大同小异,但是仅能支持自身的硬件。
(6)后来AT&T由于商业的考虑,于是想将Unix的版权收回,特别提到了“不可对学生提供原始码”。
(7)由于版权问题,Andrew Tanenbaum教授为了方便教导学生,自己动手写了一个Unix Like核心程序-Minix。Minix兼容Unix,并且可以移植到了x86架构上。
4.GNU
(1)由于Unix的版权问题,Richard Mathew Stallman在1984年发起的GNU计划(GNU's Not Unix),这个计划的目的是想要:建立一个自由的开发的Unix操作系统。并且成立了自由软件基金会FSF(Free Software Foundation)。区别于其他专利软件,Stallman与律师草拟了有名的通用公共许可证GPL(General Public License),并称呼它为copyleft(相对于专利软件的copyright)。挂上GPL版权宣告的软件都是Free software。这些软件的代码都是源代码开放的,其他人可以使用、修改和再发行,但是需要将您修改过的代码回馈于社会。
(2)建立一个操作系统谈何容易,Stallman无法一个人完全实现GNU计划,于是他不看专利软件的源码,自行撰写功能与Unix原有专利软件相仿的软件。
(3)Stallman实现了几个重要的软件,如:Emacs、GNU C(GCC)、GNU C Library、Bash shell,后来很多的软件开发者都是借这些基础工具进行程序开发,进一步壮大了自由软件团体。
5.Linux的历史
(1)Linux之父Linus在大学期间学习Unix操作系统,并自己购买了一台intel386个人计算机(x86),并在上面装了Minix操作系统学习。
(2)Linus针对386并参考Minix的设计理念,以GNU的软件编写了自己的操作系统,这个就是linux操作系统的内核了。
(3)为了让自己的linux能够兼容于Unix系统,于是linus开始修改linux,让一些能够在Unix上运行的软件在linux上跑,在修改的过程中,linus参考了标准的POSIX规范,使得linux操作系统兼容性更好。
(4)后来linus将linux操作系统放到网上,使它成为open source,无数的开发者都加入到修改、补充linux的队伍中,使得linux系统越来越完善。
(5)Linux系统给的出现让GNU计划放下了心里的一块大石,因为GNU一直以来就是缺乏了核心程序,导致他们的GNU自由软件只能在其它的Unix上跑。
(6)后来很多商业公司将Linux内核与可运行的软件结合起来,形成Linux distribution(安装套件)来进行出售。当然由于GPL版权宣告,商业公司出售的Linux distributions通常也可以从网上下载下来,商业公司只是对本身系统的各项服务收费。
(7)Linux 操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:Unix操作系统、Minix操作系统、GNU计划、POSIX标准和Internet 网络。
6.Linux的版本发展
Linux继承UNIX版本制定的规则,将版本分为内核版本和发行版本两类。内核版本是指Linux系统内核自身的版本号,而发行版本是指由不同公司或组织将Linux内核与应用程序、文档组织在一起,构成一个发行套装。
(1)Linux内核版本构成形式为:major.minor.patchlevel。次版本为奇数表示内核加入新的内容,但不一定稳定;为偶数表示为稳定版本。
(2)常见的发行版有:RedHat Linux、Ubuntu、Fedora等等。