
|
The Solaris 9 Operating Environment Internals course provides students with information about the various kernel subsystems, routines, and structures that make up the Solaris 9 Operating Environment. The labs make extensive use of the kadb and mdb debuggers to examine the system structures on live systems. The kernel subsystems covered include the multithreaded architecture, virtual memory, time-share and real-time scheduling, process lifetime cycles, signal management, the UNIX file system, and swapfs. This course replaces SP-361
Who Can Benefit
Students who can benefit from this course are Programmers, System Engineers, and Support Personnel.
Back to top
Prerequisites
To succeed fully in this course, students should be able to:
- Write correct C programs and evaluate "a = (struct foo 8) b" and "c = int (func) (int)"
- Employ the system call layer to request system services
- Write a program using read(2), write(2), mmap(2), fork(2), execve(2), exit(2), and waitid(2)
Back to top
Skills Gained
Upon completion of this course, students should be able to:
- Explain step-by-step how a lock is acquired
- Discuss the reason for priority inheritance and its implementation
- Identify the steps performed in a virtual to physical memory address translation
- List the process structures and routines needed to implement a scheduling class
- List the process structures used to implement multiple scheduling classes and the fields in the time-sharing and real-time dispatch parameter tables
- Describe the paging and swapping algorithms that manage physical memory as a cache
- Describe process creation, execution, and termination
- Discuss kernel thread scheduling and preemption
- Use kadb to locate and display the system structures for an open file in a givenprocess, such as the file descriptor, file structure, vnode structure, inode structure, page structure, and superblock
- Describe the placement policies that the UNIX file system uses to place inodes and blocks of data
Back to top
Related Courses
Before:
-
UNIX System Interface Programming (SI-220B)
After:
-
Writing Device Drivers for Solaris (SI-375)
Back to top
Course Content
Module 1 - Introducing the Solaris 9 Operating Environment
- Define the purpose of the operating system, explain the concept of kernel layering, and describe the different layers
- Describe user processes and libraries
- Explain what memory management means in the Solaris Operating Environment
- Describe the concept of caching
- Explain the concept of signals
- Explain the kernel entry mode
- Describe the concept of scheduling
- List the new features in recent releases of the Solaris 9 Operating Environment
Module 2 - Examining Multithread Architecture
- Explain the difference between symmetrical multiprocessing (SMP) and asymmetrical multiprocessing (ASMP)
- Define an application and a kernel thread
- Define a lightweight process (LWP)
- Explain the difference between a thread and an LWP
- List the structures that describe the state of a kernel thread, an LWP, and a process
- Explain how a mutex lock works
- Define a condition variable
- Describe how a counting semaphore is implemented
- Explain how a multiple-reader, single-writer lock works
- Explain the advantages of multiple LWPs for a given process
Module 3 - Reviewing Hardware Memory Management
- List the steps involved in virtual-to-physical address translation
- List the differences between the older Sun memory management unit (MMU) and the SPARC reference MMU
- Describe types of cache implemented on Sun systems
Module 4 - Examining Software Memory Management
- List the layers of the SunOS 5.x software VM system and define the role of each layer
- List the mapping structures that make up process address space
- Locate the page structures and process address space structures in kadb and identify the fields within the structures
- Explain how the memory mapping and memory control system calls can be used by an application programmer to effectively manage process memory needs
Module 5 - Examining Paging and Swapping
- Explain the layered approach to page-fault handling
- List the conditions under which the page daemon runs
- List the functions of the page daemon
- List the conditions under which the swapper runs
Module 6 - Examining the swapfs File System
- List the shortcomings of the SunOS 4.x software swap management
- Describe the changes that were made to the anonymous memory layer to accommodate the implementation of the swapfs file system
- List two advantages obtained by adding the swapfs file system to the SunOS 5.x software
Module 7 - Examining Scheduling
- List at least two major barriers to real-time processing in the traditional UNIX architectures, such as System V Release 3 (SVR3), 4.3 Berkeley Software Design version of UNIX (BSD), and SunOS 4.x software
- Explain the difference between a fully preemptable kernel and a kernel with preemption points
- List a routine used to place a thread on a dispatch queue
- Describe when a thread is placed at the head of a dispatch queue
- Describe how the sleep queues are ordered
- Define a user-level preemption
- Define a kernel-level preemption
- Define deterministic dispatch response (dispatch latency)
- Define priority inversion
Module 8 - Examining Process Lifetime
- Define the different system calls used to create a new process
- Describe the kernel routines used to implement process creation
- List the different types of executables supported in the Solaris OE software
- Explain the routines used to implement executable and linking format (ELF) executables
- List the advantages of the ELF executable format
- Describe the actions taken by a process when it exits
- Explain the waitid(2) system call and how it is implemented
Module 9 - Examining Signals
- List the different types of signals that can be delivered to a process or thread
- Explain the difference between a trap signal and an interrupt signal
- List the signal management routines and describe their functions
- Describe what the signal facility is for and how a signal is delivered
Module 10 - Examining the File System
- Describe the vnode interface layer to a file system
- List the four fields in a directory entry
- Explain the advantages of the 4.3 BSD file system
- Describe the function of the superblock and cylinder group structures
- List the fields in the disk inode structure and explain what they are used for
- Name the routines involved in determining the global placement policies
- Explain the allocation routines using the flowcharts and describe how the fragments are located quickly
Back to top
Browse Other Course Topic Areas
|
Can't Travel for Training?
Sun eLearning and On Demand Labs give you easy access to the training you need.
Get an iPod touch
For a limited time: order qualifying Sun training and get an iPod touch®.
|