Coconote
AI notes
AI voice & video notes
Export note
Try for free
Betriebssysteme - Speicherverwaltung und Interprozesskommunikation
Jul 8, 2024
Betriebssysteme - Speicherverwaltung und Interprozesskommunikation
Ankündigungen
Studienleistungen
Aufgabenblöcke 1.0 bis 1.2 und 3 + A4
Bestehensgrenze für Aufgabenblock 1.0 bis 2 reduziert von 15 auf 10 Punkte
Kommunikationsprobleme zu Semesterbeginn: Aufgabe 0 wurde oft nicht abgegeben
Zweiter Aufgabenblock (A3 und A4): Bestehensgrenze bleibt bei 10 von 20 Punkten
Virtuelle Meetingräume
Meetingräume für Übungen umgezogen
Nutzung des Fachschaftsservers ermöglicht
Neue Raumadressen auf der Betriebssystem-Webseite
Klausurtermine
Klausurtermine bleiben unverändert
31.07. und 21.09.
Änderung der Uhrzeit: Nebenprüfung am 21.09. jetzt um 14 Uhr
Wöchentliche Hinweise
Hackathons: Empfehlung, diese zu nutzen, bei Schwierigkeiten mit Aufgaben
Fragestunde monatlich um 15:15 Uhr
Letzte Sitzung: Interprozesskommunikation (IPC)
Nachrichtenbasierte Primitive
Unterschiede in Synchronisation und Adressierung
Lokale IPC unter Unix: Signale, Pipes (eindirektional und gepuffert), und Message Queues
Netzwerkbasierte IPC: Sockets (bidirektional und gepuffert)
Speicherverwaltung
Speicherverwaltung und Hauptaufgaben
Dynamische Speicherzuteilung
Schutz des Speichers
Speicherknappheit handhaben: Ein- und Auslagern von Prozessen
Speicherzuteilungsstrategien
Platzierungsstrategien
: Wo wird neuer Speicher zugeteilt?
First Fit
Next Fit/Rotating First Fit
Best Fit
Worst Fit
Ladestrategien
: Wann wird ausgelagerter Speicher wieder eingelagert?
Ersetzungsstrategien
: Welche Speicherinhalte werden verdrängt?
Least Recently Used (LRU)
First In First Out (FIFO)
Frei-Speicher-Verwaltungsmethoden
Bitlisten
Vorteile und Nachteile
Verkettete Listen
Freie und belegte Speicherbereiche
Verwaltung im freien Speicher
Buddy-System
Segmentierung in Zweierpotenzen
Effiziente Verwaltung weniger kleinen Lücken
Verschnitt und Fragmentierung
Externer Verschnitt
: Speicher außerhalb der zugeteilten Bereiche
Interner Verschnitt
: Unbenutzter Speicher innerhalb der zugeteilten Bereiche
Fragmentierung durch dynamische Speicherzuteilungen
Kompaktieren als Lösung
Zeitliche Bindung von Adressen
Absolute und dynamische Adressierung
Absolute Bindung
: zur Übersetzungszeit
Statische Bindung
: zur Ladezeit
Dynamische Bindung
: zur Laufzeit (Hardwareunterstützung)
Beispiel Bindung und Laden von Programmen
Übersetzung von C Code zu Assembler und Maschinencode
Verlinkung (Linking) und Laden (Loading) von Objektdateien
Segmentbasierte Adressabildung
Logische vs. physische Adressen
Hardwareunterstützung durch Memory Management Unit (MMU)
Verwaltung durch Segmenttabellen
Gemeinsame Speichersegmente für Prozesse
Probleme und Lösungen der Segmentierung
Fragmentierung und Verschnitt
Kompaktieren von Speicher
Gemeinsame Nutzung von Segmente
Ausblick
Weitere Diskussion von seitenbasierter Adressabbildung in der nächsten Vorlesung
Dringende Fragen und Terminankündigungen
📄
Full transcript