SUN SI-365-S10: Die inneren Strukturen der Betriebssystemumgebung Solaris 10

PROKODA Gmbh
In Berlin, Stuttgart und Hamburg

2.950 
Möchten Sie den Bildungsanbieter lieber direkt anrufen?
0221/... Mehr ansehen

Wichtige informationen

Beschreibung

SUN SI-365-S10: Die inneren Strukturen der Betriebssystemumgebung Solaris 10: Der Kurs richtet sich an Programmierer, Systemingenieure, erfahrene Systemadministratoren und Supportmitarbeiter.
Zielsetzung Dieser Kurs vermittelt folgende Kenntnisse und Fähigkeiten: Schrittweise Erläuterung, wie eine Sperre erzielt wird Erläutern der Gründe für die..
Gerichtet an: Der Kurs richtet sich an Programmierer, Systemingenieure, erfahrene Systemadministratoren und Supportmitarbeiter.
Zielsetzung Dieser Kurs vermittelt folgende Kenntnisse und Fähigkeiten: Schrittweise Erläuterung, wie eine Sperre erzielt wird Erläutern der Gründe für die Prioritätsvererbung und ihre Implementierung Identifizieren der Schritte bei der Adressumsetzung vom virtuellen zum physischen Hauptspeicher Auflisten von Prozessstrukturen und...

Wichtige informationen
Veranstaltungsort(e)

Wo und wann

Beginn Lage
auf Anfrage
Berlin
Zimmerstr. 79/80, 10117, Berlin, Deutschland
Plan ansehen
auf Anfrage
Hamburg
Nagelsweg 55, 20097, Hamburg, Deutschland
Plan ansehen
auf Anfrage
Stuttgart
Löffelstr. 40, 70597, Baden-Württemberg, Deutschland
Plan ansehen
auf Anfrage
Stuttgart
Wankelstraße 1, 70563, Baden-Württemberg, Deutschland
Plan ansehen

Häufig gestellte Fragen

· Voraussetzungen

Voraussetzungen Um diesen Kurs erfolgreich absolvieren zu können, sollten Sie über folgende Vorkenntnisse verfügen: Lesen von C-Programmen und Erläutern der Bedeutung von "a = (struct foo *) b" und "int func(int)". Kenntnis und Erläutern der Konzepte von Zeigern (Pointer), Strukturen, Vereinigungen (Union), Verknüpfungslisten, Hashing und binären...

Themenkreis

KURSZIEL
SUN SI-365-S10: Die inneren Strukturen der Betriebssystemumgebung Solaris 10: Der Kurs richtet sich an Programmierer, Systemingenieure, erfahrene Systemadministratoren und Supportmitarbeiter.

Zielsetzung

Dieser Kurs vermittelt folgende Kenntnisse und Fähigkeiten:

  • Schrittweise Erläuterung, wie eine Sperre erzielt wird
  • Erläutern der Gründe für die Prioritätsvererbung und ihre Implementierung
  • Identifizieren der Schritte bei der Adressumsetzung vom virtuellen zum physischen Hauptspeicher
  • Auflisten von Prozessstrukturen und Routinen für die Implementierung einer Scheduling-Klasse
  • Auflisten von Prozessstrukturen für die Implementierung mehrerer Scheduling-Klassen und der Felder in den Timesharing- und Echtzeit-Dispatch-Parametertabellen
  • Darstellen der Paging- und Swap-Algorithmen für die Verwaltung des physischen Hauptspeichers als Cache-Speicher
  • Beschreiben der Prozesserstellung, -ausführung und -beendigung
  • Darstellen des Kernel-Thread-Scheduling und der Präemption
  • Einsetzen von kmdb, mdb und DTrace zum Lokalisieren und Anzeigen der Systemstrukturen für eine offene Datei in einem vorgegebenen Prozess, zum Beispiel Dateideskriptor, Dateistruktur, vnode-Struktur, Inode-Struktur, Seitenstruktur und Superblock
  • Beschreiben der Platzierungsstrategien des UNIX®-Dateisystems (UFS) für die Anordnung von Inodes und Datenblöcken

ZIELGRUPPE
Der Kurs richtet sich an Programmierer, Systemingenieure, erfahrene Systemadministratoren und Supportmitarbeiter.

Zielsetzung


