Linux发展史

Linux发展史

一、历史

(一)、Unix

1、Unix操作系统是一个强大的多用户、多任务操作系统,支持多种处理器架构。

2、最早由KenThompson(汤普逊)、Dennis Ritchie(丹尼斯·里奇,C语言之父,Unix之父)和Douglas McIlroy(麦克罗伊,程式设计师)于1969年在AT&T的贝尔实验室开发。

3、目前它的商标权由国际开放标准组织所拥有,只有符合单一Unix规范的Unix系统才能使用Unix这个名称,否则只能称为类Unix(Unix-like

(二)、GNU

GNU是自由软件之父Richard Stallman在1984年组织开发的一个完全基于自由软件的软件体系,与此相应的有一分通用公共许可证General Public License简称GPL)。Linux以及与他有关的大量软件是在GPL的推动下开发和发布的。

Richard Stallman 还创建了更多的软件,如:GCC(GNU编译器套件)、和GDB(UNIX调试工具),在他的倡导下,目前人们熟悉的一些软件如BIND、Perl、Apache、TCP/IP等都成了自由软件的经典之作。

(三)、BSD

BSD(Unix的衍生系统),比Linux早。BSD (Berkeley Software Distribution,伯克利软件套件)是Unix的衍生系统,在1977至1995年间由加州大学伯克利分校开发和发布的。历史上BSD曾经被认为是UNIX的一支——"BSD UNIX", 因为它和AT&T UNIX操作系统共享基础代码和设计。

(四)、Minix

Minix是一种基于微内核架构的类Unix计算机操作系统,由Andrew S. Tanenbaum发明。Minix最初发布于1987年,开放全部源代码给大学教学和研究工作。2000年重新改为BSD授权,成为自由和开放源码软件。

(五)、Linux

1991年,由于计算机硬件工业的强力运作,以Intel主导的x86系统架构的个人计算机大行其道,此时,芬兰赫尔辛基大学有个叫Linus Torvalds的学生,将0.02版的原始码hobby放到网络上面供大家下载,,终于将第一个完整的核心Version 1.0释出,并且造成目前的大流行。Linus Torvalds将Linux定为同样造福大家的GNU授权模式!

Linux是Linus Torvalds受到Minix的影响而作成的。在设计哲学上,Linux则和Minix大相迳庭。Minix在内核设计上采用微内核的原则,但Linux则和原始的Unix相同都采用宏内核的概念。在Linux发展之初,双方还于1992年在新闻组上有过一场精彩的理念争论。Minix的作者和支持者认为Linux的单内核构造是“向七十年代的大倒退”,而Linux的支持者认为Minix本身没有实用性。

二、主要特性

(一)、基本思想Linux的基本思想有两点:

1、一切都是文件。

2、每个软件都有确定的用途。

其中第一条详细来讲就是系统中的所有都归结为一个文件,包括:命令、硬件和软件设备、操作系统、进程等等,对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说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、680×0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构,同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。

三、Linux内核版本

(1)、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代表的不是开发版,而是稳定版!

(2)、Linux发行版

Linux主要作为Linux发行版(通常被称为”distro”)的一部分而使用。这些发行版由个人、松散组织的团队、以及商业机构和志愿者组织编写。它们通常包括了其他的系统软件和应用软件,以及一个用来简化系统初始安装的安装工具,和让软件安装升级的集成管理器。大多数系统还包括了像提供GUI界面的XFree86之类的曾经运行于BSD的程序。一个典型的Linux发行版包括:Linux内核、一些GNU程序库和工具、命令行shell、图形界面的X Window系统和相应的桌面环境,如:KDE或GNOME,并包含数千种从办公套件、编译器、文本编辑器到科学工具的应用软件。

由于发展的Linux公司实在太多了,例如著名的Red Hat、OpenLinux、Mandrake 、Debian、SuSE等。所以很多人都很担心,如此一来每个 distribution(安装套件)是否都不相同呢?这就不需要担心了,由于各个distribution都是架构在Linux Kernel下来发展属于自己公司风格的distribution,因此大家都遵守Linux Standard Base ( LSB 的规范,也就是说,各个distribution其实都差不多,用到的都是Linux Kernel,只是各个distribution里面所使用的各套件可能并不完全相同而已)。

原创文章,作者:tangfeifei,如若转载,请注明出处:http://www.178linux.com/51240

(0)
tangfeifeitangfeifei
上一篇 2016-10-14 11:36
下一篇 2016-10-14 11:36

相关推荐

  • N25第二周作业

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。     (1).cat:cat命令可以用来合并文件,也可以用来在屏幕上显示整个文件的内容。     2.语法:cat [选项] [文件]…     3.选项: &nbsp…

    Linux干货 2016-12-26
  • 软链接与硬链接的分析

    Linux引用硬链接与软链接,是为了实现文件的共享,更有隐藏文件路径、增加权限安全及节省存储等的好处。很多新手不知道软链接与硬链接的区别,今天大家一起总结它们的区别吧^_^ 一,硬链接 硬链接的特性可以体现出什么是硬链接: 通过索引节点来进行链接,文件要有相同的inode及data block 不允许跨分区创建 只有在同一文件系统中的文件之间才可以,不能交叉…

    2017-07-22
  • http服务之二

    httpd http协议: http事务:    请求:request    响应:response 报文语法格式: request报文 <method> <request-URL> <version>     <he…

    Linux干货 2016-10-21
  • Linux磁盘和文件系统管理

      Linux磁盘和文件系统管理.pdf Part.I 磁盘管理 1.cfdisk   #图形化的很简单. 不知道你们用什么 反正我喜欢这个 ^_^ cfdisk – display or manipulate disk partition table 必要参数的具体说明如下: -a用箭头表示选取,而不是以反白表示 …

    Linux干货 2016-04-05
  • Linux基础知识之用户和组管理

    系统环境:    该博文以CentOS6.8_x86_64和CentOS7.2_x86_64系统为基础,Xshell5远程登录CentOS6.8和CentOS7.2系统,分别以root身份和sjsir用户身份登录系统。 学习的重要问题: 一、为什么要学习用户和组?    首先Linux区别于其他的系统的最重要的特性就是…

    Linux干货 2016-08-02
  • 马哥教育网络班21期+第7周课程练习

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; [root@centos ~]# mke2fs -t ext4 -b 2048 -m 2&…

    Linux干货 2016-08-01