Solaris internals : Solaris 10 and OpenSolaris kernel architecture
"The Solaris™Internals volumes are simply the best and most comprehensive treatment of the Solaris (and OpenSolaris) Operating Environment. Any person using Solaris--in any capacity--would be remiss not to include these two new volumes in their personal library. With advanced observability tool...
Otros Autores: | , |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
[Place of publication not identified]
Sun Microsystems Press/Prentice Hall
2007
|
Edición: | 2nd ed |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009626898606719 |
Tabla de Contenidos:
- Cover
- Contents
- Foreword
- Preface
- About the Authors
- Acknowledgments
- PART ONE: Introduction to Solaris Internals
- Chapter 1 Introduction
- 1.1 Key Features of Solaris 10, Solaris 9, and Solaris 8
- 1.2 Key Differentiators
- 1.3 Kernel Overview
- 1.4 Processes, Threads, and Scheduling
- 1.5 Interprocess Communication
- 1.6 Signals
- 1.7 Memory Management
- 1.8 Files and File Systems
- 1.9 Resource Management
- PART TWO: The Process Model
- Chapter 2 The Solaris Process Model
- 2.1 Components of a Process
- 2.2 Process Model Evolution
- 2.3 Executable Objects
- 2.4 Process Structures
- 2.5 Kernel Process Table
- 2.6 Process Resource Attributes
- 2.7 Process Creation
- 2.8 System Calls
- 2.9 Process Termination
- 2.10 The Process File System
- 2.11 Signals
- 2.12 Sessions and Process Groups
- 2.13 MDB Reference
- Chapter 3 Scheduling Classes and the Dispatcher
- 3.1 Fundamentals
- 3.2 Processor Abstractions
- 3.3 Dispatcher Queues, Structures, and Variables
- 3.4 Dispatcher Locks
- 3.5 Dispatcher Initialization
- 3.6 Scheduling Classes
- 3.7 Thread Priorities
- 3.8 Dispatcher Functions
- 3.9 Preemption
- 3.10 The Kernel Sleep/Wakeup Facility
- 3.11 Interrupts
- 3.12 Summary
- 3.13 MDB Reference
- Chapter 4 Interprocess Communication
- 4.1 The System V IPC Framework
- 4.2 System V IPC Resource Controls
- 4.3 Configuring IPC Tuneables on Solaris 10
- 4.4 System V Shared Memory
- 4.5 System V Semaphores
- 4.6 System V Message Queues
- 4.7 POSIX IPC
- 4.8 Solaris Doors
- 4.9 MDB Reference
- Chapter 5 Process Rights Management
- 5.1 Then and Now
- 5.2 Least Privilege in Solaris
- 5.3 Process Privilege Models
- 5.4 Privilege Awareness: The Details
- 5.5 Least Privilege Interfaces
- PART THREE: Resource Management
- Chapter 6 Zones
- 6.1 Introduction
- 6.2 Zone Runtime.
- 6.3 Booting Zones
- 6.4 Security
- 6.5 Process Model
- 6.6 File Systems
- 6.7 Networking
- 6.8 Devices
- 6.9 Interprocess Communication
- 6.10 Resource Management and Observability
- 6.11 MDB Reference
- Chapter 7 Projects, Tasks, and Resource Controls
- 7.1 Projects and Tasks Framework
- 7.2 The Project Database
- 7.3 Project and Task APIs
- 7.4 Kernel Infrastructure for Projects and Tasks
- 7.5 Resource Controls
- 7.6 Interfaces for Resource Controls
- 7.7 Kernel Interfaces for Resource Controls
- PART FOUR: Memory
- Chapter 8 Introduction to Solaris Memory
- 8.1 Virtual Memory Primer
- 8.2 Two Levels of Memory
- 8.3 Memory Sharing and Protection
- 8.4 Pages: Basic Units of Physical Memory
- 8.5 Virtual-to-Physical Translation
- 8.6 Physical Memory Management: Paging and Swapping
- 8.7 Virtual Memory as a File System Cache
- 8.8 New Features of the Virtual Memory Implementation
- Chapter 9 Virtual Memory
- 9.1 Design Overview
- 9.2 Virtual Address Spaces
- 9.3 Tracing the VM System
- 9.4 Virtual Address Space Management
- 9.5 Segment Drivers
- 9.6 Anonymous Memory
- 9.7 The Anonymous Memory Layer
- 9.8 The swapfs Layer
- 9.9 Virtual Memory Watchpoints
- 9.10 Changes to Support Large Pages
- 9.11 MDB Reference
- Chapter 10 Physical Memory
- 10.1 Physical Memory Allocation
- 10.2 Pages: The Basic Unit of Solaris Memory
- 10.3 The Page Scanner
- 10.4 MDB Reference
- Chapter 11 Kernel Memory
- 11.1 Kernel Virtual Memory Layout
- 11.2 Kernel Memory Allocation
- 11.3 The Vmem Allocator
- 11.4 Kernel Memory Allocator Tracing
- 11.5 MDB Reference
- Chapter 12 Hardware Address Translation
- 12.1 HAT Overview
- 12.2 The UltraSPARC HAT Layer
- 12.3 The x64 HAT Layer
- 12.4 MDB Reference
- Chapter 13 Working with Multiple Page Sizes in Solaris
- 13.1 Determining When to Use Large Pages.
- 13.2 Measuring Application Performance
- 13.3 Configuring for Multiple Page Sizes
- PART FIVE: File Systems
- Chapter 14 File System Framework
- 14.1 File System Framework
- 14.2 Process-Level File Abstractions
- 14.3 Solaris File System Framework
- 14.4 File System Modules
- 14.5 The Virtual File System (vfs) Interface
- 14.6 The Vnode
- 14.7 File System I/O
- 14.8 File Systems and Memory Allocation
- 14.9 Path-Name Management
- 14.10 The Directory Name Lookup Cache
- 14.11 The File System Flush Daemon
- 14.12 File System Conversion to Solaris 10
- 14.13 MDB Reference
- Chapter 15 The UFS File System
- 15.1 UFS Development History
- 15.2 UFS On-Disk Format
- 15.3 The UFS Inode
- 15.4 Access Control in UFS
- 15.5 Extended Attributes in UFS
- 15.6 Locking in UFS
- 15.7 Logging
- 15.8 MDB Reference
- PART SIX: Platform Specifics
- Chapter 16 Support for NUMA and CMT Hardware
- 16.1 Memory Hierarchy Designs
- 16.2 Memory Placement Optimization Framework
- 16.3 Initial Thread Placement
- 16.4 Scheduling
- 16.5 Memory Allocation
- 16.6 Lgroup Implementation
- 16.7 MPO APIs
- 16.8 Locality Group Hierarchy
- 16.9 MPO Statistics
- 16.10 MDB Reference
- Chapter 17 Locking and Synchronization
- 17.1 Synchronization
- 17.2 Parallel Systems Architectures
- 17.3 Hardware Considerations for Locks and Synchronization
- 17.4 Introduction to Synchronization Objects
- 17.5 Mutex Locks
- 17.6 Reader/Writer Locks
- 17.7 Turnstiles and Priority Inheritance
- 17.8 Kernel Semaphores
- 17.9 DTrace Lockstat Provider
- PART SEVEN: Networking
- Chapter 18 The Solaris Network Stack
- 18.1 STREAMS and the Network Stack
- 18.2 Solaris 10 Stack: Design Goals
- 18.3 Solaris 10 Network Stack Framework
- 18.4 TCP as an Implementation of the New Framework
- 18.5 UDP
- 18.6 Synchronous STREAMS
- 18.7 IP.
- 18.8 Solaris Device Driver Framework
- 18.9 Interrupt Model and NIC Speeds
- 18.10 Summary
- 18.11 MDB Reference
- PART EIGHT: Kernel Services
- Chapter 19 Clocks and Timers
- 19.1 The System Clock Thread
- 19.2 Callouts and Callout Tables
- 19.3 System Time Facilities
- 19.4 The Cyclic Subsystem
- Chapter 20 Task Queues
- 20.1 Overview of Task Queues
- 20.2 Dynamic Task Queues
- 20.3 Task Queues Kernel Programming Interfaces
- 20.4 Device Driver Interface for Task Queues
- 20.5 Task Queue Observability
- 20.6 Task Queue Implementation Notes
- Chapter 21 kmdb Implementation
- 21.1 Introduction
- APPENDICES
- Appendix A: Kernel Virtual Address Maps
- Appendix B: Adding a System Call to Solaris
- Appendix C: A Sample Procfs Utility
- Bibliography
- Index.