您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 系统/运维 > 正文

GNU/Linux操作系统闲谈杂陈

发表于:2018-11-16 作者:你们的老鲜肉 来源:老凯运维

Linux 操作系统的诞生、发展和成长过程始终依赖着以下五个重要支柱:UNIX 操作系统、MINIX 操作系统、GNU 计划、POSIX 标准和Internet 网络。

下面主要根据这五个基本线索来追寻一下Linux 的开发历程,它的酝酿过程,最初的发展经历。首先分别介绍其中的四个基本要素(UNIX、MINIX、GNU 和POSIX,Internet 的重要性显而易见,所以不用对其罗嗦),然后根据Linux 的创始人Linus Toravlds 从对计算机感兴趣而自学计算机知识开始酝酿编制一个自己的操作系统,到最初Linux 内核0.01 版公布,以及从此如何艰难地一步一个脚印地在全世界hacker 的帮助下最后推出比较完善的1.0 版本这段时间的发展经过,也即对Linux 的早期发展历史进行详细介绍。

Linux 操作系统是UNIX 操作系统的一个克隆版本。UNIX 操作系统是美国贝尔实验室的肯·汤普逊Ken.Thompson和丹尼斯·里奇Dennis Ritchie 于1969 年夏在DEC PDP-7 小型计算机上开发的一个分时操作系统。当时Ken Thompson 为了能在闲置不用的PDP-7 计算机上运行他非常喜欢的星际旅行(Space travel)游戏,在1969 年夏天乘他夫人回家乡加利福尼亚渡假期间,在一个月内开发出了unix 操作系统的原型。当时使用的是BCPL 语言(基本组合编程语言),后经Dennis Ritchie 于1972 年用移植性很强的C 语言进行了改写,使得UNIX 系统在大专院校得到了推广。

MINIX 系统是由Andrew S. Tanenbaum(AST)开发的。AST 是在荷兰Amsterdam 的Vrije 大学数学与计算机科学系统工作,是ACM 和IEEE 的资深会员(全世界也只有很少人是两会的资深会员)。共发表了100 多篇文章,5 本计算机书籍。AST 虽出生在美国纽约,但是是荷兰侨民(1914 年他的祖辈来到美国)。他在纽约上的中学、M.I.T上的大学、加洲大学Berkeley 分校念的博士学位。由于读博士后的缘故,他来到了家乡荷兰。从此就与家乡一直有来往。后来就在Vrije 大学开始教书、带研究生了。荷兰首都Amsterdam 是个常年阴雨绵绵的城市,而对于AST 来说,这最好不过了,因为这样他就可以待在家里摆弄他的计算机了。MINIX 是他1987年编制的,主要用于学生学习操作系统原理。到91年时版本是1.5。目前主要有两个版本在使用: 1.5 版和2.0 版,当时该操作系统在大学使用是免费的,但其它用途不是,当然目前都已经是免费的,可以从许多FTP上下载。

GNU 计划和自由软件基金会(the Free Software Foundation - FSF)是由Richard M. Stallman 于1984 年一手创办的。旨在开发一个类似 Unix、并且是自由软件的完整操作系统:GNU 系统。(GNU 是"GNU's Not Unix"的递归缩写,它的发音为"guh-NEW"。)各种使用linux 作为核心的GNU 操作系统正在被广泛的使用。虽然这些系统通常被称作"Linux",但是严格地说,它们应该被称为GNU/Linux 系统。

到上世纪90 年代初,GNU 项目已经开发出许多高质量的自由软件,其中包括有名的emacs 编辑系统、bash shell 程序、gcc 系列编译程序、gdb 调试程序等等。这些软件为Linux 操作系统的开发创造了一个合适的环境,是Linux 能够诞生的基础之一。以至于目前许多人都将Linux 操作系统称为"GNU/Linux"操作系统。

Linux 名称的来由

Linux 操作系统刚开始时并没有被称作Linux,Linus 给他的操作系统取名为FREAX,其英文含义是怪诞的、怪物、异想天开等意思。在他将新的操作系统上载到ftp,funet。fi服务器上时,管理员Ari Lemke很不喜欢这个名称。他认为既然是Linus 的操作系统就取其谐音Linux 作为该操作系统的目录吧,于是Linux 这个名称就开始流传下来。

在Linus 的自传《Just for Fun》一书中,Linus 解释说:"坦白地说,我从来没有想到过要用Linux 这个名称发布这个操作系统,因为这个名字有些太自负了。而我为最终发布版准备的是什么名字呢Freax。实际上,内核代码中某些早期的Makefile - 用于描述如何编译源代码的文件 - 文件中就已经包含有"Freax"这个名字了,大约存在了半年左右。但其实这也没什么关系,在当时还不需要一个名字,因为我还没有向任何人发布过内核代码。而Ari Lemke,他坚持要用自己的方式将内核代码放到ftp 站点上,并且非常不喜欢Freax 这个名字。他坚持要用现在这个名字(Linux),我承认当时我并没有跟他多争论。但这都是他取的名字。所以我可以光明正大地说我并不自负,或者部分坦白地说我并没有本位主义思想。但我想好吧,这也是个好名字,而且以后为这事我总能说服别人,就象我现在做的这样。

