linux的历史演绎
【IT168 技术教程】本文讲述Linux发展历程及基本概况。即使你对linux一无所知,学完本文,也会发现此时你对linux的发展过程比以往任何时候都清晰明鉴。笔者一直把自己当作“傻瓜”,故写本文之际,我把每一位读者也当“傻瓜”,这样可以促使我把它写的尽可能详悉和清楚。
有人认为,学linux使用对于linux如何发展并不重要。到目前为止,我只能作为一个过来人告诉你:知道linux的发展对于你理解linux绝对百利而无一害。很多linux概念的理解需对linux背景的理解,就好比你喜欢一个女孩子为什么总是先想了解她的背景。因为你想更好的研究她。当然,如果你只是想“应用”她,那么这个女孩的背景对你是没有意义的。这就是为什么你不会对一个妓女背景感兴趣的原因。你只是想“应用”她。
在一帮子不熟悉linux的同学面前滔滔不绝linux发展,即使什么都不会,你也绝对让人刮目使人羡慕受人仰慕。就好比大学时代取得的高分,可能你什么也不懂,只是知道如何考试。但在外人面前摆弄一翻,也绝可自我满足一阵。
1.1 什么是linux?
最节俭地说,linux是一个操作系统。它使得计算机上的软件和硬件之间协调工作,就好像Microsoft Windows(MS windows,微软的windows系统)系列操作系统(MS Windows和linux之间又有着巨大的差别。不仅差别巨大,甚至互相对立,互相攻击。缘何对立?缘何攻击?尽在本章中。)。至于linux具体特性,很难用一句或者一段话来表述清楚。但可以有一个大概了解:linux是一个多任务的多用户的多平台的在保护模式下的遵守POSIX标准的遵守SYSV和BSD扩展的遵守GPL许可的32位(也有64位)的类UNIX的开放源代码的免费操作系统。这句话基本上涵概了当今linux最流行最重要最主要的特性。可能读者对以上的一些名词云里雾里,不知所云,简单介绍:
多任务
计算机在同一时刻运行多个应用程序的能力。
多用户
计算机在同一时刻被多个用户访问的能力。如网络上的服务器必须是多用户的。因为网络上的服务器需要能够同时接受多个用户的同时访问。除了linux系统,比较熟悉的Win2000也是多用户的操作系统。多用户操作系统最主要的特点是:同一时刻不同的用户访问。例:一台windows98机器,虽然可以有好几个不同的帐号,但不能同时访问,所以它并不是多用户的。
多平台
可以在不同种类的CPU下工作。不要以为世界上就只有intel ,AMD这样的兼容CPU,还有很多种类的CPU。如:Alpha、Sparc。
保护模式
在linux下应用软件无法访问系统分配的内存以外的内存区域。如此,一个软件的错误不会造成整个系统的瘫痪。有些人没事在那里叫嚣:linux理论上永远也不会死机,就是这个原因。(但事实上还是会死的)
POSIX
POSIX表示可移植操作系统接口(Portable Operating System Interface ,缩写为 POSIX 是为了读音更像UNIX)。电气和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE) 最初开发 POSIX 标准,是为了提高 UNIX 环境下应用程序的可移植性。然而,POSIX 并不局限于 UNIX。 许多其它的操作系统,例如 WinNT,都支持 POSIX 标准,尤其是 POSIX.1。POSIX.1 提供了源代码级别的C 语言应用编程接口(API)给操作系统的服务程序,例如读写文件。POSIX.1 已经被国际标准化组织(International Standards Organization,ISO)所接受,被命名为 ISO/IEC 9945-1:1990 标准。
SYSV和BSD扩展
可以理解为和SYSV和BSD源代码级的兼容。简单一点,就是Linux下的应用程序同时也能在这两个系统上运行。SYSV和BSD也是两个操作系统,不知道这两个系统是什么?那就往下看。
GPL(General Public License)
公用许可证,下文会有详解。
1.2发音问题
1.2.1 linux的发音
linux发音是五花八门版本颇多,就笔者见到和听到的不下10种。对这种情况,据说,linux的创始人Linus(Linus Torvalds)针对读音分歧较多的情况,特意录了一段他对Linux的发音。这段录音的内容是这样的:“Hello,this is Linus Torvalds and I pronounce Linux as Linux”。我听出来的是/'li:nэks/,综合网上和linus自己的读音,概括出几个自认为最合适也最通用的读法:/Li'nQks/(“里那克斯”)或/'li:nэks/(“里呢克斯”)或/Li'nu:ks?/(“里纽克斯”)。这几个应该是谁都听得懂的。至于哪个比较正宗,当然是linus的原音。但事实上似乎使用linus那种读发的人并不在多数。
提示:上面的这段录音可以在RedHat中调试声卡的时候可以听到,如果你的声卡调试成功,系统会播放上面一段声音以示成功。
1.2.2 Linus Torvalds的发音
我们还应该了解一下其作者名子的发音。毕竟是一个人的名子,没人敢随便念。基本上比较统一。在英语中,Linus Torvalds(/li'nus 'tRwR:z/)中文就是“李纽斯·托沃兹”,也有翻成“李纳斯·托沃兹”的。但是你有机会听上面提到的那段录音,可以发现他念的是“李纽斯·托沃兹”。一般我们称他为linus先生,也就是“李牛死”。
1.2.3 UNIX的发音
毫无疑问,就是/U:niks/。
1.2.4 GNU的发音
GNU是“GNU's Not Unix”的递归缩写。在英文里面正好有这个词,原意为非洲牛羚,发音是 :/nU:/ 。和英文中new发音一样。但是这个醒目的发起人觉得这个发音要和new搞起来,所以他宣布应该发:Guh-new 。很多人觉得和gun蛮像的,大约着把它念成/gQn/,就是和gun(手抢)同音,其实非也。