Grundlagen der Systemprogrammierung - Cheatsheet.pdf

Grundlagen der Systemprogrammierung - Cheatsheet
Grundlagen der Systemprogrammierung - Cheatsheet Grundkomponenten eines Betriebssystems: Kernel, Shell, und Systembibliotheken Definition: Details: Kernel: Zentrale Komponente eines Betriebssystems, die direkten Zugriff auf die Hardware und Systemressourcen hat. Verantwortlich für Speicherverwaltung, Prozesssteuerung, Gerätetreiber und Dateisysteme. Shell: Schnittstelle zwischen Benutzer und Kerne...

© StudySmarter 2024, all rights reserved.

Grundlagen der Systemprogrammierung - Cheatsheet

Grundkomponenten eines Betriebssystems: Kernel, Shell, und Systembibliotheken

Definition:

Details:

  • Kernel: Zentrale Komponente eines Betriebssystems, die direkten Zugriff auf die Hardware und Systemressourcen hat. Verantwortlich für Speicherverwaltung, Prozesssteuerung, Gerätetreiber und Dateisysteme.
  • Shell: Schnittstelle zwischen Benutzer und Kernel. Ermöglicht die Eingabe von Befehlen und deren Ausführung. Arten: Kommandozeilen-Shell (z.B. Bash) und grafische Shells (z.B. GNOME).
  • Systembibliotheken: Sammlung von Prozessen und Funktionen, die von Programmen verwendet werden können. Erleichtern die Programmierung, indem sie häufig benötigte Funktionen bereitstellen. Beinhaltet Bibliotheken wie libc, die grundlegende Ein-/Ausgabe-Funktionen abdecken.

Prozesskontrollblöcke und Kontextwechsel

Definition:

Prozesskontrollblöcke (PCB) speichern den Zustand eines Prozesses. Kontextwechsel bedeutet das Wechseln der CPU von einem Prozess zu einem anderen durch Speichern und Wiederherstellen von PCBs.

Details:

  • PCB enthält: Prozesszustand, Programmzähler, CPU-Register, Speicherinformationen
  • Kontextwechsel: Notwendig für Multitasking
  • Kontextwechsel besteht aus Speichern des Zustands des laufenden Prozesses und Laden des Zustands des nächsten Prozesses
  • Erfordert Overhead und Zeit

Prozessplanung und Scheduling-Algorithmen

Definition:

Prozessplanung: Zuweisung von CPU-Zeit zu Prozessen; Scheduling-Algorithmen: Strategien zur Durchführung der Prozessplanung

Details:

  • CPU-Scheduling-Kriterien: Effizienz, Fairness, Durchsatz, Wartezeit
  • Wichtige Algorithmen: First-Come-First-Served (FCFS), Kürzester Job Zuerst (SJF), Round Robin (RR), Prioritätenbasiertes Scheduling
  • FCFS: Einfach, aber kann Prozessstarvation verursachen
  • SJF: Minimiert durchschnittliche Wartezeit, benötigt Vorhersage der Prozess-Dauer
  • Round Robin: Zeitscheibenverfahren, geeignet für Zeitsysteme
  • Prioritätenbasiert: Prozesse mit höherer Priorität zuerst, kann zu Starvation führen, Lösung: Aging
  • Notwendige Begriffe: Kontextwechsel, Dispatcher, Burst-Zeit

Virtueller Speicher: Paging und Segmentierung

Definition:

Seiten- und Segmentierungstechniken zur Speicherverwaltung in Betriebssystemen; Ziel: effiziente Nutzung physischen Speichers und Schutz

Details:

  • Paging: Speicher in gleich große Seiten (4KB) unterteilt; Seitentabellen, seitennummerbasierte Zugriffe; virtuelle Adresse = Seitennummer + Seitenoffset
  • Segmentierung: Speicher in variable Segmente unterteilt (z.B. Code, Daten); Segmenttabellen, segmentbasierte Zugriffe; virtuelle Adresse = Segmentnummer + Segmentoffset
  • Vorteile Paging: Kein externer Fragmentierung, effiziente Speicherverwaltung
  • Nachteile Paging: Interne Fragmentierung, Overhead durch Seitentabellen
  • Vorteile Segmentierung: Logische Gruppierung von Speicherbereichen, einfache Zugriffsrechte
  • Nachteile Segmentierung: Externe Fragmentierung möglich, komplexeres Speicher-Management

Dateisystemtypen und -strukturen

Definition:

Dateisystemtypen und -strukturen sind Konzepte zur Organisation und Verwaltung von Daten auf Speichermedien.

Details:

  • Bekannte Dateisystemtypen: FAT32, NTFS, ext3, ext4, HFS+
  • Strukturen: Hierarchische Struktur (Verzeichnisse, Unterverzeichnisse), Datei- und Verzeichnisattribute
  • Funktionen: Speicherung, Zugriffskontrolle, Integritätssicherung
  • Beispiel: In einem Unix-System können Verzeichnisse wie Bäume strukturiert sein \textdollar tree\ beispiel Verzeichnisstruktur
  • Superblocks, Inodes, Datablöcke: Wichtige Strukturelemente im Unix Dateisystem

Netzwerkarchitektur und -modelle (OSI und TCP/IP)

Definition:

Netzwerkarchitekturmodelle helfen, die Kommunikation in Netzwerken zu standardisieren und zu vereinfachen.

Details:

  • OSI-Modell: 7 Schichten (Physical, Data Link, Network, Transport, Session, Presentation, Application)
  • TCP/IP-Modell: 4 Schichten (Network Interface, Internet, Transport, Application)
  • Zweck: Interoperabilität und Standardisierung
  • Beispielprotokolle:
    • OSI: Ethernet (Physical), IP (Network), TCP (Transport)
    • TCP/IP: Ethernet (Network Interface), IP (Internet), TCP (Transport)

Verschlüsselungstechniken und sichere Kommunikation

Definition:

Verschlüsselungstechniken schützen die Vertraulichkeit von Daten, sichere Kommunikation stellt sicher, dass Daten nicht unbefugt abgefangen oder manipuliert werden.

Details:

  • Symmetrische Verschlüsselung: gleicher Schlüssel für Ver- und Entschlüsselung, z.B. AES
  • Asymmetrische Verschlüsselung: öffentlich-privates Schlüsselpaar, z.B. RSA
  • Hashing: Datenintegrität durch Erzeugen eines Hash-Werts, z.B. SHA-256
  • Digitale Signaturen: Authentizität und Integrität von Nachrichten, z.B. mithilfe von RSA oder DSA
  • Transport Layer Security (TLS): Protokoll für sichere Datenübertragung über Netzwerke
  • Public Key Infrastructure (PKI): Verwaltung öffentlicher Schlüssel und Zertifikate

Speicherfragmentierung und deren Vermeidung

Definition:

Speicherfragmentierung: Problem, bei dem freier Speicher in kleine, nicht zusammenhängende Blöcke aufgeteilt ist.

Details:

  • Externe Fragmentierung: Freier Speicher ist verteilt, kann nicht für große Datenblöcke genutzt werden.
  • Interne Fragmentierung: Verteilung von Speicherblöcken führt zu ungenutztem Speicher innerhalb zugewiesener Blöcke.
  • Vermeidung: Speicherkompaktierung, Paging, Verwendung von Speicherallokatoren wie malloc/free
  • Algorithmus zur Speicherzuweisung: First Fit, Best Fit, Worst Fit
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden