operációs rendszerek ii
DESCRIPTION
Operációs Rendszerek II. 11. előadás 2007. április 21. RAID. Diszk (másodlagos tároló) problémák Teljesítményük növekedési rátája szignifikánsabban alacsonyabb a CPU növekedésnél a tárolt adatok fontossága miatt a nagy kapacitású diszkek hibája egyre nagyobb üzleti kockázattal járt - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/1.jpg)
Operációs Rendszerek II.
11. előadás
2007. április 21.
![Page 2: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/2.jpg)
RAID
• Diszk (másodlagos tároló) problémák– Teljesítményük növekedési rátája szignifikánsabban
alacsonyabb a CPU növekedésnél– a tárolt adatok fontossága miatt a nagy kapacitású diszkek
hibája egyre nagyobb üzleti kockázattal járt– A nagy kapacitású diszkek sem „eléggé nagyok”
• RAID koncepciója: nagy kapacitású és teljesítményű drága diszkek helyett kisebb (olcsóbb) diszkeket használva érjük el célunkat, azaz:– Kapacitás növelése– Teljesítmény növelése– Megbízhatóság növelése
![Page 3: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/3.jpg)
RAID• Az elnevezés a Berkley egyetem kutatóitól származik (1988) –
akkor ők ezt a „Redundant array of Inexpensive Disks” szavakból állították össze. A névben később az „Inexpensive” szó „Independent”-re változott…
• Dióhéjban: úgy kapcsolunk össze több diszket, hogy– az operációs rendszer számára egy diszknek látszanak– az adatot szétosztjuk a diszkek között,– a diszk hibák ellen paritás információ tárolásával védekezzünk (ezt– két megoldás nem elégíti ki)
• A szabvány 5+1 szintet definiál – a „+1” nem redundáns és 3 terjedt el– különböző gyártók további szinteket is definiálnak– szint-kombinációkat is alkalmazunk
• A különböző megoldások a szükséges tárolóterület overhead-ben, a megoldás teljesítményigényében és a biztonság szintjében térnek el
![Page 4: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/4.jpg)
RAID szintek• RAID-0 (striping)
– Redundancia nélküli megoldás• RAID-1 (tükrözés)
– Adatduplikáláson alapul (nem paritás alapú)• RAID-2
– Speciális, Hamming kód alapú– Gyakorlatilag kihalt
• RAID-3– Kizáró vagy műveletre épít, egy blokk az összes diszkre szét van osztva– Erős hardver támogatást igényel!
• RAID-4– Kizáró vagy műveletre épít, egy blokk csak egy diszken található– Dedikált paritás diszket használ
• RAID-5– Hasonló a RAID-4 megoldáshoz, de itt a paritás is szét van osztva a diszkek
között
![Page 5: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/5.jpg)
RAID – háttér információk
• A diszkek átviteli jellemzőjének tényezői– a mechanikai működésből adódó késleltetés– az adatátvitel végrehajtásának teljesítménye (átviteli sebesség)
• A terhelés jellege – Kevés számú, kis párhuzamosságú, de nagy mennyiségű adatot
mozgató terhelése (pl. kötegelt feldolgozás)– Nagy számú, magas párhuzamosságú, de kicsi
adatmennyiséget érintő terhelés (tranzakciós rendszerek)
• Kapcsolat a fentiek között– Nagy mennyiségű adatot mozgató terhelésnél az adatátvitel
teljesítménye domináns– Nagy tranzakciószámnál a késleltetések sokkal fontosabbak
![Page 6: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/6.jpg)
RAID – háttér információk
• Olvasás és írás műveletek különbsége redundáns tároláskor– olvasáskor csak annyi adatot kell beolvasni, ami elegendő a kért
adatblokk biztosításához– íráskor az adatblokkhoz tartozó összes részt aktualizálni kell
• Vizsgáljuk– Tárolás módja– Viselkedés íráskor és olvasáskor
• Példák– Diszkek száma: N– Egy diszk átviteli sebessége: T
![Page 7: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/7.jpg)
RAID-0
• Tárolás módja– Nagyméretű csíkok, egy blokk egyetlen diszken tárolódik. – Redundancia nincs a rendszerben. – Hasznos terület: N.
• Olvasás– Egy időben ~N független olvasási tranzakció szolgálható ki.
• Tranzakciónkénti átviteli sebesség: T
– Hiba esetén: működésképtelen!
• Írás– Egy időben ~N független írása tranzakció szolgálható ki.
• Tranzakciónkénti átviteli sebesség: T
– Hiba esetén: működésképtelen!
![Page 8: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/8.jpg)
RAID-1• Tárolás módja
– Nagyméretű csíkok, egy blokk egyetlen diszken tárolódik. – A redundanciát a teljes adat duplikálása eredményezi. – Tipikusan N=2, hasznos terület: N/2.
• Olvasás– Egy időben ~N független olvasási tranzakció szolgálható ki.
• Tranzakciónkénti átviteli sebesség: T– Hiba esetén: egy időben ~(N-1) független olvasási tranzakció
szolgálható ki. • Tranzakciónkénti átviteli sebesség: T
• Írás– Egy időben 1 írási tranzakció szolgálható ki.
• Tranzakciónkénti átviteli sebesség: =< T– Hiba esetén: Egy időben 1 írási tranzakció szolgálható ki.
• Tranzakciónkénti átviteli sebesség: =< T
![Page 9: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/9.jpg)
RAID-3• Tárolás módja
– Byte szintű csíkok, a blokkok az összes diszkre szét vannak osztva. – Byte szintű paritás képzés XOR művelettel történik, – a megoldás dedikált paritás diszket használ. N>2, hasznos terület: N-1.
• Olvasás– Egy időben 1 olvasási tranzakció szolgálható ki
• Tranzakciónkénti átviteli sebesség: (N-1)*T– Hiba esetén: egy időben 1 olvasási tranzakció szolgálható ki
• Tranzakciónkénti átviteli sebesség: < (N-1)*T (számolni kell)• Írás
– Egy időben 1 írási tranzakció szolgálható ki. • Tranzakciónkénti átviteli sebesség: <= (N-1)*T (számolni is kell)
– Hiba esetén: egy időben 1 írási tranzakció szolgálható ki. • Tranzakciónkénti átviteli sebesség: <= (N-1)*T (számolni is kell)
![Page 10: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/10.jpg)
RAID-4• Tárolás módja
– Nagyméretű csíkok, egy blokk egyetlen diszken tárolódik. – Blokk szintű paritás képzés XOR művelettel történik, a megoldás
dedikált paritás diszket használ. – N>2, hasznos terület: N-1.
• Olvasás– Egy időben (N-1) független olvasási tranzakció szolgálható ki.
• Tranzakciónkénti átviteli sebesség: T– Hiba esetén: az olvasási tranzakciók száma akár egyre is lecsökkenhet,
mert a hibás diszkeken található adatok előállításához az összes többi diszkblokk adata szükséges!
• Írás– Egy időben 1 írási tranzakció szolgálható ki.
• Tranzakciónkénti átviteli sebesség << T. Egy blokk kiírása után a teljes sor paritását újra kell számolni
– Hiba esetén: 1 írási tranzakció szolgálható ki. • Tranzakciónkénti átviteli sebesség << T
![Page 11: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/11.jpg)
RAID-5• Tárolás módja
– Nagyméretű csíkok, egy blokk egyetlen diszken tárolódik. – Blokk szintű paritás képzés XOR művelettel történik, a paritás blokkok is
szét vannak osztva a diszkek között. – N>2, hasznos terület: N-1.
• Olvasás– Egy időben (N-1)...(N) független olvasási tranzakció
• Tranzakciónkénti átviteli sebesség: T– Hiba esetén: az olvasási tranzakciók száma akár egyre is lecsökkenhet,
mert a hibás diszkeken található adatok előállításához az összes többi diszkblokk adata szükséges!
• Írás– Egy időben 1 írási tranzakció szolgálható ki.
• Tranzakciónkénti átviteli sebesség << T– Hiba esetén: 1 írási tranzakció szolgálható ki.
• Tranzakciónkénti átviteli sebesség << T
![Page 12: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/12.jpg)
További RAID szintek
• Raid-6– Két paritás blokk használatával (n+2 konfig) nagyobb hibatűrést
biztosít– Az írás során jelentős overhead– Nem igazán terjedt el
• Raid-S– EMC Symmetrix diszktömbökben használt technológia. – Raid-5 szerű, de speciális, teljesítményt növelő eljárásokat
alkalmaz
• Kombinált Raid: 1+0 és 0+1 – 0+1: összetükrözi a stripe-ot– 1+0: tükröket stripe-ol
![Page 13: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/13.jpg)
Diszk cache
• Gyorsítótár, a gyorsítótáraknál korábban megismert célokkal és problémákkal– Gyorsítótár: központi memória (drágább,
kisebb kapacitású, de gyorsabb, mint a merevlemez)
– Algoritmusok: gyorsítótár lehető legoptimálisabb használata
![Page 14: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/14.jpg)
Diszk cache tervezési kérdések
• Gyorsítás „iránya”– Csak olvasáskor (write through)– Mindkét irányban (write back)
• Memória felhasználás módja– Fix (előre meghatározott)– Dinamikus (terheléstől függő)
• Adat átadás a cache-területről (olvasáskor)– Másolás a felhasználói címtérbe– Osztott memória használata
• Blokkcsere algoritmusa– LRU (least recently used)– LFU (least frequently used)– Frequency-based
![Page 15: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/15.jpg)
Unix I/O (klasszikus)
• Hozzáférés fájl-interfészen keresztül
• Kétféle eszköz– Blokkos– Karakteres
• Eredeti buffer cache fix
![Page 16: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/16.jpg)
I/O eszközök a fájlrendszerben• Kernel tábla hivatkozások az i-node táblában
– Major és minor numberek (eszköz, példány)
crw-rw-rw- 1 root wheel 10, 6 Apr 18 23:20 tty.Bluetooth-Modemcrw-rw-rw- 1 root wheel 10, 2 Apr 18 23:20 tty.Bluetooth-PDA-Synccrw-rw-rw- 1 root wheel 10, 4 Apr 18 23:20 tty.Hermione-Dial-upNetwork-2
brw-r----- 1 root operator 14, 0 Apr 18 23:19 disk0brw-r----- 1 root operator 14, 1 Apr 18 23:19 disk0s1
crw-rw-rw- 1 root wheel 3, 2 Apr 19 00:20 /dev/nullcrw-rw-rw- 1 root wheel 3, 3 Apr 18 23:19 /dev/zerocrw-rw-rw- 1 root wheel 8, 1 Apr 18 23:19 /dev/urandom
drwx------ 16 bzso bzso 544 Mar 24 22:48 Documentsdrwx------ 35 bzso bzso 1190 Apr 3 18:24 Library-rwxr-xr-x 1 bzso bzso 99452 Nov 1 00:46 Google Earth-rwxr-xr-x 1 bzso bzso 92840 Nov 1 01:02 Google Earth Launcher
![Page 17: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/17.jpg)
Unix I/O
• Klasszikus: statikus táblázatok– Új hardver illesztéséhez új kernel kell (a meghajtó
programok statikusan betöltve)– Sok esetben előre „belepakoltak” minden drivert a
kernelbe
• Modern: dinamikus kernelek– A különféle meghajtó programok futási időben is
betölthetők (igény szerint)• Függőségek!
– Lényegesen rugalmasabb és erőforrás takarékosabb működés – de a kernel sokkal bonyolultabb lesz
![Page 18: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/18.jpg)
Fájlok, fájlrendszerek
• Felhasználói szempontból az operációs rendszer (egyik) legfontosabb része– Ezzel közvetlen „találkozik”– A fájlok tárolása, hozzáférés alapvető– Teljesítmény szempontból kritikus
![Page 19: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/19.jpg)
Alapvető elvárások
• Hosszú távú tárolás– A fájlokat másodlagos tárolón (tipikusan merevlemezen) tároljuk– A fájlok tartalma a felhasználó kilépése, a gép kikapcsolását
követően is megmarad
• Megoszthatóság– Ugyanazt azt az adathalmazt több program is elérhesse – a
fájlok egyértelmű azonosítása alapvető– Amennyiben igényelt, a fájlokat több felhasználó is elérhesse
• Strukturáltság– A fájlok tartalmát (adatokat) jól ismert struktúrába kell szervezni– A fájlok között is célszerű struktúrát definiálni (sok fájl,
átláthatóság)
![Page 20: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/20.jpg)
Tipikus fájl műveletek
• Általános modell– Létrehozás– Törlés– Megnyitás– Lezárás– Olvasás – Írás
• Az egyes konkrét implementációk további műveleteket is definiálhatnak
![Page 21: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/21.jpg)
Fájl struktúrák
• Struktúra-elemek– Mező, alapelem– Rekord, összetartozó mezők gyűjteménye– Fájl, összetartozó rekordok– Adatbázis, összetartozó fájlok
• Mai rendszerekben a struktúra meglehetősen egyszerű, az összetett(ebb) adatstruktúrák kezelését alkalmazás szintű komponensekre bízzák
![Page 22: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/22.jpg)
Fájl menedzsment rendszer elvárások
• Felhasználók (és alkalmazások) adattárolási, adatkezelési igényeinek kielégítése
• Tárolt adatok validitásának biztosítása• Teljesítmény optimalizálás rendszer (globális) és
felhasználói szempontból egyaránt• Különféle tároló eszközök támogatása• Adatvesztés kockázatának minimalizálása• Szabványos (programozói) interfész biztosítása• Többfelhasználós működés támogatása
![Page 23: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/23.jpg)
Fájlrendszer architektúra
![Page 24: Operációs Rendszerek II](https://reader035.vdocuments.pub/reader035/viewer/2022062500/568150f8550346895dbf17d2/html5/thumbnails/24.jpg)
Rétegek
• Device driver: kommunikáció a különféle hardver elemekkel (eszközfüggő)
• Basic FS (physical I/O): alacsony (blokk) szintű műveletek
• Basic I/O supervisor: I/O sorbaállítás, ütemezés• Logical I/O: magas szintű file műveletek• File szervezés: NEM Unix/Win világban
– Pile („struktúrálatlan”, ahogy jön)– Szekvenciális (rekord alapú)– Indexelt szekvenciális (rekord alapú)– Indexelt (rekord alapú)– Direct (hash) fájlok (rekord alapú)