Kontakty slajdy: ftp://ulita.ms.mff.cuni.cz/predn/POS
I/O systémy – 1 OS je abstraktní stroj Řadič zařízení, adaptér elektrická část I/O jednotky Druhy přístupu port speciální adresový prostor CPU paměťově mapované mapování do fyzické paměti
Charakteristika zařízení – 1 Druhy zařízení blokové disk, síťová karta znakové klávesnice, myš
Charakteristika zařízení – 2 Přístup sekvenční datová páska náhodný disk, CD
Charakteristika zařízení – 3 Synchronnost komunikace synchronní zařízení pracuje s daty na žádost disk asynchronní zařízení poskytuje i „nevyžádaná“ data síťová karta
Charakteristika zařízení – 4 Sdílení sdílené (preemptivní) síťová karta (ale po multiplexu OS) vyhrazené (nepreemptivní, dedikovaná) tiskárna spooling
Charakteristika zařízení – 5 Rychlost rozsah od několika B/s do GB/s Směr dat R/W R/O CD-ROM W/O tiskárna
Cíle I/O software – 1 Nezávislost zařízení programy nemusí dopředu vědět, s jakým přesně zařízením budou pracovat – je jedno jestli pracuji se souborem na pevném disku, disketě nebo na CD-ROM Jednotné pojmenování na UNIXu /dev
Cíle I/O software – 2 Připojení (mount) časté u vyměnitelných zařízení (disketa) možné i u pevných zařízení (disk) nutné pro správnou funkci cache OS Obsluha chyb v mnoha případech oprava bez vědomí uživatele velmi často způsobeno právě uživatelem
Přenos dat – 1 Polling ovladač aktivně čeká změnu stavu zařízení přenos dat úkolem CPU Přerušení zařízení hlásí připravenost nebo dokončení činnosti přenos dat úkolem CPU
Přenos dat – 2 DMA Direct Memory Access zařízení si samo řídí přístup na sběrnici a přenáší data z/do paměti po skončení přenosu přerušení scater-gather DMA vhodné zejména pro síťové karty, ale i pro disky
I/O software – 1 Typicky ve 4 vrstvách HW Obsluha přerušení Ovladače zařízení I/O nezávislý subsystém Uživatelský I/O software
I/O software – 2 Obsluha přerušení uložit stav CPU (kontext vlákna) potvrdit přerušení řadiči přerušení obsluha přerušení ovladačem přeplánovat načíst stav CPU
I/O software – 3 Ovladač zařízení pracuje s porty nebo s pamětí „rozumí“ konkrétnímu zařízení vytváří aspoň trochu jednotné rozhraní pro vyšší vrstvy typicky pouze výrobce ví, co zařízení dělá; proto ovladače zařízení poskytují jednotliví výrobci
I/O software – 4 Jednotné rozhraní na zařízení poskytuje uživatleským programům jednotné rozhraní skrývá rozdíly mezi jednotlivými zařizeními provádí pomocné úkoly pro ovladače alokace paměti hlášení chyb vyrovnávání (buffering)
Vyrovnávací paměti Vyrovnání rychlosti aplikace a zařízení sériové porty, síťová karta Cachování disky Některá zařízení pracují po blocích disky
Disky Čas potřebný k nějaké operaci seek pevný disk okolo 5-10 ms CD-ROM okolo 100 ms latency – zpoždění rotací pevný disk na 7200 ot/min okolo 8 ms CD-ROM 52x (≈10000 ot/min) má 3-6 ms transfer – přenos z disku do paměti záleží na protokolu, teoretické rychlosti Ultra320 SCSI má 320 MB/s SerialATA 150 MB/s na jedno zařízení
Plánování pohybu hlav disků – 1 FCFS (First-Come, First-Served) „kdo dřív přijde, ten dřív mele“ vhodný pro malé zátěže žádosti v pořadí: 98, 183, 37, 122, 14, 124, 65, 67 hlavy na pozici 53
Plánování pohybu hlav disků – 2 SSTF (Shortest Seek Time First) krajní žádosti mohou „hladovět“ vhodný pro malé zátěže
Plánování pohybu hlav disků – 3 LOOK (výtah), C-LOOK (circular LOOK) původně SCAN (od kraje disku ke kraji disku) vhodný pro velké zátěže
RAID (Redundant Array of Inexpensive Disks) Důvody Zvětšení spolehlivosti MTBF (Mean Time Between Failure) dnes okolo hod. MTTR (Mean Time To Repair) Zrychlení Další pojmy a informace Stejně velké disky Spare disky, hot-plug Array rebuild, možnost dynamické změny konfigurace
RAID – JBOD Just Bunch Of Disks Kapacita: n*K Rychlost R/W: R Spolehlivost: S/n
RAID 0 Striping, žádná redundance Kapacita: n*K Rychlost R/W: Spolehlivost: S/n
RAID 1 Mirroring Kapacita: K Rychlost R: R; Rychlost W: R/2 Spolehlivost: S*2
RAID 0+1 Mirroring a striping Kapacita: n*K/2 Rychlost W:
RAID 2 7-bitový Hammingův paritní kód Kapacita: (n+1)*K/2 Rychlost W: R/n po bitech na jednotlivé disky
RAID 3 1 paritní disk, po bitech na disky Kapacita: (n-1)*K Rychlost W: R/n
RAID 4 1 paritní disk a striping Kapacita: (n-1)*K Paritní disk zůstává úzkým hrdlem
RAID 5 distribuovaná parita a striping Kapacita: (n-1)*K
RAID 6 distribuovaná parita P+Q a striping Kapacita: (n-2)*K