Die inneren Strukturen der Betriebssystemumgebung Solaris 10

AS-SYSTEME Unternehmensberatung
In Stuttgart, Bern (Schweiz) und Zürich (Schweiz)

3.101 
zzgl. MwSt.
Möchten Sie den Bildungsanbieter lieber direkt anrufen?
711 9... Mehr ansehen
Vergleichen Sie diesen Kurs mit ähnlichen Kursen
Mehr ansehen

Wichtige informationen

Beschreibung

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 Schedu..
Gerichtet an: Der Kurs richtet sich an Programmierer, Systemingenieure, erfahrene Systemadministratoren und Supportmitarbeiter.

Wichtige informationen
Veranstaltungsort(e)

Wo und wann

Beginn Lage
auf Anfrage
Bern
Mühlemattstrasse 14a, CH-3007, Bern, Schweiz
auf Anfrage
Stuttgart
Wankelstraße 1, D-70563, Baden-Württemberg, Deutschland
auf Anfrage
Zürich
Javastrasse 4, CH-8604, Zürich, Schweiz

Häufig gestellte Fragen

· 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.

Themenkreis

Trainingsziel

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


Teilnehmerkreis

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

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.


Überblick über den Inhalt des Trainings

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.

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 http://cvs.opensolaris.org/source/ 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.


Vergleichen Sie diesen Kurs mit ähnlichen Kursen
Mehr ansehen