Anmelden
Computerarchitektur und Betriebssysteme
Aufgabenverzeichnis
Aufg. 1:
Größer als
2.1.3.1.2 Rechenwerk
Aufg. 2:
Speicherzelle 3
2.1.3.2 Speicherwerk
Aufg. 3:
Von dezimal zu binär
2.1.3.2 Speicherwerk
Aufg. 4:
Die 4 GiB-Grenze
2.1.3.2 Speicherwerk
Aufg. 5:
Der Weg der Daten
2.1.3.2 Speicherwerk
Aufg. 6:
Pfeilrichtungen
2.1.3.3 Ein- / Ausgabewerk
Aufg. 7:
Wettbewerb in deiner Lerngruppe
2.1.3.4 Gesamtbild eines Von-Neumann-Rechners
Aufg. 8:
Animation
2.1.3.6 Animation der Zusammenarbeit
Aufg. 9:
lda und sta
2.1.3.6 Animation der Zusammenarbeit
Aufg. 10:
Hellseher
2.1.3.6 Animation der Zusammenarbeit
Aufg. 11:
See How The CPU Works In One Lesson
2.1.3.6 Animation der Zusammenarbeit
Aufg. 12:
Visual 6502
2.1.3.6 Animation der Zusammenarbeit
Aufg. 13:
Flip-Flop I
2.1.5.1 Aufbau und Arbeitsweise eines Registers
Aufg. 14:
Flip-Flop II
2.1.5.1 Aufbau und Arbeitsweise eines Registers
Aufg. 15:
Flip-Flop III
2.1.5.1 Aufbau und Arbeitsweise eines Registers
Aufg. 16:
Simulationsframework Hades
2.1.5.1 Aufbau und Arbeitsweise eines Registers
Aufg. 17:
Forbidden (RS-Flip-Flop)
2.1.5.1 Aufbau und Arbeitsweise eines Registers
Aufg. 18:
Sum Program
2.2.1 Vom Quellcode zum Prozessor
Aufg. 19:
Count Program
2.2.1 Vom Quellcode zum Prozessor
Aufg. 20:
EQUAL-Befehl
2.2.1 Vom Quellcode zum Prozessor
Aufg. 21:
JUMP-Befehl
2.2.1 Vom Quellcode zum Prozessor
Aufg. 22:
Assembler-2-Hochsprache
2.2.1 Vom Quellcode zum Prozessor
Aufg. 23:
Speicherzellen für die Befehle
2.2.1 Vom Quellcode zum Prozessor
Aufg. 24:
Klassifizierungen
2.2.3 Befehlsformat
Aufg. 25:
Operand oder nicht?
2.2.3.1 Einadressformat
Aufg. 26:
Wenn der Operand keine Adresse ist
2.2.3.1 Einadressformat
Aufg. 27:
Entwicklung eines Befehlssatzes
2.2.3.5 Aufgaben & Co. zum Befehlsformat
Aufg. 28:
Nur sechs Bit
2.2.3.5 Aufgaben & Co. zum Befehlsformat
Aufg. 29:
Adressierungsarten
2.2.4 Adressierungsarten
Aufg. 30:
Finde es heraus
2.2.4.3 Direkte/absolute Adressierung
Aufg. 31:
Adressierungsarten
2.2.4.4 Registerindirekte Adressierung
Aufg. 32:
Programm-2-Prozess
2.2.5 Vom Programm zum Prozess
Aufg. 33:
VNA vs. Harvard
2.2.7 Aufgaben & Co. zu Prozessoren
Aufg. 34:
RISC vs. CISC
2.2.7 Aufgaben & Co. zu Prozessoren
Aufg. 35:
Welche Situation gilt?
2.3.2.1 Mehrere Prozesse gleichzeitig im Speicher
Aufg. 36:
Zusammenhang mit Basisregister
2.3.2.2 Swapping: Aus- und Einlagern von kompletten Prozessen
Aufg. 37:
Fragmentierter Hauptspeicher
2.3.2.2 Swapping: Aus- und Einlagern von kompletten Prozessen
Aufg. 38:
Zugriff auf freien Speicherbereich
2.3.3 Limitregister zum Speicherschutz
Aufg. 39:
Speicherbereich eines Prozesses vergrößern
2.3.3 Limitregister zum Speicherschutz
Aufg. 40:
Prüfe die Bedingungen!
2.3.4 Interrupt-Controller
Aufg. 41:
Schätze die Folgen ab!
2.3.4 Interrupt-Controller
Aufg. 42:
Wer wenn nicht das Steuerwerk?
2.3.4 Interrupt-Controller
Aufg. 43:
Vier Bit
2.3.4 Interrupt-Controller
Aufg. 44:
Weiter laufen lassen?
2.3.4.2 Speicherschutzverletzung
Aufg. 45:
Ausnahme und Interrupt
2.3.4.2 Speicherschutzverletzung
Aufg. 46:
Integration des Taktgebers
2.3.4.3 Quasi-gleichzeitige Ausführung mehrerer Prozesse
Aufg. 47:
Betriebssystem und Prozesse im Wechsel
2.3.4.3 Quasi-gleichzeitige Ausführung mehrerer Prozesse
Aufg. 48:
Lesen und/oder schreiben?
2.3.4.4.1 Allgemeiner Aufbau eines Controllers
Aufg. 49:
Alternative zum Warten?
2.3.4.4.3 Datentransfer und Interrupts
Aufg. 50:
Interrupt und die Register
2.3.4.4.3 Datentransfer und Interrupts
Aufg. 51:
Zwei Bit?
2.3.4.4.3 Datentransfer und Interrupts
Aufg. 52:
Mehrere Register je Typ
2.3.4.4.3 Datentransfer und Interrupts
Aufg. 53:
Mal wieder das Betriebssystem
2.3.4.4.3 Datentransfer und Interrupts
Aufg. 54:
Datentransfer (noch) ohne DMA
2.3.5 DMA-Controller
Aufg. 55:
Datentransfer mit DMA
2.3.5 DMA-Controller
Aufg. 56:
DMA und CPU
2.3.5 DMA-Controller
Aufg. 57:
Arten des DMA-Transfers
2.3.5 DMA-Controller
Aufg. 58:
Start- und Zieladresse ändern sich
2.3.5.1 Aufbau und Arbeitsweise eines DMA-Controllers
Aufg. 59:
DMA mit RAM und RAM?
2.3.5.1 Aufbau und Arbeitsweise eines DMA-Controllers
Aufg. 60:
Datentransfer mit DMA
2.3.5.1 Aufbau und Arbeitsweise eines DMA-Controllers
Aufg. 61:
Umweg über DMA-Controller
2.3.5.2 Direkt kann wirklich direkt bedeuten
Aufg. 62:
Eindeutig oder mehrdeutig?
2.3.6 MMU - Memory Management Unit
Aufg. 63:
Umrechnung und was noch?
2.3.6 MMU - Memory Management Unit
Aufg. 64:
Virtuelle Größen
2.3.6 MMU - Memory Management Unit
Aufg. 65:
Swapping bei virtueller Speicherverwaltung?
2.3.6 MMU - Memory Management Unit
Aufg. 66:
Was wäre wenn... (I)
3.1.3 Zwischen Benutzer und Hardware
Aufg. 67:
Was wäre wenn... (II)
3.1.3 Zwischen Benutzer und Hardware
Aufg. 68:
Treiber
3.1.3 Zwischen Benutzer und Hardware
Aufg. 69:
Datei nur exklusiv oder gemeinsam nutzbar?
3.1.5 Betriebsmittel sind Prozessen zugeordnet
Aufg. 70:
Welche weiteren Betriebsmittel?
3.1.5 Betriebsmittel sind Prozessen zugeordnet
Aufg. 71:
Liste von Systemaufrufen
3.1.10 Kernel-Mode, User-Mode und Systemaufrufe
Aufg. 72:
Wo ist der Systemaufruf?
3.1.10 Kernel-Mode, User-Mode und Systemaufrufe
Aufg. 73:
Sind Kontextwechsel positiv oder negativ?
3.2.3 Kontextwechsel
Aufg. 74:
Perfmon unter Windows
3.2.3.1 Die Statistik der Kontextwechsel unter Windows
Aufg. 75:
Vater- und Sohn-Variable
3.2.4.1 Fork
Aufg. 76:
fork gleich mehrmals
3.2.4.1 Fork
Aufg. 77:
Fork und DMA?
3.2.4.1 Fork
Aufg. 78:
Ein anderes Programm mittels fork starten
3.2.4.1 Fork
Aufg. 79:
Die Spalten der Prozesstabelle
3.2.5.2 Prozesskontrollblock unter Linux
Aufg. 80:
Merke dir den Zustand!
3.2.7 Prozesszustände
Aufg. 81:
Process Explorer unter Windows
3.2.8.1 Prozessverwaltung aus Admin-Sicht unter Windows
Aufg. 82:
Geschwindigkeitsvorteil
3.2.9 Threads
Aufg. 83:
Vor- und Nachteil des Betriebsmittelzugriffs
3.2.9 Threads
Aufg. 84:
Threadzustände
3.2.9 Threads
Aufg. 85:
Unerwünschte Nebeneffekte bei mehreren Threads
3.2.9 Threads
Aufg. 86:
Starte die Threads!
3.2.9.1 Java-Beispiel mit Threads
Aufg. 87:
Ein Dispatcher muss tun, was ein Dispatcher tun muss...
3.2.10 Scheduling
Aufg. 88:
Früher als spätestens
3.2.10 Scheduling
Aufg. 89:
Der Nächste ist der Vorherige?
3.2.10 Scheduling
Aufg. 90:
Wenn ein Prozess blockiert
3.2.10 Scheduling
Aufg. 91:
Scheduling-Ziele
3.2.10.1 Scheduling-Ziele
Aufg. 92:
Ein Hauch von Texas
3.2.10.2 Scheduling-Verfahren
Aufg. 93:
FCFS animiert
3.2.10.2.1 First Come First Serve
Aufg. 94:
Interessante FCFS-Situation
3.2.10.2.1 First Come First Serve
Aufg. 95:
FCFS auf deinem Rechner
3.2.10.2.1 First Come First Serve
Aufg. 96:
SPN animiert
3.2.10.2.2 Shortest Job First
Aufg. 97:
Kurz oder lang
3.2.10.2.2 Shortest Job First
Aufg. 98:
Blockieren und Interrupts
3.2.10.2.2 Shortest Job First
Aufg. 99:
Erzeugt oder was?
3.2.10.2.2 Shortest Job First
Aufg. 100:
SJF auf deinem Rechner
3.2.10.2.2 Shortest Job First
Aufg. 101:
SRTN animiert
3.2.10.2.3 Shortest Remaining Time Next
Aufg. 102:
SJF vs. SRTN
3.2.10.2.3 Shortest Remaining Time Next
Aufg. 103:
Wie kurz bist du?
3.2.10.2.3 Shortest Remaining Time Next
Aufg. 104:
RR animiert
3.2.10.2.4 Round Robin
Aufg. 105:
Zu kurz oder zu lang
3.2.10.2.4 Round Robin
Aufg. 106:
RR und E/A-lastige Prozesse
3.2.10.2.4 Round Robin
Aufg. 107:
Verschiedene Prozesse mit gleicher Priorität
3.2.10.2.5 Priority Scheduling
Aufg. 108:
Was passiert bei niedriger Priorität?
3.2.10.2.5 Priority Scheduling
Aufg. 109:
Erweitere PS
3.2.10.2.5 Priority Scheduling
Aufg. 110:
Herauf statt herunter!
3.2.10.2.5 Priority Scheduling
Aufg. 111:
Scheduling-Kriterien
3.2.10.4 Vergleichskriterien
Aufg. 112:
Wann genau finden Kontextwechsel statt?
3.2.11.1.1 Nebenläufigkeit
Aufg. 113:
Gemeinsam genutzes Betriebsmittel
3.2.11.1.2 Race Conditions
Aufg. 114:
Kleiner Fehler bei den Erklärungen im Video
3.2.11.1.2 Race Conditions
Aufg. 115:
Abschnitte in Thread_B
3.2.11.1.3 Kritischer Abschnitt
Aufg. 116:
Viele andere Betriebsmittel
3.2.11.1.3 Kritischer Abschnitt
Aufg. 117:
Warum Systemaufrufe?
3.2.11.1.3 Kritischer Abschnitt
Aufg. 118:
Zwei Prozesse und kritische Abschnitte
3.2.11.1.3 Kritischer Abschnitt
Aufg. 119:
Die Bedeutung des Semikolons!
3.2.11.2.1 Aktives Warten mit while
Aufg. 120:
Aktives Warten implementieren
3.2.11.2.1 Aktives Warten mit while
Aufg. 121:
Warte aktiv!
3.2.11.2.1 Aktives Warten mit while
Aufg. 122:
Der Nachteil des aktiven Wartens
3.2.11.2.1 Aktives Warten mit while
Aufg. 123:
Kontextwechsel im ungünstigsten Moment
3.2.11.2.2 Das Problem des ungünstigsten Moments
Aufg. 124:
Mehrere ungünstigste Momente
3.2.11.2.2 Das Problem des ungünstigsten Moments
Aufg. 125:
Speicherzelle 13
3.2.11.2.3 Aktives Warten mit TSL
Aufg. 126:
XCHG bei Intel
3.2.11.2.3 Aktives Warten mit TSL
Aufg. 127:
Gilt der Nachteil noch?
3.2.11.2.3 Aktives Warten mit TSL
Aufg. 128:
Warum up() und down()?
3.2.11.3 Semaphore
Aufg. 129:
P() und V() sind atomar
3.2.11.3 Semaphore
Aufg. 130:
P() und V() und die Zustände
3.2.11.3 Semaphore
Aufg. 131:
V()-Operation und die Warteschlange
3.2.11.3 Semaphore
Aufg. 132:
Mutex in Action
3.2.11.3.1.1 Wechselseitiger Ausschluss
Aufg. 133:
Aktives Warten vs. Mutex
3.2.11.3.1.1 Wechselseitiger Ausschluss
Aufg. 134:
Mutex und Prozesse bei Wikipedia
3.2.11.3.1.1 Wechselseitiger Ausschluss
Aufg. 135:
Applet zum wechselseitigen Ausschluss
3.2.11.3.1.1 Wechselseitiger Ausschluss
Aufg. 136:
Applet zur Reihenfolgedurchsetzung
3.2.11.3.1.2 Reihenfolgedurchsetzung
Aufg. 137:
Reihenfolgedurchsetzung vs. Wechselseitiger Ausschluss
3.2.11.3.1.2 Reihenfolgedurchsetzung
Aufg. 138:
Applet zum Erzeuger- / Verbraucherproblem
3.2.11.3.2.1 Erzeuger- / Verbraucherproblem
Aufg. 139:
Applet zum Philisophenproblem
3.2.11.3.2.2 Philosophenproblem
Aufg. 140:
Deadlock-Philosophen
3.2.12 Deadlocks
Aufg. 141:
Applet zum Philisophenproblem
3.2.12 Deadlocks
Aufg. 142:
Deadlocks erkennen mit Hilfe eines Betriebsmittelgraphen
3.2.12.2 Deadlocks erkennen
Aufg. 143:
Zeichne den Betriebsmittelgraph und erkenne den Deadlock!
3.2.12.2 Deadlocks erkennen
Aufg. 144:
Was tun bei erkanntem Deadlock?
3.2.12.2 Deadlocks erkennen
Aufg. 145:
Wie oft nach einem Deadlock suchen?
3.2.12.2 Deadlocks erkennen
Aufg. 146:
Implementiere!
3.2.12.3 Deadlocks ignorieren
Aufg. 147:
Spooling
3.2.12.4 Deadlocks vermeiden
Aufg. 148:
Überweis' mal was
3.2.12.4 Deadlocks vermeiden
Aufg. 149:
Überweisen ohne Deadlock?
3.2.12.4 Deadlocks vermeiden
Aufg. 150:
IPC-Grundbegriffe
3.2.13 Interprozesskommunikation
Aufg. 151:
Lock
3.2.13.2 Zwei Prozesse kommunizieren über gemeinsame Speicherobjekte
Aufg. 152:
Shared Memory realisieren
3.2.13.3 Zwei Prozesse kommunizieren über Shared Memory
Aufg. 153:
Deine tägliche Socket-Dosis
3.2.13.5 Zwei Prozesse kommunizieren über Sockets
Aufg. 154:
Rahmen vs. Seite
3.3.1 Virtuelle Speicherverwaltung
Aufg. 155:
Rechne nach!
3.3.1 Virtuelle Speicherverwaltung
Aufg. 156:
Besonders schnell ist besonders wichtig!
3.3.1.1 Arbeitsweise der MMU
Aufg. 157:
Wenn du es umrechnen kannst, dann kannst du es auch verstehen!
3.3.1.2.1 Einstufige Seitentabellen
Aufg. 158:
Eine Seitentabelle hat es in sich
3.3.1.2.1 Einstufige Seitentabellen
Aufg. 159:
Nur 64 KiB RAM
3.3.1.2.1 Einstufige Seitentabellen
Aufg. 160:
Du bist jetzt die MMU
3.3.1.2.1 Einstufige Seitentabellen
Aufg. 161:
Swapping vs. Paging I
3.3.2 Swapping und Paging
Aufg. 162:
Swapping vs. Paging II
3.3.2 Swapping und Paging
Aufg. 163:
Paging und die Seitentabelle
3.3.2 Swapping und Paging
Aufg. 164:
Page Fault or No Page Fault?
3.3.2.1 Page Fault
Aufg. 165:
Was passiert bei einem Page fault?
3.3.2.1 Page Fault
Aufg. 166:
Wenn eine Seite Programmtext enthält
3.3.2.2.1 Was bei der Seitenersetzung passiert
Aufg. 167:
Wenn eine Seite Daten enthält
3.3.2.2.1 Was bei der Seitenersetzung passiert
Aufg. 168:
M-Bit beim Einlagern
3.3.2.2.2 Das Modifiziert-Bit
Aufg. 169:
Die MMU und Seitenersetzungsverfahren
3.3.2.2.3 Seitenersetzungsverfahren
Aufg. 170:
Implementiere den optimalen Seitenersetzungsalgorithmus
3.3.2.2.3.1 Optimaler Seitenersetzungsalgorithmus
Aufg. 171:
Optimales M-Bit
3.3.2.2.3.1 Optimaler Seitenersetzungsalgorithmus
Aufg. 172:
Lesen, schreiben, R-Bit?
3.3.2.2.3.2 NRU - Not Recently Used Algorithmus
Aufg. 173:
Vier Klassen ohne Seiten?
3.3.2.2.3.2 NRU - Not Recently Used Algorithmus
Aufg. 174:
Auch das M-Bit löschen?
3.3.2.2.3.2 NRU - Not Recently Used Algorithmus
Aufg. 175:
FIFO und die Seitentabelle
3.3.2.2.3.3 FIFO - First In First Out Algorithmus
Aufg. 176:
Angesprochen oder nicht?
3.3.2.2.3.4 Second Chance Algorithmus
Aufg. 177:
Wenn alle die zweite Chance nutzen
3.3.2.2.3.4 Second Chance Algorithmus
Aufg. 178:
Die 80/20-Regel und das Working Set
3.3.2.2.3.5 Working Set Algorithmus
Aufg. 179:
Realisiere Shared Memory
3.3.3 Shared Memory
Aufg. 180:
Weniger Seitenfehler durch Shared Memory?
3.3.3 Shared Memory
Aufg. 181:
Shared Memory mit Daten statt Programmtext
3.3.3 Shared Memory
Aufg. 182:
Überfliege erneut die Kommunikation
3.4 Geräteverwaltung
Aufg. 183:
Pfeilrichtungen und Kommunikationswege
3.4.1 Rolle der Geräteverwaltung
Aufg. 184:
Systemaufruf zwischen User- und Kernel-Mode
3.4.1 Rolle der Geräteverwaltung
Aufg. 185:
Pfeil des Systemaufrufs
3.4.1 Rolle der Geräteverwaltung
Aufg. 186:
Du hast doch schon mal einen Treiber installiert, oder?
3.4.3 Gerätetreiber
Aufg. 187:
Treiberausführung im User- oder im Kernel-Mode?
3.4.3 Gerätetreiber
Aufg. 188:
Befehle des NEC PD765 FDC
3.4.4.3 Bereitstellen einer Schnittstelle zum Geräte-Controller
Aufg. 189:
Several registers in a stack
3.4.4.3 Bereitstellen einer Schnittstelle zum Geräte-Controller
Aufg. 190:
Abwarten! - Und Tee trinken?
3.4.4.3 Bereitstellen einer Schnittstelle zum Geräte-Controller
Aufg. 191:
Interruptbehandlung als Tätigkeit
3.4.4.4 Interruptbehandlung für ein Gerät
Aufg. 192:
Nur der Treiber!
3.4.4.4 Interruptbehandlung für ein Gerät
Aufg. 193:
DMA und Interrupts - Wie war das nochmal?
3.4.4.4 Interruptbehandlung für ein Gerät
Aufg. 194:
Geräte und ihre Interrupts
3.4.4.4 Interruptbehandlung für ein Gerät
Aufg. 195:
Systemaufruf im Praxisbeispiel
3.4.5.1 Blockorientierte Geräte
Aufg. 196:
Prozesszustände im Praxisbeispiel
3.4.5.1 Blockorientierte Geräte
Aufg. 197:
Interrupt im Praxisbeispiel
3.4.5.1 Blockorientierte Geräte
Aufg. 198:
Just a simple assembler instruction
3.4.5.1 Blockorientierte Geräte
Aufg. 199:
CPU-Registerinhalte sichern im Praxisbeispiel
3.4.5.1 Blockorientierte Geräte
Aufg. 200:
Ein Mausklick und die Folgen
3.4.5.2 Zeichenorientierte Geräte
Aufg. 201:
Hier schreibt die Maus
3.4.5.2 Zeichenorientierte Geräte
Aufg. 202:
Geeignete Speichermedien
3.5.1 Datei
Aufg. 203:
CRUD für Verzeichnisse?
3.5.2 Dateisystem
Aufg. 204:
Setze die Datei zusammen!
3.5.5.1 FAT - File Allocation Table
Aufg. 205:
Lösche die Datei!
3.5.5.1 FAT - File Allocation Table
Aufg. 206:
Speichere eine neue Datei!
3.5.5.1 FAT - File Allocation Table
Aufg. 207:
Von-Neumann-Architektur
4.1 Aufgaben zum Kapitel Vom Anwender zur digitalen Schaltung
Aufg. 208:
Von-Neumann-Flaschenhals
4.1 Aufgaben zum Kapitel Vom Anwender zur digitalen Schaltung
Aufg. 209:
Von-Neumann-Zyklus
4.1 Aufgaben zum Kapitel Vom Anwender zur digitalen Schaltung
Aufg. 210:
8-Bit-Register
4.1 Aufgaben zum Kapitel Vom Anwender zur digitalen Schaltung
Aufg. 211:
Bitfolge in ein Register schreiben
4.1 Aufgaben zum Kapitel Vom Anwender zur digitalen Schaltung
Aufg. 212:
Rund um diese Komponente
4.1 Aufgaben zum Kapitel Vom Anwender zur digitalen Schaltung
Aufg. 213:
Flip-Flop
4.1 Aufgaben zum Kapitel Vom Anwender zur digitalen Schaltung
Aufg. 214:
Ermittle die Werte
4.1 Aufgaben zum Kapitel Vom Anwender zur digitalen Schaltung
Aufg. 215:
ADD im Einadressformat
4.2 Aufgaben zum Kapitel Prozessoren und ihre Befehle
Aufg. 216:
Dreiadressformat
4.2 Aufgaben zum Kapitel Prozessoren und ihre Befehle
Aufg. 217:
Entwicklung eines Befehlssatzes
4.2 Aufgaben zum Kapitel Prozessoren und ihre Befehle
Aufg. 218:
Adressierungen des Hauptspeichers
4.2 Aufgaben zum Kapitel Prozessoren und ihre Befehle
Aufg. 219:
Adressierungsarten
4.2 Aufgaben zum Kapitel Prozessoren und ihre Befehle
Aufg. 220:
Prozess
4.2 Aufgaben zum Kapitel Prozessoren und ihre Befehle
Aufg. 221:
Von-Neumann vs. Harvard
4.2 Aufgaben zum Kapitel Prozessoren und ihre Befehle
Aufg. 222:
Basis- und Limit-Register
4.3 Aufgaben zum Kapitel Weitere Komponenten der Computerarchitektur
Aufg. 223:
Interrupt-Gründe
4.3 Aufgaben zum Kapitel Weitere Komponenten der Computerarchitektur
Aufg. 224:
DMA
4.3 Aufgaben zum Kapitel Weitere Komponenten der Computerarchitektur
Aufg. 225:
Infos für den DMA-Controller
4.3 Aufgaben zum Kapitel Weitere Komponenten der Computerarchitektur
Aufg. 226:
DMA und Interrupts
4.3 Aufgaben zum Kapitel Weitere Komponenten der Computerarchitektur
Aufg. 227:
MMU
4.3 Aufgaben zum Kapitel Weitere Komponenten der Computerarchitektur
Aufg. 228:
Aufgabe der MMU
4.3 Aufgaben zum Kapitel Weitere Komponenten der Computerarchitektur
Aufg. 229:
Virtuelle Größen
4.3 Aufgaben zum Kapitel Weitere Komponenten der Computerarchitektur
Aufg. 230:
North- und Southbridge
4.3 Aufgaben zum Kapitel Weitere Komponenten der Computerarchitektur
Aufg. 231:
Betriebsmittel
4.4 Aufgaben zum Kapitel Einführung Betriebssysteme
Aufg. 232:
Kernel- und User-Mode
4.4 Aufgaben zum Kapitel Einführung Betriebssysteme
Aufg. 233:
Sinn von Kernel- und User-Mode
4.4 Aufgaben zum Kapitel Einführung Betriebssysteme
Aufg. 234:
Systemaufruf
4.4 Aufgaben zum Kapitel Einführung Betriebssysteme
Aufg. 235:
Prozesszustände
4.5.1 Aufgaben zu Prozesse und Threads
Aufg. 236:
Von 'rechnend' nach 'bereit'
4.5.1 Aufgaben zu Prozesse und Threads
Aufg. 237:
Rund um die Prozessbegriffe
4.5.1 Aufgaben zu Prozesse und Threads
Aufg. 238:
Kontextwechsel
4.5.1 Aufgaben zu Prozesse und Threads
Aufg. 239:
Prozesserzeugung unter Unix/Linux
4.5.1 Aufgaben zu Prozesse und Threads
Aufg. 240:
Prozesskontrollblock
4.5.1 Aufgaben zu Prozesse und Threads
Aufg. 241:
Alle Prozesskontrollblöcke
4.5.1 Aufgaben zu Prozesse und Threads
Aufg. 242:
Prozess und Thread
4.5.1 Aufgaben zu Prozesse und Threads
Aufg. 243:
Scheduler und Dispatcher
4.5.2 Aufgaben zum Scheduling
Aufg. 244:
Scheduling-Ziele
4.5.2 Aufgaben zum Scheduling
Aufg. 245:
Scheduling
4.5.2 Aufgaben zum Scheduling
Aufg. 246:
SJF und FCFS
4.5.2 Aufgaben zum Scheduling
Aufg. 247:
RR und FCFS
4.5.2 Aufgaben zum Scheduling
Aufg. 248:
(Non-) preemptive
4.5.2 Aufgaben zum Scheduling
Aufg. 249:
Preemptive oder non-preemptive
4.5.2 Aufgaben zum Scheduling
Aufg. 250:
Scheduling für P1 bis P5
4.5.2 Aufgaben zum Scheduling
Aufg. 251:
Scheduling mit Priorität
4.5.2 Aufgaben zum Scheduling
Aufg. 252:
Kritischer Abschnitt
4.5.3 Aufgaben zur Synchronisation
Aufg. 253:
Aktives Warten mit while
4.5.3 Aufgaben zur Synchronisation
Aufg. 254:
Nachteil des aktiven Wartens
4.5.3 Aufgaben zur Synchronisation
Aufg. 255:
TSL
4.5.3 Aufgaben zur Synchronisation
Aufg. 256:
Aufgabe des TSL-Befehls
4.5.3 Aufgaben zur Synchronisation
Aufg. 257:
Problemlöser TSL
4.5.3 Aufgaben zur Synchronisation
Aufg. 258:
Semaphor
4.5.3 Aufgaben zur Synchronisation
Aufg. 259:
Mutex
4.5.3 Aufgaben zur Synchronisation
Aufg. 260:
Arbeitsweise eines Mutex
4.5.3 Aufgaben zur Synchronisation
Aufg. 261:
Arbeitsweise eines Zählsemaphors
4.5.3 Aufgaben zur Synchronisation
Aufg. 262:
Aktiv wartender Semaphor?
4.5.3 Aufgaben zur Synchronisation
Aufg. 263:
Ein Abend an der Bar
4.5.3 Aufgaben zur Synchronisation
Aufg. 264:
Deadlock
4.5.4 Aufgaben zu Deadlocks
Aufg. 265:
Deadlock-Beispiel
4.5.4 Aufgaben zu Deadlocks
Aufg. 266:
Betriebsmittelgraph
4.5.4 Aufgaben zu Deadlocks
Aufg. 267:
Bedingungen nach Coffman
4.5.4 Aufgaben zu Deadlocks
Aufg. 268:
Auszahlung mit Limit
4.5.4 Aufgaben zu Deadlocks
Aufg. 269:
Swapping und Paging
4.6 Aufgaben zum Kapitel Speicherverwaltung
Aufg. 270:
Optimale Seitenersetzung
4.6 Aufgaben zum Kapitel Speicherverwaltung
Aufg. 271:
LRU und NRU
4.6 Aufgaben zum Kapitel Speicherverwaltung
Aufg. 272:
Arbeitsweise LRU
4.6 Aufgaben zum Kapitel Speicherverwaltung
Aufg. 273:
Arbeitsweise NRU
4.6 Aufgaben zum Kapitel Speicherverwaltung
Aufg. 274:
Spalten der Seitentabelle bei NRU
4.6 Aufgaben zum Kapitel Speicherverwaltung
Aufg. 275:
Umstände beim Seitenfehler
4.6 Aufgaben zum Kapitel Speicherverwaltung
Aufg. 276:
Auslagern bei NRU
4.6 Aufgaben zum Kapitel Speicherverwaltung
Aufg. 277:
Virtuelle Speicherverwaltung
4.6 Aufgaben zum Kapitel Speicherverwaltung
Aufg. 278:
Speicher und Seitentabellen
4.6 Aufgaben zum Kapitel Speicherverwaltung
Aufg. 279:
Geräte
4.7 Aufgaben zum Kapitel Geräteverwaltung
Aufg. 280:
Zusammenspiel
4.7 Aufgaben zum Kapitel Geräteverwaltung
Aufg. 281:
Aufgaben eines Treibers
4.7 Aufgaben zum Kapitel Geräteverwaltung
Aufg. 282:
Treiber-Hersteller
4.7 Aufgaben zum Kapitel Geräteverwaltung
Aufg. 283:
Gefährlicher Treiber
4.7 Aufgaben zum Kapitel Geräteverwaltung
Aufg. 284:
ISR und Registerinhalte
4.7 Aufgaben zum Kapitel Geräteverwaltung
Aufg. 285:
Block- vs. zeichenorientiert
4.7 Aufgaben zum Kapitel Geräteverwaltung
Aufg. 286:
Beispiele für block- und zeichenorientiert
4.7 Aufgaben zum Kapitel Geräteverwaltung
Aufg. 287:
Zusammenspiel
4.7 Aufgaben zum Kapitel Geräteverwaltung
Aufg. 288:
CRUD
4.8 Aufgaben zum Kapitel Dateiverwaltung
Aufg. 289:
Dateisysteme
4.8 Aufgaben zum Kapitel Dateiverwaltung
Aufg. 290:
4.8 Aufgaben zum Kapitel Dateiverwaltung
Aufg. 291:
FAT
4.8 Aufgaben zum Kapitel Dateiverwaltung
Aufg. 292:
NTFS
4.8 Aufgaben zum Kapitel Dateiverwaltung
Aufg. 293:
Arbeiten mit der FAT
4.8 Aufgaben zum Kapitel Dateiverwaltung
Inhalt
Computerarchitektur und Betriebssysteme
1
Motivation
1.1
Hinweise für Studierende
1.2
Hinweise für Experten
1.3
Copyright
2
Computerarchitektur
2.1
Vom Anwender zur digitalen Schaltung
2.1.1
Erstmal aufschrauben
2.1.2
Von-Neumann-Rechner
2.1.2.1
Von-Neumann-Architektur
2.1.2.2
Von-Neumann-Flaschenhals
2.1.3
Komponenten eines Von-Neumann-Rechners
2.1.3.1
Zentraleinheit / CPU
2.1.3.1.1
Steuerwerk / Leitwerk
2.1.3.1.2
Rechenwerk
2.1.3.2
Speicherwerk
2.1.3.3
Ein- / Ausgabewerk
2.1.3.4
Gesamtbild eines Von-Neumann-Rechners
2.1.3.5
Von-Neumann-Zyklus
2.1.3.6
Animation der Zusammenarbeit
2.1.4
Eigenschaften eines Von-Neumann-Rechners
2.1.5
Digitale Schaltungen
2.1.5.1
Aufbau und Arbeitsweise eines Registers
2.1.5.2
Aufbau und Arbeitsweise des Speicherwerks
2.1.5.3
Aufbau und Arbeitsweise der ALU
2.1.5.4
Aufbau und Arbeitsweise eines Busses
2.1.6
Gatter
2.2
Prozessoren und ihre Befehle
2.2.1
Vom Quellcode zum Prozessor
2.2.2
Befehlssatz
2.2.3
Befehlsformat
2.2.3.1
Einadressformat
2.2.3.2
Zweiadressformat
2.2.3.3
Dreiadressformat
2.2.3.4
Das Adressformat und der Von-Neumann-Zyklus
2.2.3.5
Aufgaben & Co. zum Befehlsformat
2.2.4
Adressierungsarten
2.2.4.1
Unmittelbare Adressierung
2.2.4.2
Registeradressierung
2.2.4.3
Direkte/absolute Adressierung
2.2.4.4
Registerindirekte Adressierung
2.2.4.5
Indizierte Adressierung mit Verschiebung
2.2.5
Vom Programm zum Prozess
2.2.6
Gesamtbild der Programmausführung
2.2.7
Aufgaben & Co. zu Prozessoren
2.3
Weitere Komponenten der Computerarchitektur
2.3.1
Stackregister
2.3.2
Basisregister
2.3.2.1
Mehrere Prozesse gleichzeitig im Speicher
2.3.2.2
Swapping: Aus- und Einlagern von kompletten Prozessen
2.3.3
Limitregister zum Speicherschutz
2.3.4
Interrupt-Controller
2.3.4.1
Gründe für eine Interrupt-Auslösung
2.3.4.2
Speicherschutzverletzung
2.3.4.3
Quasi-gleichzeitige Ausführung mehrerer Prozesse
2.3.4.4
Kommunikation mit E/A-Geräten
2.3.4.4.1
Allgemeiner Aufbau eines Controllers
2.3.4.4.2
Zeit und Kosten machen den Unterschied
2.3.4.4.3
Datentransfer und Interrupts
2.3.5
DMA-Controller
2.3.5.1
Aufbau und Arbeitsweise eines DMA-Controllers
2.3.5.2
Direkt kann wirklich direkt bedeuten
2.3.6
MMU - Memory Management Unit
2.3.7
Moderne Bussysteme
2.4
Fazit Computerarchitektur
3
Betriebssysteme
3.1
Einführung Betriebssysteme
3.1.1
Geschichtlicher Überblick zu Betriebssystemen
3.1.2
Nur ein Prozessor mit einem Kern
3.1.3
Zwischen Benutzer und Hardware
3.1.4
Betriebsmittel
3.1.5
Betriebsmittel sind Prozessen zugeordnet
3.1.6
Zentrale Aufgabe eines Betriebssystems
3.1.7
Betriebssystemarchitekturen
3.1.8
Betriebssystemarten
3.1.9
Vom Batch-Job zum Multitasking
3.1.10
Kernel-Mode, User-Mode und Systemaufrufe
3.2
Prozessverwaltung
3.2.1
Prozess
3.2.2
Prozesskontext
3.2.3
Kontextwechsel
3.2.3.1
Die Statistik der Kontextwechsel unter Windows
3.2.3.2
Die Statistik der Kontextwechsel unter Linux
3.2.4
Prozesse erzeugen
3.2.4.1
Fork
3.2.4.2
CreateProcess
3.2.5
Prozesskontrollblock
3.2.5.1
Prozesskontrollblock unter Windows
3.2.5.2
Prozesskontrollblock unter Linux
3.2.6
Prozesstabelle
3.2.7
Prozesszustände
3.2.8
Verwalten von Prozessen
3.2.8.1
Prozessverwaltung aus Admin-Sicht unter Windows
3.2.8.2
Prozessverwaltung aus Admin-Sicht unter Linux
3.2.9
Threads
3.2.9.1
Java-Beispiel mit Threads
3.2.9.2
Prozesse und Threads unter Windows
3.2.9.3
Prozesse und Threads unter Unix und Linux
3.2.10
Scheduling
3.2.10.1
Scheduling-Ziele
3.2.10.2
Scheduling-Verfahren
3.2.10.2.1
First Come First Serve
3.2.10.2.2
Shortest Job First
3.2.10.2.3
Shortest Remaining Time Next
3.2.10.2.4
Round Robin
3.2.10.2.5
Priority Scheduling
3.2.10.2.6
Weitere Verfahren
3.2.10.3
Scheduling in gängigen Betriebssystemen
3.2.10.4
Vergleichskriterien
3.2.11
Synchronisation
3.2.11.1
Grundlegende Begriffsdefinitionen zur Synchronisation
3.2.11.1.1
Nebenläufigkeit
3.2.11.1.2
Race Conditions
3.2.11.1.3
Kritischer Abschnitt
3.2.11.2
Aktives Warten
3.2.11.2.1
Aktives Warten mit while
3.2.11.2.2
Das Problem des ungünstigsten Moments
3.2.11.2.3
Aktives Warten mit TSL
3.2.11.3
Semaphore
3.2.11.3.1
Mutex
3.2.11.3.1.1
Wechselseitiger Ausschluss
3.2.11.3.1.2
Reihenfolgedurchsetzung
3.2.11.3.2
Zählsemaphor
3.2.11.3.2.1
Erzeuger- / Verbraucherproblem
3.2.11.3.2.2
Philosophenproblem
3.2.11.4
Monitore
3.2.11.5
Zusammenfassung Synchronisation
3.2.11.6
Synchronisationstechniken moderner Betriebssysteme
3.2.11.7
Synchronisationsmechanismen in Programmiersprachen
3.2.12
Deadlocks
3.2.12.1
Vier Bedingungen nach Coffman
3.2.12.2
Deadlocks erkennen
3.2.12.3
Deadlocks ignorieren
3.2.12.4
Deadlocks vermeiden
3.2.12.5
Deadlocks verhindern
3.2.12.6
Deadlock-Fazit
3.2.13
Interprozesskommunikation
3.2.13.1
Zwei Threads kommunizieren über gemeinsame Variablen
3.2.13.2
Zwei Prozesse kommunizieren über gemeinsame Speicherobjekte
3.2.13.3
Zwei Prozesse kommunizieren über Shared Memory
3.2.13.4
Zwei Prozesse kommunizieren über Pipes
3.2.13.5
Zwei Prozesse kommunizieren über Sockets
3.2.13.6
Interprozesskommunikation-Fazit
3.3
Speicherverwaltung
3.3.1
Virtuelle Speicherverwaltung
3.3.1.1
Arbeitsweise der MMU
3.3.1.2
Seitentabellen
3.3.1.2.1
Einstufige Seitentabellen
3.3.1.2.2
Mehrstufige Seitentabellen
3.3.2
Swapping und Paging
3.3.2.1
Page Fault
3.3.2.2
Seitenersetzung
3.3.2.2.1
Was bei der Seitenersetzung passiert
3.3.2.2.2
Das Modifiziert-Bit
3.3.2.2.3
Seitenersetzungsverfahren
3.3.2.2.3.1
Optimaler Seitenersetzungsalgorithmus
3.3.2.2.3.2
NRU - Not Recently Used Algorithmus
3.3.2.2.3.3
FIFO - First In First Out Algorithmus
3.3.2.2.3.4
Second Chance Algorithmus
3.3.2.2.3.5
Working Set Algorithmus
3.3.3
Shared Memory
3.3.4
Speicherverwaltung moderner Betriebssysteme
3.3.4.1
Speicherverwaltung unter Linux
3.3.4.2
Speicherverwaltung in Windows
3.3.4.3
Speicherverwaltung unter Android
3.4
Geräteverwaltung
3.4.1
Rolle der Geräteverwaltung
3.4.2
Abhängig und gleichzeitig unabhängig
3.4.3
Gerätetreiber
3.4.4
Aufgaben eines Treibers
3.4.4.1
Initialisierung des Geräte-Controllers
3.4.4.2
Gerät dem Betriebssystem bekannt machen
3.4.4.3
Bereitstellen einer Schnittstelle zum Geräte-Controller
3.4.4.4
Interruptbehandlung für ein Gerät
3.4.4.5
Bereitstellen einer Schnittstelle zur Geräteverwaltung
3.4.4.6
Pufferung von Daten
3.4.4.7
Koordination nebenläufiger Zugriffe auf ein Gerät
3.4.5
Geräteklassen
3.4.5.1
Blockorientierte Geräte
3.4.5.2
Zeichenorientierte Geräte
3.4.5.3
Sonstige Geräte
3.4.6
Memory-Mapped-I/O
3.4.7
DMA - Direct Memory Access
3.4.8
Windows-Treiber auf GitHub
3.5
Dateiverwaltung
3.5.1
Datei
3.5.2
Dateisystem
3.5.3
Aufgaben eines Dateisystems
3.5.4
Dateisystemkonzepte
3.5.5
Von Windows unterstützte Dateisysteme
3.5.5.1
FAT - File Allocation Table
3.5.5.2
NTFS - New Technology File System
4
Aufgaben zur Prüfungsvorbereitung
4.1
Aufgaben zum Kapitel Vom Anwender zur digitalen Schaltung
4.2
Aufgaben zum Kapitel Prozessoren und ihre Befehle
4.3
Aufgaben zum Kapitel Weitere Komponenten der Computerarchitektur
4.4
Aufgaben zum Kapitel Einführung Betriebssysteme
4.5
Aufgaben zum Kapitel Prozessverwaltung
4.5.1
Aufgaben zu Prozesse und Threads
4.5.2
Aufgaben zum Scheduling
4.5.3
Aufgaben zur Synchronisation
4.5.4
Aufgaben zu Deadlocks
4.6
Aufgaben zum Kapitel Speicherverwaltung
4.7
Aufgaben zum Kapitel Geräteverwaltung
4.8
Aufgaben zum Kapitel Dateiverwaltung
5
Logbuch
5.1
Jahr 2013
5.2
Jahr 2014
5.3
Jahr 2015
5.4
Jahr 2016
6
Anhang
6.1
Zweier-Potenzen
6.2
Bits und Bytes
6.3
GiB, MiB, KiB im Vergleich zu GB, MB, KB
6.4
Java-Applets
6.5
Inhalt dieses LOOPs ausdrucken
6.6
Impressum
Abbildungsverzeichnis
Medienverzeichnis
Listingverzeichnis
Aufgabenverzeichnis
Literaturverzeichnis
Index
Export
Als PDF herunterladen