Solaris 10 Operating Systems Internals

5 Day Course
Hands On
Official Unix Curriculum
Code SI-365-S10

This course has been retired. Please view currently available Solaris Training Courses.

Modules

Collapse all

Introducing the Solaris 10 Operating System (7 topics)

  • 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 code

Multithread Architecture (10 topics)

  • 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

Hardware Memory Management (4 topics)

  • 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) layer

Software Memory Management (4 topics)

  • 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 needs

Paging and Swapping (4 topics)

  • 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

The swapfs File System (3 topics)

  • 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.x

Scheduling (9 topics)

  • 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 inversion

Process Lifetime (7 topics)

  • 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 implemented

Signals (4 topics)

  • 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

File Systems (7 topics)

  • 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

Prerequisites

To get the most value from this course, students should be able to: - Read C programs and explain the meaning of a = (struct foo *) b and int func(int) - Understand and be able to explain the concept of pointers, structures, unions, link lists, hashing, and binary trees

Course PDF

Print

Sections