Ladda ner presentationen
Presentation laddar. Vänta.
Publicerades avRebecka Eriksson
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
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.