Begriffe 1-01 Grundlagen Betriebssysteme Flashcards
Computer
- verarbeitet Daten
- gemäß eines (austauschbaren) Programms
Gerät
allgemeiner Begriff -> Programm nicht austauschbar
Betriebsmittel
werden zur Ausführung von Programmen gebraucht
Hardware
unveränderlich
Software
veränderlich
Prozessor
programmgesteuerte Datenverarbeitung
Speicher
Ablage für Daten und Programme
Ein-/Ausgabe
externe Peripheriegeräte
Tastatur, Bildschirm, Drucker…
Bussystem
Sammelleitungen zur Datenübertragung
CPU
Central Processing Unit
- Ausführung arithmetisch-logischer Operationen (Rechenwerk)
- Ablaufsteuerung (Steuerwerk)
Maschinencode
vom Prozessor unmittelbar interpretierbare Bitfolgen
Maschinencode ist prozessorspzifisch
Maschinencode
vom Prozessor unmittebar interpretierbare Bitfolgen
Maschinencode ist prozessorspezifisch
Mehrkern-Chip
mehrere Prozessoren auf einem Chip
IEC-Binärpräfixe und SI-Dezimalpräfixe
IEC-Binärpräfixe und SI-Dezimalpräfixe
Speicherhierarchie
(schnell, teuer, klein) -> (langsam, billig, groß)
Prozessorregister
einige wenige Speicherplätze direkt im Prozessor
L1/L2-Caches
kleine schnelle Speicher im (L1) oder neben (L2) dem Prozessorchip für häufig benutzte Daten
Hauptspeicher
flüchtige Speicherung
Massenspeicher
dauerhafte Speicherung; sehr langsam; magnetische, optische, Flash-Medien
Controller (Bestandteil eines E/A-Geräts)
- Hardware zur Ansteuerung des Geräts
- stellt vereinfachte Schnittstelle bereit
zeichenorientiert
Ansprache
serielle, direkte Übertragung (Drucker)
blockorientiert
Ansprache
wahlfreie, gepufferte Übertragung (Festplatte)
Puffer
Zwischenspeicherung zur Effizienzsteigerung
Betriebssystem
- verwaltet Betriebsmittel (v.a. Hardware)
- ermöglicht Ausführung von Programmen
Abstraktion
Reduktion der komplexen Fähigkeiten eines Betriebssystems auf konkrete Funktionalität
Virtualisierung
(faire) Ressourceneinteilung
- virtueller Speicher
- virtuelle Prozessoren
Prozess
Programm in Ausführung
Multitasking
mehrere Prozesse quasiparallel auf einem Prozessor
Threading
Prozesse teilen sich in Ablauffäden auf
PID
Process-ID
Prozess durch Nummer eindeutig identifizierbar
Prozesshierarchie
Prozess wird stets durch einen anderen erzeugt, Urprozess beim Systemstart
Interprozesskommunikation (IPC)
Prozesse interagieren miteinander
Signale
festgelegte Nachrichten
zB das Beenden eines Prozesses
Pipes
Zeichenströme
Prozesszustände
- Running - Prozess ist einem Prozessor(-Kern) zugeteilt
- Ready – Prozess ist lauffähig, aber keinem Prozessor(-Kern) zugeteilt
- Blocked – Prozess ist nicht lauffähig
virtueller Prozessor
jeder Prozess glaubt sich allein in Vollbesitz des Prozessors
Scheduling
allein das Betriebssystem teilt den Prozessor zu
First-come first-served (rechenintensive Prozesse)
Prozesse werden in der Reihenfolge ihrer Entstehung bedient
erst wechseln, wenn der Prozess zu Ende ist
Round-robin (Geräte mit Benutzerinteraktion)
Warteschlange der Prozesse nach und nach abarbeiten
Preemptive Scheduling
Prozess wird nach Ablauf eines festen Zeitintervalls (typisch: 1ms) ausgewechselt
priority scheduling
Prioritätsstufen, je eine Schlange
(Speicher-)Adresse
Nummer/Index einer Speicherstelle
Virtueller Speicher
jeder Prozess glaubt sich allein in Vollbesitz des Hauptspeichers
Speichermanagement
allein Betriebssystem teilt Platz im Hauptspeicher zu
Paging
Virtueller Speicher eines Prozesses wird in gleich große, aufeinander folgende, zusammenhängende, durchnummerierte Speicherseiten (Pages) aufgeteilt
Page Frames
durchnummerierte Seitenrahmen
äußere Fragmentierung
durch beendete Prozesse entstünden ungenutzte Lücken zwischen den Bereichen der noch aktiven Prozesse
innere Fragmentierung
vom Prozess ungenutzter Speicher ist kein Vielfaches der Seitengröße -> ungenutzter Speicher innerhalb einer Seite
virtuelle Speicheradresse
Umrechnung von virtueller Speicheradresse in einer Page auf die entsprechende Hauptspeicheradresse im zugeordneten Frame
MMU
Memory Management Unit
Umrechnung in einer Page
Pagetable
wichtige Datenstruktur für MMU
(Umrechnung von virtueller in Hauptspeicheradresse, Speicherung wichtiger Angaben zu jeder Page)
Protection
Angaben zur Nutzung der Seite:
ist der Inhalt der Page veränderlich?
enthält die Page ausführbaren Code oder nur Daten?
TLB
Translation Lookaside Buffer
Cache für oft genutzte Einträge im Pagetable
Multilevel Page Table
Strukturierung des Pagetables als Baum
Swapping
Seitenauslagerung oder -ersetzung -> Pages auf Massenspeicher auslagern
Seitenersetzungsverfahren
Auslagerungsalgorithmen; Auswahl der auszulagernden Pages
Page Fault
Zugriff auf ausgelagerte Page -> Page muss zurückgeladen werden
present/absent bit
zeigt Auslagerung der Page in ihrem Eintrag des Pagetables an
Thrashing
Prozess wird durch zu viele Page Faults stark verlangsamt
-> gute Seitenersetzungsverfahren notwendig
R(eferenced)-Bit
gesetzt bei jedem Zugriff auf die Page
Hinweis, ob Page in letzter Zeit benutzt wurde, regelmäßig zurückgesetzt
M(odified)-Bit
gesetzt bei jedem Schreibzugriff;
Hinweis, ob Page wirklich ausgelagert werden muss oder ob ggf. vorhandene alte Kopie auf dem Massenspeicher verwendet werden kann
zurückgesetzt beim Rückladen einer Page
NRU
Not Recently Used
lagere Page aus, die nicht referenziert/modifiziert wurde
Clock
Zeiger referenziert ein Frame
LRU
Least Recently Used
was nicht benutzt wurde, wird auch nicht benutzt werden
jede Page mit Zeitstempel, bei Zugriff aktualisieren, älteste ersetzen
Aging
Software-Lösung ähnlich LRU -> ersetze Page mit niedrigstem (Bit-)Wert
Working Set
Pages, die von einem Prozess immer wieder verwendet werden
Lokalitätsprinzip
in einem Zeitraum nutzt ein Prozess (fast) immer dieselben Pages
WSClock
Clock-Verfahren mit Working Set
Kernel
Betriebssystemkern
Software umfasst elementare Aufgaben wie Scheduling, Speichermanagement und Treiber
Treiber
Software zur Ansteuerung von Hardware-Controllern
Systemprogramme
eigenständige Software zur Unterstützung des Betriebssystems
Anwendungsprogramme
eigenständige Software zur Umsetzung der eigentlichen Aufgaben des Geräts
kernel mode
Voller CPU-Befehlssatz für Betriebssystemkern
user mode
eingeschränkter CPU-Befehlssatz für Anwendungsprogramme
Systemaufrufe
(system calls)
Aufruf von Anweisungen des Betriebssystemkerns; Wechsel zwischen Kernel und Usermode
Monolith
Strukturen von Betriebssystemen
Betriebssystemkern ist ein großes Programm im kernel mode, das bei Systemstart komplett in den Hauptspeicher geladen wird
Mikrokernel
Strukturen von Betriebssystemen
- Aufteilung des Kerns in viele Module
- ein Modul (Mikrokernel) enthält essentielle Aufgaben
- übrige Module werden bei Bedarf nachgeladen