基本信息
- 作者: Richard McDougall Jim Mauro Brendan Gregg
- 丛书名: 经典原版书库
- 出版社:机械工业出版社
- ISBN:9787111212492
- 上架时间:2007-4-26
- 出版日期:2007 年4月
- 开本:16开
- 页码:444
- 版次:1-1
- 所属分类:计算机 > 操作系统 > Sun solaris

内容简介
计算机书籍
本书全面介绍了Solaris 10和OpenSolaris中的强大工具,包括Solaris动态跟踪工具、DTrace和MDB(模块调试器)。书中提供了理解性能和行为的系统方法,包括:
● 分析内核和应用程序的CPU利用率,包括读取和理解硬件计数器。
● 进程级资源使用和概要描述。
● 磁盘IO行为和分析。
● 系统和应用程序级的内存使用。
● 网络性能。
● 内核监视和概要描述,以及收集内核统计数据。
● 使用DTrace提供者和聚集。
● MDB命令和完整的MDB指南。
对任何水平的Solaris 10和OpenSolaris用户来说,本书和《Solaris内核结构》都极具参考价值。
作译者
目录
Preface
About the Authors
Acknowledgments
PART ONE: Observability Methods
Chapter 1 Introduction to Observability Tools
1.1 Observability Tools
1.2 Drill-Down Analysis
1.3 About Part One
Chapter 2: CPUs
2.1 Tools for CPU Analysis
2.2 vmstat Tool
2.3 CPU Utilization
2.4 CPU Saturation
2.5 psrinfo Command
2.6 uptime Command
2.7 sar Command
2.8 Clock Tick Woes
2.9 mpstat Command
2.10 Who Is Using the CPU?
前言
About These Books
These books are about the internals of Sun's Solaris Operating System—specifically, the SunOS kernel. Other components of Solaris, such as windowing systems for desktops, are not covered. The first edition of SolarisTM Internals covered Solaris releases 2.5.1, 2.6, and Solaris 7. These volumes focus on Solaris 10, with updated information for Solaris 8 and 9.
In the first edition, we wanted not only to describe the internal components that make the Solaris kernel tick, but also to provide guidance on putting the information to practical use. These same goals apply to this work, with further emphasis on the use of bundled (and in some cases unbundled) tools and utilities that can be used to examine and probe a running system. Our ability to illustrate more of the kernel's inner workings with observability tools is facilitated in no small part by the inclusion of some revolutionary and innovative technology in Solaris 10—DTrace, a dynamic kernel tracing framework. DTrace is one of many new technologies in Solaris 10, and is used extensively throughout this text.
In working on the second edition, we enlisted the help of several friends and colleagues, many of whom are part of Solaris kernel engineering. Their expertise and guidance contributed significantly to the quality and content of these books. We also found ourselves expanding topics along the way, demonstrating the use of dtrace (1), mdb(1), kstat (1), and other bundled tools. So much so that we decided early on that some specific coverage of these tools was necessary, and chapters were written to provide readers with the required background information on the tools and utilities. From th'is, an entire chapter on using the tools for performance and behavior analysis evolved.
As we neared completion of the work, and began building the entire manuscript, we ran into a bit of a problem—the size. The book had grown to over 1,500 pages. This, we discovered, presented some problems in the publishing and production of the book. After some discussion with the publisher, it was decided we should break the work up into two volumes.
Solaris Internals. This represents an update to the first edition, including a significant amount of new material. All major kernel subsystems are included: the virtual memory (VM) system, processes and threads, the kernel dispatcher and scheduling classes, file systems and the virtual file system (VFS) framework, and core kernel facilities. New Solaris facilities for resource management are covered as well, along with a new chapter on networking. New features in Solaris 8 and Solaris 9 are called out as appropriate throughout the text. Examples of Solaris utilities and tools for performance and analysis work, described in the companion volume, are used throughout the text.
Solaris Performance and Tools. This book contains chapters on the tools and utilities bundled with Solaris 10: dtrace (1), mdb (1), kstat (1), etc. There are also extensive chapters on using the tools to analyze the performance and behavior of a Solaris system.
The two texts are designed as companion volumes, and can be used in conjunction with access to the Solaris source code on http://www. opensolaris.org
Readers interested in specific releases before Solaris 8 should continue to use the first edition as a reference.
Intended Audience
We believe that these books will serve as a useful reference for a variety of technical staff members working with the Solaris Operating System.
Application developers can find information in these books about how Solaris OS implements functions behind the application programming interfaces. This information helps developers understand performance, scalability, and implementation specifics of each interface when they develop Solaris applications. The system overview section and sections on scheduling, interprocess communication, and file system behavior should be the most useful sections.
Device driver and kernel module developers of drivers, STREAMS modules, loadable system calls, etc., can find herein the general architecture and implementation theory of the Solaris OS. The Solaris kernel framework and facilities portions of the books (especially the locking and synchronization primitives chapters) are particularly relevant.
Systems administrators, systems analysts, database administrators, and Enterprise Resource Planning (ERP) managers responsible for performance tuning and capacity planning can learn about the behavioral characteristics of the major Solaris subsystems. The file system caching and memory management chapters provide a great deal of information about how Solaris behaves in real-world environments. The algorithms behind Solaris tunable parameters are covered in depth throughout the books.
Technical support staff responsible for the diagnosis, debugging, and support of Solaris will find a wealth of information about implementation details of Solaris. Major data structures and data flow diagrams are provided in each chapter to aid debugging'and navigation of Solaris systems.
System users who just want to know more about how the Solaris kernel works will find high-level overviews at the start of each chapter.
Beyond the technical user community, those in academia studying operating systems will find that this text will work well as a reference. Solaris OS is a robust, feature-rich, volume production operating system, well suited to a variety of workloads, ranging from uniprocessor desktops to very large multiprocessor systems with large memory and input/output (I/O) configurations. The robustness and scalability of Solaris OS for commercial data processing, Web services, network applications, and scientific workloads is without peer in the industry. Much can be learned from studying such an operating system.
OpenSolaris
In June 2005, Sun Microsystems introduced OpenSolaris, a fully functional Solaris operating system release built from open source. As part of the OpenSolaris initiative, the Solaris source was made generally available through an open license offering. This has some obvious benefits to this text. We can now include Solaris source directly in the text where appropriate, as well as refer to full source listings made available through the OpenSolaris initiative.
序言
This was the state of Solaris circa 2000, and it was indeed not well understood. Its internals were publicly described only in arcane block comments or old USENIX papers, its behavior was opaque to existing tools, and its source code was cloistered in chambers unknown. Starting in 2000, this began to change (if slowly) --heralded in part by the first edition of the volume that you now hold in your hands: Jim Mauro and Richard McDougall's SolarisTM Internals. Jim and Richard had taken on an extraordinary challenge to describe the inner workings of a system so complicated that no one person actually understands all of it. Over the course of working on their book, Jim and Richard presumably realized that no one book could contain it either. Despite scaling back their ambition to (for example) not include networking, the first edition of SolarisTM Internals still weighed in at over six hundred pages.
The publishing of SolarisTM Internals marked the beginning of change that accelerated through the first half of the decade, as the barriers to using and understanding Solaris were broken down. Solaris became free, its engineers began to talk about its implementation extensively through new media like blogs, and most important, Solaris itself became open source in June 2005, becoming the first operating system to leap the chasm from proprietary to open. At the same time, the mechanics of Solaris became much more interesting as several revolutionary new technologies made their debut in Solaris 10. These technologies have swayed many a naysayer, and have proved that operating systems are alive after all. Furthermore, there are still hard, important problems to be solved. ..
If 2000 is viewed as the beginning of the changes in Solaris, 2005 may well be viewed as the end of the beginning. By the end of 2005, what was a seemingly finished, proprietary product had been transformed into an exciting, open source system, alive with potential and possibility. It is especially fitting that these changes are welcomed with this second edition of SolarisTM Internals. Faced with the impossible task of reflecting a half-decade of massive engineering change, Jim and Richard made an important decision—they enlisted the explicit help of the engineers that designed the subsystems and wrote the code. In several cases these engineers have wholly authored the chapter on their "baby." The result is a second edition that is both dramatically expanded and highly authoritative—and very much in keeping with the new Solaris zeitgeist of community development and authorship. On a personal note, it has been rewarding to see Jim and Richard use DTrace, the technology that Mike Shapiro, Adam Leventhal, and I developed in Solaris 10. Mike, Adam, and I were all teaching assistants for our university operating systems course, and an unspoken goal of ours was to develop a pedagogical tool that would revolutionize the way that operating systems are taught. I therefore encourage you not just to read SolarisTM Internals, but to download Solaris, run it on your desktop or laptop or under a virtual machine, and use DTrace yourself to see the concepts that Jim and Richard describe--live, and on your own machine!
Be you student or professional, reading for a course, for work, or for curiosity, it is my pleasure to welcome you to your guides through the internals of Solaris. Enjoy your tour, and remember that Solaris is not a finished work, but rather a livlng, evolving technology. If you're interested in acceleratirig that evolution—or even if you just have questions on using or understanding Solaris—please join us in the many communities at http://www.opensolaris.org. Welcome!...
Bryan Cantrill
San Francisc, California
June 2006