operációs rendszerek ii

24
Operációs Rendszerek II. 11. előadás 2007. április 21.

Upload: jabari

Post on 22-Jan-2016

14 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Operációs Rendszerek II

Operációs Rendszerek II.

11. előadás

2007. április 21.

Page 2: Operációs Rendszerek II

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Fájlrendszer architektúra

Page 24: Operációs Rendszerek II

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ú)