Solaris (TM) Internals

Solaris (TM) Internals

3.56 (30 ratings by Goodreads)
By (author)  , By (author) 

List price: US$63.99

Currently unavailable

Add to wishlist

AbeBooks may have this title (opens in new window).

Try AbeBooks


This is Sun's definitive guide to the internals of SunOS, the operating system component of Sun's Solaris operating environment. It will be invaluable for anyone responsible for Solaris management, maintenance, performance and/or application tuning. This book covers all aspects of SunOS internals, especially major kernel data structures and kernel code algorithms, with a focus on practical applications. Understand how the Solaris operating environment is organized; including the kernel directory hierarchy, system facilities, interfaces, system calls, libraries, Posix support, and more. Review processes, threads, the dispatcher, and the Virtual File System (VFS). Understand the Solaris Memory Architecture, virtual memory, and interprocess communications -- and master memory analysis, sizing and capacity planning.
show more

Product details

  • Hardback | 704 pages
  • 170.18 x 231.14 x 38.1mm | 1,065.94g
  • Prentice Hall
  • Upper Saddle River, United States
  • English
  • 0130224960
  • 9780130224965

Back cover copy

The definitive Sun Microsystems guide to the internals of the Solaris kernel. This book focuses on the core kernel functions, major data structures and algorithms. Its practical approach makes it an essential resource for anyone responsible for kernel, driver or application software. Anyone doing development, debugging, maintenance, performance tuning, capacity planning, or application tuning will also benefit from Mauro and McDougall's in-depth coverage of the Solaris kernel. This authoritative and comprehensive guide covers the key components that comprise the Solaris kernel. The modular architecture of the kernel is discussed and each major subsystem is fully explored. Topics covered include: Scheduler implementation and behavior The Solaris multi-threaded architecture Multi-threaded synchronization primitives The Solaris Virtual Memory implementation, including tools for memory measurement and analysis The Virtual File System framework Techniques for analyzing kernel behavior and structures with sar, vmstat, crash, and adb "Solaris Internals" is an indispensable reference for kernel developers and is full of useful information for monitoring and optimizing Solaris systems. Whether you're a software developer, systems architect, system administrator, or performance analyst, you'll rely on it constantly.
show more

Table of contents


1. An Introduction to Solaris.

A Brief History. Key Differentiators. Kernel Overview. Processes, Threads, and Scheduling. Interprocess Communication. Signals. Memory Management. Files and File Systems. I/O Architecture.

2. Kernel Services.

Access to Kernel Services. Entering Kernel Mode. Context. Execution Context. Virtual Memory. Interrupts. System Calls. The Kernel Callout Table. The System Clock.

3. Kernel Synchronization Primitives.

Synchronization. Parallel Systems Architectures. Hardware Considerations for Locks and Synchronization. Introduction to Synchronization Objects. Mutex Locks. Reader/Writer Locks. Turnstiles and Priority Inheritance. Dispatcher Locks. Kernel Semaphores.

4. Kernel Bootstrap and Initialization.

Kernel Directory Hierarchy. Kernel Bootstrap and Initialization. Kernel Module Loading and Linking.


5. Solaris Memory Architecture.

Why Have a Virtual Memory System? Modular Implementation. Virtual Address Spaces. Memory Segments. Anonymous Memory. Virtual Memory Watchpoints. Global Page Management. The Page Scanner. The Hardware Address Translation Layer. Large Pages.

6. Kernel Memory.

Kernel Virtual Memory Layout. Kernel Memory Allocation.

7. Memory Monitoring.

A Quick Introduction to Memory Monitoring. Memory Monitoring Tools. The vmstat Command. MemTool: Unbundled Memory Tools. Other Memory Tools.


8. The Solaris Multithreaded Process Architecture.

Introduction to Solaris Processes. Process Structures. The Kernel Process Table. Process Creation. Process Termination. Procfs - The Process File System. Signals. Sessions and Process Groups.

9. The Solaris Kernel Dispatcher.

Overview. The Kernel Dispatcher. The Kernel Sleep/Wakeup Facility. Scheduler Activations. Kernel Processor Control and Processor Sets.

10. Interprocess Communication.

Generic System V IPC Support. System V Shared Memory. System V Semaphores. System V Message Queues. POSIX IPC. Solaris Doors.


11. Solaris Files and File I/O.

Files in Solaris. File Application Programming Interfaces (APIs). System File I/O. Asynchronous I/O. Memory Mapped File I/O. 64-bit Files in Solaris. 64-bit Device Support in Solaris.

12. File System Overview.

Why Have a File System? Support for Multiple File System Types. Regular (On-Disk) File Systems. File Systems Logging (Journaling). Expanding and Shrinking File Systems. Direct I/O.

13. File System Framework.

Solaris File System Framework. The vnode. The vfs Object. File System I/O. Path-Name Management. The File System Flush Daemon.

14. The UNIX File System.

UFS Development History. UFS On-Disk Format. UFS Implementation.

15. Solaris File System Cache.

Introduction to File Caching. Page Cache and Virtual Memory System. Is All That Paging Bad for My System? Paging Parameters That Affect File System Performance. Bypassing the Page Cache with Direct I/O. Directory Name Cache. Inode Caches.

Appendix A: Kernel Tunables, Switches, and Limits.
Appendix B: Kernel Virtual Address Maps.
Appendix C: A Sample Procfs Utility.
show more

About Richard McDougall

JIM MAURO has 20 years of industry experience with UNIX systems. Jim is a senior engineer in the Performance Applications Engineering group at Sun Microsystems. When Jim is not wrestling with his two sons, his house, or his yard, he works on systems and applications availability and resource management-related projects for Sun.

RICHARD McDOUGALL is a senior engineer in the Performance Applications Engineering group at Sun Microsystems, focusing on enterprise systems architecture, large system performance, and OS technology. He has been known to have some knowledge of operating system architecture and internals. When Richard isn't tinkering with cars or racing karts, he is usually found analyzing system performance, contributing to Solaris development, and developing tools for measurement, monitoring, tracing, and sizing UNIX systems.
show more

Rating details

30 ratings
3.56 out of 5 stars
5 10% (3)
4 47% (14)
3 33% (10)
2 10% (3)
1 0% (0)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X