Solaris应用程序设计
基本信息
- 原书名: Solaris Application Programming
- 原出版社: Pearson Education
- 作者: (英)Darryl Gove [作译者介绍]
- 译者: 张伟 刘子锐 董峻峰
- 丛书名: Sun公司核心技术丛书
- 出版社:机械工业出版社
- ISBN:9787111238782
- 上架时间:2008-6-19
- 出版日期:2008 年5月
- 开本:16开
- 页码:319
- 版次:1-1
- 所属分类:
计算机 > 操作系统 > Sun solaris
编辑推荐
SUN中国技术社区推荐技术用书!
Solaris平台编程的必备参考书!
内容简介回到顶部↑
作译者回到顶部↑
本书提供作译者介绍
Darryl Gore是Sun Microsystems公司编译器性能设计小组的高级工程师,致力于在当前和未来的UllraSPARC系统上分析与优化应用程序性能。他不但经常为SDN(http://developerssun corn)供稿,而且维护着一个以开发为主题的博客(http://blogs sun com/d)。在加入Sun公司之前,Darryl曾经为几家研究软件架构和开发的英国组织工作并于英国南安普敦大学获得运筹学硕士和博士学位。
.. << 查看详细
.. << 查看详细
目录回到顶部↑
译者序
前言
第一部分 处理器综述
第1章 常规的处理器
1.1 本章目标
1.2 处理器的组成
1.3 时钟速率
1.4 乱序执行处理器
1.5 芯片多线程
1.6 执行管道
1.6.1 指令时延
1.6.2 装入/存储管道
1.6.3 整型操作管道
1.6.4 分支管道
1.6.5 浮点管道
1.7 高速缓存
1.8 系统交互
1.8.1 带宽与时延
1.8.2 系统总线
1.9 虚拟内存
前言
第一部分 处理器综述
第1章 常规的处理器
1.1 本章目标
1.2 处理器的组成
1.3 时钟速率
1.4 乱序执行处理器
1.5 芯片多线程
1.6 执行管道
1.6.1 指令时延
1.6.2 装入/存储管道
1.6.3 整型操作管道
1.6.4 分支管道
1.6.5 浮点管道
1.7 高速缓存
1.8 系统交互
1.8.1 带宽与时延
1.8.2 系统总线
1.9 虚拟内存
译者序回到顶部↑
由Prentice Hall出版的《SolarisTM应用程序设计》(作者Darryl Gove)是Solaris系列丛书中的一本。
本书的多语言翻译工作正在进行中,包括荷兰语、法语、德语、印度语、日语以及韩语等。当然,本书的中文版也即将与广大读者见面。.
此书之所以受到如此的追捧,主要原因是Solaris操作系统正在被越来越多的用户所接受。随着Solaris操作系统的开源,Open Solaris依靠其优异的性能和稳定的特性在全球迅速升温,官方网站的下载量节节攀升,各种有关Open Solaris的社区如雨后春笋般涌现出来,Solaris操作系统越来越受到人们的青睐。用户在享受Solaris操作系统带来的种种好处的同时,还热衷于为Solaris的发展贡献自己的力量:积极参与社区活动,为扩展Solaris的功能贡献源代码。
但问题也随之而来:如何在Solaris上编写出性能出众而且稳定的应用程序呢?本书的推出恰逢其时地解决了这个棘手问题。引用一位读者的话,“这本书对Solaris平台上的编程技术做了详细的总结和分类,并告诉读者如何使用这些技术。我非常喜欢这本书并把它作为最新的Solaris参考手册,如果你对应用程序性能十分挑剔,是性能至上的狂热份子,那么这将是一本必备图书。”..
由此可见,本书的适用读者对象十分广泛。无论是对应用程序性能分析一无所知的初学者,还是性能分析的专家,本书都同样具有指导和参考意义。即使在非Solaris平台上优化应用程序性能,本书的许多概念和方法仍然可以被借鉴和使用。
本书的翻译团队成员全部来自Sun中国工程研究院,包括:董峻峰、段少婷、焦梦葳、胡惠文、李志宏、刘子锐、吕华锋、孙勇、王秀燕、王宇博、许闽、薛东、薛晓舟、颜强、姚延栋、于继军、张伟、张扬眉、张羽和郑艺丁。为了使本书以最快的速度呈现在广大中文读者面前,翻译团队的每位成员都付出了艰苦的劳动。借此机会也要特别感谢翻译项目的发起方Sun中国技术社区和发起人蒋清野先生。
由于本书的翻译进度要求高,涉及技术面广,翻译难度较大;加之译者水平有限,书中难免有疏漏或错误,欢迎广大读者批评指正。...
张伟
2008年4月
本书的多语言翻译工作正在进行中,包括荷兰语、法语、德语、印度语、日语以及韩语等。当然,本书的中文版也即将与广大读者见面。.
此书之所以受到如此的追捧,主要原因是Solaris操作系统正在被越来越多的用户所接受。随着Solaris操作系统的开源,Open Solaris依靠其优异的性能和稳定的特性在全球迅速升温,官方网站的下载量节节攀升,各种有关Open Solaris的社区如雨后春笋般涌现出来,Solaris操作系统越来越受到人们的青睐。用户在享受Solaris操作系统带来的种种好处的同时,还热衷于为Solaris的发展贡献自己的力量:积极参与社区活动,为扩展Solaris的功能贡献源代码。
但问题也随之而来:如何在Solaris上编写出性能出众而且稳定的应用程序呢?本书的推出恰逢其时地解决了这个棘手问题。引用一位读者的话,“这本书对Solaris平台上的编程技术做了详细的总结和分类,并告诉读者如何使用这些技术。我非常喜欢这本书并把它作为最新的Solaris参考手册,如果你对应用程序性能十分挑剔,是性能至上的狂热份子,那么这将是一本必备图书。”..
由此可见,本书的适用读者对象十分广泛。无论是对应用程序性能分析一无所知的初学者,还是性能分析的专家,本书都同样具有指导和参考意义。即使在非Solaris平台上优化应用程序性能,本书的许多概念和方法仍然可以被借鉴和使用。
本书的翻译团队成员全部来自Sun中国工程研究院,包括:董峻峰、段少婷、焦梦葳、胡惠文、李志宏、刘子锐、吕华锋、孙勇、王秀燕、王宇博、许闽、薛东、薛晓舟、颜强、姚延栋、于继军、张伟、张扬眉、张羽和郑艺丁。为了使本书以最快的速度呈现在广大中文读者面前,翻译团队的每位成员都付出了艰苦的劳动。借此机会也要特别感谢翻译项目的发起方Sun中国技术社区和发起人蒋清野先生。
由于本书的翻译进度要求高,涉及技术面广,翻译难度较大;加之译者水平有限,书中难免有疏漏或错误,欢迎广大读者批评指正。...
张伟
2008年4月
前言回到顶部↑
关于本书
本书旨在介绍如何在Solaris操作系统上获得程序的最佳运行性能。本书适用的读者是那些对Solaris上的可用工具感兴趣的开发者和软件架构师,以及那些关心如何充分利用系统中每一种性能的人员。.
本书不仅适合性能分析和优化的新手阅读,也适合在这个领域有一定经验的开发者阅读。为了满足不同层次读者的需求,本书在介绍各种工具并进行深入讨论之前,首先综述了处理器的基本概念。
与其他的同类书籍相比,本书是一本实用性很强的入门书籍。人们在开发过程中经常会遇到两类问题。第一类问题是应该使用什么工具。针对这一问题,本书覆盖了目前所有在Solaris上可用的开发工具,并且介绍了它们的常见用法。第二类问题是如何理解这些工具的输出。书中提供了大量的例子,来演示工具的用法并解释其输出数据的含义。
对于编译器可以自动执行的优化技术,本书将避免解释手动启用它的方法。本书着重关注于如何利用适当的工具来定位问题,以及如何利用最简单的方法来解决问题。有时候,解决的方法是使用不同的编译选项优化应用程序,从而消除导致问题产生的热点代码。而有时候,解决的方法是修改编译器无法执行优化的代码;我会详细地解释编译器无法优化这些代码的原因。
目标和前提
本书要实现的目标如下:
全面地介绍影响处理器性能的部件。
介绍用于性能分析和性能提高的工具,包括操作系统所提供的工具和编译器所提供的工具。
介绍编译器以及编译器支持的提高性能的优化技术。
讨论SPARC和x64处理器家族的特征,并示范如何利用这些特征来提高应用程序的性能。
介绍利用多处理器或多线程来提高性能的可能性,以及有效地利用计算机资源的可能性。
本书假定读者可以熟练地使用C编程语言。书中的大多数例子都采用了这种语言。本书还假定读者了解一些处理器的基本原理和指令集的相关知识。本书不会详细地阐述处理器的内部细节,但是会介绍一些现代处理器的特征,这些特征可能影响应用程序的性能。
本书假定读者有Sun Studio编译器和相关的工具。这些工具都是可以免费下载的。本书使用Sun Studio 12编译大多数例子。新版本的编译器将产生相似的结果。编译器通常安装在/opt/SUNWspro/bin/目录下,并且假定该路径已经设置在读者的环境变量中。
本书是基于Solaris 10的。在此之前的操作系统支持书中涉及的大多数工具。如果某个工具需要更新版本的Solaris的支持,那么我将在书中给出说明。
本书章节综述
第一部分处理器综述..
第1章:常规的处理器
第2章:SPARC家族
第3章:x64处理器家族
本书旨在介绍如何在Solaris操作系统上获得程序的最佳运行性能。本书适用的读者是那些对Solaris上的可用工具感兴趣的开发者和软件架构师,以及那些关心如何充分利用系统中每一种性能的人员。.
本书不仅适合性能分析和优化的新手阅读,也适合在这个领域有一定经验的开发者阅读。为了满足不同层次读者的需求,本书在介绍各种工具并进行深入讨论之前,首先综述了处理器的基本概念。
与其他的同类书籍相比,本书是一本实用性很强的入门书籍。人们在开发过程中经常会遇到两类问题。第一类问题是应该使用什么工具。针对这一问题,本书覆盖了目前所有在Solaris上可用的开发工具,并且介绍了它们的常见用法。第二类问题是如何理解这些工具的输出。书中提供了大量的例子,来演示工具的用法并解释其输出数据的含义。
对于编译器可以自动执行的优化技术,本书将避免解释手动启用它的方法。本书着重关注于如何利用适当的工具来定位问题,以及如何利用最简单的方法来解决问题。有时候,解决的方法是使用不同的编译选项优化应用程序,从而消除导致问题产生的热点代码。而有时候,解决的方法是修改编译器无法执行优化的代码;我会详细地解释编译器无法优化这些代码的原因。
目标和前提
本书要实现的目标如下:
全面地介绍影响处理器性能的部件。
介绍用于性能分析和性能提高的工具,包括操作系统所提供的工具和编译器所提供的工具。
介绍编译器以及编译器支持的提高性能的优化技术。
讨论SPARC和x64处理器家族的特征,并示范如何利用这些特征来提高应用程序的性能。
介绍利用多处理器或多线程来提高性能的可能性,以及有效地利用计算机资源的可能性。
本书假定读者可以熟练地使用C编程语言。书中的大多数例子都采用了这种语言。本书还假定读者了解一些处理器的基本原理和指令集的相关知识。本书不会详细地阐述处理器的内部细节,但是会介绍一些现代处理器的特征,这些特征可能影响应用程序的性能。
本书假定读者有Sun Studio编译器和相关的工具。这些工具都是可以免费下载的。本书使用Sun Studio 12编译大多数例子。新版本的编译器将产生相似的结果。编译器通常安装在/opt/SUNWspro/bin/目录下,并且假定该路径已经设置在读者的环境变量中。
本书是基于Solaris 10的。在此之前的操作系统支持书中涉及的大多数工具。如果某个工具需要更新版本的Solaris的支持,那么我将在书中给出说明。
本书章节综述
第一部分处理器综述..
第1章:常规的处理器
第2章:SPARC家族
第3章:x64处理器家族
书摘回到顶部↑
第一部分处理器综述
第1章常规的处理器
1.1 本章目标
简单来说,处理器的功能就是从内存中取出指令,并执行该指令,如果需要的话,还将从内存取出数据,或将结果送人内存。但是,这样的描述遗漏了决定应用程序性能的许多重要细节。本章描述的是“常规的”处理器;也就是说,本章所描述的是,通常情况下处理器是如何工作的以及它由哪些部件构成。阅读完本章,读者将会了解有关处理器的一些术语,并且会理解一些应用在处理器设计方面的方法。
1.2 处理器的组成
每一台计算机的“心脏”是一个或多个中央处理器(CPU)。图1—1是UltraSPARC T1 CPU的照片。CPU是计算机中执行计算的部件,组成计算机的其他部件包括内存芯片、硬盘、电源、风扇(用来冷却计算机),以及其他使得计算机可以与外界通信的芯片(如显卡芯片及网卡芯片)。CPU的底部有成百的“引脚”;如图所示,它们组成了交织状的纹样。每一个引脚都是CPU和系统之间的一个连接。
在CPU封装的内部是一个称为“内核”的小硅片。一个CPU包含一个或者多个用于计算的内核,本机上的或者是片上的一些存储器,这称为“高速缓存”(用于保存指令和数据),以及系统接口(使得处理器可以和系统的其他部件进行通信)。
有些处理器只有一个内核。而图1.1中的处理器UltraSPARC T1有8个内核,每一个内核都可以同时运行4个线程。对于这个系统的用户来说,这看起来就像有32个虚拟的处理器。每一个虚拟处理器对操作系统来说就像是一个完整器,都能执行一条指令流。图1-2所示的中UltraSPARC T1处理器的核心,该图标示了CPU每个区域所执行的功能。
……
第1章常规的处理器
1.1 本章目标
简单来说,处理器的功能就是从内存中取出指令,并执行该指令,如果需要的话,还将从内存取出数据,或将结果送人内存。但是,这样的描述遗漏了决定应用程序性能的许多重要细节。本章描述的是“常规的”处理器;也就是说,本章所描述的是,通常情况下处理器是如何工作的以及它由哪些部件构成。阅读完本章,读者将会了解有关处理器的一些术语,并且会理解一些应用在处理器设计方面的方法。
1.2 处理器的组成
每一台计算机的“心脏”是一个或多个中央处理器(CPU)。图1—1是UltraSPARC T1 CPU的照片。CPU是计算机中执行计算的部件,组成计算机的其他部件包括内存芯片、硬盘、电源、风扇(用来冷却计算机),以及其他使得计算机可以与外界通信的芯片(如显卡芯片及网卡芯片)。CPU的底部有成百的“引脚”;如图所示,它们组成了交织状的纹样。每一个引脚都是CPU和系统之间的一个连接。
在CPU封装的内部是一个称为“内核”的小硅片。一个CPU包含一个或者多个用于计算的内核,本机上的或者是片上的一些存储器,这称为“高速缓存”(用于保存指令和数据),以及系统接口(使得处理器可以和系统的其他部件进行通信)。
有些处理器只有一个内核。而图1.1中的处理器UltraSPARC T1有8个内核,每一个内核都可以同时运行4个线程。对于这个系统的用户来说,这看起来就像有32个虚拟的处理器。每一个虚拟处理器对操作系统来说就像是一个完整器,都能执行一条指令流。图1-2所示的中UltraSPARC T1处理器的核心,该图标示了CPU每个区域所执行的功能。
……
评论交流
共有7人开贴评论 8人参与评论 7人参与打分 查看
评价等级:







发表于:2008-6-25 18:30:00
许多读者看到“某某等”译的书籍,心中对其就分数大减。对这本书,各位看官只管放心。本书是Sun中国工程研究院的若干同事集体翻译的(我承担的是第七章的翻译),同时每一章都有另外两位同事对其进行评审和校订,自信有很好的专业保证和翻译质量。这本书是最新的Solaris应用开发指南,涵盖了各方面的知识且具有相当的深度,的确是不可多得的一本好书。
和大多国内的Solaris/OpenSolaris爱好者(包括同在国内的许多同事)一样,我也是从Linux转入到Solaris开发的。 Solaris的开发环境,包括编译器、调试器以及许多实用工具,与Linux相较都有所不同。回想刚入职时,主要是向前辈请教和自己摸索,知识点亦分散在不同的文档中。而这本书对此有全面的介绍,并且包括了许多最新的内容。试想如果当初有这本书作为入门指导,学习起来一定事半功倍。本书的重心是介绍如何在Solaris上开发高性能的应用。将应用开发中有关性能优化的各个侧面,都一一展现给读者。对于一个严肃的Solaris应用开发程序员,这真是一本必读的开发指南。对于非Solaris平台上应用的性能优化,亦有一定的参考价值。
“我用Linux好好儿的,干嘛要用Solairs/OpenSolaris?”,这可能是你心中一个大大的问号。严格来说,你使用的是 Gnu/Linux系统,Linux只是kernel。你所依赖的,更多的是Gnu系统,而不是Linux kernel。Solairs(特别是OpenSolaris),除了kernel,C库和一些实用程序,和众多的Linux发行版也没太大差别。UltraSparc T1/2 Solaris/OpenSolairs,对于Web应用的部署和运营来说,真可谓是一个梦幻平台。最新的UltraSparc T2芯片,有8核且每核8线程,操作系统所见的“虚拟”CPU有64个之多,并且内存访问的带宽巨大,而功耗很低,它甚至还是一个开源的芯片。 X86/64平台上的Solairs,同样也表现不俗,DTrace、ZFS、Virtualization等业界领先的特性,都对你的应用部署和维护,提供了强大的支持。再加上MySql刚刚加入Sun的大家庭,可以预见SAMP平台将有非常好的应用前景。
这本书的翻译,除个别段落有些生涩或小的错误外,总体十分流畅。唯一遗憾的地方是,出版社没有采用“页页对译”的方式,所以附录的索引就丢掉了,对于一本需要时常查阅的工具书来说,十分可惜。这似乎是出版社的惯例,之前的SolarisKernel Internals也是如此。
和大多国内的Solaris/OpenSolaris爱好者(包括同在国内的许多同事)一样,我也是从Linux转入到Solaris开发的。 Solaris的开发环境,包括编译器、调试器以及许多实用工具,与Linux相较都有所不同。回想刚入职时,主要是向前辈请教和自己摸索,知识点亦分散在不同的文档中。而这本书对此有全面的介绍,并且包括了许多最新的内容。试想如果当初有这本书作为入门指导,学习起来一定事半功倍。本书的重心是介绍如何在Solaris上开发高性能的应用。将应用开发中有关性能优化的各个侧面,都一一展现给读者。对于一个严肃的Solaris应用开发程序员,这真是一本必读的开发指南。对于非Solaris平台上应用的性能优化,亦有一定的参考价值。
“我用Linux好好儿的,干嘛要用Solairs/OpenSolaris?”,这可能是你心中一个大大的问号。严格来说,你使用的是 Gnu/Linux系统,Linux只是kernel。你所依赖的,更多的是Gnu系统,而不是Linux kernel。Solairs(特别是OpenSolaris),除了kernel,C库和一些实用程序,和众多的Linux发行版也没太大差别。UltraSparc T1/2 Solaris/OpenSolairs,对于Web应用的部署和运营来说,真可谓是一个梦幻平台。最新的UltraSparc T2芯片,有8核且每核8线程,操作系统所见的“虚拟”CPU有64个之多,并且内存访问的带宽巨大,而功耗很低,它甚至还是一个开源的芯片。 X86/64平台上的Solairs,同样也表现不俗,DTrace、ZFS、Virtualization等业界领先的特性,都对你的应用部署和维护,提供了强大的支持。再加上MySql刚刚加入Sun的大家庭,可以预见SAMP平台将有非常好的应用前景。
这本书的翻译,除个别段落有些生涩或小的错误外,总体十分流畅。唯一遗憾的地方是,出版社没有采用“页页对译”的方式,所以附录的索引就丢掉了,对于一本需要时常查阅的工具书来说,十分可惜。这似乎是出版社的惯例,之前的SolarisKernel Internals也是如此。
评价等级:







发表于:2008-6-25 13:46:00
许多读者看到“某某等”译的书籍,心中对其就分数大减。对这本书,各位看官只管放心。本书是Sun中国工程研究院的若干同事集体翻译的(我承担的是第七章的翻译),同时每一章都有另外两位同事对其进行评审和校订,自信有很好的专业保证和翻译质量。这本书是最新的Solaris应用开发指南,涵盖了各方面的知识且具有相当的深度,的确是不可多得的一本好书。
和大多国内的Solaris/OpenSolaris爱好者(包括同在国内的许多同事)一样,我也是从Linux转入到Solaris开发的。Solaris的开发环境,包括编译器、调试器以及许多实用工具,与Linux相较都有所不同。回想刚入职时,主要是向前辈请教和自己摸索,知识点亦分散在不同的文档中。而这本书对此有全面的介绍,并且包括了许多最新的内容。试想如果当初有这本书作为入门指导,学习起来一定事半功倍。本书的重心是介绍如何在Solaris上开发高性能的应用。将应用开发中有关性能优化的各个侧面,都一一展现给读者。对于一个严肃的Solaris应用开发程序员,这真是一本必读的开发指南。对于非Solaris平台上应用的性能优化,亦有一定的参考价值。
“我用Linux好好儿的,干嘛要用Solairs/OpenSolaris?”,这可能是你心中一个大大的问号。严格来说,你使用的是Gnu/Linux系统,Linux只是kernel。你所依赖的,更多的是Gnu系统,而不是Linux kernel。Solairs(特别是OpenSolaris),除了kernel,C库和一些实用程序,和众多的Linux发行版也没太大差别。UltraSparc T1/2 Solaris/OpenSolairs,对于Web应用的部署和运营来说,真可谓是一个梦幻平台。最新的UltraSparc T2芯片,有8核且每核8线程,操作系统所见的“虚拟”CPU有64个之多,并且内存访问的带宽巨大,而功耗很低,它甚至还是一个开源的芯片。X86/64平台上的Solairs,同样也表现不俗,DTrace、ZFS、Virtualization等业界领先的特性,都对你的应用部署和维护,提供了强大的支持。再加上MySql刚刚加入Sun的大家庭,可以预见SAMP平台将有非常好的应用前景。
这本书的翻译,除个别段落有些生涩或小的错误外,总体十分流畅。唯一遗憾的地方是,出版社没有采用“页页对译”的方式,所以附录的索引就丢掉了,对于一本需要时常查阅的工具书来说,十分可惜。这似乎是出版社的惯例,之前的Solaris Kernel Internals也是如此。
和大多国内的Solaris/OpenSolaris爱好者(包括同在国内的许多同事)一样,我也是从Linux转入到Solaris开发的。Solaris的开发环境,包括编译器、调试器以及许多实用工具,与Linux相较都有所不同。回想刚入职时,主要是向前辈请教和自己摸索,知识点亦分散在不同的文档中。而这本书对此有全面的介绍,并且包括了许多最新的内容。试想如果当初有这本书作为入门指导,学习起来一定事半功倍。本书的重心是介绍如何在Solaris上开发高性能的应用。将应用开发中有关性能优化的各个侧面,都一一展现给读者。对于一个严肃的Solaris应用开发程序员,这真是一本必读的开发指南。对于非Solaris平台上应用的性能优化,亦有一定的参考价值。
“我用Linux好好儿的,干嘛要用Solairs/OpenSolaris?”,这可能是你心中一个大大的问号。严格来说,你使用的是Gnu/Linux系统,Linux只是kernel。你所依赖的,更多的是Gnu系统,而不是Linux kernel。Solairs(特别是OpenSolaris),除了kernel,C库和一些实用程序,和众多的Linux发行版也没太大差别。UltraSparc T1/2 Solaris/OpenSolairs,对于Web应用的部署和运营来说,真可谓是一个梦幻平台。最新的UltraSparc T2芯片,有8核且每核8线程,操作系统所见的“虚拟”CPU有64个之多,并且内存访问的带宽巨大,而功耗很低,它甚至还是一个开源的芯片。X86/64平台上的Solairs,同样也表现不俗,DTrace、ZFS、Virtualization等业界领先的特性,都对你的应用部署和维护,提供了强大的支持。再加上MySql刚刚加入Sun的大家庭,可以预见SAMP平台将有非常好的应用前景。
这本书的翻译,除个别段落有些生涩或小的错误外,总体十分流畅。唯一遗憾的地方是,出版社没有采用“页页对译”的方式,所以附录的索引就丢掉了,对于一本需要时常查阅的工具书来说,十分可惜。这似乎是出版社的惯例,之前的Solaris Kernel Internals也是如此。
| 我要写评论 |
| 查看所有评论交流(共7条) |







点击看大图




加载中...

