Presentation laddar. Vänta.

Presentation laddar. Vänta.

Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system.

Liknande presentationer


En presentation över ämnet: "Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system."— Presentationens avskrift:

1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system

2 13.2 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Översikt Det är operativsystemets uppgift att kontrollera I/O- operationer och I/O-enheter I/O-enheters funktion och hastighet varierar kraftigt – olika metoder behövs Dessa metoder ligger i I/O subsystem – en del av kärnan I/O subsystem oberoende av hårdvaran – drivrutiner används som gränssnitt

3 13.3 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition I/O-hårdvara Gemensamma koncept En I/O-enhet kommunicerar med datorn via en port Om enheter använder samma kabel, kallas denna för en buss En controller (host adapter) är elektronik som opererar en port, en buss eller en enhet Processorn kommunicerar med controllern genom att läsa och skriva i controllerns register Enheter har adresser som används av: Speciella I/O-instruktioner Memory-mapped I/O

4 13.4 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Strukturen hos en typisk PC-buss

5 13.5 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition I/O-portar i en PC (delar)

6 13.6 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Polling / Interrupts Polling – CPU:n läser en controllers busy-bit (i en loop) ända tills den sätts till 0 Bra om enheten är snabb Interrupt – controllern säger till när den är klar Controllern signalerar på interrupt-request line CPU:n hoppar till interrupt-handler routine

7 13.7 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Intel Pentium Processor Event-Vector Table

8 13.8 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Direct Memory Access Vid stora dataöverföringar är det slöseri att använda CPU:n En speciell processor används - DMA controller 1. CPU:n skriver ett DMA-kommando i minnet 2. Kommandot innehåller pekare till sändare och mottagare av datan + antalet bytes som ska överföras 3. CPU:n skickar adressen till kommandot till DMA controller 4. När överföringen är klar skickas ett interrupt till CPU:n

9 13.9 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Six Step Process to Perform DMA Transfer

10 13.10 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Applikationers I/O-gränssnitt Hur kan nya enheter kopplas till ett system utan att operativsystemet behöver skrivas om? Svar: abstraktion, inkapsling, mjukvara i lager I/O-enheter delas in i klasser med var sitt standardgränssnitt Varje enhet har en drivrutin som döljer skillnader inom klassen Enheter varierar i flera dimensioner Character-stream eller block Sequential eller random-access Sharable eller dedicated Speed of operation read-write, read only, eller write only

11 13.11 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition En kärnas I/O-struktur

12 13.12 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Egenskaper hos I/O-enheter

13 13.13 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Olika gränssnitt Blockgränssnitt – t ex hårddiskar Kommandon såsom read, write, seek Raw I/O eller access genom filsystemet Teckengränssnitt – t ex tangentbord, möss, serieportar Kommandon såsom get(), put() Bibliotek kan läggas ovanpå Nätverksgränssnitt – BSD socket interface

14 13.14 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition I/O-subsystemet Schemaläggning Bestämma ordningen på I/O-requests Väntekön kan kopplas till en statustabell Buffring – lagra data i minnet medan data överförs mellan enheter Enheterna är inte lika snabba Enheterna har olika storlekar på data som ska överföras Upprätthålla “copy semantics” Cachning, spooling, felhantering, skydd av I/O-enheter

15 13.15 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Device-status Table

16 13.16 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Sun Enterprise 6000 Device-Transfer Rates

17 13.17 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Kärnans datastrukturer Kärnan måste lagra tillståndsinformation för I/O-enheter, t ex tabeller med öppna filer och nätverksförbindelser Många komplexa datastrukturer behövs för buffring, minnesallokering mm

18 13.18 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition UNIX I/O Kernel Structure

19 13.19 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Prestanda I/O är väldigt viktig för systemets prestanda: Minska antalet context switches Minska kopierandet av data Minska antalet interrupt Använd DMA Balansera CPU, minne, buss och I/O-prestanda

20 13.20 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Intercomputer Communications


Ladda ner ppt "Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system."

Liknande presentationer


Google-annonser