Anmelden
Computerarchitektur und Betriebssysteme
Alle Seiten
Seiten anzeigen ab:
Seiten anzeigen bis:
Namensraum:
(Seiten)
Diskussion
Benutzer
Benutzer Diskussion
VFHCAB
VFHCAB Diskussion
Datei
Datei Diskussion
MediaWiki
MediaWiki Diskussion
Vorlage
Vorlage Diskussion
Hilfe
Hilfe Diskussion
Kategorie
Kategorie Diskussion
Widget
Widget Diskussion
Glossar
loop-glossary-namespace
Weiterleitungen ausblenden
Anwenden
Abhängig und gleichzeitig unabhängig
Adressierungsarten
Aktives Warten
Aktives Warten mit TSL
Aktives Warten mit while
Allgemeiner Aufbau eines Controllers
Anhang
Animation der Zusammenarbeit
Arbeitsweise der MMU
Aufbau und Arbeitsweise der ALU
Aufbau und Arbeitsweise des Speicherwerks
Aufbau und Arbeitsweise eines Busses
Aufbau und Arbeitsweise eines DMA-Controllers
Aufbau und Arbeitsweise eines Registers
Aufgaben & Co. zu Prozessoren
Aufgaben & Co. zum Befehlsformat
Aufgaben eines Dateisystems
Aufgaben eines Treibers
Aufgaben zu Deadlocks
Aufgaben zu Prozesse und Threads
Aufgaben zum Kapitel Dateiverwaltung
Aufgaben zum Kapitel Einführung Betriebssysteme
Aufgaben zum Kapitel Geräteverwaltung
Aufgaben zum Kapitel Prozessoren und ihre Befehle
Aufgaben zum Kapitel Prozessverwaltung
Aufgaben zum Kapitel Speicherverwaltung
Aufgaben zum Kapitel Vom Anwender zur digitalen Schaltung
Aufgaben zum Kapitel Weitere Komponenten der Computerarchitektur
Aufgaben zum Scheduling
Aufgaben zur Prüfungsvorbereitung
Aufgaben zur Synchronisation
Autoreninformation
Basisregister
Befehlsformat
Befehlssatz
Bereitstellen einer Schnittstelle zum Geräte-Controller
Bereitstellen einer Schnittstelle zur Geräteverwaltung
Betriebsmittel
Betriebsmittel sind Prozessen zugeordnet
Betriebssystemarchitekturen
Betriebssystemarten
Betriebssysteme
Bits und Bytes
Blockorientierte Geräte
Computerarchitektur
Computerarchitektur und Betriebssysteme
Copyright
CreateProcess
DMA-Controller
DMA - Direct Memory Access
Das Adressformat und der Von-Neumann-Zyklus
Das Modifiziert-Bit
Das Problem des ungünstigsten Moments
Datei
Dateisystem
Dateisystemkonzepte
Dateiverwaltung
Datentransfer und Interrupts
Deadlock-Fazit
Deadlocks
Deadlocks erkennen
Deadlocks ignorieren
Deadlocks verhindern
Deadlocks vermeiden
Die Statistik der Kontextwechsel unter Linux
Die Statistik der Kontextwechsel unter Windows
Digitale Schaltungen
Direkt kann wirklich direkt bedeuten
Direkte/absolute Adressierung
Dreiadressformat
Eigenschaften eines Von-Neumann-Rechners
Ein- / Ausgabewerk
Einadressformat
Einführung Betriebssysteme
Einstufige Seitentabellen
Erstmal aufschrauben
Erzeuger- / Verbraucherproblem
FAT - File Allocation Table
FIFO - First In First Out Algorithmus
Fazit Computerarchitektur
First Come First Serve
Fork
Gatter
Gerät dem Betriebssystem bekannt machen
Geräteklassen
Gerätetreiber
Geräteverwaltung
Gesamtbild der Programmausführung
Gesamtbild eines Von-Neumann-Rechners
Geschichtlicher Überblick zu Betriebssystemen
GiB, MiB, KiB im Vergleich zu GB, MB, KB
Grundlegende Begriffsdefinitionen zur Synchronisation
Gründe für eine Interrupt-Auslösung
Hinweise für Experten
Hinweise für Studierende
Impressum
Indizierte Adressierung mit Verschiebung
Inhalt dieses LOOPs ausdrucken
Initialisierung des Geräte-Controllers
Interprozesskommunikation
Interprozesskommunikation-Fazit
Interrupt-Controller
Interruptbehandlung für ein Gerät
Jahr 2013
Jahr 2014
Jahr 2015
Jahr 2016
Java-Applets
Java-Beispiel mit Threads
Kernel-Mode, User-Mode und Systemaufrufe
Kommunikation mit E/A-Geräten
Komponenten eines Von-Neumann-Rechners
Kontextwechsel
Koordination nebenläufiger Zugriffe auf ein Gerät
Kritischer Abschnitt
Limitregister zum Speicherschutz
Literatur
Logbuch
MMU - Memory Management Unit
Mehrere Prozesse gleichzeitig im Speicher
Mehrstufige Seitentabellen
Memory-Mapped-I/O
Moderne Bussysteme
Monitore
Motivation
Mutex
NRU - Not Recently Used Algorithmus
NTFS - New Technology File System
Nebenläufigkeit
Nur ein Prozessor mit einem Kern
Optimaler Seitenersetzungsalgorithmus
Page Fault
Philosophenproblem
Pipelining
Priority Scheduling
Prozess
Prozesse erzeugen
Prozesse und Threads unter Unix und Linux
Prozesse und Threads unter Windows
Prozesskontext
Prozesskontrollblock
Prozesskontrollblock unter Linux
Prozesskontrollblock unter Windows
Prozessoren und ihre Befehle
Prozesstabelle
Prozessverwaltung
Prozessverwaltung aus Admin-Sicht unter Linux
Prozessverwaltung aus Admin-Sicht unter Windows
Prozesszustände
Pufferung von Daten
Quasi-gleichzeitige Ausführung mehrerer Prozesse
Race Conditions
Rechenwerk
Registeradressierung
Registerindirekte Adressierung
Reihenfolgedurchsetzung
Rolle der Geräteverwaltung
Round Robin
Scheduling
Scheduling-Verfahren
Scheduling-Ziele
Scheduling in gängigen Betriebssystemen
Second Chance Algorithmus
Seitenersetzung
Seitenersetzungsverfahren
Seitentabellen
Semaphore
Shared Memory
Shortest Job First
Shortest Remaining Time Next
Sonstige Geräte
Speicherschutzverletzung
Speicherverwaltung
Speicherverwaltung in Windows
Speicherverwaltung moderner Betriebssysteme
Speicherverwaltung unter Android
Speicherverwaltung unter Linux
Speicherwerk
Stackregister
Steuerwerk / Leitwerk
Swapping: Aus- und Einlagern von kompletten Prozessen
Swapping und Paging
Synchronisation
Synchronisationsmechanismen in Programmiersprachen
Synchronisationstechniken moderner Betriebssysteme
Threads
Unmittelbare Adressierung
Vergleichskriterien
Verwalten von Prozessen
Vier Bedingungen nach Coffman
Virtuelle Speicherverwaltung
Vom Anwender zur digitalen Schaltung
Vom Batch-Job zum Multitasking
Vom Programm zum Prozess
Vom Quellcode zum Prozessor
Von-Neumann-Architektur
Von-Neumann-Flaschenhals
Von-Neumann-Rechner
Von-Neumann-Zyklus
Von Windows unterstützte Dateisysteme
Was bei der Seitenersetzung passiert
Wechselseitiger Ausschluss
Weitere Komponenten der Computerarchitektur
Weitere Verfahren
Windows-Treiber auf GitHub
Working Set Algorithmus
Zeichenorientierte Geräte
Zeit und Kosten machen den Unterschied
Zentrale Aufgabe eines Betriebssystems
Zentraleinheit / CPU
Zusammenfassung Synchronisation
Zwei Prozesse kommunizieren über Pipes
Zwei Prozesse kommunizieren über Shared Memory
Zwei Prozesse kommunizieren über Sockets
Zwei Prozesse kommunizieren über gemeinsame Speicherobjekte
Zwei Threads kommunizieren über gemeinsame Variablen
Zweiadressformat
Zweier-Potenzen
Zwischen Benutzer und Hardware
Zählsemaphor
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