I. 1 INTRODUCTION TO SOLARIS INTERNALS.
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.
II. 123 THE SOLARIS MEMORY SYSTEM.
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.
III. THREADS, PROCESSES, AND IPC.
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.
PART IV. FILES AND FILE SYSTEMS
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. Bibliography. Index.