Ovládání periferních zařízení, RAID
Z FAV wiki
(Rozdíly mezi verzemi)
(Založena nová stránka: 1. Obsluha přerušení Řadič vyvolá přerušení ve chvíli dokončení I/O požadavku Ovladač zadá I/O požadavek, usne, po příchodu přerušení ho obsluh...) |
|||
| Řádka 1: | Řádka 1: | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | == Obsluha přerušení == | |
| − | + | ||
| − | + | ||
| + | * Řadič vyvolá přerušení ve chvíli dokončení I/O požadavku | ||
| + | * Ovladač zadá I/O požadavek, usne, po příchodu přerušení ho obsluha vzbudí | ||
| + | * Obsluha přerušení je časově kritická, musí být co nejkratší | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | Funkce ovladače zařízení | + | == Ovladače zařízení == |
| − | + | ||
| − | + | * Ovladače obsahují veškerý kód závislý na I/O zařízení, jediný zná HW podrobnosti | |
| − | + | * Ovladači předán příkaz vyšší vrstvou; pokud ještě obsluhuje předchozí požadavek, zařadí nový požadavek do fronty; zadá příkazy řadiči; zablokuje se do vykonání požadavku; po dokončení zkontroluje, zda nenastala chyba; předá výsledek vyšší vrstvě; spustí další požadavek | |
| − | + | ||
| − | + | ||
| − | + | == SW vrstva OS nezávislá na zařízení == | |
| + | |||
| + | * Poskytuje I/O funkce společně pro všechna zařízení daného druhu | ||
| + | * Definuje rozhraní s ovladači | ||
| + | * Poskytuje jednotné rozhraní uživatelskému SW | ||
| + | |||
| + | |||
| + | == I/O SW v uživatelském režimu == | ||
| + | |||
| + | * Programátor používá v programech I/O funkce nebo příkazy jazyka | ||
| + | * Spooling = způsob obsluhy vyhrazených I/O v multiprogramovém systému (požadavky se zařadí do fronty a počkají až na ně přijde řada) | ||
| + | |||
| + | |||
| + | |||
| + | == Funkce ovladače zařízení == | ||
| + | |||
| + | * ovladači předán příkaz vyšší vrstvou | ||
| + | * požadavek zařazen do fronty (může ještě obsluhovat předchozí) | ||
| + | * ovladač zadá příkazy řadiči (přijde na řadu), např. nastavení hlavy, přečtení sektoru | ||
| + | * zablokuje se do vykonání požadavku (neblokuje při rychlých operacích, např. zápis do registru) | ||
| + | * vzbuzení obsluhou přerušení (dokončení operace) - zkontroluje, zda nenastala chyba | ||
| + | * pokud OK, předá výsledek (status + data) vyšší vrstvě | ||
| + | |||
| + | |||
| + | |||
| + | == RAID 0 == | ||
| + | |||
| + | * není redundantní | ||
| + | * ztrata 1 disku = ztrata celeho pole | ||
| + | * duvod pouziti - vykon napr. strih videa | ||
| + | |||
| + | |||
| + | == RAID 1 mirroring == | ||
| + | |||
| + | * zrcadleni na 2 disky stejnych kapacit | ||
| + | * totozne informace | ||
| + | * vypadek 1 disku - nevadi | ||
| + | * jednoducha implementace - casto ciste sw | ||
| + | * nevyhoda - vyuzijeme jen polovinu kapacity zapis - pomalejsi (2x) cteni - rychlejsi (radic - lze stridat pozadavky mezi disky) | ||
| + | |||
| + | |||
| + | == RAID 5 == | ||
| + | |||
| + | * redundantni pole s distribuovanou paritou | ||
| + | * minimialne 3 disky | ||
| + | * rezie: 1 disk z pole n disku, pr. 5 disku 100GB, 400GB pro data | ||
| + | * vypadek 1 disku nevadi cteni - vykon ok zapis - pomalejsi 1 zapis - cteni starych dat, cteni stare parity, vypocet nove parity, zapis novych dat, zapis nove parity | ||
| + | |||
| + | |||
| + | == RAID 6 == | ||
| + | |||
| + | * RAID 5 + navic dalsi paritni disk | ||
| + | * odolne proti vypadku dvou disku | ||
| + | * rekonstrukce pole pri vypadku - trva dlouho po dobu rekonstrukce neni pole chraneno proti vypadku dalsiho disku, narocna cinnost - muze se objevit dalsi chyba, radic disk odpoji a ... | ||
| + | |||
| + | |||
| + | == RAID 10 == | ||
| + | |||
| + | - kombinace RAID 0 (stripe) a RAID 1 (zrcadlo) | ||
| + | - min. pocet disku 4 rezie 100% diskove kapacity navic | ||
| + | - nejvyssi vykon v bezpecnych typech polich podstatne rychlejsi nez RAID 5, pri zapisu odolnost proti ztrate az 50% disku x RAID 5 | ||
Verze z 30. 8. 2011, 11:17
Obsah |
Obsluha přerušení
- Řadič vyvolá přerušení ve chvíli dokončení I/O požadavku
- Ovladač zadá I/O požadavek, usne, po příchodu přerušení ho obsluha vzbudí
- Obsluha přerušení je časově kritická, musí být co nejkratší
Ovladače zařízení
- Ovladače obsahují veškerý kód závislý na I/O zařízení, jediný zná HW podrobnosti
- Ovladači předán příkaz vyšší vrstvou; pokud ještě obsluhuje předchozí požadavek, zařadí nový požadavek do fronty; zadá příkazy řadiči; zablokuje se do vykonání požadavku; po dokončení zkontroluje, zda nenastala chyba; předá výsledek vyšší vrstvě; spustí další požadavek
SW vrstva OS nezávislá na zařízení
- Poskytuje I/O funkce společně pro všechna zařízení daného druhu
- Definuje rozhraní s ovladači
- Poskytuje jednotné rozhraní uživatelskému SW
I/O SW v uživatelském režimu
- Programátor používá v programech I/O funkce nebo příkazy jazyka
- Spooling = způsob obsluhy vyhrazených I/O v multiprogramovém systému (požadavky se zařadí do fronty a počkají až na ně přijde řada)
Funkce ovladače zařízení
- ovladači předán příkaz vyšší vrstvou
- požadavek zařazen do fronty (může ještě obsluhovat předchozí)
- ovladač zadá příkazy řadiči (přijde na řadu), např. nastavení hlavy, přečtení sektoru
- zablokuje se do vykonání požadavku (neblokuje při rychlých operacích, např. zápis do registru)
- vzbuzení obsluhou přerušení (dokončení operace) - zkontroluje, zda nenastala chyba
- pokud OK, předá výsledek (status + data) vyšší vrstvě
RAID 0
- není redundantní
- ztrata 1 disku = ztrata celeho pole
- duvod pouziti - vykon napr. strih videa
RAID 1 mirroring
- zrcadleni na 2 disky stejnych kapacit
- totozne informace
- vypadek 1 disku - nevadi
- jednoducha implementace - casto ciste sw
- nevyhoda - vyuzijeme jen polovinu kapacity zapis - pomalejsi (2x) cteni - rychlejsi (radic - lze stridat pozadavky mezi disky)
RAID 5
- redundantni pole s distribuovanou paritou
- minimialne 3 disky
- rezie: 1 disk z pole n disku, pr. 5 disku 100GB, 400GB pro data
- vypadek 1 disku nevadi cteni - vykon ok zapis - pomalejsi 1 zapis - cteni starych dat, cteni stare parity, vypocet nove parity, zapis novych dat, zapis nove parity
RAID 6
- RAID 5 + navic dalsi paritni disk
- odolne proti vypadku dvou disku
- rekonstrukce pole pri vypadku - trva dlouho po dobu rekonstrukce neni pole chraneno proti vypadku dalsiho disku, narocna cinnost - muze se objevit dalsi chyba, radic disk odpoji a ...
RAID 10
- kombinace RAID 0 (stripe) a RAID 1 (zrcadlo) - min. pocet disku 4 rezie 100% diskove kapacity navic - nejvyssi vykon v bezpecnych typech polich podstatne rychlejsi nez RAID 5, pri zapisu odolnost proti ztrate az 50% disku x RAID 5