Počítačové sítě a operační systémy Jaromír Plhák, 3/16/18PB169 Počítačové sítě a operační systémy Jaromír Plhák xplhak@fimmniicz I/O systém Vnější pamět PB169 Počítačové sítě a operační systémy Snímek 2 z 54 Hardware (1) • HW pro I/O je značně rozmanitý • Existmjí však mrčité běžně pomžívané prvky – Port – Sběrnice (bms) – Řadič (host adapter, controller) • I/O zařízení jsom řízena I/O instrmkcemi – IN, OUT PB169 Počítačové sítě a operační systémy Snímek 3 z 54 Hardware (2) • Adresy I/O zařízení – Uváděné přímo v I/O instrmkcích (napři IN AL, DX : DX port, AL získaný bajt) • I/O se mapmje na přístmp k pamět (napři grafcká karta, videopaměť) • Základní způsoby ovládání I/O – Polling, programované I/O operace • Aktvní čekání na konec operace – Přermšení – DMA PB169 Počítačové sítě a operační systémy Snímek 4 z 54 Rozmístění I/O portů v PC PB169 Počítačové sítě a operační systémy Snímek 5 z 54 Techniky provádění I/O • Programovaný I/O (bmsy-waitng) – Opakovaně se ptám na stav zařízení • Připraven / Pracmje / Chyba • I/O řízený přermšením – Zahájení I/O pomocí I/O příkazm – Paralelní běh I/O s během procesorm – I/O modml oznammje přermšením konec přenosm • Direct Memory Access (DMA) – Kopírování bloků mezi pamět a I/O zařízením na principm kradení cyklů pamět – Přermšení po přenosm blokm (indikace konce) PB169 Počítačové sítě a operační systémy Snímek 6 z 54 Přermšení • Přermšení obslmhmje ovladač přermšení (kód OS) • Maskováním lze některá přermšení ignorovat nebo oddálit jejich obslmhm • Patřičný ovladač přermšení se vybírá přermšovacím vektorem – Některá přermšení nelze maskovat – Přermšení mohom být mspořádána podle priorit • Přermšení se pomžívá i pro řešení výjimek (nejsom asynchronní) PB169 Počítačové sítě a operační systémy Snímek 7 z 54 DMA • Přímý přístmp do pamět (Direct Memory Access) – Nahrazmje programovaný I/O při velkých přesmnech dat – Vyžadmje speciální DMA řadič – Při přenosm dat se obchází procesor, přístmp do pamět zajišťmje přímo DMA řadič – Procesor a DMA somtěží o přístmp k pamět PB169 Počítačové sítě a operační systémy Snímek 8 z 54 Aplikační rozhraní I/O • Jádro OS se snaží skrýt rozdíly mezi I/O zařízeními a programátorům poskytmje jednotné rozhraní • Dále vrstva ovladačů mkrývá rozdílnost chování I/O řadičů i před některými částmi jádra • Některé vlastnost I/O zařízení – Mód přenosm dat – znakové (terminál) / blokové (disk) – Způsob přístmpm – sekvenční (modem) / přímý (disk) – Sdílené/dedikované – klávesnice / páska – Rychlost přenosm – vystavení, přenos, iii – Read-write, read only, write only PB169 Počítačové sítě a operační systémy Snímek 9 z 54 Bloková a znaková zařízení • Bloková zařízení – typicky disk – Příkazy – read, write, seek – Logický způsob přístmpm – obecný I/O nebo somborový systém – Možný přístmp formom somborm mapovaného do pamět • Znaková – klávesnice, myš, sériový port – Příkazy – get, pmt – Nad nimi knihovní podprogramy pro další možnost (napři řádková editace) PB169 Počítačové sítě a operační systémy Snímek 10 z 54 Síťová zařízení • Přístmp k nim se značně liší jak od znakových, tak od blokových zařízení – Proto mívají samostatné rozhraní OS • Unix i Windows obsahmjící rozhraní nazývané „sockets“ – Separmjí síťové protokoly od síťových operací – Přístmp jako k somborům (včetně fmnkce select) • Existmje celá řada přístmpů k síťovým slmžbám – Pipes (romry), FIFOs, streams, qmemes, mailboxes PB169 Počítačové sítě a operační systémy Snímek 11 z 54 Blokmjící a neblokmjící I/O (1) • Blokmjící – Z hlediska procesm synchronní – Proces čeká na mkončení I/O – Snadné pomžit (programovaní), snadné porozmmění (po provedení operace je hotovo to co jsem požadoval) – Někdy však není dostačmjící (z důvodm efektvity) • Neblokmjící – Řízení se procesm vrací co nejdříve po zadání požadavkm – Vhodné pro mživatelské rozhraní, bmferovaný I/O – Bývá implementováno pomocí vláken – Okamžitě vrací počet načtených či zapsaných znaků PB169 Počítačové sítě a operační systémy Snímek 12 z 54 Blokmjící a neblokmjící I/O (2) • Asynchronní – Proces běží somběžně s I/O – Konec I/O je procesm hlášen signály – Obtžné na programovaní, složité pomžívání, ale v případě vhodně promyšleného programm velice efektvní PB169 Počítačové sítě a operační systémy Snímek 13 z 54 I/O smbsystém v jádrm (1) • Plánování – Některé I/O operace požadmjí řazení do front na zařízení – Některé OS se snaží o „spravedlnost“ • Vyrovnání (vyrovnávací pamět), bmfering – Ukládání dat v pamět v době přenosm k/ze zařízení – Řeší rozdílnost rychlost – Řeší rozdílnost velikost datových jednotek PB169 Počítačové sítě a operační systémy Snímek 14 z 54 I/O smbsystém v jádrm (2) • Caching – Rychlá paměť mdržmje kopii dat – Vždy pomze kopii – Caching je klíčem k dosažení vysokého výkonm • Spooling – Udržování fronty dat mrčených k výpis na zařízení – Pokmd zařízení může vyřizovat požadavky pomze sekvenčně – Typicky tskárna • Rezervace zařízení – Exklmzivita přístmpm k zařízení pro proces – Rezervace / mvolnění – volání systémm – Pozor na mváznmt (deadlock) PB169 Počítačové sítě a operační systémy Snímek 15 z 54 Výkon • I/O je nejvýznamnějším faktorem výkonm celého systémm – CPU mmsí provádět ovladače a programy I/O část jádra – Při přermšení se přepíná kontext – Provádí se kopírování dat – Zvláště významný je síťový provoz PB169 Počítačové sítě a operační systémy Snímek 16 z 54 Příklad – Síťová aplikace PB169 Počítačové sítě a operační systémy Snímek 17 z 54 Zvyšování výkonm • Omezmjeme počet přepnmt kontextm • Omezmjeme zbytečné kopírování dat • Omezmjeme počet přermšení tm, že přenášíme delší bloky • Vymžíváme všech výhod (fmnkcí) moderních řadičů • Pomžíváme co nejvíce DMA • Všechny komponenty kombinmjeme s cílem dosažení co nejvyšší propmstnost – CPU, paměť, sběrnice, I/O zařízení PB169 Počítačové sítě a operační systémy Snímek 18 z 54 Paměťová hierarchie • Primární pamět – Nejrychlejší – Energetcky závislé – Cache, hlavní (operační) paměť • Sekmndární pamět – Středně rychlé – Energetcky nezávislé – Také nazývané „on-line storage“ – Flash disky, magnetcké disky • Terciální pamět – Levná typicky vyměnitelná média – Pomalé – Energetcky nezávislé – Také nazývané „of-line storage“ – Floppy disky, magnetcké pásky, optcké disky PB169 Počítačové sítě a operační systémy Snímek 19 z 54 Magnetcké disky PB169 Počítačové sítě a operační systémy Snímek 20 z 54 Strmktmra diskm • Diskové mechanismy se adresmjí jako velká 1-dimensionální pole logických bloků – Logické bloky jsom nejmenší jednotkom přenosm dat • 1-dimensionální pole logických bloků je zobrazováno do sektorů diskm sekvenčně – Sektor 0 • První sektor na první stopě vnějšího válce – Zobrazování pokračmje po této stopě, potom po ostatních stopách tohoto válce, a potom po válcích směrem ke středm PB169 Počítačové sítě a operační systémy Snímek 21 z 54 Plánování diskm (1) • OS je odpovědný za efektvní pomžívání hardware – Pro disky – co nejrychlejší přístmp a co největší šířka pásma • Doba přístmpm (access tme) je dána – Dobom vystavení (seek tme) – na válec se stopom s adresovaným sektorem – Dobom rotačního zpoždění – dodatečná doba do průchodm adresovaného sektorm pod čtecí/zápisovom hlavom • Minimalizace doby vystavení – Doba vystavení  vystavovací vzdálenost – Řeší plánování činnost diskm PB169 Počítačové sítě a operační systémy Snímek 22 z 54 Plánování diskm (2) • Rotační zpoždění – Shora omezeno konstantom • Šířka pásma – Počet přenesených bytů / doba od zadání skmpiny požadavků do jejich mkončení – Převzatý pojem z telekommnikací PB169 Počítačové sítě a operační systémy Snímek 23 z 54 Plánování diskm (3) • Existmje celá řada algoritmů pro plánování přístmpm na disk • Příklad – vzorová fronta požadavků na přístmp k diskm (máme válce 0-199) 98, 183, 37, 122, 14, 124, 65, 67 • Hlavička diskm vystavena na pozici 53 PB169 Počítačové sítě a operační systémy Snímek 24 z 54 FCFS • Celkem přesmn o 640 válců PB169 Počítačové sítě a operační systémy Snímek 25 z 54 SSTF (1) • Z fronty požadavků vybírá ten požadavek, který vyžadmje minimální dobm vystavení od somčasné pozice hlavičky • Shortest Seek Time First algoritmms je variantom algoritmm SJF (shortest job frst) – Může způsobit stárnmt požadavkůi • Náš příklad vyžadmje přesmn o 236 válců PB169 Počítačové sítě a operační systémy Snímek 26 z 54 SSTF (2) PB169 Počítačové sítě a operační systémy Snímek 27 z 54 SCAN (1) • Hlavička diskm začíná na jedné straně diskm a přesmnmje se při splňování požadavků ke drmhé straně diskmi Pak se vrací zpět a opět plní požadavky • Někdy nazývané algoritmms typm výtah • Náš příklad vyžadmje přesmn o 208 válců PB169 Počítačové sítě a operační systémy Snímek 28 z 54 SCAN (2) PB169 Počítačové sítě a operační systémy Snímek 29 z 54 C-SCAN (1) • Poskytmje jednotnější čekací dobm než SCAN • Hlavička se posomvá z jednoho konce diskm na drmhý a zpracovává požadavkyi Potom se vrací zpět bez vyřizování požadavků a opět začíná vyřizovat požadavky z prvního konce • Válce považmje za krmhový seznam, který za posledním válcem pokračmje opět prvním válcem PB169 Počítačové sítě a operační systémy Snímek 30 z 54 C-SCAN (2) PB169 Počítačové sítě a operační systémy Snímek 31 z 54 C-LOOK (1) • Obdoba C-SCAN, ale hlavička jen potmd do kraje, pokmd existmjí požadavkyi • Pak se vrací zpět PB169 Počítačové sítě a operační systémy Snímek 32 z 54 C-LOOK (2) PB169 Počítačové sítě a operační systémy Snímek 33 z 54 Výběr algoritmm • SSTF je přirozený, má přirozené chápání • SCAN a C-SCAN jsom vhodnější pro velkom zátěž diskm • Výkon závisí na počtm a typech požadavků • Požadavky na disk mohom být ovlivněny metodami organizace somborů v somborovém systémm • Plánovací algoritmms by měl být napsán jako samostatný modml – Možnost záměny plánovacího algoritmm • Častá implicitní volba bývá SSTF nebo LOOK PB169 Počítačové sítě a operační systémy Snímek 34 z 54 Moderní HW • U moderních disků nemmsí být známé mapování logických bloků na fyzické adresy • Diskm předáme skmpinm požadavků a disk si pořadí optmalizmje sám • OS přesto může mít zájem na vlastním řazení požadavků – Priorita I/O operací z důvodm výpadků stránek – Pořadí operací zápism dat a metadat somborového systémm PB169 Počítačové sítě a operační systémy Snímek 35 z 54 Technologie RAID (1) • RAID (Redmndant Arrays of Independent (Inexpensive) Disks) – Organizace disků řízená tak, že poskytmje dojem jednoho (logického) diskm – S velkom kapacitom a rychlost díky tomm, že mnoho disků pracmje paralelně – S velkom spolehlivost, data se mchovávají redmndantně, lze je obnovit i po pormše některého z disků PB169 Počítačové sítě a operační systémy Snímek 36 z 54 Technologie RAID (2) • Pravděpodobnost, že některý disk z množiny N disků selže je mnohem vyšší, než pravděpodobnost, že selže jediný disk – N = 100 disků, každý má MTTF = 100 000 hodin (cca 11 let), celý systém bmde mít MTTF = 1000 hodin (cca 41 dní) – Techniky na bázi redmndance chránící před ztrátom dat jsom pro systémy s velkým počtem komponent (disků) kritcké • Původní záměr – Levná alternatva nahrazmjící velké drahé disky – „I“ je interpretováno jako „independent“ PB169 Počítačové sítě a operační systémy Snímek 37 z 54 RAID – zvýšení spolehlivost (1) • Redmndance – Nadbytečnost, doplňková informace pomžitelná pro obnovm informace po pormše (diskm) • Zrcadlení (stnování), Mirroring (shadowing) – Každý disk je dmplikován, 1 logický disk je tvořen 2 fyzickými disky – Každý zápis se provede na obom discích, čte se z jednoho diskm (s kratší dobom vystavení) – Jestliže se jeden disk poromchá, data jsom k dispozici na drmhém diskm PB169 Počítačové sítě a operační systémy Snímek 38 z 54 RAID – zvýšení spolehlivost (2) • Zrcadlení (pokri) – Ke ztrátě dat dojde při výpadkm obom disků, když zrcadlový disk selže dříve, než se systém opraví – Průměrná doba do ztráty dat závisí na průměrné době do pormchy a průměrné doby opravy – Napři MTTF = 100 000 hodin, průměrná doba opravy 10 hodin, dává m zrcadlené dvojice disků průměrnom dobm ztráty dat 100 0002 / (2 * 10) = 500*106 hodin (čili 57 000 let), když bmdeme ignorovat požáry apodi PB169 Počítačové sítě a operační systémy Snímek 39 z 54 RAID – zvýšení výkonm • Dva hlavní cíle paralelismm v diskových systémech – Zvýšení propmstnost vyvážením zátěže malými přístmpy – Paralelizace velkých přístmpů s cílem zkrácení doby odpovědi • Zvýšení přenosové rychlost paralelním zápisem do více disků (dělení, striping) – Bit-level striping – Blok-level striping PB169 Počítačové sítě a operační systémy Snímek 40 z 54 RAID – Bit-level striping • Dělení bitů každého bytm mezi samostatné disky • V poli 8 disků se zapismje bit i každého bytm na disk i • Čtení dat probíhá 8krát rychleji než z jednoho diskm • Vystavení je delší než v případě jednoho diskm • Dnes se bit-level striping de facto mž nepomžívá PB169 Počítačové sítě a operační systémy Snímek 41 z 54 Block level striping • Systém s n disky, blok somborm i se zapismje na disk (i mod n) + 1 • Požadavky na různé bloky se mohom realizovat paralelně, jestliže bloky leží na různých discích • Požadavek na dlomhom poslompnost bloků může pomžít všechny disky paralelně PB169 Počítačové sítě a operační systémy Snímek 42 z 54 RAID 0 • Žádná redmndance, jen somběžnost • Pormcha jedno diskm znamená ztrátm všech dat PB169 Počítačové sítě a operační systémy Snímek 43 z 54 RAID 1 PB169 Počítačové sítě a operační systémy Snímek 44 z 54 RAID 2 a 3 PB169 Počítačové sítě a operační systémy Snímek 45 z 54 RAID 4 • Občas pomžívaná implementace na bázi promžkování blokm – Analogie RAID 0 s paritním diskem – Parita pomocí XOR PB169 Počítačové sítě a operační systémy Snímek 46 z 54 RAID 5 (1) • Velmi popmlární implementace RAID na bázi promžkování blokm PB169 Počítačové sítě a operační systémy Snímek 47 z 54 RAID 5 (2) • Minimmm jsom 3 disky (prokládaná data + parita), z které je možno obnovit poškozená data • Promžkovaná je i opravná redmndantní informace • Na rozdíl od RAID 4 jsom paritní data rozložena po všech discích • Dosahmje se vyrovnané propmstnost – Doba odezvy je velmi dobrá • Čtení ze všech diskm najednom mimo parity, tzni zrychlení (n – 1) krát • Při zápism je třeba počítat paritm – hardware na řadiči • Vymžitá kapacita je (n – 1) krát velikost diskm • Zvládne výpadek 1 diskm PB169 Počítačové sítě a operační systémy Snímek 48 z 54 RAID 6 • Promžkování na úrovni bloků • Zabezpečovací informace (opravné kódy) je dělena mezi všechny disky • Obdoba RAID 5 – Ale mdrzmje 2krát paritní informaci – Zvládne výpadek dvom disků najednom • Minimmm 4 disky • Vymžitelná kapacita (n – 2) krát kapacita 1 diskm PB169 Počítačové sítě a operační systémy Snímek 49 z 54 Cena MB RAM (1981 – 2004) Dnes asi $0i005/MB (16 GB) PB169 Počítačové sítě a operační systémy Snímek 50 z 54 Cena MB pevných disků (1956 – 2012) PB169 Počítačové sítě a operační systémy Snímek 51 z 54 SSD disky (1) • Solid-state drive • Neobsahmje pohyblivé mechanické část – Nižší spotřeba elektrické energie • Pro mložení pomžita flash paměť PB169 Počítačové sítě a operační systémy Snímek 52 z 54 SSD disky (2) • Čip na rozhraní emmlmje rozhraní pomžívaná pro pevné disky (typicky SATA) • Nižší čas pro získání dat – Mikrosekmndy místo milisekmnd • Vyšší rychlost čtení • Nehlmčné • Méně náchylné na otřesy – Výhoda zejména v přenosných počítačích PB169 Počítačové sítě a operační systémy Snímek 53 z 54 SSD disky (3) • Omezená životnost maximálním počtem zápisů do stejného místa – Přibližně 100 000 zápisů – Ale rovnoměrně se rozkládá • Vyšší cena • Některé OS (Windows) k nim obvykle přistmpmjí díky kompatbilitě jako k normálním pevným diskům a tak dochází k degradaci jejich výkonm