⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000002.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 2 页
字号:
修改的用户可见,而且还必须符合安全规范)。另一个原因是据介绍Hurd对于多处理器的&nbsp;<BR>支持比Linux本身的内核要好。还有一个简单的原因是兴趣的驱动,因为程序员们希望能&nbsp;<BR>够自由地进行自己所喜欢的工作。只要有人希望为Hurd工作,Hurd的开发就不会停止。如&nbsp;<BR>果他们能够如愿以偿,Hurd有朝一日将成为Linux的强劲对手。不过在今天,Linux还是自&nbsp;<BR>由内核王国里无可争议的统治者。
&nbsp;<BR>在GNU发展的中期,也就是1991年,一个名叫Linus&nbsp;Torvalds的芬兰大学生想要了解Intel&nbsp;<BR>的新CPU—80386。他认为比较好的学习方法是自己编写一个操作系统的内核。出于这种目&nbsp;<BR>的,加上他对当时Unix变种版本对于80386类机器的脆弱支持十分不满,他决定要开发出&nbsp;<BR>一个全功能的、支持POSIX标准的、类Unix的操作系统内核,该系统吸收了BSD和System&nbsp;V&nbsp;<BR>的优点,同时摒弃了它们的缺点。Linus(虽然我知道我应该称他为Torvalds,但是所有&nbsp;<BR>人都称他为Linus)独立把这个内核开发到0.02版,这个版本已经可以运行gcc、bash和很&nbsp;<BR>少的一些应用程序。这些就是他开始的全部工作了。后来,他又开始在因特网上寻求广泛&nbsp;<BR>的帮助。
&nbsp;<BR>不到三年,Linus的Unix—Linux,已经升级到1.0版本。它的源代码量也呈指数形式增长&nbsp;<BR>,实现了基本的TCP/IP功能(网络部分的代码后来重写过,而且还可能会再次重写)。此&nbsp;<BR>时Linux就已经拥有大约10万用户了。
&nbsp;<BR>现在的Linux内核由150多万行代码组成,Linux也已经拥有了大约1000万用户(由于Linux&nbsp;<BR>可以自由获取和拷贝,获取具体的统计数字是不可能的)。Linux内核GNU/Linux附同GNU&nbsp;<BR>工具已经占据了Unix&nbsp;50%的市场。一些公司正在把内核和一些应用程序同安装软件打包在&nbsp;<BR>一起,生产出Linux的发行版本,这些公司包括Red&nbsp;Hat和Caldera&nbsp;公司。现在的&nbsp;<BR>GNU/Linux已经备受瞩目,得到了诸如Sun、IBM、SGI等公司的广泛支持。SGI最近决定在&nbsp;<BR>其基于Intel的Merced的系列机器上不再搭载自己的Unix变种版本IRIX,而是直接采用&nbsp;<BR>GNU/Linux;Linux甚至被指定为Amiga将要发布的新操作系统的基础。
&nbsp;<BR>1.2&nbsp;&nbsp;&nbsp;GNU通用公共许可证
&nbsp;<BR>这样一个如此流行的操作系统当然值得我们学习。按照通用公共许可证(GPL,General&nbsp;&nbsp;<BR>Public&nbsp;License)的规定,Linux的源代码可以自由获取,这满足了我们学习该系统的强烈&nbsp;<BR>愿望。GPL这份非同寻常的软件许可证,充分体现了上面提到的Stallman的思想:只要用&nbsp;<BR>户所做的修改是同等自由的,用户可以自由地使用、拷贝、查询、重用、修改甚至重新发&nbsp;<BR>布这个软件。通过这种方式,GPL保证了Linux(以及同一许可证保证下的大量其他软件)&nbsp;<BR>不仅现在自由可用,而且以后经过任何修改之后都仍然可以自由使用。
&nbsp;<BR>请注意这里的自由并不是说没有人靠这个软件盈利,有一些日益兴起的公司,比如发行最&nbsp;<BR>流行的Linux发行版本的Red&nbsp;Hat就是一个例子(Red&nbsp;Hat自从上市以来,市值已经突破数&nbsp;<BR>十亿美元,每年盈利数十万美元,而且这些数字还在不断增长)。但是任何人都不能限制&nbsp;<BR>其他用户涉足本软件领域,而且所做的修改不能减少其自由程度。
&nbsp;<BR>本书的附录B中收录了GNU通用公共许可证协议的全文。
&nbsp;<BR>1.3&nbsp;&nbsp;&nbsp;&nbsp;Linux开发过程
&nbsp;<BR>如上所述,由于Linux是一个自由软件,它可以免费获取以供学习研究。Linux之所以值得&nbsp;<BR>学习研究,是因为它是相当优秀的操作系统。如果Linux操作系统相当糟糕,那它就根本&nbsp;<BR>不值得我们使用,也就没有必要去研究相关的书籍。Linux是一个十分优秀的操作系统还&nbsp;<BR>在于几个相互关联的原因。
&nbsp;<BR>原因之一在于它是基于天才的思想开发而成的。在学生时代就开始推动整个系统开发的&nbsp;<BR>Linus&nbsp;Torvalds是一个天才,他的才能不仅展现在编程能力方面,而且组织技巧也相当杰&nbsp;<BR>出。Linux的内核是由世界上一些最优秀的程序员开发并不断完善的,他们通过Internet&nbsp;<BR>相互协作,开发理想的操作系统;他们享受着工作中的乐趣,而且也获得了充分的自豪感&nbsp;<BR>。
&nbsp;<BR>Linux优秀的另外一个原因在于它是基于一组优秀的概念。Unix是一个简单却非常优秀的&nbsp;<BR>模型。在Linux创建之前,Unix已经有20年的发展历史。Linux从Unix的各个流派中不断吸&nbsp;<BR>取成功经验,模仿Unix的优点,抛弃Unix的缺点。这样做的结果是Linux&nbsp;成为了Unix系列&nbsp;<BR>中的佼佼者:高速、健壮、完整,而且抛弃了历史包袱。
&nbsp;<BR>然而,Linux最强大的生命力还在于其公开的开发过程。每个人都可以自由获取内核源程&nbsp;<BR>序,每个人都可以对源程序加以修改,而后他人也可以自由获取你修改后的源程序。如果&nbsp;<BR>你发现了缺陷,你可以对它进行修正,而不用去乞求不知名的公司来为你修正。如果你有&nbsp;<BR>什么最优化或者新特点的创意,你也可以直接在系统中增加功能,而不用向操作系统供应&nbsp;<BR>商解释你的想法,指望他们将来会增加相应的功能。当发现一个安全漏洞后,你可以通过&nbsp;<BR>编程来弥补这个漏洞,而不用关闭系统直到你的供应商为你提供修补程序。由于你拥有直&nbsp;<BR>接访问源代码的能力,你也可以直接阅读代码来寻找缺陷,或是效率不高的代码,或是安&nbsp;<BR>全漏洞,以防患于未然。
&nbsp;<BR>除非你是一个程序员,否则这一点听起来仿佛没有多少吸引力。实际上,即使你不是程序&nbsp;<BR>员,这种开发模型也将使你受益匪浅,这主要体现在以下两个方面:
&nbsp;<BR>*&nbsp;可以间接受益于世界各地成千上万的程序员随时进行的改进工作。
&nbsp;<BR>*&nbsp;如果你需要对系统进行修改,你可以雇用程序员为你完成工作。这部分人将根据你的需&nbsp;<BR>求定义单独为你服务。可以设想,这在源程序不公开的操作系统中将是什么样子。
&nbsp;<BR>Linux这种独特的自由流畅的开发模型已被命名为bazaar(集市模型),它是相对于&nbsp;<BR>cathedral(教堂)模型而言的。在cathedral模型中,源程序代码被锁定在一个保密的小&nbsp;<BR>范围内。只有开发者(很多情况下是市场)认为能够发行一个新版本,这个新版本才会被&nbsp;<BR>推向市场。这些术语在Eric&nbsp;S.&nbsp;Raymond的《教堂与集市》(The&nbsp;Cathedral&nbsp;and&nbsp;the&nbsp;&nbsp;<BR>Bazaar)一文中有所介绍,大家可以在<A HREF="http://www.tuxedo.org/~esr/writings/找到这篇">http://www.tuxedo.org/~esr/writings/找到这篇</A>&nbsp;<BR>文章。bazaar开发模型通过重视实验,征集并充分利用早期的反馈,对巨大数量的脑力资&nbsp;<BR>源进行平衡配置,可以开发出更优秀的软件。(顺便说一下,虽然Linux是最为明显的使&nbsp;<BR>用bazaar开发模型的例子,但是它却远不是第一个使用这个模型的系统。)
&nbsp;<BR>为了确保这些无序的开发过程能够有序地进行,Linux采用了双树系统。一个树是稳定树&nbsp;<BR>(stable&nbsp;tree),另一个树是非稳定树(unstable&nbsp;tree)或者开发树(development&nbsp;&nbsp;<BR>tree)。一些新特性、实验性改进等都将首先在开发树中进行。如果在开发树中所做的改&nbsp;<BR>进也可以应用于稳定树,那么在开发树中经过测试以后,在稳定树中将进行相同的改进。&nbsp;<BR>按照Linus的观点,一旦开发树经过了足够的发展,开发树就会成为新的稳定树,如此周&nbsp;<BR>而复始的进行下去。
&nbsp;<BR>源程序版本号的形式为x.y.z。对于稳定树来说,y是偶数;对于开发树来说,y比相应的&nbsp;<BR>稳定树大一(因此,是奇数)。截至到本书截稿时,最新的稳定内核版本号是2.2.10,最&nbsp;<BR>新的开发内核的版本号是2.3.12。对2.3树的缺陷修正会回溯影响(back-propagated)&nbsp;<BR>2.2树,而当2.3树足够成熟的时候会发展成为2.4.0。(顺便说一下,这种开发会比常规&nbsp;<BR>惯例要快,因为每一版本所包含的改变比以前更少了,内核开发人员只需花很短的时间就&nbsp;<BR>能够完成一个实验开发周期。)
&nbsp;<BR><A HREF="http://www.kernel.org及其镜像站点提供了最新的可供下载的内核版本,而且同时包括">http://www.kernel.org及其镜像站点提供了最新的可供下载的内核版本,而且同时包括</A>&nbsp;<BR>稳定和开发版本。如果你愿意的话,不需要很长时间,这些站点所提供的最新版本中就可&nbsp;<BR>能包含了你的一部分源程序代码。
&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;smth.org·[FROM:&nbsp;166.111.196.22]&nbsp;&nbsp;<BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -