Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Eingabe / Ausgabe Kap. 6 Version vom 25.02.2005 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 2 Ein- und Ausgabeverwaltung.

Ähnliche Präsentationen


Präsentation zum Thema: "Eingabe / Ausgabe Kap. 6 Version vom 25.02.2005 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 2 Ein- und Ausgabeverwaltung."—  Präsentation transkript:

1

2 Eingabe / Ausgabe Kap. 6 Version vom 25.02.2005

3 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 2 Ein- und Ausgabeverwaltung Kap. 6 - Inhalt Gerätetreiber und Schichten Gerätemodelle Beispiele RAID Verschiedenes

4 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 3 Ein- und Ausgabeverwaltung Gerätetreiber I - Gesamtablauf IO-Vorgang Benutzer Betriebssystem Anfordernder SystemaufrufGerätetreiber Interruptprogramm Prozeß für Controller Aufruf EA (Datenstrom, Operation,...) Zuordnung Datenstrom / Gerät P(EA-Anforderung) Testen Fehlerausgang V(EA-Anforderung) V(Treiber-Anforderung) P(Treiber-Anforderung) P(Controller-Vorgang) V(Controller-Vorgang)

5 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 4 Ein- und Ausgabeverwaltung Gerätetreiber II - Eigenschaften Gerätetreiber = Kapselung gerätetypischer Merkmale Aufgaben Übersetzung vom logischen Programmiermodell zu gerätespezifischen Anforderungen Koordination der schreibenden und lesenden Prozesse für das Gerät Koordination verschiedener Geräte gleichen Typs Pufferung der Daten user mode kernel mode Benutzerprozeß kernel-Verteiler Auftragsverwaltung Pufferung Treiber Controller Gerät BS-Kern

6 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 5 Ein- und Ausgabeverwaltung Gerätetreiber III - Beispiel Problem: neue Geräte, neue Treiber nötig (Fehlermöglichkeit!) Lösung: Standardschnittstellen für Treiber Beispiel: UDI (Unix) Uniform Driver Interface UDI Ablauf- umgebung Applikation Betriebssystem Systemaufruf I/O Manager UDI-Treiber Hardware BS-Treiber zu UDI Schnittstelle UDI-Services zu Hardware-mapping Treiber = Virtuelle Maschine plattformunabhängige Ablaufumgebung

7 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 6 Ein- und Ausgabeverwaltung Gerätetreiber IV - Ein-/Ausgabeschichten: Unix Dateisystemtreiber (Linux) user mode kernel mode Benutzerprozeß kernel-Verteiler Virtuelles Dateisystem (VFS) Minix Ext2 Reiser... Pufferung Gerätetreiber Gerät1 Gerät2 Gerät3... Dateisystemtreiber

8 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 7 Ein- und Ausgabeverwaltung Gerätetreiber V - Ein-/Ausgabeschichten: Unix Stream –System: Einschalten von Filterschichten

9 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 8 Ein- und Ausgabeverwaltung Gerätetreiber VI - Ein-/Ausgabeschichten: NT Dynam. Schichtung durch Aufträge an I/O-Manager usermode kernelmode Benutzerprozeß kernel-Verteiler I/O-Manager/Cache Gerätetreiber Gerät Monitor/Drucker/ Tastatur/Maus/… Benutzerprozeß kernel-Verteiler I/O-Manager Dateisystem-Treiber I/O-Manager/Cache Gerätetreiber Gerät CD-ROM/Platten/ Floppy/Tape/… Einfacher I/O-Zugriff Dateizugriff

10 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 9 Ein- und Ausgabeverwaltung Gerätetreiber VII - Fehlertoleranzfunktionen Unix: corrupted-Bit=1  chkdsk() beim nächsten mount() Windows NT: dynamisches bad cluster mapping durch FtDisk Beispiel: 1) Ausfall eines Clusters (ohne Gerätemapping)

11 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 10 Ein- und Ausgabeverwaltung Gerätetreiber VIII - Fehlertoleranzfunktionen Windows NT: 2) Clusterersatz Kein Ersatz möglich: corruptedBit=1, checkDisk() nach mount()

12 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 11 Ein- und Ausgabeverwaltung Gerätemodelle I - Übersicht Wahlfreier Zugriff random access (RAM, Festplatten, CD-ROM, DVD, Floppy Disk,...) Sequentieller Zugriff sequential access (Terminals, Magnetbandgeräte, A/D-Wandler,...) Nötig: Wissen über „typisches“ Verhalten der Geräte für Treiberdesign

13 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 12 Ein- und Ausgabeverwaltung Gerätemodelle II - Festplatten Festplatte

14 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 13 Ein- und Ausgabeverwaltung Gerätemodelle III - Festplattenmodell Schreib/Lese-Magnetkopf Schreib/Lesespur mit Sektoren Zylindergruppe: Spuren bei mehreren Platten Zylindergruppe Schreib-/Lesekopf Positionier- mechanik Drehachse Spur mit Sektoren Alu-Platte mit Eisenoxid

15 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 14 Ein- und Ausgabeverwaltung Gerätemodelle IV - Festplattenmodell mittlere Zugriffszeit t S (average seek time) pro Spur mittlere Wartezeit t D (rotational delay) pro Sektor, max. t R Transferzeit t T für max. m Bytes pro Spur  Datentransferrate = k/t T mittl. t D = t R /2, k Bytes  rel. Spuranteil k/m Gesamtzeit T = t S + + t R lin. Funktion in k Problem: konst.Magnetisierungsdichte, unterschiedliche Spurlängen  unterschiedl. Sektorenzahl bzw. Speichergröße pro Spur  höh. Treiberaufwand für Verwaltung  Elektronikproblem (außen: höh. Signalfrequenz, innen geringere: Breitbandinput vs. Rauschunterdrückung), Lösung: Konstante Sektorenzahl durch künstl. abnehmende Schreibdichte Moderne Platten: t S  10 ms. Bei 6000U/m oder 100U/s  t R  10ms Effektive Datenrate k/T stark bestimmt durch konstanten initialen Term t S ! Erhöhung der Rate durch größere Seiten. Aber: mittl. Seitengröße nur 1kB.

16 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 15 Ein- und Ausgabeverwaltung Gerätemodelle V - Festplatten: Zugriffsoptimierung Unix: Pro Zylindergruppe eine super node  neue i-nodes + Datenblöcke auf gleicher Spurposition Win NT: MFT auf Spur in Plattenmitte

17 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 16 Ein- und Ausgabeverwaltung Gerätemodelle VI - Geräteschnittstellen Keine dedizierten I/O-Kanäle, sondern I/O-mapping zu realen bzw. virtuellen Speicheradressen: Behandlung der Geräteregister (Funktionen, Parameter) wie Speicher Übertragung der Datenblöcke mittels DMA-Kanälen, z.B. durch Controllerprozessor

18 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 17 Ein- und Ausgabeverwaltung Gerätemodelle VII - Geräteschnittstellen Beispiel: Standard PC Hardware reale I/OAdressen

19 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 18 Ein- und Ausgabeverwaltung Gerätemodelle VIII - Geräteschnittstellen: PCI BUS PCI Bus – Wo ist er angesiedelt ?

20 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 19 Ein- und Ausgabeverwaltung Gerätemodelle IX - Geräteschnittstellen: Initialisierung Problem: zentrale Koordination der I/O-Adressen, Pufferadressen, Interruptnummern Lösung: Plug-and-Play PnP 1.Erfassung aller Geräte (Hersteller Id, GeräteId, Gerätenamen, Anforderungen) 2.Auslegung der Listen für Adressen und Interrupts unter Berücksichtigung der legacy devices 3.Einstellen der Geräte entsprechend der Liste BIOS: Basic Input-Output System (On-board-Betriebssystem) Erstellung einer Liste ESCD (Ext. System Config. Data) Windows NT: Erstellung einer eigenen Liste bzw. Aufsetzen auf der vorigen Liste Unix (Linux): Aufsetzen auf der ESCD

21 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 20 Ein- und Ausgabeverwaltung Gerätemodelle X - Geräteinitialisierung: PnP auf PCI PCI-Bus hat Adressplätze für Slots OffsetLabelbyteIDInfo 0VID2Vendor IdHersteller des Chip auf der Karte 2DID2Device IdHersteller Chip: DeviceNr 8REV1Revision IdÄnderungen OHNE Interface rev. 9CC3Class CodeBaseClass, SubClass, ProgrammingInterface 2CSVID2Subsystem Vendor IDHersteller ID durch PCI SIG 2ESID2Subsystem IdHerstellerangabe: DeviceNr Windows PCI-DeviceId: DID&VID&SID&SVID Auslesen. Device neu: nachsehen in INF-Dateien, installieren des Treibers (neu=neuer chip, neue SW-Version etc.: neuer SID), Beispiel: Soundkarte DID=11, SVID=1102(Creative), SID=0002(Live!), class=„MultiMediaDevice“, Function=0 DID=11, SVID=1102(Creative), SID=7002(Gameport),class=„InputDevice“, Function=1

22 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 21 Ein- und Ausgabeverwaltung Gerätemodelle XI - Geräteinitialisierung: PnP 1.PCI Treiber testet und findet Busse, Geräte, Funktionen 2.PCI Treiber liest den Konfigurationsraum (INF-Dateien) und erzeugt die IDs. 3.PCI Treiber führt Ausnahmebehandlung durch: An- und Ausschalten von Merkmalen, Anwenden von Patchen und workarounds. 4.PCI Treiber installiert den Gerätetreiber. 5.PCI Treiber lädt den Gerätetreiber. 6.Der Gerätetreiber wendet alle nötigen Ausnahmen an, An- und Ausschalten von Merkmalen, Anwenden von Patchen und workarounds. 7.PCI Treiber benachrichtigt den Gerätetreiber, das Gerät zu initialisieren.

23 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 22 Ein- und Ausgabeverwaltung Gerätemodelle XII - Geräteschnittstelle: Bsp. Festplatten Registerarten Kontrollregister (Read only) Statusregister mit Bitbedeutungen (z.B. Bit4=1  Lesen beendet) Befehlsregister (Write only) Befehlscode für Funktionen Adreßregister Angabe von GerätNr, Zylinder, Spur, Sektor, Platte, Kopf,.. Datenpuffer (Read/Write) Interruptsystem Aufsetzen/Löschen eines Interrupts für Benachrichtigung „Befehl ausgeführt“ Zu viele Register: zu viel Adreßraum nötig. Abhilfe: Messages mit Befehlsheader + DMA-Transfer

24 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 23 Ein- und Ausgabeverwaltung Multiple Plattenspeicher: RAID Redundant Array of Inexpensive Disks Multiple Festplatten = 1 großer virtueller Plattenspeicher Vorteile: Schnelligkeit Potentielle Fehlertoleranz Inkrementelle Speichererweiterung möglich Beispiel: RAID 0 Partition = Streifen (Schnelligkeit)

25 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 24 Ein- und Ausgabeverwaltung Multiple Plattenspeicher: RAID 1 Ausfalltoleranz durch Spiegelplatten Vorteile  schnelleres Lesen auf zwei Laufwerken in parallel  Kopie sofort verfügbar bei Ausfall einer Platte Nachteile  Schreiben parallel auf zwei Laufwerken ist aufwändiger  Kopie muß immer aktualisiert werden Mit Streifen: Raid 0/1- System

26 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 25 Ein- und Ausgabeverwaltung Multiple Plattenspeicher: RAID-2 Fehlerkorrektur durch Paritätsbildung, z.B. Exclusiv-Oder XOR  Es folgt direkt aus der Tabelle a  0 = a a  a = 0 somit p  b = a  b   0 = a a b p=a  bp  b 1101 1 011 0 110 0000 p gespeichert, a rekonstruiert p = b 1  b 2...  b n Ist Laufwerk b 2 defekt, so gilt p  b 1  b 3...  b n = b 1  b 2  b 3...  b n  b 1  b 3...  b n = b 1  b 1...  b n  b n  b 2 = 0...  0  b 2 = b 2 Rekonstruktion Aber: Spindelsynchronisation nötig!

27 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 26 Ein- und Ausgabeverwaltung Multiple Plattenspeicher: RAID3,4,5 RAID-3 Zusammenfassung von FT-Bits (ECC) auf extra Platte wie bei RAID-2: Ausfalltoleranz multipler Laufwerke Problem: Spindelsynchronisation nötig wie bei RAID-2 RAID-4 Zusammenfassung von Daten und FT-Information zu Streifen und speichern auf Einzel-Platten ohne Spindelsynchronisation. RAID-5 Fehlertoleranz-Information jeweils auf anderer Platte speichern (schneller!) ABER: Backup nötig! HW-Fehlertoleranz  SW-Toleranz

28 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 27 Ein- und Ausgabeverwaltung RAM-Disks RAM als schnelle Festplatte über Standard- Massenspeichertreiber Wozu? RAM= teuer&schnell, Festplatte=preiswert&langsam Sinnvoll, wenn Feste Software mit temporären Dateien (z.B. Compiler) Aber: bei großem page-out pool reichen BS-interne Puffer für gleichen Effekt Teile des RAM-Speichers nicht direkt adressierbar (z.B. MS-DOS)

29 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 28 Ein- und Ausgabeverwaltung Serielle Geräte: Geräteschnittstelle Sequentielles Read/Write ohne Adreßinformation (Terminals, Zeilendrucker, Tastatur) Register Kontrollregister Übertragungsgeschwindigkeit, synchron/asynchron,.. Eingaberegister (read only) zuletzt empfangenes Zeichen Ausgaberegister (write only) zu sendendes Zeichen Interruptsystem Interrupt auslösen nach jedem gesendeten/empfangenem Zeichen Flußsteuerung: HW(RS232) oder SW (XON/XOFF)

30 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 29 Ein- und Ausgabeverwaltung Treiberschnittstelle: Unix Zentrale Treiber-Funktionverteilungstabelle conf.c Random Access (Block) devices struct bdevsw bdevsw[] = { { tmopen,tmclose,tmstrategy,tmdump,0,B_TAPE}, /*0*/ { nodev,nodev, nodev, nodev, 0,B_TAPE},/*1*/ { xyopen,nulldev,xystrategy,xydump,xysize,0},/*2*/...}; open, close, strategy, dump, psize, flags Sequentiel (character) devices struct cdevsw cdevsw[] = { {cnopen, cnclose, cnread, cnwrite, cnioctl, nulldev, cnse- lect, 0,0,0}, /*0*/ {nodev, nodev, nodev, nodev, nodev, nodev, nodev, 0, &wcinfo, 0,}, /*1*/ {syopen, nulldev,syread, sywrite, syioctl, nulldev, syselect, 0, 0,0,}, /*2*/... }; open, close, read, write, ioctl, reset, select, mmap, stream, segmap

31 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 30 Ein- und Ausgabeverwaltung Treiberschnittstelle: Unix Kernprozeduren xx = lp, mt oder rk xx_init Treiber- und Geräteinitialisierung, aufgerufen beim Systemstart xx_read, xx_write character devices Lesen und Schreiben von Daten xx _ open, xx _ close Gerätespezifische Bedeutung, z.B. Band rückspulen, Seitenvorschub etc. xx_ioctl character devices Einstellung z.B. Übertragungsgeschwindigkeit, Modus, high/low density,.. xx_strategy block devices Block read/write, log.Blocknummern  phys. Blocknummern, Pufferstrategien etc. xx_intr InterruptServiceRoutine zum DMA-Aufsetzen bzw. Pufferbehandlung

32 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 31 Ein- und Ausgabeverwaltung Treiberschnittstelle: Windows NT Treiberklassen  Eingabegeräte (Human Interface Devices) Maus, Tastatur, Datenhandschuh,..  Standbildgerät e Scanner, Digitalcamera,...  Datenströme Videocamcorder, Audiorecorder,... Klassentreiber und gerätespezif. Zusatz (Mini-Treiber) Treiberanforderungen  Multiprozessorfähig (spin locks für kritische Abschnitte, reentrant- fähig)  Energieverwaltung (stand by, Hibernation,..)  Reaktion auf power failure: Spezifikation atomarer Teile, Geräte-setup  Ein- und Ausschalten im laufenden Betrieb (hot swappable devices)  PnP-fähig: Konfigurierbar bei IRQ, DMA-Kanal und Registeradressen

33 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 32 Ein- und Ausgabeverwaltung Treiberschnittstelle: Windows NT Treiberfunktionen Initialisierungsprozeduren (load driver, DriverEntry, AddDevice) Treiber+ Deviceobjekt-Erzeugung durch I/O-Manager, Initialisierung des Treibers Abschlußprozedur (unload driver) Freigabe von Puffern, handles, etc. für I/O-Manager Gruppe von Service-Funktionen (dispatch routines) Lesen, Schreiben etc. für die Ein- und Ausgabeaufträge (IRP) Prozedur, um den Datentransfer zu starten (start I/O) oder abzubrechen (cancel I/O) Interrupt-Service-Routine (ISR) mit hoher Prio nur fürs Notwendige. Alles andere über DPCs. Eine zur ISR gehörende DPC-Prozedur (Deferred Procedure Call) Datentransfer abschließen, nächsten Auftrag holen,... Prozedur, um den Datentransfer abzuschließen (completion routine) Info über Erfolg, Fehler, Abbruch an aufrufenden Treiber Eine fehlernotierende Prozedur (error logging) Auftrag an I/O Manager zur Fehlerprotokollierung

34 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 33 Ein- und Ausgabeverwaltung Treiberschnittstelle: Windows NT Verwaltung der Gerätetreiber-Objekte durch den I/O-Manager: Abarbeitung der IRP durch Treiber via Geräteobjekt Auslagerung von Spezialaufgaben zu anderen Treibern (z.B. PCI-Buskontrolle), die vorher/danach aufgerufen werden I/O-Manager Geräte- objekt Platte Geräte- objekt Partition0 Geräte- objekt Partition1 Treiberobjekt Read Write... Start I/O Cancel I/O Unload Devices unload driver read, write

35 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 34 Ein- und Ausgabeverwaltung Treiber-Optimierungsstrategien Strategieaufgaben für Treiber Auftragswarteschlangen: Plattenscheduling für Spuren First Come First Serve Beispiel: init 6 Aufträge 8,19,3,14,2,15,7 Shortest Seek Time First nächste Spur: min.Abstand SCAN Abscannen der Spuren, Umdrehen in Gegenrichtung C-SCAN Repetitiv Abscannen

36 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 35 Ein- und Ausgabeverwaltung Treiber-Optimierungsstrategien Auftragswarteschlangen: Plattenscheduling für Blöcke (t D < t S z.B. fixed head disks) First Come First Serve Auftragspuffer Sector Queuing Ordnung nach aufsteigenden Sektornummern Pro Spur eine Warteschlange Bewertung zStarke Auftragslast: SCAN-Alg. ist am besten zNormale Last: im Mittel nur ein Auftrag! FCFS. zVerwaltungsmaßnahmen helfen auch zentraler Index auf log. Block 0 = Mittelspur, Sektor 0

37 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 36 Ein- und Ausgabeverwaltung Treiber-Optimierungsstrategien Problem: Platte (Blöcke/s) schneller als Controller Lösung: Interleaving log. Blocknummern überspringen phys. Folge Problem: Verzögerung bei Spurwechsel. Lösung : Pro Spur bzw. Zylindergruppe versetzte Nummerierung

38 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 37 Ein- und Ausgabeverwaltung Treiber-Optimierungsstrategien Pufferung Ungleichmäßiger Datenfluß kann kompensiert werden Ebene Dateitreiber: Dateiänderungen, Aufträge Ebene Gerätetreiber: Blöcke, Spur (vs. Controller-Cache) Konsistenzproblem! Pufferung in Unix Ser. Geräte: c-List =1 Zeile (RETURN=EOL nötig) Pufferabschaltung durch special file Bit Random access Geräte Liste der Aufträge, Liste der freien Blöcke (Speicherpool) Pufferung der i-nodes: power failure problem.  Sync() alle 30 sec & beim shutdown

39 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 38 Ein- und Ausgabeverwaltung Treiber-Optimierungsstrategien Pufferung in Windows NT Cache Manager: memory mapping (section objects), autom. Verwaltung durch paging des Virtual Memory Managers Integration serieller Ein- und Ausgabe von Windows 3.1 Win 3.1 InputWindows NT WOW

40 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 39 Ein- und Ausgabeverwaltung Synchrone und asynchrone Ein- und Ausgabe Synchrone I/O: blockierendes Warten Asynchrone I/O: Nur Einleiten des Auftrags, Ergebnisse später abholen Unix Asynchroner I/O  nicht-blockierender Modus bei read(), write()  Setzen des I/O auf ein Signal (I/O mit SW-Interrupt), evtl. warten mit sigpause() Windows NT  Parameter „overlapped“ bei ReadFile(), WriteFile(), CreateFile(),... + Daten abrufen durch wait(FileHandle) & ReadFile()  Eigene Asynchrononous Procedure Calls APC (Ereignisobjekt) für jeden Thread, um mehrfache Nutzung von FileIds zu verhindern  Nutzung von ReadFileEx(), WriteFileEx() mit Abschlußprozedur des Thread + Warten mit SleepEx(), WaitForSingleObjectEx(), WaitForMultipleObjectsEx()


Herunterladen ppt "Eingabe / Ausgabe Kap. 6 Version vom 25.02.2005 Betriebssysteme und Grundlagen verteilter Systeme © H. Weber, FH Wiesbaden Folie 2 Ein- und Ausgabeverwaltung."

Ähnliche Präsentationen


Google-Anzeigen