Solaris 10 Operating System Internals 培训
Solaris 10 Operating System Internals 培训
课程大纲:
1. Introducing the Solaris 10 Operating System
Purpose of the operating system and the concept of kernel layering
Diagram the segments that make up the process address space
The trap mechanism
Differentiate between hardware and software interrupts
New features in recent releases of the Solaris 10 OS
Start using tools such as mdb, kmdb, and DTrace to examine kernel data structures
Start using http://cvs.opensolaris.org/source/ to examine the source code
2. Multithread Architecture
Difference between symmetrical multiprocessing (SMP) and asymmetrical multiprocessing (ASMP)
Define an application and a kernel thread
Define a lightweight process (LWP)
Difference between a thread and an LWP
Structures that describe the state of a kernel thread, an LWP, and a process
How a mutex lock works
Define a condition variable
How a counting semaphore is implemented
How a multiple-reader, single-writer lock works
Advantages of multiple LWPs for a given process
3. Hardware Memory Management
How the MMU tables are used to perform virtual-to- physical address translation
Differences between the x86/x64 memory management unit (MMU) and the SFMMU
Types of cache implemented on Sun systems
Purpose of the hardware address translation (HAT) layer
4. Software Memory Management
Layers of the SunOS 5.x software virtual memory (VM) system and the role of each layer
Mapping structures that make up process address space
Locate the page structures and process address space structures in mdb or dtrace and identify the fields within the structures
How the memory mapping and memory control system calls can be used by an application programmer to effectively manage process memory needs
5. Paging and Swapping
Layered approach to page-fault handling
Conditions under which the page daemon runs
Functions of the page daemon
Conditions under which the swapper runs
6. The swapfs File System
Shortcomings of SunOS 4.x swap management
Changes that were made to the anonymous memory layer to accommodate the implementation of the swapfs file system
Two advantages obtained by adding the swapfs file system to the SunOS 5.x
7. Scheduling
At least two major barriers to real-time processing in the traditional UNIX architectures, such as System V Release 3 (SVR3), the 4.3 Berkeley Software Design version of UNIX (BSD), and SunOS 4.x software
Difference between a fully preemptible kernel and a kernel with preemption points
A routine used to place a thread on a dispatch queue
When a thread is placed at the head of a dispatch queue
How the sleep queues are ordered
Define a user-level preemption
Define a kernel-level preemption
Define deterministic dispatch latency
Define priority inversion
8. Process Lifetime
Differences among the system calls used to create a new process
The kernel routines used to implement process creation
Types of executables supported in the Solaris 10 OS
Routines used to implement executable and linking format (ELF) executables
Advantages of the ELF executable format
Actions taken by a process when it exits
The waitid(2) system call and how it is implemented
9. Signals
Types of signals that can be delivered to a process or thread
Difference between a trap signal and an interrupt signal
Signal management routines and their functions
What the signal facility is for and how a signal is delivered
10. File Systems
The vnode interface layer to a file system
Four fields in a directory entry
Advantages of the 4.3 BSD file system
Function of the superblock and cylinder group structures
Fields in the disk inode structure and how they are used
Routines involved in determining the global placement policies
Allocation routines using the flowcharts and describe how the fragments are located quickly