Dieser Kurs vermittelt folgende Kenntnisse und Fähigkeiten:

  • Schrittweise Erläuterung, wie eine Sperre erzielt wird
  • Erläutern der Gründe für die Prioritätsvererbung und ihre Implementierung
  • Identifizieren der Schritte bei der Adressumsetzung vom virtuellen zum physischen Hauptspeicher
  • Auflisten von Prozessstrukturen und Routinen für die Implementierung einer Scheduling-Klasse
  • Auflisten von Prozessstrukturen für die Implementierung mehrerer Scheduling-Klassen und der Felder in den Timesharing- und Echtzeit-Dispatch-Parametertabellen
  • Darstellen der Paging- und Swap-Algorithmen für die Verwaltung des physischen Hauptspeichers als Cache-Speicher
  • Beschreiben der Prozesserstellung, -ausführung und -beendigung
  • Darstellen des Kernel-Thread-Scheduling und der Präemption
  • Einsetzen von kmdb, mdb und DTrace zum Lokalisieren und Anzeigen der Systemstrukturen für eine offene Datei in einem vorgegebenen Prozess, zum Beispiel Dateideskriptor, Dateistruktur, vnode-Struktur, Inode-Struktur, Seitenstruktur und Superblock
  • Beschreiben der Platzierungsstrategien des UNIX®-Dateisystems (UFS) für die Anordnung von Inodes und Datenblöcken

KURSINHALT
Übersicht


Dieser Kurs vermittelt den Teilnehmern Kenntnisse über die verschiedenen Kernel-Subsysteme, Routinen und Strukturen, die das Betriebssystem Solaris 10 bilden. Die Teilnehmer werden mithilfe von Solaris Dynamic Tracing (DTrace) schrittweise das Erstellen, Ausführen, die Signalübermittlung sowie die Zeitplanung von Prozessen durchlaufen, wobei Beobachtungen mit dem über OpenSolaris verfügbaren Code in Beziehung gesetzt werden. In den praktischen Übungen kommen die Befehle dtrace, kmdb und mdb für die Untersuchung der Systemstrukturen auf Live-Systemen intensiv zum Einsatz. Darüber hinaus wird in den Übungen anhand des OpenSolaris-Internetzugriffs die Funktionsweise des Betriebssystems dargestellt. Zu den behandelten Kernel-Subsystemen gehören die Multithread-Architektur, virtuelle Speicher, Zeitplanung, Prozesslebensdauer, Signalverwaltung, die vnode-Schicht und Dateisysteme wie UFS, ZFS und swapfs.

Inhalt


Einführung in das Betriebssystem Solaris 10

  • Darlegen von Sinn und Zweck des Betriebssystems, Erläutern der Konzepts der Kernel-Schichten.
  • Erläutern und grafisches Darstellen der Segmente, die den Prozessadressraum bilden.
  • Erläutern des Trap-Mechanismus.
  • Unterscheidung zwischen Hardware- und Software-Interrupts.
  • Auflisten der neuen Leistungsmerkmale in den jüngsten Versionen von Solaris 10
  • Einführung in die Verwendung von Tools wie mdb, kmdb und DTrace zum Untersuchen von Kernel-Datenstrukturen.
  • Einführung in die Verwendung von opensolaris zum Untersuchen des Quellcodes.


Multithread-Architektur

  • Erläutern des Unterschieds zwischen symmetrischem Multiprocessing (SMP) und asymmetrischem Multiprocessing (ASMP)
  • Definieren von Anwendungs- und Kernel-Threads
  • Definieren von LWP (Lightweight Process)
  • Erläutern des Unterschieds zwischen Thread und LWP
  • Auflisten der Strukturen, die den Status eines Kernel-Thread, LWP bzw. Prozesses beschreiben
  • Erläutern der Funktionsweise einer Mutex-Sperre
  • Definieren von Bedingungsvariablen
  • Beschreiben der Implementierung von Zähl-Semaphoren
  • Erläutern der Funktionsweise einer Sperre, die mehrmaliges Lesen, aber nur einmaliges Schreiben erlaubt
  • Erläutern der Vorzüge von mehreren LWPs für einen vorgegebenen Prozess

Hardwarespeichermanagement

  • Beschreiben, wie die MMU-Tabellen für die Umsetzung von virtuellen in physische Adressen verwendet werden.
  • Auflisten der Unterschiede zwischen der x86/x64-MMU (Memory Management Unit) und der SFMMU (SPARC-Referenz-MMU).
  • Beschreiben der in Sun-Systemen implementierten Cache-Typen
  • Erläutern des Zwecks der HAT-Schicht (Hardware Address Translation, Hardwareadressumsetzung).


Softwarespeichermanagement

Auflisten der Schichten im VM-System (Virtual Memory, virtueller Speicher) von SunOS 5.x und Definieren der Funktion jeder einzelnen Schicht
Auflisten der Mapping-Strukturen, die einen Prozessadressraum bilden
Lokalisieren der Seitenstrukturen und Prozessadressraumstrukturen in mdb oder dtrace und Identifizieren der Felder in diesen Strukturen
Erläutern, wie ein Anwendungsprogrammierer mithilfe von Systemaufrufen für Speicher-Mapping und Speichersteuerung eine effektive Prozessspeicherverwaltung erzielen kann


