Óravázlat Készítette: Kucsera Mihály és Toldi Miklós Operációs rendszerek Óravázlat Készítette: Kucsera Mihály és Toldi Miklós
Lemezkezelés Az operációs rendszer nem működhet megfelelő háttértároló nélkül, ezért is fontos a lemezkezelés helyes megvalósítása. A lemezkezelésbe beletartozik a fizikai lemezkezelés, illetve az adattárolás optimalizálása.
Adattárolás különböző eszközökkel Funkció Tárolótípus Jellemző paraméterek Felhasználás operatív tár (memória) félvezető kapacitás:256 MB-4 GB átlagos elérési idő: kb. 15 ns online tároló (munkatár) SSD (Solid State Disk) kapacitás: 4 – 128 Gb átlagos elérési idő: kb. 0,1 ms adatátviteli sebesség: 250 MB/s élettartam: kb. 6 év az alkalmazói program munkaterülete, átmeneti tároló harddiszk kapacitás:0,1-2 GB átlagos elérési idő: 15 ms adatátviteli sebesség: 3 MB/s élettartam:5*107 ciklus az alkalmazói program munkaterülete, átmeneti tároló, adattárolás háttértároló floppy kapacitás:0,25-2,8 MB átlagos elérési idő: kb.150 ms adatátviteli sebesség: <1 MB/s élettartam: 5 év, vagy 5000 írás/olvasási ciklus archiválás adatmozgatás terjesztés Streamer, DAT kapacitás:0,1-10 GB adatátviteli sebesség: 1 MB/s optikai tároló kapacitás:0,4-25 GB átlagos elérési idő: 140 ms adatátviteli sebesség: 0,9-2 MB/s élettartam: >30 év
Mágneslemezek fizikai szerkezete 5,25”, ill. 3,5” vagy 2,5” átmérőjű kör alakú adathordozó Körkörös adattárolás, sávok kialakítása A sávok további felosztása a szektorok A szektorok mérete a PC-s rendszerekben állandó A sávonkénti szektorok száma lehet állandó (floppy, ST506 winchester), vagy változó (IDE) Az adattárolási struktúra formattálással alakul ki.
A merevlemezek régi és új adatrögzítési módja Régi módszer – vízszintes rögzítés Újabb módszer – merőleges rögzítés
Eszközmeghajtók a lemezkezelésben – I. Az operációs rendszer magjának részei Feladata: Hardver hatékony kihasználása Felhasználói folyamatok kiszolgálása
Eszközmeghajtók a lemezkezelésben – II. Az adatátvitelhez szükséges adatok A lemez által várt adatok Eszköz típusa Eszköz sorszáma (azonosító) Adat kezdőcíme az eszközön Adat kezdőcíme a memóriában Adat mennyisége Átvitel iránya: Írás vagy olvasás Visszatérési folyamat Fej sorszáma Szektor sorszáma Cilinder sorszáma A lemez eszközmeghajtó feladata a megfelelő konverzió végrehajtása.
Az eszközmeghajtó felépítése – I. Felső szint: Folyamatokkal tart kapcsolatot Fő feladat a lemezütemezés Alsó szint: A fizikai eszközzel tart kapcsolatot Feladatai: címszámítás, memória terület kiválasztása, pufferelés A két szint között várakozási sor található
Az eszközmeghajtó felépítése – II.
Lemezütemezés – I. Lemezütemezés: a kérés átvétele, vizsgálata, és elhelyezése a várakozási sorban. A kérések várakozási idejének optimalizálási módszerei: Sorrendi kiszolgálás (FCFS-First Come First Served) Legkisebb elérési idő (SSTF- Shortest Seek Time First) Pásztázó (SCAN) Egyirányú pásztázó (C-SCAN- Cirsular Scan)
Várakozási idő szórása Lemezütemezés – II. Algoritmus Várakozási idő Várakozási idő szórása FCFS- A kéréseket a folyamatok érkezési sorrendjében hajtja végre. Az író/olvasófej pillanatnyi pozícióját nem veszi figyelembe nagy kicsi SSTF- Azt a kérést részesíti előnyben, melynek kiszolgálása a a legkisebb fejmozgással jár. Fennáll a kiéheztetés veszélye SCAN- A „fej dönt”. A fej állandó mozgásban van, és sorban elégíti ki a kéréseket. Ha nincs több kérés, akkor történik az irányváltás közepes C-Scan- Hasonló a scan algoritmushoz, de csak egyik irányú mozgásnál elégít ki kéréseket
Címszámítás Címszámítás: a folyamat által kezelt blokkcímzés és a fizikai eszköz 3 dimenziós (CHS) címzési rendszere között teremt kapcsolatot. A blokksorszámok eltolása=INTERLEAVE
Memória terület kiválasztása Hová kerül a tárolóról származó adat? Memóriába (de hogyan?) Adatátvitel megvalósításának módjai: Aszinkron átvitel (a folyamat saját memóriaterületét használja) Szinkron átvitel (az operációs rendszer biztosít átmeneti területet, majd onnan másolódik a folyamat memóriaterületére)
Átmeneti tárak kialakítása – I. Átmeneti tár (buffer pool): a folyamat memóriaterületén alakítható ki (lehet külön írási-olvasási) Aszinkron működés Körkörös átmeneti tárak
Átmeneti tárak kialakítása – II.
Lemezgyorsítás (Disk caching) A lemezről nemcsak az aktuális blokk, hanem környezetéből továbbiak is beolvasásra kerülnek (hátha épp az kell a következőkben) A folyamat a kernelhez továbbítja a lemezkérést, az azonban először megvizsgálja a pufferek tartalmát, és csak hiányzó adat esetén van fizikai lemezművelet Az operációs rendszer részét képező külön program valósítja meg
Adattárolás optimalizálása Blokkméret optimalizálása Adattömörítés Megbízhatóság redundancia Deduplikáció
Blokkméret optimalizálása – I. A merevlemez blokkméret 0,5 KB- 64 KB közötti állandó érték, formattálással alakul ki. Helyes blokkméret választásának kritériumai: Túl nagy blokkméret: helypazarlás Túl kicsi blokkméret: túl nagy adminisztrációs terület (foglaltsági tábla)
Blokkméret optimalizálása – II. Túl nagy blokkméret
Blokkméret optimalizálása – III. Túl kicsi blokkméret
Adattömörítés – I. Az adattömörítés célja a tárolókapacitás növelése. Sajnos az eljárás jó pár ellentmondást is felvett. Kisebb helyfoglalás <-> Gyorsabb adatátvitel Nagyobb számításigény<-> Kisebb adatbiztonság
Adattömörítés – II. Lehetséges módszerek: Futás hossz kódolás: Sok azonos karakter esetén Pl: 30 db A helyett <ESC>30A Különbségi kódolás: Lassan változó minta esetén Pl: 1,2,3,4,…256 sorozat helyett 256/8 Huffmann-kódolás: Erősen eltérő gyakoriságú karakterek esetén
Adattömörítés – III. Huffmann-kódolás példa. A kódolandó szöveg: „KEREKES SZEKEREK MENNEK” Statisztika, kódolás: 8 db E 00 5 db K 01 2 db R 10 2 db S 1100 2 db N 1101 2 db space 1110 1 db M 11110000 1 db Z 11110001
Megbízhatóság, redudancia Adatszintű védelem paritásbit - egyetlen bithiba hibajavító kód - független hibák CRC - összefüggő hibák Eszközszintű védelem RAID
RAID – I. A RAID (Redundant Array of Independent Disks) fogalma: egy olyan eljárásrendszer, amellyel több, különálló háttértárolót (merevlemezt) kötetbe(tömbbe) rendezünk. Gyorsaság és redundancia RAID alapja: a csíkokra (stripes) bontás A RAID szintek típusai: egyszintes és többszintes
RAID – II. A RAID tömb méretét mindig a legkisebb meghajtó mérete határozza meg. A RAID 5 esetében ez úgy módosul, hogy a legkisebb meghajtó mérete * (merevlemezek száma -1) A RAID 6 –nál pedig a legkisebb meghajtó mérete * (merevlemezek száma -2)
RAID – III. RAID 0 szint – összefűzés Ebben az esetben csak összefűzésre kerülnek a használt lemezek a tömbben. Minimum lemezszám: 2 Előnye: leggyorsabb a többi szinthez képest. Hátránya: nincs redundancia, ezért előfordulhat adatvesztés
RAID – IV.
RAID – V. RAID 1 szint – tükrözés A tárolni kívánt információk a tömb minden elemén el lesznek tárolva, vagyis az egyik lemez tükörképe lesz a másiknak. Minimum lemezszám: 2 Előnye: nagyon jó adatbiztonság Hátránya: kissé lassúbbak az írási műveletek
RAID – VI.
RAID – VII. RAID 2 A RAID eme szintje az adatokból szintén csíkokat hoz létre, illetve hibajavító kódokat tárol az egyes meghajtókon. Ezekből a hibajavító kódokból a különböző meghajtók azonos pozícióján lévő adatok visszaállíthatóak.
RAID – VIII. Minimum lemezszám: 6 Előnye: képes egy háttértároló kiesésének detektálása, és az adatok visszaállítására. Hátránya: lassú
RAID – IX. RAID 3 Ez a szint a RAID 2 továbbfejlesztése. Itt is van hibajavító kód eltárolva, de nem a teljes tömbre, hanem csak egy diszkre vonatkozólag. A teljes hibajavító kód az összes kód részből kapható meg. Minimum lemezszám: 4 Előnye: a merevlemez kiesésén kívül képes a diszkhibát is detektálni, és javítani.
RAID – X. Hátránya: egyszerre csak egy kérést lehet kiszolgálni, több kérés egy időben történő kiszolgálása nem lehetséges.
RAID – XI.
RAID – XII. RAID 4 A RAID 4 csaknem megegyezik a 3 –as szinttel, csak itt olyan méretben hozzák létre a csíkokat, hogy azok egy meghajtón legyenek, ezáltal lehetővé várjon a több kérés egy időben történő kiszolgálása. Előnye: viszonylag gyors és biztonságos módszer.
RAID – XIII. Hátránya: a hibajavító kódokat tároló merevlemez sebessége a rendszer szűk keresztmetszete, gyakran lassítja a rendszert. A párhuzamos kiszolgálás miatt egy lemez kiesése radikálisan rontja a tömb olvasási sebességét.
RAID – XIV.
RAID – XV. RAID 5 Az 5 –ös szinten a hibajavító információk nem egy kitüntetett meghajtón találhatóak, hanem elosztva tárolódik a körbeforgó paritás (rotating parity) használatával. Minimum lemezszám: 3
RAID – XVI. Előnye: megfelelő hardveres támogatással gyors, és biztonságos. Hátránya: csak megfelelő hardveres támogatással élvezhetőek az előnyök. Anélkül sajnos lassú.
RAID – XVII.
RAID – XVIII. RAID 6 Ez a 5 –ös szint továbbfejlesztése. Itt az eddigiekben használt sorban számolt ellenőrző kód mellett oszloponként is számításra kerül egy. Minimum lemezszám: 3 Előnye: megfelelő hardveres támogatással gyors, és biztonságos. Képes kettő merevlemez kiesését javítani.
RAID – XIX. Hátránya: ez is mint a RAID 5, csak megfelelő hardveres támogatás mellett használható elfogadható sebességgel.
RAID – XX.
RAID – XXI. RAID 0+1 vagy RAID 01 Ez a 0 és 1 szint előnyeit próbálja kombinálni. Egy RAID 0 –ás tömböt tükröz egy másik RAID 0 –ás tömbre. Minimális lemezszám: 4 Előnye: gyors, és nem feltétlen szükséges hozzá hardveres támogatás
RAID – XXII. Hátránya: egy lemez meghibásodása a teljes tömb leállását eredményezi. Viszonylagosan rossz a helykihasználás.
RAID – XXIII.
RAID – XXIV. RAID 1+0 vagy RAID 10 Ez is hasonló célt tűz ki, mint a RAID 0+1, csak fordított módon teszi azt. Kettő RAID 1 –es tömböt fűzünk össze RAID 0 –ba. Minimális lemezszám: 4 Előnye: gyors, szoftveres támogatással is használható, egy lemez kiesése nem állítja le az egész tömböt.
RAID – XXV. Hátránya: viszonylagosan rossz a helykihasználás.
RAID – XXVI.
Deduplikáció Gyakori helyzet, hogy egy merevlemezen ugyanannak a könyvtárnak több másolata is megtalálható, és ezek tartalma többé – kevésbé megegyezik. A deduplikáció célja, hogy az ilyen egyezőségeket megszüntesse, ezáltal helyett szabadítson fel. A deduplikáció file és szektor szinten is működhet.