Linux系统发展历史

简述

Linux是一种自由和开放源代码的类UNIX操作系统。该操作系统的内核由Linus Torvalds在1991年10月5日首次发布,在加上用户空间的应用程序之后,成为Linux操作系统。Linux也是自由软件和开放源代码软件发展中最著名的例子。

目前Linux已经被移植到更多的计算机硬件平台,Linux可以运行在服务器和其他大型平台之上,如大型主机和超级计算机。Linux也广泛应用在嵌入式系统上,如手机(Mobile Phone)、平板电脑(Tablet)、路由器(Router)、电视(TV)和电子游戏机等。在移动设备上广泛使用的Android操作系统就是创建在Linux内核之上。

Linux被打包成供个人计算机和服务器使用的Linux发行版,一些流行的主流Linux发布版,包括Debian(及其派生版本Ubuntu、Linux Mint)、Fedora(及其相关版本Red Hat Enterprise Linux、CentOS)和openSUSE等。

Linux发行版包含Linux内核和支撑内核的实用程序和库,通常还带有大量可以满足各类需求的应用程序。个人计算机使用的Linux发行版通常包含X Window和一个相应的桌面环境,如GNOME或KDE。桌面Linux操作系统常用的应用程序,包括Firefox网页浏览器、LibreOffice办公软件、GIMP图像处理工具等。由于Linux是自由软件,任何人都可以创建一个匹配自己需求的Linux发行版。

Linux严格来说是单指操作系统的内核,因操作系统中包含了许多用户图形接口和其他实用工具。如今Linux常用来指基于Linux的完整操作系统,内核则改称Linux内核。

历史

  • UNIX

UNIX操作系统(英语:UNIX),是美国AT&T公司贝尔实验室于1969年完成的操作系统。最早由肯·汤普逊(Ken Thompson),丹尼斯·里奇(Dennis Ritchie),道格拉斯·麦克罗伊(Douglas McIlroy),和乔伊·欧桑纳于1969年在AT&T贝尔实验室开发。于1971年首次发布,最初是完全用汇编语言编写,这在当时是一种普遍的做法。后来,在1973年用一个重要的开拓性的方法,Unix被丹尼斯·里奇用编程语言C(内核和I/O例外)重新编写。高级语言编写的操作系统具有更佳的兼容性,能更容易地移植到不同的计算机平台。

  • GNU

1983年,理查德·马修·斯托曼创立GNU计划。这个计划有一个目标,是为了发展一个完全自由的类Unix操作系统。自1984年发起这个计划以来,在1985年,理查德·马修·斯托曼发起自由软件基金会并且在1989年撰写GPL。1990年代早期,GNU开始大量的产生或收集各种系统所必备的组件,像是——库、编译器、调试工具、文本编辑器、网页服务器,以及一个Unix的用户界面(Unix shell)——但是像一些底层环境,如硬件驱动、守护进程运行内核(kernel)仍然不完整和陷于停顿,GNU计划中是在马赫微核(Mach microkernel)的架构之上开发系统内核,也就是所谓的GNU Hurd,但是这个基于Mach的设计异常复杂,发展进度则相对缓慢。

  • BSD

386BSD因为法律问题直到1992年还没有发布,NetBSD和FreeBSD是386BSD的后裔,早于Linux。林纳斯·托瓦兹曾说,当时如果有可用的386BSD,他就可能不会编写Linux。

  • MINIX

MINIX是一个轻量小型并采用微内核(Micro-Kernel)架构的类Unix操作系统,是安德鲁·斯图尔特·塔能鲍姆为在计算机科学用作教学而设计的。

  • Linux

在1991年,林纳斯·托瓦兹开始在MINIX上开发Linux内核,为MINIX写的软件也可以在Linux内核上使用。后来使用GNU软件代替MINIX的软件,因为使用从GNU系统来的源代码可以自由使用,这对Linux的发展是有益。使用GNU GPL协议的源代码可以被其他项目所使用,只要这些项目使用同样的协议发布。为了让Linux可以在商业上使用,林纳斯·托瓦兹决定更改他原来的协议(这个协议会限制商业使用),以GNU GPL协议来代替。之后许多开发者致力融合GNU元素到Linux中,做出一个有完整功能的、自由的操作系统。

  • Minix & Linux历史源流

Linux的标志和吉祥物是一只名字叫做Tux的企鹅标志的由来是因为Linus在澳洲时曾被一只动物园里的企鹅咬了一口,便选择企鹅作为Linux的标志。更容易被接受的说法是:企鹅代表南极,而南极又是全世界所共有的一块陆地。这也就代表Linux是所有人的Linux。

  • 发展现状

今天由Linus Torvalds带领下,众多开发共同参与开发和维护Linux内核。理查德·斯托曼领导的自由软件基金会,继续提供大量支持Linux内核的GNU组件。一些个人和企业开发的第三方的非GNU组件也提供对Linux内核的支持,这些第三方组件包括大量的作品,有内核模块和用户应用程序和库等内容。Linux社区或企业都推出一些重要的Linux发行版,包括Linux内核、GNU组件、非GNU组件,以及其他形式的的软件包管理系统软件。

