Definitionen: - Wortlaut egal, wesentliche Kernpunkte sollten stimmen
- Keine bestimmten Definitionen
- Betriebssystem-Definition!
Funktionale Funktionen der OS: - z.B. Verwaltung von Ressourcen
Klassifikation von Betriebssymittel: - (z.B. Was ist denn ein lokales/verteiltes Betriebsmittel?)
###KEINE HISTORIE!
Frühere Betriebsarten, (Batch-Process, Time-Sharing, Merkmale, Scheduling, Transaktionsbetrieb, Echtheitsbetrieb)
Hardwareklassifikationen nur verstehen, nicht auswendig lernen.
Schichtenmodel: Ein einfaches Rechnersystem. (Seite 22)
###KEIN konkreter Rechneraufbau
Betriebssystemarchitekturen (Schichtenmodell)
OS-Kern: Was ist der Kern? Was beschreibt er? "Geben sie drei der Dienste des OS-Kerns an"
Mikrokern: Designprinzip, Funktionalität, Anforderungen (User Modus!)
###KEIN Unix/Linux/Windows-Schichtenmodell!
Grundsätzliche Designprinzipien
Wichtig Linux: Zwei Modi (User, Kernel)
Virtuelle Maschine: (Was macht man? Was ist es? siehe Bild, Seite 3
Verteiltes System: Funktionalität
----------------------------------------------------------------------------------------------------------------
Zentrale Kapitel:
Prozesse und Threads:
Was ist ein Prozess / Warteschlangenmodell (auch selber aufzeichnen (Skizze (=zwei Stati..)))
Prozessscheduling (Prozess-Diagramm)
Drei Prozesszustände erklären (Seite 6) (Rechenbereit, Blockiert, Rechnend)
Abstraktes Prozessmodel: NICHT die Definition, sondern Anwenden!
Prozesse und Betriebsmittel: (Wichtig: Was ist ein Prozesskontex? => Unterschied Prozesse und Threads)
Bestandteile eines Prozess
Kontextumschaltung (User-Kernel-Mode, grob)
fork(): Grob!
### Kein Realitätsnahes UNIX-Prozesssmodel
Keine ProzessID merken
### KEIN Linux-Prozessbaum,
ABER Prozessbaum-Konzept verstehen
Threads anschauen. (Was ist ein Thread?)
Falls Programmieraufgabe drankommt: Syntaktische Fehler werden kaum bewertet (Ausser Blödsinn)
Automaten, Funktionsweise
------------------------------------------------
Scheduling:
Überlegen: Busy Waiting & Sleep (Aktiv warten = verschwendung)
Realisierung (Zeichnung)
preemitves Scheduling
Scheduling Kritierien, Optimierungsziele (verschiedene, aber nicht alle Auswendig wissen (nur ein paar))
z.B.: Fairness und Durchlaufzeit sind konkurierend
z.B.: fifo ist fair
Wichtig: verfahren für Batch-ortientierte Prozesse: FIFO, SJF, SRT
Was gibt's? Was tun sie?
Diagramme!
Vorteile, Nachteile
WICHTIG: Schedular spielen
Mit Klassischem Linux: 'Etwas anfangen', aber nicht 'wiedergeben'
z.B. Round Robing -> Konsequenz
Dynmaishe Piroritätsberechnung
### KEIN Beispiel Unix-Scheduling
Andahlschm Gesetz: Folgerungen, Angewandt, nicht nur Gsésetzmäßigkeiten
Große Anzahl an Prozessoren kann helfen
Warteschlangentheorie: Grob verstehen
Was bedeutet es, was ist es?
Markov-Verteilung, Kendell
Satz von Wittel erklären, aber keine Herleitung (Geringe Wahrscheinlichkeit)
Beispieö: Exponential-Verteilung
-----------------------------------------------------------------------------------------------------------------
Synchronisation:
Kritischer Abschnitt, Mutex
###KEINE Algorithmen auswendig lernen
Bekommen Algorithmus: Frage: Warum geht es nicht?
###KEIN Satz: Der wechseönede Ausschluss ist gegeben.. Seite 19
Semaphore: Was sind Semaphore?
P/V-Operationen
Wie funktioniert ein Semaphore
Wie implementier ich SP im Betriebssystem (Bei mehreren Prozessoren (test and set lock))
Monitor: Was ist ein Monitor?
Was bedeutet er?
Erzeuger-Verbraucher-Problem mit Semaphoren
Dead-Lock: Was ist ein Deadlock?
Wie ist er gekennzeichnet, wie könnte ich ihn erkennen (Betriebsmittel aufstellen)
Verständnissaufgabe: Privority-Inversion: Was ist es?
Synchronisationstechniken bei Betriebssystem
###nicht Seite 70-74, konkrete Linux-Windows-Syntax
Was gibt's bei Windows für Semaphore? Grob
Java-Sprachelemente zur Synchonisation
Gefahr: Nur wo Sync draufsteht, ist auch Sync drin. Falls nicht => assynchron, kann zerstören
--------------------------------------------------------------------------------------
Kommunikation:
Blockierung: Synchron/Asynchron
Was bedeutet (A)synchrone Kommunikation
Shared Memory
Was ist eine Pipe?
### Keine Programmcode
'Bildchen' lernen, Seite 16
###KEIN ISO/OSI-Referenzmodel LERNEN!!!!
Speicherverwaltung:
Warum gibt es Hirachie?
### Keine exakten Zahlen
Was ist Speicherverwaltung? Lokalitätsprinzip,
Machanismen der Speicherverwaltung
Speichervewaltung in festen Partitionen
Virtueller Speicher? Was ist es? Wie funktioniert es? Was ist eine Adresskonvertierung?
Verdrängungsstrategie, Aufräumstrategie
Was ist eine Seitentabelle? Wie funktioniert es? Wie funktionert es in der Tat?
Beispiele verstehen!
Berechnen 2^32 = 4 Gig
Mehrstufige Adressumsetzung? Wieso macht man es? Vor-Nachteile?
(Zugriff wird langsamer)
Cache-Speicher auf Seitentabelle
invertierte Seitentabelle, Prinzip verstehen
FIFO können
Wie funktioniert das Entladen? Methoden? Konsequenzen?
### KEINE WINOWS-SPEZIFISCHEN MODELLE!
-------------------------------------------------------------------------------------------------------------------------------------------------
IO:
### Keine Bussysteme
aber: Was ist ein hirarische Bussystem und wieso werden sie verwendet?
=> Hohe Bandbreite der Zugriffsgeschwindigkeit
### Keine Zahlen lernen
Schichtung der I/O-System erklären!
z.B. Treiber: Wieso ein Treiber?
Warum sind so problematisch?
Wie funktionieren Festplatten? Grob: Aufteilung, logische Adressierung
logische Adressierungmodel verstehen
Dateisystem: Was macht es? Was gibt es für Arten?
Hirarchisches Filesystem
Blocksystem, wieso macht es Sinn?
NFS
RAID-Systeme: Was ist ein RAID-System, Warum macht man's? Redundanz und Zugrissgeschwindigkeit