基本信息
- 原书名:Solaris Performance and Tools:DTrace and MDB Techniques for Solaris 10 and Opensolaris
- 原出版社: Prentice Hall PTR
- 作者: (美)Richard McDougall Jim Mauro Brendan Gregg
- 译者: Sun中国工程研究院
- 丛书名: Sun公司核心技术丛书
- 出版社:机械工业出版社
- ISBN:9787111214038
- 上架时间:2007-6-15
- 出版日期:2007 年6月
- 开本:16开
- 页码:306
- 版次:1-1
- 所属分类:计算机 > 操作系统 > Sun solaris

编辑推荐
本书全面介绍了Solaris 10和OpenSolaris中的强大工具,包括Solaris动态跟踪工具DTrace和模块调试器MDB。书中提供了理解性能和行为的系统方法,包括:.
分析内核和应用程序的CPU利用率,包括读取和理解硬件计数器。
进程级资源使用和分析。
磁盘IO行为和分析。..
系统和应用程序级的内存使用。
网络性能。
内核监视和分析以及内核统计数据收集。
使用DTrace提供者和聚集。
MDB命令和完整的MDB指南。...
内容简介
作译者
目录
第一部分 系统观察方法
第1章 系统观察工具简介
第2章 CPU
第3章 进程
第4章 磁盘行为与分析
第5章 文件系统
第6章 内存
第7章 网络
第8章 性能计数器
第9章 内核监测
第二部分 系统观察基础架构
第10章 动态跟踪
第11章 内核统计
第三部分 调试
第12章 模块调试器
第13章 MDB入门指南
第14章 调试内核
附录
参考文献
前言
关于这两本书
这两本书讨论的是Sun的Solaris操作系统——特别是SunOS内核。Solaris的其他组成部分,如桌面的窗口系统,不在本书讨论范围内。《Solaris内核结构第1版》涵盖了Solaris 2.5.1、2.6和Solaris 7。现在这两本书重点介绍Solaris 10,包括Solaris 8和Solaris 9的更新信息。
在《Solaris内核结构第1版》中,我们不仅想要描述使Solaris内核运转的内部组成单元,而且还提供实用的指导。该书的第2版也同样如此,并更加强调使用捆绑的(在某些情况下是非捆绑的)工具和实用程序,以用于检查和探测一个运行中的系统。我们能够使用观察工具说明更多的内核内部工作,在很大程度上得力于加入到Solaris 10中的革命性和创新性的技术——DTrace这一动态的内核跟踪框架。DTrace是Solaris 10中的多项新技术之一,在这两本书中有大量应用。
在《Solaris内核结构第2版》写作过程中,我们得到几位朋友和同事的帮助,他们大都从事Solaris内核工作,他们的专业技术和指导为这两本书的质量和内容做出了巨大贡献。我们自己也不断地扩展主题,演示dtrace(1)、mdb(1)、kstat(1)以及其他捆绑工具的使用。因此,我们很早就决定要介绍这些工具,一些章节为读者提供了有关这些工具和实用程序所需要的背景信息。自此,使用工具对性能和系统行为进行分析发展成为一整章。
本书临近结稿时,我们遇到了一个小问题——书的厚度。书太厚了,这给书的出版和印刷带来了一些问题。与出版商讨论后,我们决定将书分为两册。
《Solaris内核结构第2版》。这是对第1版的更新,包含大量新材料。包括所有主要的内核子系统:虚拟内存系统(VM)、进程与线程、内核调度程序与调度类、文件系统与虚拟文件系统(VFS)框架,以及核心内核工具。还包括新的Solaris资源管理工具,关于网络的新的一章。Solaris 8和Solaris 9中的新特性安排在正文中恰当的地方。
《Solaris性能与工具》中描述的用于性能和分析工作的实用程序和工具的例子也会在《Solaris内核结构》中使用。
《Solaris性能与工具》。描述了Solaris 10中捆绑的实用程序和工具:dtrace(1)、mdb(1)、kstat(1)等。有些章节详细描述了如何使用这些工具分析Solaris系统性能和行为。
这两本书可以搭配使用,并可与位于http://www.opensolaris.org的Solaris源代码配合使用。对Solaris 8之前的某个版本感兴趣的读者应该继续使用《Solaris内核结构第1版》作为参考。面向的读者群
我们相信这两本书将为工作在Solaris操作系统上的各类技术人员提供有用的参考。
应用程序开发者能够在这两本书中找到应用编程界面之后的Solaris操作系统如何实现函数的信息。这些信息帮助开发者在开发Solaris应用程序时,理解每个界面的性能、可扩展性和实现细节。系统概览和关于调度、进程间通信、文件系统等对这类读者来说是最有用的章节。
设备驱动和内核模块开发者(负责开发驱动程序、STREAMS模块、可装入系统调用,等等),能够在这里找到Solaris操作系统的总体体系结构和实现理论。这两本书的Solaris内核框架和实用程序部分(特别是锁和同步原语涉及的章)尤其有用。
系统管理员、系统分析师、数据库管理员和企业资源规划(ERP)经理(负责性能调优和负载规划),能够学到主要的Solaris子系统的行为特征。文件系统缓存和内存管理各章提供了大量Solaris在实际环境中行为的信息。Solaris可调参数后面的算法在两本书中进行了深入讨论。
技术支持人员(负责诊断、调试和支持Solaris)将发现大量关于Solaris实现细节的信息。每一章中提供的主要的数据结构和数据流程囱可帮助调试和操作Solaris系统。..
想知道更多关于Solaris内核工作的系统用户,将在每一章的开头找到高层次的概述。
除了技术用户社区之外,在学术界研究操作系统的人员将发现本书内容是很好的参考。Solaris操作系统是一个健壮、功能丰富且大量发行的操作系统,适用于不同的工作负载,从单处理器台式机到具有大量内存和输入/输出配置的庞大多处理器系统。Solaris操作系统为商业数据处理、Web服务、网络服务和科学计算负载提供的健壮性和可扩展性在业界是首屈一指的。研究这一操作系统可以学到很多知识。
OpenSolaris
在2005年6月,Sun公司推出了OpenSolaris,由开放源代码构建的全功能的Solaris操作系统版本。作为OpenSolaris第一步的一部分,Solaris源代码通过一个开放许可供公开使用。这对这两本书有几个明显的好处。我们可以在适当的时候将Solaris源代码直接包含在书中,同样可以指向全部的源代码清单。
通过OpenSolaris(一个世界范围的开发者社区)可以访问Solaris源代码,开发者能够为他们感兴趣的操作系统的任何组成部分做出贡献。源代码的可访问性使我们能够组织这两本书的结构,交叉引用特定的源代码文件(可以具体到源代码树的行号)。
序言
我和Tim Marsland做了五年的邻居。在有名的MPKl7大楼的三楼,我的办公室位于一个角落,他就在隔壁。Tim是Solaris内核的灵魂。他的办公室总是门庭若市,每天都有工程师、经理、总监来找他,还有副总裁等人找他。做他的邻居,沾光不少,也因此认识了Sun公司的各方豪杰,其中不少就在MPKl7的三楼。Michael Shaparo和Bryant Cantril是多年的好友,他们在布朗大学就是一对搭档。Bryant毕业后到Sun,Michael则留下攻读硕土。一年后,Bryant跟着Michael进了同一家公司,也一起平步青云。在没有经理人的指导下,他们写出了aTrace——一个用来追踪内核中内存地址的软件工具。我问Bryant下个项目要做什么?“DTrace”他想都没想就说了。这个工具可以迅速诊断全系统的运行,也能细查小单位的优化状态,是公司运行的一大利器。
MPK17的同事们有几个好喝两杯。一天我走过Stephen Hahn的办公室,一股酒香扑鼻而来。里面的几个人或站或坐,神秘兮兮的,一见我,都不说话了。过了两天,Stephen Hahn自己到我的办公室来了,要我准他做他的“星期五项目”。至于“星期五项目”是什么,照例不必问了。这有点奇怪了。原来,他不是要我批准,而是要我保密。他也不知道我那天听到了多少,反正不论如何,我不得泄露风声。这个项目,就是Greenline。后来改名为Solaris Management Framework(SMF)。
Cindy McQuire不在那群酒友当中。她是当时少有的女性资深工程师,个性平和,做事周密,说话中肯。我有意请她做经理,她却一口回绝了。第一,她的故障管理当时做了一半,后一半不做不行;第二,软件工程比软件管理有趣多了;第三,她有两个孪生女儿,她要让她们知道,女性软件工程师不比男性差。我哑口无言,她也就去带FMA队了。Cindy善于踢男女混合室内足球,所以经常带伤上班。
另一个不在那群酒友中,但酒量却不错的是Paul Sangster。我在做内核时,需要知道一些安全方面的知识,Mark Himelstein要我和他聊聊,这一聊就是三个小时。最难得的是他在三小时内清楚地解释了什么是Single Sign-on。我后来就任网路及安全总监和Paul有很大的关系。要Single Sign-on,必须有个完整的加密系统。Solaris Encryption Framework就是这样做出来的。这套软件让客户用自己的算法,不用国家检验,不受出口管制,也不需美国知道算法。安全界的Glenn Faden和Gary Winiger,埋在Trusted Solaris里十几年。他们耐心教我其中复杂的观念,坚持Trusted 10的架构。加上Scott Rotondo,几个人把Solaris 10做成了世界第一安全的操作系统。Scott想出了一个力、法,可以安全且高速地给每个文档签名。为了保险起见,他向Whit Diffie请教后才开始使用。他常说要发表,取名为Diffie-Rotondo Algorithm(外行人请搜索Diffie-Hellman Algorithm)。..
当大家知道我也能喝两杯后,Sunay Tripathi带着一瓶Scotch来到我的办公室。当时是晚上六点多,他带着他的经理、三个杯子、一瓶酒出现在我门前。一看来者不善。好在我还能抵挡,不过也给他骗去了几小时,定下他CTW的蓝图。几周前,我要Sunay想想如何能改变全世界(Change the World)。他要带烈酒来配合这个大题目(通常别人只带些红酒来,诉诉苦,解解闷)。Sunay接着“Brutus”(Bruce Curtis)后,写出了FireEngine,让Solaris的网络功能增强三倍以上,足以和任何操作系统抗衡。
周曙东是IO(Input/Output)领域的突出人物,也是华人工程师的明灯。他一头钢丝乱发,身材飘逸,走在长廊里,像个大学教授。在Solaris 10后期,曙东临危受命,接下新的启动程序项目,重写了Solaris十数年没动过的启动系统。启动时间从数十分钟减到十数秒,带上漂亮的图面,大幅度提升了可用性。
Jeff Bonwick是另一位领袖。他从CalTech(加州技术学院)毕业,两三年时间就成为Sun软件工程界的著名英雄。早年他和Roger Faulkner合写了一个软件工具,可以极快地安装软件包。他们说是英雄就要用快刀。这“快刀”叫bfu。他们说是Blindingly Fast Utility,可是每个人都说是Bonwick Faulkner Utility。Jeff带了个团队做新一代的文档系统 (ZFS),如果说宇宙中每一个原子都是一个文档,这个系统都能容纳。当然,当真如此,也没原子给我们人类了!
如果说Jeff是把快刀,Bart Smaalders就是门重炮。他出身机械工程,出道时在国防工业做事,制造战车。他一头乱发,一睑大胡子,雨天时戴个宽沿皮帽,形象和软件工程师实在不符。Bart是Solaris的哲学家。他坚持软件开发的程序和精神——把问题定好、数据收齐、提出方案、试用、审议、再收集数据。问题解决了,就行了,不必再哕唆。这一哲学,是Solaris队伍共同的信念。他的libmicro项目,就是这一哲学的具体实现。Cindy McQuire坐Bart隔壁,她收集了些Bart的名言贴在门口,称之“Bart语录”(Bartism)。
Solaris 10经历了四位副总裁,历时四载,参与的工程师达1500人以上,是Sun有史以来最大的系统项目。2002年,John Loiacono决定重新进入x86,并在北京组建百人驱动程序队伍。我在美国聘到何英,在中国和宫力合作,三个月雇了近40人。之后Bev Crair到任,一年后扩大到90人。2005年Solaris与JDS队合并。北京的Solaris队伍已达180人,北京成为在美国Menlo Park以外最大的地区。
我有幸主持了Solaris PAC(Product Approval Committee),在2005年1月底推出产品。一年内新用户超过300万,打破所有Linux版本的纪录。产品开发中的主要人物可比梁山泊108条好汉,个个本事高强、个性鲜明。
大中国区,是世界仅存的IT战场。从操作系统的角度,只有开放和封闭两个选择。封闭的路,会让一家公司控制整个市场。自主创新必须走开放的路。本书读者选择的就是这个战场。我相信,中国区中的读者,一个都不会选错。在开放的这边,Linux和Solaris是同源亲家。Linux这个小老弟,近年来在这方面跑得快些。可是Solaris路走多了,不需回头走冤枉路。读者可以两者兼得。站在巨人的肩上,迈的步又快又大。人聪明、志向大、底子厚、工具快,创新立业,有何困难?
Sun中国工程研究院院长,王星耀
2007年春