Paging und Swapping

  • Erläutern des Schichtenprinzips bei der Seitenfehlerbehandlung
  • Auflisten der Bedingungen, unter denen der Paging-Dämon läuft
  • Auflisten der Funktionen des Paging-Dämons
  • Auflisten der Bedingungen, unter denen der Swapper läuft

Das Dateisystem swapfs

  • Auflisten der Schwachpunkte beim Swap-Management von SunOS 4.x.
  • Beschreiben der Änderungen an der Anonymous-Memory-Schicht, um die Implementierung des Dateisystems swapfs zu ermöglichen
  • Auflisten von zwei Vorteilen, die das Dateisystem swapfs in SunOS 5.x mit sich bringt.

Zeitplanung

  • Auflisten von mindestens zwei Haupthindernissen für die Echtzeitverarbeitung in herkömmlichen UNIX-Architekturen, zum Beispiel dem System V Release 3 (SVR3), der 4.3 BSD-Version (Berkeley Software Distribution) von UNIX und der SunOS 4.x-Software
  • Erläutern der Unterschiede zwischen einem vollständig unterbrechbaren (fully preemptable) Kernel und einem Kernel mit Präemptionspunkten (Unterbrechungspunkten)
  • Angeben einer Routine, mit der sich ein Thread in eine Dispatch-Warteschlange einreihen lässt
  • Beschreiben, wann ein Thread an den Anfang einer Dispatch-Warteschlange gestellt wird
  • Beschreiben der Reihenfolge, in der die Sleep-Warteschlangen angeordnet sind
  • Definieren von Präemption auf Benutzerebene
  • Definieren von Präemption auf Kernel-Ebene
  • Definieren der deterministischen Dispatch-Antwort (Dispatch-Latenz)
  • Definieren von Prioritätsumkehrung

Prozesslebensdauer

  • Erläutern der Unterschiede zwischen den zum Erstellen eines neuen Prozesses verwendeten Systemaufrufe.
  • Beschreiben der Kernel-Routinen zur Implementierung der Prozesserstellung
  • Auflisten der unterschiedlichen Typen ausführbarer Dateien, die in Solaris 10 unterstützt werden
  • Erläutern der Routinen zur Implementierung ausführbarer Dateien im ELF-Format (Executable and Linking Format)
  • Auflisten der Vorzüge des ELF-Formats
  • Beschreiben der Aktionen eines Prozesses bei der Beendigung
  • Erläutern des Systemaufrufs waitid(2) und seiner Implementierung

Signale

  • Auflisten der unterschiedlichen Typen von Signalen, die an einen Prozess oder Thread übergeben werden können
  • Erläutern der Unterschiede zwischen einem Trap-Signal und einem Unterbrechungssignal
  • Auflisten der Routinen zum Signalmanagement und Beschreiben ihrer Funktionen
  • Beschreiben der Signalfunktion und der Art und Weise, wie ein Signal übergeben wird


Dateisysteme

  • Beschreiben der vnode-Schnittstellenschicht in Bezug auf ein Dateisystem
  • Auflisten der vier Felder in einem Verzeichniseintrag
  • Erläutern der Vorzüge des 4.3 BSD-Dateisystems
  • Beschreiben der Funktion von Superblock- und Zylindergruppenstrukturen
  • Auflisten der Felder in der Inode-Struktur der Festplatte und Erläutern ihrer Einsatzweise
  • Benennen der Routinen, die bei der Bestimmung der globalen Platzierungsstrategien benutzt werden
  • Erläutern der Zuordnungsroutinen unter Verwendung von Flussdiagrammen und Beschreiben, wie sich die Fragmente schnell lokalisieren lassen


Kurssprache deutsch, Unterrichtsmaterial überwiegend in englischer Sprache.

VORRAUSSETZUNG
Voraussetzungen

Um diesen Kurs erfolgreich absolvieren zu können, sollten Sie über folgende Vorkenntnisse verfügen:

  • Lesen von C-Programmen und Erläutern der Bedeutung von "a = (struct foo *) b" und "int func(int)".
  • Kenntnis und Erläutern der Konzepte von Zeigern (Pointer), Strukturen, Vereinigungen (Union), Verknüpfungslisten, Hashing und binären Strukturen.

Zugehörige Seminare
Im Anschluss

SI-375: Writing Device Drivers for the Solaris Operating Environment (SI-375)
ST-375: Einführung in die Analyse von Crash Dumps und den SunOS-Kernel (ST-375)


Vergleichen Sie diesen Kurs mit ähnlichen Kursen
Mehr ansehen