系统架构

基于Linux的系统是一个模块化的类Unix操作系统。Linux操作系统的大部分设计思想来源于20世纪70年代到80年代的Unix操作系统所创建的基本设计思想。Linux系统使用宏内核,由Linux内核负责处理进程控制、网络,以及外围设备和文件系统的访问。在系统运行的时候,设备驱动程序要么与内核直接集成,要么以加载模块形式添加。

Linux具有设备独立性,它内核具有高度适应能力,从而给系统提供了更高级的功能。GNU用户界面组件是大多数Linux操作系统的重要组成部分,提供常用的C函数库,shell,还有许多常见的Unix实用工具,可以完成许多基本的操作系统任务。大多数Linux系统使用的图形用户界面创建在X窗口系统之上,由X窗口(XWindow)系统通过软件工具及架构协议来创建操作系统所用的图形用户界面。

已安装Linux操作系统包含的一些组件:
启动程序——例如GRUB或LILO。该程序在计算机开机启动的时候运行,并将Linux内核加载到内存中。
init程序。init是由Linux内核创建的第一个进程,称为根进程,所有的系统进程都是它的子进程,即所有的进程都是通过init启动。init启动的进程如系统服务和登录提示(图形或终端模式的选择)。
软件库包含代码,可以通过运行的进程。在Linux系统上使用ELF格式来执行文件,负责管理库使用的动态链接器是“ld-linux.so”。Linux系统上最常用的软件库是GNU C库。
用户界面程序,如命令行shell或窗口环境。

Linux发行版

Linux发行版指的就是通常所说的“Linux操作系统”,它一般是由一些组织、团体、公司或者个人制作并发行的。Linux内核主要作为Linux发行版的一部分而使用。通常来讲,一个Linux发行版包括Linux内核,以及将整个软件安装到电脑上的一套安装工具,还有各种GNU软件,和其他的一些自由软件,在一些Linux发行版中可能会包含一些专有软件。发行版为许多不同的目的而制作,包括对不同电脑硬件结构的支持,对普通用户或开发者使用方式的调整,针对实时应用或嵌入式系统的开发等等。目前,超过三百个发行版被积极的开发,最普遍被使用的发行版有大约十二个。较为知名的有Debian、Ubuntu、Fedora和openSUSE等。

一个典型的发行版包括:Linux内核,GNU库和各种系统工具,命令行Shell,图形界面底层的X窗口系统和上层的桌面环境等。桌面环境有如KDE或GNOME等,并包含数千种从办公包,编译器,文本编辑器,小游戏,儿童教育软件,到科学工具的应用软件。

主要特性
基本思想

  • 列表内容

一切都是文件。每个软件都有确定的用途。
其中第一条详细来讲就是系统中的所有都归结为一个文件,包括:命令、硬件和软件设备、操作系统、进程等等,对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。

  • 完全免费

Linux是一款免费的操作系统,用户可以通过网络或其它途径免费获得,并可以任意修改其源代码。这是其它操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。

  • 完全兼容POSIX1.0标准

这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序,这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。

  • 多用户、多任务

Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。

  • 良好的界面

Linux同时具有字符界面和图形界面,在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。

  • 支持多种平台

Linux可以运行在多种硬件平台上,如:具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构,同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。

Linux内核版本

Linux内核使用三种不同的版本编号方式。

用于1.0版本之前(包括1.0)。第一个版本是0.01,紧接着是0.02、0.03、0.10、0.11、0.12、0.95、0.96、0.97、0.98、0.99和之后的1.0。用于1.0之后到2.6,数字由三部分“A.B.C”,A代表主版本号,B代表次主版本号,C代表较小的末版本号。只有在内核发生很大变化时(历史上只发生过两次,1994年的1.0、1996年的2.0),A才变化。可以通过数字B来判断Linux是否稳定,偶数的B代表稳定版,奇数的B代表开发版。C代表一些bug修复,安全更新,新特性和驱动的次数。以版本2.4.0为例,2代表主版本号,4代表次版本号,0代表改动较小的末版本号。在版本号中,序号的第二位为偶数的版本表明这是一个可以使用的稳定版本,如2.2.5,而序号的第二位为奇数的版本一般有一些新的东西加入,是个不一定很稳定的测试版本,如2.3.1。这样稳定版本来源于上一个测试版升级版本号,而一个稳定版本发展到完全成熟后就不再发展。

从2004年2.6.0版本开始,使用一种“time-based”的方式。3.0版本之前,是一种“A.B.C.D”的格式。这些年里,前两个数字A.B即“2.6”保持不变,C随着新版本的发布而增加,D代表一些bug修复、安全更新、添加新特性和驱动的次数。3.0版本之后是“A.B.C”格式,B随着新版本的发布而增加,C代表一些bug修复、安全更新、新特性和驱动的次数。

第三种方式中不再使用偶数代表稳定版,奇数代表开发版这样的命名方式。举个例子:3.7.0代表的不是开发版,而是稳定版!

猜你喜欢

转载自blog.csdn.net/itwish_liang/article/details/82223212