Solaris内核结构[按需印刷]
基本信息
- 原书名:Solaris Internals Core Kernel Architecture
- 原出版社: PH PTR
- 作者: (美)Jim Mauro Richard McDougall
- 译者: 冯锐 张晓亮译等
- 丛书名: Sun公司核心技术丛书
- 出版社:机械工业出版社
- ISBN:7111092929
- 上架时间:2001-10-17
- 出版日期:2001 年9月
- 页码:490
- 版次:1-1
- 所属分类:
计算机 > 操作系统 > Sun solaris
内容简介回到顶部↑
本书介绍Solaris操作系统的内核,提供了内核结构以及该操作系统中使用的主要数据结构和算法的大量信息。主要内容包括:Solaris内核概述、So1aris存储系统线程、进程和IPC、文件和文件系统。本书还讲解了该系统的实际应用,用大量实例阐述了应用方法和技巧。本书对于使用So1aris操作系统的各类技术人员来讲是一本极具参考价值的专著。
作译者回到顶部↑
目录回到顶部↑
目 录
前言
第一部分 solaris内核简介
第1章 so1aris入门
1.1 solaris简史
1.2 关键的不同之处
1.3 内核概述
1.3.1 solaris内核体系结构
1.3.2 内核的模块化实现
1.4 进程、线程和调度
1.4.1 两级线程模型
1.4.2 全局进程优先级和调度
1.5 进程间通信
1.5.1 传统的unix ipc
1.5.2 system v ipc
1.5.3 posdc ipc
1.5.4 高级solaris ipc
1.6 信号
1.7 存储管理
1.7.1 全局内存分配
前言
第一部分 solaris内核简介
第1章 so1aris入门
1.1 solaris简史
1.2 关键的不同之处
1.3 内核概述
1.3.1 solaris内核体系结构
1.3.2 内核的模块化实现
1.4 进程、线程和调度
1.4.1 两级线程模型
1.4.2 全局进程优先级和调度
1.5 进程间通信
1.5.1 传统的unix ipc
1.5.2 system v ipc
1.5.3 posdc ipc
1.5.4 高级solaris ipc
1.6 信号
1.7 存储管理
1.7.1 全局内存分配
译者序回到顶部↑
So1aris素来就以其强大的功能和健壮的稳定性而深受企业用户的青睐;而深入So1aris的内核,是众多技术爱好者所竭力追求的境界。在Linux如火如荼的公开源码的运动的影响下, Sun公司终于在2000年2月公开了Solaris源码。但是在浩如烟海的源码中漫游毕竟不是件容易的事情,本书就是为读者点亮的一盏导航明灯。
有谁比父母更了解自己的孩子呢?本书的作者Jim Mauro和Richard McDougall先生就供职于Sun公司,在编写本书的过程中得到了Sun公司的很多工程师的大力协助,他们是最有资格编写本书的人员。
本书以So1aris 7为基准,同时也涵盖了So1ans 2.5.1、2石的相关信息。本书从四个方面对Solaris进行了深入的介绍,第一部分介绍了So1aris内核服务、内核同步原语以及内核初始化和启动,第二部分介绍了So1aris的内存管理,第三部分介绍了Solds进程、线程的调度机制以及IPC机制,最后一部分介绍So1aris的文件系统。
本书是迄今为止介绍So1ads内核最好的一本书,从一出版以来就受到广大读者的青睐;《Understanding the LINUX Kernel: From I/O Ports to Process Management》(O'Reilly&Associates出版,DanielPiene Bovet、Marco Cesati著,中国电力出版社已经引进)和本书在http://www.amazon.com连续数月蝉联同类书籍销量的前两名就是一个明证。
就Solaris本身的完整性来讲,本书也还欠缺了一些内容,例如I/0子系统、设备驱动程序、网络、流设备等等,幸运的是现在已经有一些书籍介绍相关或相似的内容,例如《Linux设备驱动程序》(A1essankoRuibini著,中国电力出版社引进)、《UNIX网络编程》(两卷本,W RichMd Steveos著,清华大学出版社引进)、《Linux IP协议栈源代码分析》(Satchell,S.T.、C1ifford,H.B.J.著,机械工业出版社引进),读者可以根据需要自行选择参考。
本书第1、2、11、12、13、14、15章及附录A由张晓亮翻译,第3、4章由刘敏翻译,第5、6、7章及附录B由过晓冰翻译,第8、9、10章由冯锐翻译,全书由陆丽娜教授校对并统稿,伍卫国副教授、陈革飞、辛伟和吴吴也参与了本书部分章节的校对工作。
虽然译者在翻译本书的过程中力求尊重原著,但是由于中外语言习惯的差异以及译者水平有限,有些内容难免会出现偏差,恳请广大读者不吝赐教,将反馈意见发送至feng_rui@263.net,译者将不胜感激。
冯锐
2001.4 于西安
有谁比父母更了解自己的孩子呢?本书的作者Jim Mauro和Richard McDougall先生就供职于Sun公司,在编写本书的过程中得到了Sun公司的很多工程师的大力协助,他们是最有资格编写本书的人员。
本书以So1aris 7为基准,同时也涵盖了So1ans 2.5.1、2石的相关信息。本书从四个方面对Solaris进行了深入的介绍,第一部分介绍了So1aris内核服务、内核同步原语以及内核初始化和启动,第二部分介绍了So1aris的内存管理,第三部分介绍了Solds进程、线程的调度机制以及IPC机制,最后一部分介绍So1aris的文件系统。
本书是迄今为止介绍So1ads内核最好的一本书,从一出版以来就受到广大读者的青睐;《Understanding the LINUX Kernel: From I/O Ports to Process Management》(O'Reilly&Associates出版,DanielPiene Bovet、Marco Cesati著,中国电力出版社已经引进)和本书在http://www.amazon.com连续数月蝉联同类书籍销量的前两名就是一个明证。
就Solaris本身的完整性来讲,本书也还欠缺了一些内容,例如I/0子系统、设备驱动程序、网络、流设备等等,幸运的是现在已经有一些书籍介绍相关或相似的内容,例如《Linux设备驱动程序》(A1essankoRuibini著,中国电力出版社引进)、《UNIX网络编程》(两卷本,W RichMd Steveos著,清华大学出版社引进)、《Linux IP协议栈源代码分析》(Satchell,S.T.、C1ifford,H.B.J.著,机械工业出版社引进),读者可以根据需要自行选择参考。
本书第1、2、11、12、13、14、15章及附录A由张晓亮翻译,第3、4章由刘敏翻译,第5、6、7章及附录B由过晓冰翻译,第8、9、10章由冯锐翻译,全书由陆丽娜教授校对并统稿,伍卫国副教授、陈革飞、辛伟和吴吴也参与了本书部分章节的校对工作。
虽然译者在翻译本书的过程中力求尊重原著,但是由于中外语言习惯的差异以及译者水平有限,有些内容难免会出现偏差,恳请广大读者不吝赐教,将反馈意见发送至feng_rui@263.net,译者将不胜感激。
冯锐
2001.4 于西安
前言回到顶部↑
关于UNIX内核的参考资料已经很多,大部分是由Goodheart和Cox[10],以及Bach[1]、McKg55ck[19]、Vdhd5a[39]等人写作的。这些资料成为想要更好地理解UNIX内核的人员所经常使用的参考资料。然而,特意为Solaris内核所写的资料就很少。
Solaris专有资料的缺乏,促使我们编写自己的参考材料。我们以往通过技术白皮书、杂志专栏和培训教程出版过一些这方面的材料,有相当多的人员对这种材料很感兴趣,这也激励我们编写一本专门讨论So1aris的完整专著。
关于本书
本书专门介绍Sun公司So1aris操作系统的内核。Solaris的快速成长培养了一大批用户、软件开发人员、系统管理员、性能分析员,以及其他一些技术团体的成员,他们都要求对其所用的工作环境有更深层次的了解。
由于本书的重点在于对Solaris内核的介绍,所以本书将提供内核结构以及该操作系统中所使用的主要数据结构和算法的大量信息。然而,我们不会从纯学术的角度来阐述这些主题,而是主要着眼于本书内容的实际应用。因此,我们会将重点放在从Solaris系统中提取某些信息的方法和工具上,这些信息难以通过标准的捆绑命令和工具访问到。我们将会根据您的工作和兴趣以有意义的方式阐述如何应用这些知识。
为了最大限度地发挥本书的用途,本书还包含有So1aris 2.5.1、2.6和So1aris 7的相关信息。本书覆盖了主要的Solaris子系统,包括存储管理、进程管理、线程、文件和文件系统。
书中不涉及底层的I/0、设备驱动程序、流(stream)以及网络。有关这些主题的参考材料请参见“Writion Devlce Drivers”[28]、“STREAMS Proggramming Guide” [29] 和“UNIX Network Programming”t32]。
虽然我们尽可能地在开始讨论一个主题前先介绍一些相关的概念性背景知识,但本书内容不是入门级的,我们假设您已经比较熟悉操作系统的概念,并且使用过基于UNIX的操作系统。有一些C语言的编程知识会更有用,但并非必需。
由于Solairs可以运行于多种硬件平台,所以讨论这些不同的处理器和体系结构等底层细节是不实际的,我们在一些必要的硬件细节上会以U1traSPARC为中心。这种方法将比较有效,因为U1traSPARC能够代表当今的技术并被大量地安装使用。通常情况下,需要讨论应用到其它支持的处理器和平台上的细节时,我们会提出这个概念。不同之处在于特定的实现细节上,例如每个处理器的硬件寄存器(per—Processor hardware registers)。
全书通过描述各种代码段流程时所用的名字来引用特定的内核函数。这些函数属于操作系统内核,不能与So1aris系列产品的公用接口——系统调用和库接口相混淆。本书中所引用的函数,除非特别指明,都是内核专有函数,它们是不能由应用程序调用或使用的。
本书的读者对象
我们希望本书能够成为对使用So1aris操作系统环境的各类技术人员有用的参考书。具体说来,本书适合以下读者:
应用开发人员 可以在本书中了解到Solaris在应用程序编程接口后如何实现各种功能。这能帮助开发人员在开发So1aris应用程序时理解每个接口的性能、扩展性及其实现细节。对于他们来说,有关进程调度、进程间通信和文件系统性能的章节是最有用的。
设备驱动程序和内核模块开发人员 设备驱动程序和驱动程序、流模块。以及可加载的系统调用的内核模块开发人员可以在本书中学习Solaris操作环境的通用体系和实现理论。本书中有关Solaris内核框架和功能的部分(尤其是加锁和同步的原语章节)比较重要。
系统管理员、系统分析员、数据库管理员和ERP管理员 这类读者负责性能调控和容量规划,可以从本书中学习主要的Solaris子系统的运作特性。文件系统缓存和存储管理等章节提供了大量Solaris在实际使用环境中如何运行的信息。Solaris可调参数(详见附录A)的运算方法贯穿全书。
技术支持人员 负责laris的诊断、调试和支持的人员将从本书中学习到大量的So1aris实现细节的信息。每一章中都提供了主要的数据结构和数据流程图,有助于对So1aris系统的调试和导航。
只想进一步了解Solaris内核如何工作的系统用户 在每章的汗始都提供了高度概括的描述内容。
除了以上列出的各种技术人员,我们相信学术界成员在研究一个产品化内核如何实现主要的子系统、解决操作系统开发中固有问题时,也能够在本书中找到有价值的信息。
本书的结构
本书按逻辑结构分为几个部分,每个部分都包括含有相关内容的数章。我们的目的是提供一个系统的构造模块,即后面的部分是建立在前面部分的基础之上的。然而,对那些已经熟悉了操作系统的某些特定部分的读者来说,可以根据自己的需要选择阅读。
Solaris专有资料的缺乏,促使我们编写自己的参考材料。我们以往通过技术白皮书、杂志专栏和培训教程出版过一些这方面的材料,有相当多的人员对这种材料很感兴趣,这也激励我们编写一本专门讨论So1aris的完整专著。
关于本书
本书专门介绍Sun公司So1aris操作系统的内核。Solaris的快速成长培养了一大批用户、软件开发人员、系统管理员、性能分析员,以及其他一些技术团体的成员,他们都要求对其所用的工作环境有更深层次的了解。
由于本书的重点在于对Solaris内核的介绍,所以本书将提供内核结构以及该操作系统中所使用的主要数据结构和算法的大量信息。然而,我们不会从纯学术的角度来阐述这些主题,而是主要着眼于本书内容的实际应用。因此,我们会将重点放在从Solaris系统中提取某些信息的方法和工具上,这些信息难以通过标准的捆绑命令和工具访问到。我们将会根据您的工作和兴趣以有意义的方式阐述如何应用这些知识。
为了最大限度地发挥本书的用途,本书还包含有So1aris 2.5.1、2.6和So1aris 7的相关信息。本书覆盖了主要的Solaris子系统,包括存储管理、进程管理、线程、文件和文件系统。
书中不涉及底层的I/0、设备驱动程序、流(stream)以及网络。有关这些主题的参考材料请参见“Writion Devlce Drivers”[28]、“STREAMS Proggramming Guide” [29] 和“UNIX Network Programming”t32]。
虽然我们尽可能地在开始讨论一个主题前先介绍一些相关的概念性背景知识,但本书内容不是入门级的,我们假设您已经比较熟悉操作系统的概念,并且使用过基于UNIX的操作系统。有一些C语言的编程知识会更有用,但并非必需。
由于Solairs可以运行于多种硬件平台,所以讨论这些不同的处理器和体系结构等底层细节是不实际的,我们在一些必要的硬件细节上会以U1traSPARC为中心。这种方法将比较有效,因为U1traSPARC能够代表当今的技术并被大量地安装使用。通常情况下,需要讨论应用到其它支持的处理器和平台上的细节时,我们会提出这个概念。不同之处在于特定的实现细节上,例如每个处理器的硬件寄存器(per—Processor hardware registers)。
全书通过描述各种代码段流程时所用的名字来引用特定的内核函数。这些函数属于操作系统内核,不能与So1aris系列产品的公用接口——系统调用和库接口相混淆。本书中所引用的函数,除非特别指明,都是内核专有函数,它们是不能由应用程序调用或使用的。
本书的读者对象
我们希望本书能够成为对使用So1aris操作系统环境的各类技术人员有用的参考书。具体说来,本书适合以下读者:
应用开发人员 可以在本书中了解到Solaris在应用程序编程接口后如何实现各种功能。这能帮助开发人员在开发So1aris应用程序时理解每个接口的性能、扩展性及其实现细节。对于他们来说,有关进程调度、进程间通信和文件系统性能的章节是最有用的。
设备驱动程序和内核模块开发人员 设备驱动程序和驱动程序、流模块。以及可加载的系统调用的内核模块开发人员可以在本书中学习Solaris操作环境的通用体系和实现理论。本书中有关Solaris内核框架和功能的部分(尤其是加锁和同步的原语章节)比较重要。
系统管理员、系统分析员、数据库管理员和ERP管理员 这类读者负责性能调控和容量规划,可以从本书中学习主要的Solaris子系统的运作特性。文件系统缓存和存储管理等章节提供了大量Solaris在实际使用环境中如何运行的信息。Solaris可调参数(详见附录A)的运算方法贯穿全书。
技术支持人员 负责laris的诊断、调试和支持的人员将从本书中学习到大量的So1aris实现细节的信息。每一章中都提供了主要的数据结构和数据流程图,有助于对So1aris系统的调试和导航。
只想进一步了解Solaris内核如何工作的系统用户 在每章的汗始都提供了高度概括的描述内容。
除了以上列出的各种技术人员,我们相信学术界成员在研究一个产品化内核如何实现主要的子系统、解决操作系统开发中固有问题时,也能够在本书中找到有价值的信息。
本书的结构
本书按逻辑结构分为几个部分,每个部分都包括含有相关内容的数章。我们的目的是提供一个系统的构造模块,即后面的部分是建立在前面部分的基础之上的。然而,对那些已经熟悉了操作系统的某些特定部分的读者来说,可以根据自己的需要选择阅读。








点击看大图








加载中...


