Autorizácie

  • Oracle
  • ForgeRock
  • symantec
  • gurulabs
Newsletter

Chcete dostávať od nás najnovšie informácie? Pošlite nám svoj email.


Solaris 10 Operating System Internals (SI-365-S10)

ID kurzu : SI-365-S10 Trvanie kurzu : 5 dni

The Solaris 10 Operating System Internals courseprovides students with information about the various kernelsubsystems, routines, and structures that make up the Solaris10 Operating System. Students will use Solaris Dynamic Tracing (DTrace) to step throughprocess creation, execution, signal delivery, and scheduling,correlating observations with source code available throughOpenSolaris. The labs make extensive use of dtrace,kmdb,and mdb commands to examine the system structures on live systems.The labs also make use of OpenSolaris web access tofacilitate understanding how the Operating System works.The kernel subsystems covered include the multithreadedarchitecture, virtual memory, scheduling, process lifetime,signal management, the vnode layer, and file systems suchas UFS, ZFS and swapfs.



Vyberte dátum

ID kurzu :
SI-365-S10

Cena
1 940 €

Trvanie kurzu
5 dni

Objednať

Who Can Benefit

Students who can benefit from this course are programmers, system engineers, advanced system administrators, and support personnel.

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

Skills Gained

  • 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 kmdb, mdb, and DTrace to locate and display the system structures for an open file in a given process, such as the file descriptor, file structure, vnode structure, inode structure, page structure, and superblock
  • Describe the placement policies that the UNIX® file system (UFS) uses to place inodes and blocks of data

Course Content

Module 1 - Introducing the Solaris 10 Operating System

  • Define the purpose of the operating system and explain theconcept of kernel layering
  • Explain and diagram the segments that make up the processaddress 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 examinekernel data structures
  • Start using cvs.opensolaris.org/source/ to examine thesource code

Module 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 process

Module 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 managementunit (MMU) and the SFMMU
  • Describe types of cache implemented on Sun systems
  • Explain the purpose of the hardware address translation(HAT) layer

Module 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 structuresin mdb or dtrace and identify the fields within the structures
  • Explain how the memory mapping and memory control system callscan be used by an application programmer to effectively manageprocess memory needs

Module 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 runs

Module 6 - The swapfs File System

  • List the shortcomings of SunOS 4.x swap management
  • Describe the changes that were made to the anonymous memorylayer to accommodate the implementation of the swapfsfile system
  • List two advantages obtained by adding the swapfs filesystem to the SunOS 5.x

Module 7 - Scheduling

  • List at least two major barriers to real-time processingin the traditional UNIX architectures, such as System VRelease 3 (SVR3), the 4.3 Berkeley Software Design versionof UNIX (BSD), and SunOS 4.x software
  • Explain the difference between a fully preemptible kernel anda 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

Module 8 - Process Lifetime

  • Explain the differences among the system calls used to createa new process
  • Describe the kernel routines used to implement process creation
  • List the different types of executables supported in theSolaris 10 OS
  • Explain the routines used to implement executable and linkingformat (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 - Signals

  • List the different types of signals that can be deliveredto a process or thread
  • Explain the difference between a trap signal and an interruptsignal
  • List the signal management routines and describe theirfunctions
  • Describe what the signal facility is for, and how a signalis delivered

Module 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 groupstructures
  • List the fields in the disk inode structure and explain howthey are used
  • Name the routines involved in determining the globalplacement policies
  • Explain the allocation routines using the flowcharts and describehow the fragments are located quickly