《深入理解linux内核》

Linux是最受欢迎的自由电脑操作系统内核。它是一个用C语言和汇编语言写成,符合POSIX标准的类Unix操作系统。Linux最早是由芬兰黑客林纳斯.托瓦兹(Linus B. Torvalds)为尝试在英特尔x86架构上提供自由免费的类Unix操作系统而开发的。该计划开始于1991年,林纳斯·托瓦兹当时在Usenet新闻组comp.os.minix登载帖子,这份著名的帖子标示着Linux计划的正式开始。在计划的早期有一些Minix黑客提供了协助,而今天全球无数程序员正在为该计划无偿提供帮助。 技术上说Linux是一个内核。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux。

Linux操作系统基本思想

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

桌面环境

在图形计算中,一个桌面环境(Desktop environment,有时称为桌面管理器)为计算机提供一个图形用户界面(GUI)。这个名称来自桌面比拟,对应于早期的文字命令行界面(CLI)。一个典型的桌面环境提供图标,视窗,工具栏,文件夹,壁纸以及像拖放这样的能力。整体而言,桌面环境在设计和功能上的特性,赋予了它与众不同的外观和感觉。现今主流的桌面环境有KDE,gnome,Xfce,LXDE等,除此之外还有Ambient,EDE,IRIX Interactive Desktop,Mezzo,Sugar,CDE等。

KDE(Kool Desktop Environment)项目始建于1996年10月,相对于GNOME还要早一些。KDE项目是由图形排版工具Lyx的开发者、一位名为Matthias Ettrich的德国人发起的,目的是为满足普通用户也能够通过简单易用的桌面来管理Unix工作站上的各种应用软件以及完成各种任务。

GNOME

GNOME即GNU网络对象模型环境 (The GNU Network Object Model Environment),GNU计划的一部分,开放源码运动的一个重要组成部分。 是一种让使用者容易操作和设定电脑环境的工具。目标是基于自由软件,为Unix或者类Unix操作系统构造一个功能完善、操作简单以及界面友好的桌面环境,他是GNU计划的正式桌面。

Xfce

Xfce(XForms Common Environment)创建于2007年7月,类似于商业图形环境CDE,是一个运行在各类Unix下的轻量级桌面环境。原作者Olivier Fourdan最先设计XFce是基于XForms三维图形库。Xfce设计目的是用来提高系统的效率,在节省系统资源的同时,能够快速加载和执行应用程序。

Linux发行版本

Linux发行版指的就是我们通常所说的“Linux操作系统”,它可能是由一个组织,公司或者个人发行的。Linux主要作为Linux发行版(通常被称为"distro")的一部分而使用。通常来讲,一个Linux发行版包括Linux内核,将整个软件安装到电脑上的一套安装工具,各种GNU软件,其他的一些自由软件,在一些特定的Linux发行版中也有一些专有软件。发行版为许多不同的目的而制作,包括对不同计算机结构的支持,对一个具体区域或语言的本地化,实时应用,和嵌入式系统。目前,超过三百个发行版被积极的开发,最普遍被使用的发行版有大约十二个。

一个典型的Linux发行版包括:Linux核心,一些GNU库和工具,命令行shell,图形界面的X窗口系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公包,编译器,文本编辑器到科学工具的应用软件。

主流的Linux发行版有Red hat(红帽)Ubuntu, Debian GNU/Linux ,Fedora ,Gentoo ,MandrivaLinux ,Slackware Linux ,ArchLinux,Mint, CentOS等。

中国大陆的Linux发行版

中标麒麟Linux, 红旗Linux(Red-flag Linux) ,Qomo Linux(原Everest),冲浪Linux(Xteam Linux) ,蓝点Linux ,新华Linux ,共创Linux ,百资Linux ,veket, lucky8k-veket.Open Desktop ,Hiweed GNU/Linux ,Magic Linux ,Engineering Computing GNU/Linux ,kylin,中标普华Linux ,中软Linux ,新华华镭Linux(RaysLX) ,CD Linux ,MC Linux ,即时Linux(Thizlinux) ,b2d linux ,IBOX ,MCLOS ,FANX,酷博linux,新氧Linux,Hiweed,Deepin Linux,雨林木风YLMF OS。

本人推荐初级用户可以使用redhat系统或者centos系统进行学习。

Red Hat是全球最大的开源技术厂家,其产品Red Hat Linux也是全世界应用最广泛的Linux。Red Hat公司总部位于美国北卡罗来纳州。在全球拥有22个分部。

