Betriebssysteme

Grundlagen, Konzepte, Systemprogrammierung

Eduard Glatz

Cite this publication as

Eduard Glatz, Betriebssysteme (2019), dpunkt.verlag, Heidelberg, ISBN: 9783960888390

4615
accesses
53
quotes

Description / Abstract

Dieses Lehrbuch bietet eine umfassende Einführung in die Grundlagen der Betriebssysteme und in die Systemprogrammierung. Im Vordergrund stehen die Prinzipien moderner Betriebssysteme und die Nutzung ihrer Dienste für die systemnahe Programmierung.
Methodisch wird ein Weg zwischen der Betrachtung anfallender Probleme und ihren Lösungen auf einer theoretischen und einer praktischen Basis beschritten. Dabei orientiert sich der Autor an den beiden am meisten verbreiteten Systemwelten, nämlich Unix/Linux und Windows. Zudem werden die wichtigsten Prozessorgrundlagen erklärt, soweit sie für das Verständnis der internen Funktionsweise eines Betriebssystems hilfreich sind.
Behandelt werden u.a.:

- Programmausführung und Hardware
- Systemprogrammierung
- Synchronisation und Kommunikation von Prozessen und Threads
- Speicherverwaltung
- Dateisysteme
- Programmentwicklung
- Sicherheit
- Virtualisierung
Die 4. Auflage ist in zahlreichen Details überarbeitet und generell aktualisiert. Neu aufgenommen wurden z.B. das Thread-Pool-Konzept, Windows Services, Completely Fair Scheduler, Container-Systeme und Unikernel.
Übungsaufgaben mit Lösungen, alle Abbildungen des Buches und Vorlesungsfolien für Dozierende stehen online zur Verfügung.

Description

Eduard Glatz, Prof. Dr. sc., studierte an der ETH in Zürich Elektrotechnik und Betriebswissenschaften. Nach 16 Jahren Berufspraxis in der Industrie und in Ingenieurunternehmungen wurde er 1996 an die Hochschule für Technik (FH Ostschweiz) in Rapperswil berufen, wo er Betriebssystemtheorie unterrichtete. Seit 2017 ist er privatwirtschaftlich u.a. im Kurswesen tätig.

Table of content

  • BEGINN
  • Vorwort zur 4. Auflage
  • Vorwort zur 3. Auflage
  • Vorwort zur 1. und 2. Auflage
  • Inhaltsverzeichnis
  • 1 Einführung
  • 1.1 Zweck
  • 1.2 Definitionen
  • 1.3 Einordnung im Computersystem
  • 1.4 Betriebssystemarten
  • 1.5 Betriebssystemarchitekturen
  • 2 Programmausführung und Hardware
  • 2.1 Rechner- und Prozessorgrundlagen
  • 2.2 Grundlagen des Adressraums
  • 2.3 Grundlagen der Programmausführung
  • 2.4 Unterprogrammmechanismen
  • 3 Systemprogrammierung
  • 3.1 Wahl der Systemprogrammiersprache
  • 3.2 Laufzeitsystem der Programmiersprache C
  • 3.3 Unterprogrammtechniken
  • 3.4 Grundlagen der Systemprogrammierung
  • 3.5 Systemprogrammierschnittstellen
  • 4 Prozesse und Threads
  • 4.1 Parallelverarbeitung
  • 4.2 Prozessmodell
  • 4.3 Threads
  • 4.4 Prozessorzuteilungsstrategien
  • 5 Synchronisation von Prozessen und Threads
  • 5.1 Synchronisationsbedarfe und Lösungsansätze
  • 5.2 Semaphore
  • 5.3 Anwendung der Semaphore
  • 5.4 Implementierungen von Semaphoren
  • 5.5 Unix-Signale
  • 5.6 Verklemmungsproblematik (deadlocks)
  • 5.7 Praktische Erwägungen zur Parallelprogrammierung
  • 6 Kommunikation von Prozessen und Threads
  • 6.1 Überblick über Synchronisation und Kommunikation
  • 6.2 Nachrichtenbasierte Verfahren
  • 6.3 Speicherbasierte Verfahren
  • 6.4 Monitor
  • 6.5 Rendezvous
  • 6.6 Rechnerübergreifende Interprozesskommunikation
  • 7 Ein- und Ausgabe
  • 7.1 Peripherie
  • 7.2 Ein-/Ausgabeabläufe
  • 7.3 Ein-/Ausgabesystem
  • 7.4 Massenspeicher
  • 7.5 Benutzerinteraktion aus Systemsicht (Benutzeroberflächen)
  • 8 Speicherverwaltung
  • 8.1 Speichersystem
  • 8.2 Dynamische Speicherbereitstellung (Heap)
  • 8.3 Verwaltung von Prozessadressräumen
  • 8.4 Realer Speicher
  • 8.5 Virtueller Speicher
  • 9 Dateisysteme
  • 9.1 Dateisystemkonzepte
  • 9.2 Realisierung von Dateisystemen
  • 9.3 UFS – traditionelles Unix-Dateisystem
  • 9.4 FAT– traditionelles Windows-Dateisystem
  • 9.5 NTFS – modernes Windows-Dateisystem
  • 9.6 ZFS – zukunftweisendes Dateisystem
  • 9.7 Netzwerkdateisysteme
  • 9.8 Spezielle Dateisystemtechnologien
  • 9.9 Datenträgerpartitionierung
  • 10 Programmentwicklung
  • 10.1 Software-Entwicklungswerkzeuge
  • 10.2 Adressraumbelegung und Relokation
  • 10.3 Programmbibliotheken
  • 10.4 Skriptprogrammierung unter Unix
  • 10.5 Anwendungs- und Systemkonfiguration
  • 11 Sicherheit
  • 11.1 Schutzziele
  • 11.2 Autorisierung und Zugriffskontrolle
  • 11.3 Hochsichere Betriebssysteme
  • 11.4 Sicherheit unter Unix
  • 11.5 Sicherheit unter Windows
  • 12 Virtualisierung
  • 12.1 Anwendungsbereiche
  • 12.2 Virtualisierungstypen
  • 12.3 Virtual Machine Monitor bzw. Hypervisor
  • 12.4 Einsatzgebiete
  • 13 Mobile Betriebssysteme
  • 13.1 Gemeinsame Eigenschaften
  • 13.2 Google Android
  • 13.3 Apple iOS
  • A Anhang
  • A.1 Maßeinheiten und Darstellungen
  • Literaturhinweise
  • Index

Related titles

    More of this author(s)