List of Figures

   

Chapter 1

Figure 1-1 Processor Block Diagram

Figure 1-2 32-Bit General Registers

Figure 1-3 64-Bit General Registers

Figure 1-4 Control Registers

Figure 1-5 32-Bit Address Space Layout

Figure 1-6 64-Bit Address Space Layout

Figure 1-7 Address Swizzling

Figure 1-8 Translation of Virtual Address to Physical Address

Figure 1-9 Address Translation through the TLB and Cache

Chapter 2

Figure 2-1 Stack Usage in Narrow Mode

Figure 2-2 Stack Usage in Wide Mode

Figure 2-3 Stack Usage for the Call to proc()

Chapter 3

Figure 3-1 The Big Picture

Figure 3-2 Virtual Memory Objects, Private and Shared

Figure 3-3 Tables and Lists

Figure 3-4 Resource Maps

Figure 3-5 Hashtables and Chains

Figure 3-6 Partitioned Tables

Figure 3-7 B-Trees

Figure 3-8 Sparse Tables

Figure 3-9 Skip List

Figure 3-10 Operations Arrays: A Vectored Jump Table

Figure 3-11 Kernel Memory Tables

Figure 3-12 Kernel Process Tables

Figure 3-13 Kernel File System Tables

Figure 3-14 Kernel I/O Tables

Chapter 4

Figure 4-1 Static versus Dynamic proc Tables

Figure 4-2 Linking Threads to Their Process

Figure 4-3 Threading Models

Figure 4-4 User-to-Kernel Thread Transitions

Figure 4-5 System Calls: The Big Picture

Chapter 5

Figure 5-1 Kernel Process Tables

Figure 5-2 Kernel Process Tables

Figure 5-3 The kthread Table

Figure 5-4 Mapping a Program to a Logical Space

Figure 5-5 Magic for 32-Bit Applications)

Figure 5-6 SHARE_MAGIC and Memory Windows

Figure 5-7 Q3 Private Address Space

Figure 5-8 The Process Logical Address Space

Figure 5-9 The vas/pregion List

Figure 5-10 The pregion Structure

Figure 5-11 The uarea Structure

Figure 5-12 Thread Priorities

Figure 5-13 Thread Priorities

Figure 5-14 SCHED_RTPRIO

Figure 5-15 SCHED_RTPRIO

Figure 5-16 POSIX Global Real-Time Run Queue

Figure 5-17 Per-Processor Run Queues

Chapter 6

Figure 6-1 Types of Memory

Figure 6-2 Populating the VAS with Regions

Figure 6-3 How the Kernel Views the pdir

Figure 6-4 The Hashtable

Figure 6-5 Sparse Tables

Figure 6-6 Physical to Virtual Address Translation

Figure 6-7 Virtual Address Aliasing

Figure 6-8 Region of Page Frames

Figure 6-9 VFD|DBD

Figure 6-10 The B-Tree

Figure 6-11 Growing the tree

Figure 6-12 The Process View Meets the Kernel View

Figure 6-13 Managing Page Frames

Figure 6-14 Page Free Data, pfda

Figure 6-15 phash and phead

Figure 6-16 Pools, Ponds, Views

Figure 6-17 Page Groups

Figure 6-18 Physical Memory Allocator

Figure 6-19 Free Lists Revisited

Chapter 7

Figure 7-1 Lotsfree

Figure 7-2 Inside Each pregion

Figure 7-3 Linking All the pregions

Figure 7-4 Reserved Versus Allocated

Figure 7-5 A Simple Swap Example

Figure 7-6 Adding Pseudo-Swap to the Mix

Figure 7-7 Swap Kernel Structures

Chapter 8

Figure 8-1 The File Management Subsystem

Figure 8-2 File System Basics: 101

Figure 8-3 Fragmentation of Available Space

Figure 8-4 Fragmentation Is Our Friend

Figure 8-5 Creating an Index

Figure 8-6 Metadata

Figure 8-7 Super Blocks, Index Nodes, Directories, and User Data

Figure 8-8 The HFS File System Layout

Figure 8-9 The inode

Figure 8-10 Blocks and Fragments

Figure 8-11 Kernel File System Tables

Figure 8-12 Mounting a File System

Figure 8-13 Type-Specific Data Structures (HFS Example)

Figure 8-14 The vnode

Figure 8-15 Building a Seamless File System

Figure 8-16 System File Table

Figure 8-17 The Buffer Cache

Figure 8-18 The Buffer Cache Hash

Figure 8-19 Directory Name Lookup Cache

Chapter 9

Figure 9-1 Parent Creates a Child

Figure 9-2 The fork()

Figure 9-3 The vfork()

Figure 9-4 Process Life Cycle

Figure 9-5 The exec() Call: Disposing of Old Regions

Figure 9-6 getxfile() Rebuilds the Memory View

Figure 9-7 Executable and Memory Mapped Files

Figure 9-8 Shared Memory Objects

Figure 9-9 The exit()

Chapter 10

Figure 10-1 PA-RISC I/O Block Diagram

Figure 10-2 32-Bit I/O Address Space

Figure 10-3 64-Bit I/O Address Space

Figure 10-4 Converged Workstation and Server I/O Systems

Figure 10-5 Iotree Example

Chapter 11

Figure 11-1 The Logical Volume Manager

Figure 11-2 Mapping Extents

Figure 11-3 LVM Administration Review

Figure 11-4 Metadata Disk Layout

Figure 11-5 PVRA and VGRA Components

Figure 11-6 The LVM Pseudodriver Architecture

Figure 11-7 Work Queues

Figure 11-8 Kernel-Resident Configuration Structures

Figure 11-9 Mirror Write Consistency Records

Chapter 12

Figure 12-1 A Typical Multiprocessor System

Figure 12-2 Flowchart of Spinlock Acquisition

Figure 12-3 Flowchart of Alpha Semaphore Acquisition

Chapter 13

Figure 13-1 Per-Processor Structures for Callouts

Figure 13-2 Callout Table Headers

Figure 13-3 Buckets on the Free List

Figure 13-4 Memory Arena Objects and Object Headers

Figure 13-5 Free List for Fixed-Size Objects

Figure 13-6 Free List for Variable-Sized Objects

Chapter 14

Figure 14-1 Signal-Related Data Structures

Figure 14-2 The kill() and sigqueue() System Calls



HP-UX 11i Internals
HP-UX 11i Internals
ISBN: 0130328618
EAN: 2147483647
Year: 2006
Pages: 167

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