- 论坛徽章:
- 0
|
《Solaris内核结构》的最佳伴侣\r\n学习和使用Solaris 10 的得力助手\r\n\r\n本书是《Solaris内核结构第2版》的配套出版物,这两本书合起来提供了Solaris及OpenSolaris操作环境的最优秀、最全面的介绍。《Solaris内核结构 第2版》深入探索了Solaris操作系统的内部原理和体系结构;本书阐释了大量实用工具的使用,为内核开发人员、系统程序员和系统管理员提供了全面而深入的指南。 \r\n本书全面介绍了Solaris 10和OpenSolaris中的强大工具,包括Solaris动态跟踪工具DTrace和模块调试器MDB。通过阅读本书,读者将学会:分析内核和应用程序的CPU利用率,掌握进程级资源的使用和分析,理解并分析磁盘IO行为以及系统和应用程序级的内存使用、网络性能,监视、分析以及收集内核数据等。\r\n 本书适合使用Solaris操作系统的各类技术人员阅读。\r\n\r\n《Solaris 性能和工具》提供了在Solaris 10和Open Solaris中捆绑的强有力工具的全面完整的介绍,包括Solaris动态跟踪工具,DTrace,和模块化调试器,MDB。它提供了理解性能和行为的系统性方法,包括:\r\n 分析内核和应用程序的CPU利用率,包括读取和理解硬件计数器\r\n 进程级资源使用和概要描述\r\n 磁盘IO行为和分析\r\n 系统和应用程序级的内存使用\r\n 网络性能\r\n 内核监视和概要描述,收集内核统计数据\r\n 使用内核提供者和聚集\r\n MDB命令和完整的MDB指南\r\n《Solaris 内核结构》两本书是任何使用Solaris 10和Open Solaris的人的出色参考。\r\n专家评论\r\n\r\n“本书对Solaris(以及Open Solaris)操作环境做了最佳且最全面的讲解。任何水平的Solaris使用者,都别忘了把本书及其配套书籍《Solaris性能与工具》加入个人收藏。利用Solaris中的先进观测工具(比如DTrace),你常常会发现自己正身处未知的领域,而本书则为我们提供了快速了解这些系统和深入研究Solaris体系结构(及OpenSolaris)的绝妙方式。”\r\n ——Jarod Jenson, Aeysis总系统架构师\r\n\r\n“如果你想深入了解Solaris操作系统内核和体系结构,那么本书绝对是必需品。作为一名长年研究UNIX系统的资深工程师,我认为本书第1版为内核开发者、系统程序员和系统管理员提供了最全面的资料;而第2版及其配套书籍《Solaris性能与工具》更是必不可少的参考资料,其中含有很多关于Solaris及其基础子系统(包括那些可用于观察和分析任何正在运行Solaris 10或OpenSolaris的系统的工具及方法)的实用讲解。” \r\n ——Marc Strahl, UNIX系统高级工程师\r\n\r\n关于作者\r\n\r\n如果Richard McDougall生活在100年以前,他会打开第一辆四冲程内燃机驱动的车辆的盖子,探索新技术以作出改进。他会寻找简单的办法解决复杂的问题,帮助创业者们理解技术是如何从他们的新经验中获得最大化收益的。现在,Richard用技术来满足他的好奇心。他是Sun公司的杰出工程师,专注于操作系统技术和系统性能。\r\n\r\nJim Mauro是Sun公司“性能、体系结构和应用工程组”的资深Staff工程师,他最近的工作集中在Opteron平台上的Solaris性能,特别是在文件系统和磁盘原始IO性能领域。Jim的兴趣包括操作系统调度和线程支持、多线程应用程序、文件系统和操作系统观察工具。兴趣之外,他还热衷于读书和音乐—听唱盘是Jim的首选,并且他仍在购买和播放12英寸的乙烯基唱片。他与妻子和两个儿子住在新泽西。在写作和工作之余,Jim会处理他的家人在使用家庭网络和打印机时遇到的麻烦。\r\n\r\nBrendan Gregg是Solaris咨询师和在澳大利亚和亚洲为Sun公司讲授课程的讲师。他同时也是OpenSolaris的撰稿人和社区领导者,他编写了无数的软件包,包括DTraceToolkit。他爱好多种体育运动,在悉尼的家中训练击剑。 \r\n原 序\r\n过去十年来,人们对操作系统普遍有一种误解,认为它已经是一个已完成、已解决的问题,虽然操作系统仍能引起人们的兴趣。产生这种想法的原因是多方面的,但其中最大的因素可能只是因为操作系统没有被理解;在很大程度上它们不是作为透明系统,而是作为专有的黑盒子发布的,甚至无法满足人们简单的好奇心。这与理解操作系统是格格不入的;如果某项事物不能被分解,即它的内部工作机制是隐藏的,那么它的复杂结构和工程上的细微差别将很难被理解。对于软件系统尤其如此,它们甚至不能在传统的意义上被分解。尽管软件的象征意义是信息而不是机器,但一个封闭的软件系统就像一个工程化的系统一样不易被理解。\r\n\r\n这就是Solaris大约在2000年时的状况,它确实没有被很好地理解。它的内部结构和工作机制仅仅在令人费解的注释或者旧的USENIX论文中公开描述过,它的行为对于当时的工具是不透明的,源代码深藏于“密室”之中。从2000年开始,情况开始(可能是慢慢地)好转—这部分归功于Jim Mauro和Richard McDougall的《Solaris内核结构第1版》所开创的先河。Jim和Richard面临极大的挑战—描述一个如此复杂的系统,而事实上却没有一个人真正理解它的全部。在写作过程中,Jim和Richard认识到一本书根本不能完全涵盖它。尽管内容一再压缩(例如不包括网络部分),《Solaris内核结构第1版》仍然厚达600页以上。\r\n\r\n《Solaris内核结构》的出版标志着过去十年的前五年是加速变化的开始,使用和理解Solaris的障碍已经被清除。Solaris成为自由软件,它的工程师们开始通过新的媒体(如博客)广泛谈论它的实现,最重要的是,Solaris本身在2005年6月成为开源软件,成为第一个从专有转变为开放的操作系统。同时,Solaris的机制变得更加有趣,几项革命性的新技术在Solaris 10中首次亮相。这些技术动摇了很多人的怀疑,并证明了操作系统仍然保持活力。当然,仍有一些困难的、重要的问题有待解决。\r\n\r\n如果将2000年看作是Solaris变化的开始,2005年就可以看作是这一开始的终结。到2005年末,曾经看起来已完成的专有产品已转化为一个令人激动的、开源的系统,系统的潜能使其更具有活力。恰巧《Solaris内核结构第2版》迎来了这些变化。面对一项异常艰巨的任务,即如何反映五年来的大规模的工程变化,Jim和Richard做出一个重要决定—他们邀请那些设计子系统和编写代码的工程师给予帮助,其中的一些章节完全是由这些工程师们在自己所设计的子系统的基础上编写的。得益于此,《Solaris内核结构第2版》成为一部得到极大扩展且具有高度权威性的专著—同时很好地保持了社区开发和写作这一新的Solaris时代精神。\r\n\r\n就我个人而言,我很高兴看到Jim和Richard使用了DTrace,Mike Shapiro、Adam Leventhal和我在Solaris 10中开发了这项技术。Mike、Adam和我都曾是操作系统课的助教,我们有过一个非公开的目标,即开发一个教学工具以彻底改变操作系统的教学方式。因此,我鼓励读者不仅仅是要读《Solaris内核结构》,还要下载Solaris,在台式机、笔记本或虚拟机上运行它,并使用DTrace在自己的机器上亲自看看Jim和Richard描述的概念!\r\n\r\n不管你是学生还是专业技术人员,是因为课程、工作还是因为好奇来读此书,我都很高兴大家能阅读这本Solaris内部机制的指南。享受这一过程,并记住Solaris并不是一件已终止的工作,而是一项不断发展的技术。如果读者有兴趣加速这一发展,或者仅仅是对于使用或理解Solaris有问题,请加入我们在http://www.opensolaris.org的很多社区。欢迎您的到来!\r\n\r\n\r\nBryan Cantrill\r\n旧金山,加州\r\n2006年6月 \r\n前 言\r\n本书是《Solaris内核结构第2版》的配套出版物,欢迎大家阅读这两本书。《Solaris内核结构第1版》出版已近五年,在此期间,我们有机会与很多Solaris用户、软件开发者、系统管理员、数据库管理员、性能分析师,甚至偶尔的内核黑客进行沟通。我们对所有的反馈表示感谢,而且,基于读者的意见,我们对这一版的格式和内容专门做了修改。读下去就会知道两本书有哪些不同。我们期待与Solaris社区继续交流。\r\n\r\n关于这两本书\r\n\r\n这两本书讨论的是Sun的Solaris操作系统—特别是SunOS内核。Solaris的其他组成部分,如桌面的窗口系统,不在本书讨论范围内。《Solaris内核结构第1版》涵盖了Solaris 2.5.1、2.6和Solaris 7。现在这两本书重点介绍Solaris 10,包括Solaris 8和Solaris 9的更新信息。\r\n\r\n在《Solaris内核结构第1版》中,我们不仅想要描述使Solaris内核运转的内部组成单元,而且还提供实用的指导。该书的第2版也同样如此,并更加强调使用捆绑的(在某些情况下是非捆绑的)工具和实用程序,以用于检查和探测一个运行中的系统。我们能够使用观察工具说明更多的内核内部工作,在很大程度上得力于加入到Solaris 10中的革命性和创新性的技术—DTrace这一动态的内核跟踪框架。DTrace是Solaris 10中的多项新技术之一,在这两本书中有大量应用。\r\n\r\n在《Solaris内核结构第2版》写作过程中,我们得到几位朋友和同事的帮助,他们大都从事Solaris内核工作,他们的专业技术和指导为这两本书的质量和内容做出了巨大贡献。我们自己也不断地扩展主题,演示dtrace(1)、mdb(1)、kstat(1)以及其他捆绑工具的使用。因此,我们很早就决定要介绍这些工具,一些章节为读者提供了有关这些工具和实用程序所需要的背景信息。自此,使用工具对性能和系统行为进行分析发展成为一整章。\r\n\r\n本书临近结稿时,我们遇到了一个小问题—书的厚度。书太厚了,这给书的出版和印刷带来了一些问题。与出版商讨论后,我们决定将书分为两册。\r\n\r\n《Solaris内核结构第2版》。这是对第1版的更新,包含大量新材料。包括所有主要的内核子系统:虚拟内存系统(VM)、进程与线程、内核调度程序与调度类、文件系统与虚拟文件系统(VFS)框架,以及核心内核工具。还包括新的Solaris资源管理工具,关于网络的新的一章。Solaris 8和Solaris 9中的新特性安排在正文中恰当的地方。\r\n\r\n《Solaris性能与工具》中描述的用于性能和分析工作的实用程序和工具的例子也会在《Solaris内核结构》中使用。\r\n\r\n《Solaris性能与工具》。描述了Solaris 10中捆绑的实用程序和工具:dtrace(1)、mdb(1)、kstat(1)等。有些章节详细描述了如何使用这些工具分析Solaris系统性能和行为。\r\n\r\n这两本书可以搭配使用,并可与位于http://www.opensolaris.org的Solaris源代码配合使用。对Solaris 8之前的某个版本感兴趣的读者应该继续使用《Solaris内核结构第1版》作为参考。\r\n\r\n面向的读者群\r\n\r\n我们相信这两本书将为工作在Solaris操作系统上的各类技术人员提供有用的参考。\r\n\r\n应用程序开发者能够在这两本书中找到应用编程界面之后的Solaris操作系统如何实现函数的信息。这些信息帮助开发者在开发Solaris应用程序时,理解每个界面的性能、可扩展性和实现细节。系统概览和关于调度、进程间通信、文件系统等对这类读者来说是最有用的章节。\r\n\r\n设备驱动和内核模块开发者(负责开发驱动程序、STREAMS模块、可装入系统调用,等等),能够在这里找到Solaris操作系统的总体体系结构和实现理论。这两本书的Solaris 内核框架和实用程序部分(特别是锁和同步原语涉及的章)尤其有用。\r\n\r\n系统管理员、系统分析师、数据库管理员和企业资源规划(ERP)经理(负责性能调优和负载规划),能够学到主要的Solaris 子系统的行为特征。文件系统缓存和内存管理各章提供了大量Solaris在实际环境中行为的信息。Solaris可调参数后面的算法在两本书中进行了深入讨论。\r\n\r\n技术支持人员(负责诊断、调试和支持Solaris)将发现大量关于Solaris实现细节的信息。每一章中提供的主要的数据结构和数据流程图可帮助调试和操作Solaris系统。\r\n\r\n想知道更多关于Solaris内核工作的系统用户,将在每一章的开头找到高层次的概述。\r\n\r\n除了技术用户社区之外,在学术界研究操作系统的人员将发现本书内容是很好的参考。Solaris操作系统是一个健壮、功能丰富且大量发行的操作系统,适用于不同的工作负载,从单处理器台式机到具有大量内存和输入/输出配置的庞大多处理器系统。Solaris操作系统为商业数据处理、Web服务、网络服务和科学计算负载提供的健壮性和可扩展性在业界是首屈一指的。研究这一操作系统可以学到很多知识。\r\n\r\nOpenSolaris\r\n\r\n在2005年6月,Sun公司推出了OpenSolaris,由开放源代码构建的全功能的Solaris操作系统版本。作为OpenSolaris第一步的一部分,Solaris源代码通过一个开放许可供公开使用。这对这两本书有几个明显的好处。我们可以在适当的时候将Solaris源代码直接包含在书中,同样可以指向全部的源代码清单。\r\n\r\n通过OpenSolaris(一个世界范围的开发者社区)可以访问Solaris源代码,开发者能够为他们感兴趣的操作系统的任何组成部分做出贡献。源代码的可访问性使我们能够组织这两本书的结构,交叉引用特定的源代码文件(可以具体到源代码树的行号)。\r\n\r\nOpenSolaris代表了技术专家世界的一个意义深远的里程碑;一个世界级、成熟、健壮且功能丰富的操作系统现在向所有希望使用Solaris的人敞开了大门,人们可以探讨它并为它的发展做出贡献。\r\n\r\n访问OpenSolaris网站可以学到更多的关于OpenSolaris的知识:\r\n\r\nhttp://www.opensolaris.org\r\n\r\nOpenSolaris源代码可以在http://cvs.opensolaris.org/source获得。这两本书中对源代码的引用是相对于上面的开始位置的。\r\n\r\n书的组织\r\n\r\n我们将《Solaris内核结构》分为几个逻辑部分,将内容相关的章节组织在同一部分。我们的目标是提供一种积木式的方法,后面可以基于前面的内容深入。然而,对于熟悉操作系统设计和实现的特定读者而言,各个部分和章节可以根据需要单独使用。 更新和相关材料\r\n\r\n作为这两本书的补充,我们建立了一个网站,内容包括更新的材料、我们引用的工具和指向相关材料的链接。我们会定期更新网站(http://www.solarisinternals.com),及时反映这两本书和将来在Solaris内核方面的工作信息。网站会增加一个关于这两本书的FAQ论坛,以及关于Solaris内核结构、性能和行为的一般问题。如果在这两本书中发现了错误,我们会把勘误表放到网站上去。\r\n\r\n作者的话\r\n\r\n时间和精力上的巨大投入再一次为作者带来了好的回报。Sun的Solaris内核开发组、Solaris用户社区和第一版读者的支持使我们极其欣慰。我们相信,从为Solaris用户提供有价值的信息的角度说,我们在第2版中会更加成功。在协作过程中,我们确实丰富了我们的知识,而且,我们期待读者的反馈。 \r\n\r\n\r\n样章下载\r\nhttp://bsd.yarshure.com/solaris.rar\n\n[ 本帖最后由 yarshure 于 2007-6-15 10:38 编辑 ] |
|