GBS resumen Flashcards
Implizite Kommunikation
shared memory
-Kommunikation erfolgt durch gemeinsam genutzte Betriebsmittel (z.B Speicher, Register)
-erfordert jedoch Synchronisationsmechanismen
Explizite Kommunikation
-Interaktion über Betriebssystemmechanismen
-
Synchrone vs Asynchrone Kommunikation
Synchrone Kommunikation
-Blockiert den Sender, bis die Aktion geschlossen
*Beispiel: Rendezvous-Verfahren: Sender und Empfänger synchronisieren sich vor dem Datenaustausch.
Asynchrone Kommunikation
-Sender setzt die Ausführung fort, ohne auf eine Antwort zu warten.
(Vorteil: Parallele Verarbeitung möglich.)
Mechanismen der IPC (Interprozesskommunikation)
-Signale
SIGINT: Beendet den Prozess. (puede limpiar recursos antes)
SIGKILL: Nicht abfangbares Signal zum sofortigen Beenden.
SHARED MEMORY
-erfordert synchronisation
Pipes
Unidirektionaler Datenstrom zwischen Prozessen.
FIFO
- Arten:
o Anonyme Pipes: Für verwandte Prozesse (z. B. Parent-Child).
o Named Pipes: Kommunikation zwischen beliebigen Prozessen.
grep | wc
Sockets
Abstraktion eines bidirektionalen Kommunikationsendpunkts.
Ports (Logische Adressierung für Kommunikationsendpunkte.)
es parte del socket
cliente se conecta al socket del servidor (IP, puerto..)
- Well-Known Ports (0-1023): Fest reserviert für bekannte Dienste (z. B. HTTP: 80, SSH: 22).
- Registered Ports (1024-49151): Für spezifische Anwendungen.
- Dynamische Ports (49152-65535): Vom Betriebssystem zugewiesen.
Speicherabbildung
Direkte Adressierung:
o Jede logische Adresse entspricht der physischen Adresse.
o Problem: Programme können sich gegenseitig stören.
Basisadressierung:
o Basisadresse wird verwendet, um logische in physische Adressen umzuwandeln.
o Vorteil: Mehrere Programme gleichzeitig möglich.
Segmentadressierung:
o Speicher wird in Segmente unterteilt (z. B. Code, Daten, Stack).
o Verwaltung durch Segmentregister.
o Beispiel: Intel x86 nutzt die Global Descriptor Table (GDT).
Übersetzung (Physische, virtuell)
TLB (Beschleunigung, wie ein Cache)
Wenn die Seitennummer vorhanden ist, physisiche Kachelnummer se llama direkt del TLB
MISS: Zugriff auf page table
Zugriff auf Page Table
Seitentabelleregister zeigt auf die Basisadresse der Page Table des aktuellen Prozesses.
Unterschied SymLinks, Hard Links
Hard Links
Bei Hard Links verweisen mehrere Einträge in Verzeichnissen gleichermaßen auf eine gemeinsame I Node
Sym Links
Beinhaltet einen Pfad auf eine weitere Datei.
Sobald die Zieldatei aber gelöscht/verschoben wird, zeigt der Link auf eine
nicht-existente Datei und ist somit invalide
Name de un Datei donde esta?
No esta en el I-Node
Esta en el Verzeichnis. Damit können verschiedene Hardlinks verschiedene Namen haben, obwohl sie sich eine I-Node teilen.
Welche Felder ändern diese Befehlen?
- cat: atime
- chmod: Mode: Rechte, ctime
- chown: Besitzer, Gruppe, ctime
- touch: atime, mtime, ctime
- ln: links_count, ctime
(crea un hardlink, que apunta al mismo inode de file.txt)
ln file.txt hardlink.txt
Superblock
Superblock: Enthält Informationen wie Anzahl der Blöcke.
Alle nötigen Informationen über das Dateisystem allgemein.
Speicherverwaltung (Dateisysteme)
o File Allocation Table (FAT): Zeiger werden zentral verwaltet.
o i-Nodes: Flexibler Zugriff durch Indirektion (z. B. für große Dateien).
o Contiguous Allocation: Blöcke werden zusammenhängend gespeichert (gut für CDs/DVDs).
nachteil: externe Fragmentierung
vorteil: gut performance bei random access
o Linked List Allocation: Zeiger verbinden die Blöcke (Nachteil: langsamer Zugriff).
nachteil: niedrigere perfomance bei random access (um Block n zu finden, müssen die ersten n-1 Blöcke gelesen werden)
Zeiger auf dem nächsten Block nimmt Platz im Block ein
vorteil: keine externe Fragmentierung
Journaling Dateisysteme
Änderungen werden vor der Ausführung im Journal protokolliert.
Bei Abstürzen können Änderungen anhand des Journals rekonstruiert werden.
Virtual File System (VFS)
Schnittstelle für unterschiedliche Dateisysteme (z. B. POSIX-API).
Klassifikation von E/A Geräte
Blockorientiert (Festplatte, SSD)
-random access auf jeden block möglich
-inhalte sind adressierbar
Zeichenorientiert(Tastatur, Maus, Drucker)
-serieller Datentransfer
-Inhalte nicht adressierbar
-Übertragung erfolgt in Zeichenströme
Gerätcontroller
besitzt Hardware-Schnittstelle zum Gerät
Aufgaben
-Daten puffern
-Interrupts melden
-Kommunikation mit CPU (Controller besitzen Register)
-Steuerung der beweglichen Hardware (Lesekopf)
Gerätreiber
software, driver
-Initialisieren der Hardware
-Melden von Gerätefehlern
-Interrupt handling
-Übersetzen von gerätunabhängigen auf gerätespezifische Operationen
E/A Methoden
(Datenaustausch mit dem Controller)
Programmed I/O
-CPU steuert den gesamten E/A Vorgang selbst
-Busy Waiting (CPU kann währenddessen keine anderen Aufgaben übernehmen)
-Effektiv für kleine Datenmengen
Interrupt basierte E/A
-Gerät signalisiert E/A Abschluss mit Interrupt
-Betriebssystem führt eine Unterbrechungsroutine aus
-CPU kann in der Zwischenzeit andere Aufgaben übernehmen.
Direct Memory Access (DMA)
-Entlastung der CPU durch direkten Speicherzugriff
-DMA Controller übernimmt die Übertragung
-Effizienter als PIO oder als reine Interrupt-Steuerung
Pufferung von Daten
Zweck: Entkopplung zwischen Benutzerprozess und Gerät
- Arten der Pufferung:
o Kein Puffer: Prozess muss direkt auf Gerät warten
o Einfacher Puffer: Gerät füllt Puffer, Prozess entnimmt Daten
o Doppelter Puffer: Während ein Puffer gefüllt wird, wird der andere geleert.
o Ringpuffer: Mehrere Puffer für kontinuierliche Verarbeitung
RAID
o RAID 0: Striping, keine Redundanz
o RAID 1: Spiegelung (Daten auf zwei Platten)
o RAID 5: Striping mit Paritätsinformationen
o RAID 6: Doppelte Parität für erhöhte Sicherheit
RAID 10: Striping und Spiegelung
ABI
Interface zwischen Anwendungen und dem Betriebssystem
-besteht aus dem System Call Interface
-User ISA
ISA
Interface zwischen BS und Hardware
besteht aus
System ISA
User ISA
Beispiele für Virtualisierung
Virtuelle Maschinen (VMs): simulieren ein komplettes Betriebssystem (z.B Windows läuft auf einem Linux-Host)
Container (Docker, Kubernetes) Isolieren Anwendungen in kleinen, portablen Umgebungen
Speicher, -Netzwerk Virtualisierung: virtuelle Netzwerke und Speicherbereiche ohne physische Geräte.
Arten der Virtualisierung
Container
-OS Level Virtualization
(Container)
Anstatt eine komplette VM zu starten, werden nur einzelne Anwendungen isoliert.
(D.h. BS wird nicht virtualisiert)
Kernel wird zwischen Host und Containern geteilt
schnell, leichtgewicht, ideal microservices
Bestandteile:
Linux Namespaces, cgroups, seccomp