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