Welche 3 Arten von externen I/O-Geräten gibt es?
Mensch-Interface (z.B.: Anzeige, Tastatur)
Maschinen-Interface (elektron. Geräte, z.B.: Datenlaufwerke, Sensoren, Aktuatoren)
Kommunikation (für Datenaustausch mit anderen, weiter entfernten Geräten, z.B.: Netzwerk)
Welche Merkmale von I/O-Geräten gibt es?
Datenrate
Anwendung (z.B.: Dateiverwaltungs- Layer: Files vs. Sekundärspeicher für VMM)
Ansteuerungs-Komplexität
(z.B. Pollen vs. Interrupt)
Transfer-Einheiten (z.B.Zeichenvs.Blöcke)
Daten-Repräsentation (z.B. Byte Order, Parität)
Fehlerbehandlung (Arten,Auftreten)
Welchde Mechanismen von I/O-Funktionen gibt es?
Was passiert beim Programmed I/O?
Prozess schickt ein I/O-Kommando und wartet mittels “Busy-Waiting”
Was passiert beim Interrupt-driven I/O?
Prozess schickt ein I/O- Kommando und BS/SW arbeitet weiter. Wird durch I/O-Modul unterbrochen, wenn I/O fertig.
Was passiert beim Direct Memory Access (DMA)?
Prozess schickt Kommando an I/O-Modul. Das I/O-Modul kopiert autonom Daten zwischen Speicher und I/O- Modul und unterbricht CPU-Aktivität nach Fertigstellung der I/O-Operation.
Was kann Direct Memory Access (DMA)?
Kann Aktionen der CPU nachbilden, indem DMA Controller die Kontrolle von Bus übernimmt.
Was sind die zwei Arten, wann DMA-Transfer gestartet wird?
blockweiser Transfer (ev. parallel mit CPU-Aktivität)
DMA erzwingt einzelne Übertragungszyklen am Bus (“cycle stealing”)
Was sind die Vorteile von Direct Memory Access (DMA)?
DMA ist effizient: Kein Kontextwechsel der CPU notwendig
Flexibel: DMA-Modul kann mehrere I/O-Module versorgen (mehrere Ports oder eigener I/O-Bus).
Was ist ein I/O Channel?
I/O Channel ist eine Erweiterung zu DMA
Was ist durch I/O Channels möglich?
Durch Ausführung von I/O-Befehlen bekommt man die komplette Kontrolle über I/O-Operationen
Wie funktioniert der I/O Channel?
I/O-Instruktionen im Hauptspeicher
Abarbeitung durch I/O Prozessor
Interrupt signalisiert Ende
Welche zwei typische Arten von I/O Channels gibt es?
Selector Channel: kann mehrere Geräte verwalten, wobei immer nur eines aktiv ist.
Multiplexer Channel: kann mehrere Geräte simultan bedienen.
Welche beiden Kriterien für OS-Design gibt es?
Effizienz:
wichtig, da I/O oft Bottleneck des Systems. Mehr Prozesse bringt ev. Swapping (zusätzl. I/O).
=> spricht für gerätespezifische Lösungen
Flexibilität:
für Einfachheit, geringere Fehlermöglichkeiten von I/O-Operationen, Ersetzbarkeit, Austauschbarkeit von Geräten
=> einheitliche Schnittstellen erforderlich (zB: Zugriffs- funktionen wie open, close, lock, unlock,...).
Was ist die Logische Struktur von I/O?
Struktur von I/O-Funktionen für Peripheriegeräte
(Schichtung gem. Komplexität, Zeitkonstanten, Abstraktion)
Was ist das Ziel der logischen Struktur von I/O?
Ziel = Verbindung von:
einheitlichem Interface – gerätespezifischer Ansteuerung
Welche Schichtungsebenen der Logische Struktur von I/O gibt es?
Logical I/O
Device I/O
Scheduling and control
Was ist Scheduling and control?
Queuing, Verwaltung von I/O- Operationen, Interrupt-Handling, Lesen des I/O-Status.
Was ist der Device I/O?
Übersetzung von Operationen in Sequenz von I/O- und Kontroll-Kommandos; Pufferung
Was ist der Logical I/O?
logische Bedienung des Gerätes (z.B.: open, close, read,...)
Welche 3 Komponenten hat das Logical I/O?
Directory Management
File System
Physical Organisation
Was macht die Physical Organisation?
Übersetzung von logischen Referenzen in Spuren und Sektoren.
Was macht das File System?
behandelt logische Struktur von Dateien, Dateioperationen (zB: open, close, read, write, ...)
Was macht das Directory Management?
Übersetzung: symbol. Dateinamen – Dateireferenzen; Directory-Benutzeroperationen (zB: add, delete, ...)
Was ist der Unterschied zwischen Blocking vs. Non-Blocking I/O?
Blocking I/O:
Prozess wird von Zustand Running in die Blocked Queue gestellt und blockiert.
Non-Blocking I/O:
I/O Operation wird sofort fertiggestellt
kein Blockieren,
Return Status liefert Feedback über Operation
(z.B. Anzahl der übertragenen Bytes)
Was ist der Unterschied zwischen Synchroner vs. Asynchroner I/O?
Was ist ein Puffer bei I/O-Anfragen?
Zwischenspeicher für Daten bei I/O-Transfer
Was wird beim Puffern von I/O-Anfragen gepuffert?
Zusammenfassung von low-level I/O-Operationen
(Zur Verringerung des Overheads)
Entkopplung Prozess I/O – BS I/O
(BS: Entkopplung I/O – Swapping)
Maskieren von Geschwindigkeitsunterschieden bei Lastspitzen (ev. mehrere Puffer)
Worauf muss man beim Puffern von I/O-Anfragen achten?
Langzeit- I/O-Performance durch Device Performance limitiert
Kosten: Speicher, Puffermanagement
Welche Arten von Puffern gibt es?
Was ist die Seek Time T_s bei Disk I/O Scheduling?
benötigte Zeit, um Disk-Arm zur gewünschten Spur zu bewegen (Mittelwert).
Was ist der Rotational Delay T_RD bei Disk I/O Scheduling?
Zeitverzögerung, bis Anfang des gesuchten Sektors gefunden (im Mittel: halbe Umdrehungszeit der Disk)
Was ist die Transfer Time beim Disk I/O – Scheduling?
die benötigte Zeit zum Übertragen der Daten
Was ist die Average Access Time T_A?
benötigte Zeit für Datenzugriff (Mittelwert)
Was ist das Ziel von Disk Scheduling?
Die Ordnung von Disk-I/O Requests zur Minimierung der Seek Time (TS)
Nenne mir 5 der 7 Strategien für Disk Scheduling
Priority
First-In, First-Out (FIFO)
Last-In, First-Out (LIFO)
Shortest Service Time First (SSTF)
SCAN (Elevator Alg.)
C-Scan
N-step-SCAN und FSCAN
Was ist eine Disk Cache?
Ähnliches Prinzip wie Memory Cache
Puffer im Hauptspeicher für Sektoren einer Disk
Beruht auf Lokalität der Daten
Welche Austauschstrategien gibt es bei der Disk Cache?
Least Recently Used (LRU)
Least Frequently Used (LFU)
Frequency-Based Replacement (Verbesserung von LFU)
Last changeda year ago