Table of Contents


book cover
Solaris™ Internals: Solaris 10 and OpenSolaris Kernel Architecture, Second Edition
By Richard McDougall, Jim Mauro
...............................................
Publisher: Prentice Hall
Pub Date: July 10, 2006
Print ISBN-10: 0-13-148209-2
Print ISBN-13: 978-0-13-148209-8
Pages: 1072
 

Table of Contents  | Index

   Copyright
   Foreword
   Preface
   About the Authors
   Acknowledgments
    Part One:  Introduction to Solaris Internals
      Chapter 1.  Introduction
      Section 1.1.  Key Features of Solaris 10, Solaris 9, and Solaris 8
      Section 1.2.  Key Differentiators
      Section 1.3.  Kernel Overview
      Section 1.4.  Processes, Threads, and Scheduling
      Section 1.5.  Interprocess Communication
      Section 1.6.  Signals
      Section 1.7.  Memory Management
      Section 1.8.  Files and File Systems
      Section 1.9.  Resource Management
    Part Two:  The Process Model
      Chapter 2.  The Solaris Process Model
      Section 2.1.  Components of a Process
      Section 2.2.  Process Model Evolution
      Section 2.3.  Executable Objects
      Section 2.4.  Process Structures
      Section 2.5.  Kernel Process Table
      Section 2.6.  Process Resource Attributes
      Section 2.7.  Process Creation
      Section 2.8.  System Calls
      Section 2.9.  Process Termination
      Section 2.10.  The Process File System
      Section 2.11.  Signals
      Section 2.12.  Sessions and Process Groups
      Section 2.13.  MDB Reference
      Chapter 3.  Scheduling Classes and the Dispatcher
      Section 3.1.  Fundamentals
      Section 3.2.  Processor Abstractions
      Section 3.3.  Dispatcher Queues, Structures, and Variables
      Section 3.4.  Dispatcher Locks
      Section 3.5.  Dispatcher Initialization
      Section 3.6.  Scheduling Classes
      Section 3.7.  Thread Priorities
      Section 3.8.  Dispatcher Functions
      Section 3.9.  Preemption
      Section 3.10.  The Kernel Sleep/Wakeup Facility
      Section 3.11.  Interrupts
      Section 3.12.  Summary
      Section 3.13.  MDB Reference
      Chapter 4.  Interprocess Communication
      Section 4.1.  The System V IPC Framework
      Section 4.2.  System V IPC Resource Controls
      Section 4.3.  Configuring IPC Tuneables on Solaris 10
      Section 4.4.  System V Shared Memory
      Section 4.5.  System V Semaphores
      Section 4.6.  System V Message Queues
      Section 4.7.  POSIX IPC
      Section 4.8.  Solaris Doors
      Section 4.9.  MDB Reference
      Chapter 5.  Process Rights Management
      Section 5.1.  Then and Now
      Section 5.2.  Least Privilege in Solaris
      Section 5.3.  Process Privilege Models
      Section 5.4.  Privilege Awareness: The Details
      Section 5.5.  Least Privilege Interfaces
      Section 5.5.5.  System Call Interfaces
      Section 5.5.6.  Library Interfaces
      Section 5.5.7.  Using Privileges with Role-Based Access Control
      Section 5.5.8.  Using Privileges with Role-Based Access Control
      Section 5.5.9.  Using DTrace for Tracking Privileges
      Section 5.5.10.  Enhancements to proc(4) and Core Dumps
      Section 5.5.11.  Privilege Debugging
      Section 5.5.12.  Privilege Auditing
      Section 5.5.13.  Device Protection
    Part Three:  Resource Management
      Chapter 6.  Zones
      Section 6.1.  Introduction
      Section 6.2.  Zone Runtime
      Section 6.3.  Booting Zones
      Section 6.4.  Security
      Section 6.5.  Process Model
      Section 6.6.  File Systems
      Section 6.7.  Networking
      Section 6.8.  Devices
      Section 6.9.  Interprocess Communication
      Section 6.10.  Resource Management and Observability
      Section 6.11.  MDB Reference
      Chapter 7.  Projects, Tasks, and Resource Controls
      Section 7.1.  Projects and Tasks Framework
      Section 7.2.  The Project Database
      Section 7.3.  Project and Task APIs
      Section 7.4.  Kernel Infrastructure for Projects and Tasks
      Section 7.5.  Resource Controls
      Section 7.6.  Interfaces for Resource Controls
      Section 7.7.  Kernel Interfaces for Resource Controls
    Part Four:  Memory
      Chapter 8.  Introduction to Solaris Memory
      Section 8.1.  Virtual Memory Primer
      Section 8.2.  Two Levels of Memory
      Section 8.3.  Memory Sharing and Protection
      Section 8.4.  Pages: Basic Units of Physical Memory
      Section 8.5.  Virtual-to-Physical Translation
      Section 8.6.  Physical Memory Management: Paging and Swapping
      Section 8.7.  Virtual Memory as a File System Cache
      Section 8.8.  New Features of the Virtual Memory Implementation
      Chapter 9.  Virtual Memory
      Section 9.1.  Design Overview
      Section 9.2.  Virtual Address Spaces
      Section 9.3.  Tracing the VM System
      Section 9.4.  Virtual Address Space Management
      Section 9.5.  Segment Drivers
      Section 9.6.  Anonymous Memory
      Section 9.7.  The Anonymous Memory Layer
      Section 9.8.  The swapfs Layer
      Section 9.9.  Virtual Memory Watchpoints
      Section 9.10.  Changes to Support Large Pages
      Section 9.11.  MDB Reference
      Chapter 10.  Physical Memory
      Section 10.1.  Physical Memory Allocation
      Section 10.2.  Pages: The Basic Unit of Solaris Memory
      Section 10.3.  The Page Scanner
      Section 10.4.  MDB Reference
      Chapter 11.  Kernel Memory
      Section 11.1.  Kernel Virtual Memory Layout
      Section 11.2.  Kernel Memory Allocation
      Section 11.3.  The Vmem Allocator
      Section 11.4.  Kernel Memory Allocator Tracing
      Section 11.5.  MDB Reference
      Chapter 12.  Hardware Address Translation
      Section 12.1.  HAT Overview
      Section 12.2.  The UltraSPARC HAT Layer
      Section 12.3.  The x64 HAT Layer
      Section 12.4.  MDB Reference
      Chapter 13.  Working with Multiple Page Sizes in Solaris
      Section 13.1.  Determining When to Use Large Pages
      Section 13.2.  Measuring Application Performance
      Section 13.3.  Configuring for Multiple Page Sizes
    Part Five:  File Systems
      Chapter 14.  File System Framework
      Section 14.1.  File System Framework
      Section 14.2.  Process-Level File Abstractions
      Section 14.3.  Solaris File System Framework
      Section 14.4.  File System Modules
      Section 14.5.  The Virtual File System (vfs) Interface
      Section 14.6.  The Vnode
      Section 14.7.  File System I/O
      Section 14.8.  File Systems and Memory Allocation
      Section 14.9.  Path-Name Management
      Section 14.10.  The Directory Name Lookup Cache
      Section 14.11.  The File System Flush Daemon
      Section 14.12.  File System Conversion to Solaris 10
      Section 14.13.  MDB Reference
      Chapter 15.  The UFS File System
      Section 15.1.  UFS Development History
      Section 15.2.  UFS On-Disk Format
      Section 15.3.  The UFS Inode
      Section 15.4.  Access Control in UFS
      Section 15.5.  Extended Attributes in UFS
      Section 15.6.  Locking in UFS
      Section 15.7.  Logging
      Section 15.8.  MDB Reference
    Part Six:  Platform Specifics
      Chapter 16.  Support for NUMA and CMT Hardware
      Section 16.1.  Memory Hierarchy Designs
      Section 16.2.  Memory Placement Optimization Framework
      Section 16.3.  Initial Thread Placement
      Section 16.4.  Scheduling
      Section 16.5.  Memory Allocation
      Section 16.6.  Lgroup Implementation
      Section 16.7.  MPO APIs
      Section 16.8.  Locality Group Hierarchy
      Section 16.9.  MPO Statistics
      Section 16.10.  MDB Reference
      Chapter 17.  Locking and Synchronization
      Section 17.1.  Synchronization
      Section 17.2.  Parallel Systems Architectures
      Section 17.3.  Hardware Considerations for Locks and Synchronization
      Section 17.4.  Introduction to Synchronization Objects
      Section 17.5.  Mutex Locks
      Section 17.6.  Reader/Writer Locks
      Section 17.7.  Turnstiles and Priority Inheritance
      Section 17.8.  Kernel Semaphores
      Section 17.9.  DTrace Lockstat Provider
    Part Seven:  Networking
      Chapter 18.  The Solaris Network Stack
      Section 18.1.  STREAMS and the Network Stack
      Section 18.2.  Solaris 10 Stack: Design Goals
      Section 18.3.  Solaris 10 Network Stack Framework
      Section 18.4.  TCP as an Implementation of the New Framework
      Section 18.5.  UDP
      Section 18.6.  Synchronous STREAMS
      Section 18.7.  IP
      Section 18.8.  Solaris Device Driver Framework
      Section 18.9.  Interrupt Model and NIC Speeds
      Section 18.10.  Summary
      Section 18.11.  MDB Reference
    Part Eight:  Kernel Services
      Chapter 19.  Clocks and Timers
      Section 19.1.  The System Clock Thread
      Section 19.2.  Callouts and Callout Tables
      Section 19.3.  System Time Facilities
      Section 19.4.  The Cyclic Subsystem
      Chapter 20.  Task Queues
      Section 20.1.  Overview of Task Queues
      Section 20.2.  Dynamic Task Queues
      Section 20.3.  Task Queues Kernel Programming Interfaces
      Section 20.4.  Device Driver Interface for Task Queues
      Section 20.5.  Task Queue Observability
      Section 20.6.  Task Queue Implementation Notes
      Chapter 21.  kmdb Implementation
      Section 21.1.  Introduction
   Appendices
      Appendix A.  Kernel Virtual Address Maps
      Appendix B.  Adding a System Call to Solaris
      Section B.1.  Setting Kernel Parameters
      Appendix C.  A Sample Procfs Utility
      Section C.1.  Microstate Accounting Using /proc
      Section C.2.  Source Code for msacct
   Bibliography
   Index



SolarisT Internals. Solaris 10 and OpenSolaris Kernel Architecture
Solaris Internals: Solaris 10 and OpenSolaris Kernel Architecture (2nd Edition)
ISBN: 0131482092
EAN: 2147483647
Year: 2004
Pages: 244

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net