system call is the mechanism used by an application program to request service from the operating system Module 1 - Introducing the Solaris 10 Operating System Define the purpose of the operating system and explain the concept of kernel layering Explain and diagram the segments that make up the process address space * Explain the trap mechanism * Differentiate between hardware and software interrupts * List the 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 codeModule 2 - 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 processModule 3 - Hardware Memory Management * Describe how the MMU tables are used to perform virtual-to- physical address translation * List the differences between the x86/x64 memory management unit (MMU) and the SFMMU * Describe types of cache implemented on Sun systems * Explain the purpose of the hardware address translation (HAT) layerModule 4 - Software Memory Management * List the layers of the SunOS 5.x software virtual memory (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 mdb or dtrace 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 needsModule 5 - 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 runsModule 6 - The swapfs File System * List the shortcomings of SunOS 4.x 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.xModule 7 - Scheduling * List 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 * Explain the difference between a fully preemptible 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 latency * Define priority inversionModule 8 - Process Lifetime * Explain the differences among the 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 10 OS * 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 implementedModule 9 - 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 deliveredModule 10 - File Systems * 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 how they are used * 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