2004年4月30日,Red Hat公司正式停止对Red Hat 9.0版本的支持,标志著Red Hat Linux的正式完结。原本的桌面版Red Hat Linux发行包则与来自民间的Fedora计划合并,成为Fedora Core发行版本。Red Hat公司不再开发桌面版的Linux发行包,而将全部力量集中在服务器版的开发上,也就是Red Hat Enterprise Linux版。 2005年10月RHEL4发布。

简介:

Ubuntu是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词(译为吾帮托或乌班图),意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu基于Debian发行版和GNOME桌面环境,与Debian的不同在于它每6个月会发布一个新版本。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。Ubuntu具有庞大的社区力量,用户可以方便地从社区获得帮助。

简介:

SlackwareLinux是由Patrick Volkerding制作的GNU/Linux发行版,它是世界上依然存活的最久的Linux发行版,在它的辉煌时期,曾经在所有发行版中拥有最多的用户数量。但是,随着 Linux商业化的浪潮,Redhat、Mandrake 和Suse 这些产品通过大规模的商业推广,占据了广大的市场;Debian作为一个社区发行版,也拥有很大的用户群。相比之下,Slackware的不事声张,使得它从许多人(尤其是使用Linux的新用户)的视野中消失了。 与大多数其他的发行版不同,KISS(Keep it simple,stupid)是Slackware一贯坚持的原则,尽量保持系统的简洁,从而实现稳定、高效和安全。在KISS哲学里面,简单(Simple)指的是系统设计的简洁性,而不是用户友好(User friendly)。这可能会在一定程度上牺牲了系统的易用性,但却提高了系统的透明性和灵活性。 正是一直以来对KISS原则的坚持,Slackware赢得了简洁、安全、稳定、高效的名声,也赢得了一大批的忠实用户。

Linux具体特性

完全免费

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

完全兼容POSIX 1.0标准

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

多用户、多任务

Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。普通用户可以在其权限许可的范围内使用系统资源,而超级用户(用户名为root)不仅可以使用系统中的所有资源而且可以管理系统资源。

良好的界面

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

丰富的网络功能

Unix是在互联网的基础上繁荣起来的,Linux的网络功能当然不会逊色。它的网络功能和其内核紧密相连,在这方面Linux要优于其他操作系统。在Linux中,用户可以轻松实现网页浏览、文件传输、远程登陆等网络工作。并且可以作为服务器提供WWW、FTP、E-Mail等服务。

可靠的安全、稳定性能

Linux采取了许多安全技术措施,其中有对读、写进行权限控制、审计跟踪、核心授权等技术,这些都为安全提供了保障。Linux由于需要应用到网络服务器,这对稳定性也有比较高的要求,实际上Linux在这方面也十分出色。

支持多种平台

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

工作方式

Linux的工作方式分为字符工作方式和图形工作方式。

实际应用

Linux主要被用作服务器的操作系统,因为它的廉价、灵活性及Unix背景。这也就是运维工程师要相当熟练linux操作系统的原因。主要用途:虚拟化,数据库服务器,Web服务器,应用服务器,跳转盒(Jump box),日志服务器,开发平台,Google搜索设备,入侵检测系统。传统上,以Linux为基础的“LAMP(Linux,Apache,MySQL,Perl/PHP/Python的组合)”架构,除了已在开发者群体中广泛流行,它提供网站服务供应商最常使用的平台。

基于其低廉成本与高度可设置性,Linux常常被应用于嵌入式系统,例如机顶盒、移动电话及移动装置等。在移动电话上,Linux已经成为Symbian OS的主要竞争者;而在移动装置上,则成为Windows CE与Palm OS外之另一个选择。TiVo数码摄影机使用了经过客制化后的Linux。此外,有不少硬件式的网络防火墙及路由器,例如部份LinkSys的产品,其内部都是使用Linux来驱动、并采用了操作系统提供的防火墙及路由功能。

采用Linux的超级电脑亦愈来愈多,根据2008年11月的TOP500超级电脑列表,现时世上最快速的超级电脑使用Linux作为其操作系统。而在表列的500套系统里,采用Linux为操作系统的,占了439组(即87.8%)。

2006年开始发售的SONY PlayStation 3亦可使用Linux的操作系统,它有一个能使其成为一个桌面系统的Yellow Dog Linux。之前,Sony亦曾为他们的PlayStation 2推出过一套名为PS2 Linux的DIY组件。Ubuntu自9.04版本,恢复了PPC支持(包括PlayStation 3)。

而随着OLPC的XO-1,华硕的Eee PC等低价电脑的推行,许多人乐观的认为在低端PC市场,linux的市场占有率正在快速的增长。但在Windows进入此一市场后,Linux的市占率快速下滑。现在Windows系统在所有的PC市场中,都占有绝对优势。但linux的威力也不容小觑。

linux,我看好你!