FHNW: bsys
Stichwörter, Notizen aus Lektionen vom Modul Betriebsysteme (bsys) an der FHNW FS16.
Stichwörter, Notizen aus Lektionen vom Modul Betriebsysteme (bsys) an der FHNW FS16.
-
- 1 / 47
-
Cartes-fiches
Behandlung von Page Faults
A page fault (sometimes called #PF or PF) is a type of interrupt, called trap, raised by computer hardware when a running program accesses a memory page that is mapped into the virtual address space, but not actually loaded into main memory.
- Occurs whenever a process accesses a logical page that is not currently resident in physical memory
- MMU (Memory Management Unit) causes a trap (interrupt), resulting in a context switch to the OS paging mechanism (Swapper)
- Swapper loads missing page from disk, possibly moving another page from memory to disk if necessary
Buffer Cache
Ziel: Optimierung des Zugriffs auf block-orientierte Geräte, maximale Menge Daten im Speicher behalten.
- Strategie 1: read ahead
Vorteil: Beschleunigt das sequentielle Lesen
Risiko: potentielle Verschwendung von Hauptspeicher
- Strategie 2: delayed write
Vorteil: Bündeln von Daten in Blöcke für das Schreiben auf langsame Geräte
Risiko: Nach einem erfolgreichen write() sind Daten noch nicht auf der Disk gespeichert.
Interrupt
In Unix werden Interrupts immer im Kontext des gerade
laufenden Prozesses behandelt, auch wenn der Prozess
den Interrupt nicht verursacht hat oder nicht davon
profitiert. Der gerade laufende Prozess muss also seine
Arbeit unterbrechen, den Kontext sichern, den Interrupt
behandeln, den Kontext restaurieren und kann dann
weiterarbeiten.
Process Scheduler
Ein Prozess Scheduler regelt die zeitliche Ausführung mehrer Prozesse.
Mögliche Strategien:
- First In First Out (FIFO)
- Round Robin
- Priority Scheduling
Arten von Betriebssysteme
- Single- / multi-tasking
- Single- / Multi-user
- Embedded
- Real-time
- Distributed
Scheduling: Starvation
Ein Prozess der keine CPU-Time erhält, weil der Scheduling Algorithmus den Task ignoriert. Der Algorithmus sollte so programmiert sein, dass alle Prozesse Chancen auf Resourcen haben.
Beispiel: File Transfer schlechter priosiert und die Gegenseite schickt ein Timeout, weil der Prozess keine Zeit erhalten hat um die Daten zu übermitteln.
Scheduling: Deadlock
Dies geschieht wenn zwei Prozesse nichts tun, aber auf einander warten.