Operációs rendszerek I/O és fájlkezel alrendszer Operációs rendszerek 1 A mai program Az I/O alrendszer, különböz látásmódokkal Eszközök osztályai, eszköz-driverek Logikai diszk, partíció fogalom Fájlok, szervezettség, elérés Fájlrendszer megvalósítási feladatok jegyzékstruktúra megvalósítás, blokk hozzárendelés fájlokhoz, szabad blokk menedzselés. Unix fájlrendszer. Operációs rendszerek 2
Az I/O alrendszer feladatai Elrejteni az eszközök specialitásait Kényelmessé tenni az eszközhasználatot Menedzselni az eszközöket, fájlokat védeni azokat, ütemezni, konkurens vagy kizárólagos hozzáféréseket biztosítani. (A fájl absztrakció a felhasználók által leginkább ismert és használt absztrakció, amit az operációs rendszer nyújtani tud.) Operációs rendszerek 3 Eszközök, másodlagos tárolók, fájlrendszer I/O alrendszer, eszközök Hozzáférések Eszköz driverek Másodlagos tárolók Buffer cache Fájlrendszer megvalósítás Jegyzékstruktúra, attribútumok rögzítése Blokkhozzárendelés Blokkmenedzselés Operációs rendszerek 4
I/O rendszer a felhasználó szemszögéb l Szimbolikus neveken látja az eszközöket, fájlokat Lát eszközöket (köztük logikai eszközöket), látja a fájlok halmazát (file pool), lát hierarchiát (ösvény, jegyzék stb. fogalmak, ezek rendeznek ), fájl névteret. A felhasználói felülettel (burok, v. GUI és segédprogramok) kezeli ezeket (készít, töröl, másol, mozgat, eszközt kezel stb.) Ismer tulajdonossági és hozzáférési kategóriákat (védelem), beállít ilyeneket. Bizonyos OS-ekben észlel fájl szervezési és fájl elérési módokat. Operációs rendszerek 5 A programozó látásmódja (Nyitott) csatornákat (stream) lát. Ezek azonosítója: fájl-leíró/pointer. Nyithat/zárhat csatornákat (open, fopen, close, fclose). Nyitni: több dolgot jelent: csatorna azonosítót kreál, pozíció indikátorral, a csatornát összeköti szimbolikus névvel, védelmeket kezel, beállít. Azonosított csatornákon adatokat (byte/karakter, rekord, blokk stb.) mozgat. Ez függ az elérési módtól: szekvenciális eléréssel, direkt eléréssel. Operációs rendszerek 6
A programozó látásmódja Fájl nyitó-záró rendszerhívások A fájlleíró processzenkénti objektum Az adatmozgató rendszerhívások: read, write, put, get, putchar, getchar, seek stb. Néha külön rendszerhívások a jegyzékekre opendir, readdir, rewinddir, mkdir, rmdir stb. Operációs rendszerek 7 A programozó látásmódja Proc A fd1=open( /etc/passwd, O_READONLY) fd2=open( local, O_RDWR) fd3=open( /etc/passwd, O_WRONLY) Proc B fd1=open( /etc/passwd, O_READONLY) fd2=open( private, O_RDWR) Proc A descriptor table 1 2 3 4 5 6 Proc B descriptor table 1 2 3 4 5 6 File table Inode list Count 1 R Count 1 R Count 3 /etc/passwd Count 1 RW Count 1./local Count 1 W Count 1./private Count 1 R A kernel globális táblái Operációs rendszerek 8
Az OS I/O alrendszere A kernel struktúráknál láttuk: van külön I/O alrendszer Ennek feladata: vezérlés, interfész biztosítás, védelem és menedzsment biztosítás. Alapelvek: Réteges struktúra, eszközfüggetlenség biztosítása, célszer en elosztott a hibakezelés, szinkronitás-aszinkronitás biztosítása, osztható és dedikált eszközök, fájlok is kezelhet k. Operációs rendszerek 9 I/O alrendszer szerkezet Névtér kezelés (dirs, paths), védelem kezelés (rwx), adatfolyamok azonosítása Adatfolyamok kezelése, elérések (seek, direkt (random) elérés, soros elérés) Az adatfolyamok blokkokra való leképzése (blokk allokáció) Diszk buffer cache (diszk elérés gyorsítása) Adatfolyamok sz rése (vezérl karakterek átalakítása) Adatfolyamok sz rés nélküli továbbítása Disk drivers Disk drivers Device drivers Device drivers Operációs rendszerek 10
Unix I/O alrendszer system call interface to the kernel socket network protocols network drivers plain file file system cooked disk interface block buffer cache block device drivers raw disk interface raw tty interface character device drivers cooked tty line disciplines hardware Operációs rendszerek 11 NT I/O Manager alrendszer Operációs rendszerek 12
A Linux többréteg fájlrendszere Process 1 Process 2 Process n User mode VIRTUAL FILE SYSTEM Kernel mode ext2 msdos minix proc Buffer cache Device drivers File system Operációs rendszerek 13 Az eszköz driverek Rutinkészlet + táblázatok + pufferek Megszólíthatók : felülr l (call, IRPs), alulról (IT). Három f részük: Auto-konfigurációs, inicializáló rutinok (egyszer futnak, az eszközt inicializálják), I/O hívások rutinjai (Call-lal többször is megszólítódnak, alapvet szolgáltatók), IT handlerek (IT-vel többször is). Operációs rendszerek 14
Az eszköz driverek fels rétege Setup: paramétereket juttat a driverhez automatic detection a setup argumentumokkal Init: eszköz jelenlétét teszteli Hívódik a kernel inicializáláskor bels adatstruktúrákat, regisztereket generál az eszköz számára open & release: inicializál standard értékekkel hogy adminisztrálni lehessen az eszközt visszaad/megszüntet egy leírót az eszközhöz processz nyithat kizárólagosan magának, vagy osztottnak Operációs rendszerek 15 Az eszköz driverek középs rétege Read & Write: a szokásos szolgáltatások IOCTL: eszköz-specifikus parancsok készlete Select: vizsgáló vizsgálja, hogy lehet-e írni, olvasni a lekérdez s (polling) technikához jó nem minden eszközhöz, és lehet az IOCTL-ben Mmap: leképzés a felhasználói címtartományra nincs minden eszköznél, de fájlrendszert tartalmazónál hasznos lehet Lseek: indikátor mozgató Nincs minden driver-nél, lehet IOCTL-ben Operációs rendszerek 16
Az eszköz driverek alsó rétege IT kezel k: értelemszer en Check_media_change & revalidate: blokkos cserélhet eszközhöz észreveszi a medium cserét, annak paramétereivel aktualizálja az adatstruktúrákat kérdés, hogy ne a fels réteghez tartozónak vegyük-e Operációs rendszerek 17 A DLLs & VxDs DLL: Dynamic Link Library Csak ha kérelem van, akkor tölt dik be (egyfajta overlay) Kérelmeket fogad és szolgál ki (sokszor úgy, hogy a kérelmeket speciális formában továbbadja) VxD: Virtual anything Device A rétegezettségi koncepció miatt virtuális eszközöket valósít meg A "kezel " rutinjai valószín leg nem IT-vel szólítódnak meg (hanem call jelleggel, pl. IRP-vel) Elvileg lehet DLL Operációs rendszerek 18
Milyen eszközök vannak? Karakteres eszközök (pl. billenty, soros port, képerny, analóg-digital átalakító stb.). Strukturálatlanul (pl. karakter-folyamként) kezel, (Néha sor (line) strukturáltság van!) De! A driver fölött sz rés lehet. Diszk is kezelhet karakteresen. Strukturált (blokkos) eszközök (diszkek). blokkos I/O-val is kezelhet k, fájl-rendszer is alakíthatók ki rajtuk, a buffer cache gyorsító mechanizmuson át használjuk Operációs rendszerek 19 Diszkek, blokk orientált eszközök Blokknyi egységben történik az adatáramlás. Oldal-sáv-(cilinder)-szektor (blokk) fogalmak adattárolási egység a szektor (blokk), oldal-sáv-szektor címek léteznek, Az oldal-sáv-szektor címek leképezhet k folyamatos logikai blokkcímekre (ezt a kontroller végezheti): felülr l 0-n-ig számozott blokkok sorának láthatjuk. Logical Disk képezhet a fizikai diszkre. Oka: egységesítés, egyszer bb driverek. Operációs rendszerek 20
Logikai diszk, partíció Egy fizikai diszken több 0-n i -ig számozott blokk sora, több logikai diszk a képzet. Mindegyiknek saját szimbolikus neve van. Mindegyiknek saját driver-e van. A partíciók (egyes OS-eknél) átlapolódhatnak. Egy partíciót kijelölhetünk egy OS boot területének (err l indítunk), kilapozási/kisöprési területnek (virt. mem.), egy OS fájlrendszer területének, hibás blokkok helyettesít területének (ma már nem szükséges). Operációs rendszerek 21 A particionálás Részben az OS-t l független dolog! Alacsonyabb szint SW-ek kellenek a partíció létrehozásához, a boot partíció kijelöléséhez, a magasabb driver-ek támogatásához. Alacsonyabb? Mi általában egy OS-t használunk. ezek a SW-ek szinte minden OS-ben megvannak, használhatók (akár más OS javára ). A partíciókat az OS-ek nem egyformán kezelik. Vannak OS-ek, melyek pl. kötött számú partíciót engednek, nem mindig látják egymás fájlrendszereit stb. Operációs rendszerek 22
Diszkek, partíciók - kötetek Partícionálással egy nagy diszket részekre osztunk Néha szükség lenne kisebb diszkeket (partíciókat) összevonva, egyetlen nagy diszkként "látni": ez a kötetesítés Némely OS tudja ezt pl. AIX, Windows, NT A kötet: logikai diszk, szervezhet rá fájlrendszer van drivere... Operációs rendszerek 23 A Unix eszközök szimbolikus nevei Unix-ban minden fájl. Az eszközök: speciális fájlok, a /dev/ jegyzékben, aljegyzékeiben... Tartalmuk (rövid): major device number: azonosítja a kontrollert, minor device number: azonosítja a tényleges eszközt (pl. logikai diszket), és a device driver-t. Operációs rendszerek 24
Partíciókra osztás Unixban 0 1 2 3 4 5 6 7 8 9 n /dev/dsk/0s0 /dev/dsk/0s1 /dev/dsk/0s2 /dev/dsk/0s3 /dev/dsk/0s4 /dev/dsk/0s5 /dev/dsk/0s6 Operációs rendszerek 25 A fájlok Mi a fájl? Fájl szervezettség (organisation) lehet Byte-ok sora (nincs szervezettség), csakis a processzek strukturálhatnak. Rekordok sora (szekvenciális). A rekordokban mez k. Fix, változó rekordhossz, rekordok blokkokba csoportosítva stb., mindezek a fájlban (fájlrendszeren) rögzítettek. Nem minden OS biztosítja. Index-szekvenciális szervezettség rekordok: egyes mez k a rekordokban kulcsmez k, ezek rendezettek, a rekordok gyors keresését teszik lehet vé. Nem minden OS biztosítja. Operációs rendszerek 26
A fájlok A fájl elérés: soros elérés: egy adatelem (byte, rekord) eléréséhez az el z eken át kell jutni. Minden szervezettségnél lehetséges. direkt (random) elérés: egy adatelem eléréséhez nem kell a többiekkel foglakozni. Indexelt, fix rekordhosszúságú rekord és szekvenciális szervezettségnél. Változó rekordhossz esetén nem lehetséges. (A Unix seek hívással lehet vé teszi. ) Fájl típusok a tartalmuk szerint is kialakíthatók (text, dokumentum, futtatható, bináris, jegyzék, fifo stb.) Operációs rendszerek 27 A fájlok Fájl attribútumok: név, készítési, módosítási, elérési dátumok/id k, tulajdonossági és védelmi információk, szervezettségi adatok (hossz, rekordhossz, blokkolási tényez k stb.), néha a tartalom szerinti típusukra vonatkozó adatok, a logikai diszken való elhelyezkedésükre vonatkozó információk stb. Operációs rendszerek 28
Fájlrendszer megvalósítások Partíciókra szervezhetünk fájlrendszert. 3 dolgot kell megoldani valahogy: adott (szimbolikus) fájlnévhez hogyan rendelhetjük az attribútumokat, kiváltképp a fájl testét képez blokkokat? (Megfelel sorrendben persze.) (Keresni, hozzáf zni, elengedni blokkokat) A partíción a szabad blokkok menedzselése hogyan történjen? (Keresni szabad blokkokat, elengedni (szabaddá tenni) blokkokat.) Kiindulás: jegyzékstruktúra alakítandó ki. Rögzíteni kell az attribútumokat is. Operációs rendszerek 29 Blokkhozzárendelés fájlokhoz (A) Folyamatos allokáció Jegyzékben a név mellet a kezd blokk cím és a hossz. A fájl blokkjai egymás után, folyamatosan Egyszer, teljesítményre optimalizált allokáció Fájlkészítésnél megbecsülni a várható hosszt, választani a lehetséges szabad folytonos területekb l (best-, worst-, next fit) Nehézkes a hozzáf zés (append) meglév fájlhoz. Fregmentálódik a partíció, id nként compaction szükséges Tisztán ezt ma már nem használják HPFS/NTFS kiterjesztésein (extent, run) folyamatos allokáció van. Annyira mégsem elavult? Operációs rendszerek 30
Blokkhozzárendelés fájlokhoz (B) Láncolt (lista) allokáció Jegyzékben a név mellett az els blokk címe (esetleg hossz). Az adott blokkban mutató a következ blokkra. Az utolsó blokkban a mutató a véget jelez(het)i. Egyszer, nincs partíció-fregmentáció, van ugyan fájlfregmentáció, könny a hozzáf zés stb. Gond: hosszú fájlok végének eléréséhez végig kell menni a láncolt listán. Gond: A mutató a blokkokon elvesz területet a fájl adataitól. Hossz-számítás. Operációs rendszerek 31 Blokkhozzárendelés fájlokhoz (B) Láncolt listás allokáció File a, starts at 4 File b, starts at 6 7 a els blokkja a második blokkja NULL a utolsó blokkja 4 7 2 12 b els blokkja b második blokkja NULL b utolsó blokkja 6 12 28 Operációs rendszerek 32
Blokkhozzárendelés fájlokhoz (C) Indextáblás allokáció A jegyzékben az els blokk/els index (és a hossz). Indextábla: egy bejegyzése egy-az-egy megfeleltetésben a blokkokkal (i-edik bejegyzéshez az i-edik blokk tartozik). Az indextábla kötött helyen a diszken. Egy bejegyzés az indextáblában kett s jelentés : a bejegyzés index-száma jelzi, az ugyanolyan számú blokk a fájl blokkja. maga a bejegyzés a soron következ blokk (egyben index is), vagy a lista vége. Tulajdonképp láncolt lista, de a mutatók ki vannak emelve az indextáblába. Nem zárja ki az optimalizált allokációs lehet ségeket Operációs rendszerek 33 0 1 2 3 File a, starts at 4 4 5 File b, starts at 6 6 7 8 9 10 11 12 13 28... Indextáblás allokáció indextábla NULL 7 12 x y NULL... 0 1 2 3 4 5 6 7 8 9 10 11 12 13 28... blokkok a utolsó blokkja a els blokkja b els blokkja a második blokkja b második blokkja b utolsó blokkja... Operációs rendszerek 34
Blokkhozzárendelés fájlokhoz (C) Indextáblás allokáció (folyt) Egyszer. Ma is használatos. Közepesen gyors hosszú fájloknál is (Csak az indextáblát kell végigolvasni). Gond: nagy blokkszámnál nagy az indextábla. Megoldása: Blokkokat cluster -ekbe szervezik, az indextábla ezeket címezi. Persze, területvesztés lehet itt. In-core indextábla pedig gyorsítja az elérést. Ilyen a VAX/VMS, és tulajdonképpen a DOS FAT is. Operációs rendszerek 35 Blokkhozzárendelés fájlokhoz (D) I indexes, i-bögös, i-listás allokáció (i, inode, i-list) (Unix, Linux ext2 stb.) Egyéb, vegyes, i-listához hasonló bögös megoldások (HPFS, NTFS stb.) Operációs rendszerek 36
Szabad blokk menedzselés (A) Bit térképes (bitmap) Kötött helyen a bit-térkép. Lehet elosztott térkép is. Egy-az-egyes megfeleltetés egy bit és a blokkok (clusterek) között. Ha egy bit bebillentett: azt jelenti, a hozzá tartozó blokk foglalt. Ilyen a VAX/VMS, HPFS, NTFS, Linux ext2 Bit térkép helyett mez -térképes is lehet (ilyen a DOS FAT, a VFAT). A FAT egybevont indextábla és szabad blokk/cluster menedzsel térkép: egy bejegyzés harmadik funkciója: a foglaltság jelzése. Tetsz leges allokációs politikát kiszolgálhat. Operációs rendszerek 37 Szabad blokk menedzselés (B) Láncolt listás szabad blokk menedzselés Kötött helyr l indulva mutató egy szabad blokkra, melyben mutató van a következ szabad blokkra s.í.t. Hátránya, hogy a lista kezelése lassú (diszkm veletek kellenek). Egyszer allokációs politikája lehet: lista elejér l allokálunk, lista elejére tesszük a felszabadulót. (Esetleg a végére.) Operációs rendszerek 38
Szabad blokk menedzselés (C) Szabad helyek csoportjainak listája (Az el z teljesítményének javítására) Kötött helyr l indulva egy blokk mutatókat tartalmaz szabad blokkokra, egy mutatója viszont további olyan blokkra mutat, ami további szabad blokkok csoportját jegyzi fel s.í.t. Blokk foglalás esetén a lista elején lév blokkon feljegyzett szabad blokkokat allokáljuk, blokk felszabadításkor ide tesszük a felszabadult blokkok mutatóit. Belátható a teljesítmény javulás: kevesebb I/O m velet. Ha a lánc eleji blokkról kifogytak a szabad blokkok, maga a lánc eleme is felhasználható (Unix s5fs megoldás)! Operációs rendszerek 39 Szabad blokk menedzselés (D) Egybefügg szabad területek nyilvántartása Kötött helyen lév táblázat bejegyzései az egyre magasabb cím, egybefügg szabad blokkcsoportok kezd mutatóját és blokkban mért hosszát tárolják. Hozzá ill allokációs politika a folyamatos allokáció (best-, worst-, next fit). A lapozó eszköz menedzselésénél szokták alkalmazni Operációs rendszerek 40
Jegyzék implementációk A jegyzék is fájl. Blokkhozzárendelés jegyzékhez akár a szokásos fájlhoz való blokkhozzárendeléssel, akár speciálisan történhet. Tartalma: bejegyzései fájlneveket, kezd címet (hosszat, esetleg bizonyos attribútumokat) tartalmaz. Kötött vagy változó hosszú lehet. A bejegyzések struktúrája befolyásolja a keresést: lineáris keresés (nem rendezett, hézagos bejegyzések), hash táblás keresés, b-fás (rendezett) jegyzékben a keresés. Operációs rendszerek 41 Unix fájlrendszer Itt minden fájl: az eszközök is a fájlrendszerben, a fájlrendszer pedig blokkos eszközre (partícióra, kötetre) szervezett. Minden fájlhoz tartozik ún. i-bög (i-node). Az i-bögök az ún. i-listán vannak. Egy i-bög szinte mindent tartalmaz a hozzá tartozó fájlról. Ha ismered: elérheted a fájl blokkjait. A szabad blokk menedzselést az ún. szuperblokkból kiinduló szabad blokkok listája segíti: ezen lista eleme maga is szabad blokk. Operációs rendszerek 42
Egy Unix partíció szerkezete 0 1 boot block super block 2. i-bög tábla (i-list). data blocks n Operációs rendszerek 43 Directory file1 A Unix i-bög szerkezete Direkt i-bög mode & védelem linkek száma tulajdonos uid gid fájl méret Adat blokk mutatók Single indirekt Double indirekt Triple indirekt Utolsó hozzáf. Utolsó mód. Készítési idõ Operációs rendszerek 44
Unix jegyzékek SVID-ben 16 bájt hosszúak a bejegyzések (névhossz max. 14) BSD-ben a chunk -ok 255 kar. hosszú neveket is megengednek. SVID szerkezet BSD szerkezet Directory blokk 3 névvel 2 14 bytes # 16 file1 # 3 f2 # 6 f3... 16 file1...... chunk száma fájlnév i-bög Üres directory blokk 0 Operációs rendszerek 45 Hogyan szerzik meg az i-bögöt? A namei algoritmus. Elemzi az ösvény egy-egy komponensét, minden nevet az ösvényb l i-böggé konvertál, a bög segítségével megnézi, jegyzék-e. Ha nem az visszatér jelezve ezt a tényt. Ha jegyzék veszi i-bögjét, a jegyzékben keresi a következ komponenst, sít. Végül visszatér az input ösvény i-bögével, vagy hibajelzéssel. root jegyzék i-böge a szuperblokkban, jegyzékb l kikeresi a nevet, veszi az i indexet, és ezzel megragadta a következ jegyzéket-fájlt, s.í.t. Gyors kereséshez: in-core-i-node lista! Az aktuális jegyzék i-böge processzenként feljegyezve! Operációs rendszerek 46
Miért kell az i-bög? Ha egy fájl i-bögét ismered, szinte mindent tudsz róla ismered attribútumait típusát & védelmi maszkját, tulajdonosi viszonyait, hosszát, linkjeinek számát, készítési és hozzáférési id it. Ismered blokkjainak sorrendjét és helyét. Operációs rendszerek 47 A fájl link Célja: már meglév fájlra más névvel is hivatkozhassunk. Hard link: új dir-bejegyzés készül, a már létez fájl i indexével! Csak ugyanazon a fájlrendszeren! Hozzáférések? Törléskor a linkek száma csökken! Szoft link (symbolic link): új fájl készül (új i-böggel), ebben az eredeti abszolút ösvényneve. Mount-olt fájlrendszeren is! Korrektebb védelmek! Operációs rendszerek 48
Hard link-soft link > ln /usr/joe/foo /usr/sue/bar > ln -s /usr/joe/foo /usr/sue/bar /usr/joe 2. i-bög /usr/joe 2. i-bög 16. i-bög foo 2 foo 2 link=2 /usr/sue /usr/sue /usr/joe/foo bar 2 bar 16 A hard link A szimbolikus link Operációs rendszerek 49 A szuperblokk tartalma... a fájlrendszer mérete; a szabad blokkok száma; a szabad blokkok listája + index a listán; az i-lista mérete; a szabad i-bögök száma; ind a szabad i-bögök listája + index a listához; lock mez a két listához; jelz, hogy történt-e módosítás ind a szuperblokkban. Operációs rendszerek 50
Szabad blokkok listája index szuper-blokk 109 105 103 100 109-es blokk 211 208 205 202 211-es blokk 310 307 304 301 310-es blokk 409 406 403 400 112 214 313... Operációs rendszerek 51 Fájlkészítés forgatókönyve... Beírni a nevet a jegyzékbe; allokálni i-bögöt a fájlhoz (ialloc), ezt is beírni a jegyzékbe; tölteni az i-bögöt; ahogy a fájl "növekszik", allokálni neki blokkokat a szabad blokkok készletéb l (alloc). Az ialloc algoritmus Szabad i-bög igénylés a lista közepér l. Szabad i-bög igénylés, amikor a lista üres. Operációs rendszerek 52
Szabad i-bög allokálás index (a) Igénylés - a lista közepér l Szuper blokk szabad i-bög lista Kiindulás 470... 83 48 Szuper blokk szabad i-bög lista 470... 83 Eredmény Megjegyzett i-bög index index (b) Igénylés - a lista üres Szuper blokk szabad i-bög lista Kiindulás 470 Szuper blokk szabad i-bög lista 535 534... Eredmény 471 index Operációs rendszerek 53 A fájltörlés forgatókönyve Az i-bögben a linkek számát csökkenteni, továbbá a jegyzék bejegyzést törölni; ha a linkszám elérte a 0-t, akkor a fájl blokkjait szabad listára tenni; az i-bögöt szabad listára tenni (ifree). Operációs rendszerek 54
Az ifree algoritmus Felszabadult a 499-es bög (499 < rem-i-bög) Felszabadult a 601-es bög (601 > rem-i-bög) Megjegyzett i-bög Megjegyzett i-bög Megjegyzett i-bög Szuper blokk szabad i-bög lista 535 534... Szuper blokk szabad i-bög lista 499 534... Szuper blokk szabad i-bög lista 499 534... index Kiindulás 471 index Csak a rem-i-bög változott 471 index Semmi sem változott 471 Operációs rendszerek 55 Blokk felszabadítás... index szuper-blokk 109 Felszabadult a 409-es blokk 109-es blokk 211 208 205 202 (a) Kiindulási állapot... index szuper-blokk 109 409 112 109-es blokk 211 208 205 202 112 (b) A 409-es blokk felszabadulása utáni állapot... Operációs rendszerek 56
Blokk foglalás... Egy szabad blokkot igényeltek Újabb szabad blokkot igényelnek index szuper-blokk 109 109-es blokk 211 208 205 202 112 (d) Egy szabad blokkot igényeltek: a 409-est kapták... index Szuper blokk 211 208 205 202 112 211-es blokk 310 307 304 301 214 (e) Újabb szabad blokkot igényeltek: a 109-est megkapták... de annak listája felmásolódott a szuperblokkba Operációs rendszerek 57 Fájlrendszer kialakítás A rendszergazda (su) az mkfs paranccsal: # mkfs logical-disk size A használatba vétel: a mountolás A rendszergazda (su) a mount paranccsal: # /etc/mount log-disk empty-dir Az umount parancs: megszüntet. A mount tábla: /etc/mnttab. Operációs rendszerek 58
A root file system / usr tmp dev etc / A mountolás /dev/du0 su i-list data blocks /dev/hd1 file system su i-list A mount-olás: # mount /dev/hd1 /usr # cd /usr/lib # cd../../.. bin etc lib Operációs rendszerek 59 data blocks A mount tábla egy bejegyzése A partíció száma a szuperblokk bufferére mutató pointer a mount jegyzék i-böge (mount point) a gyökér jegyzék i-böge. Operációs rendszerek 60
Fogalmak Eredeti fájlrendszer (root/original/mounted on fs) mountolt eszköz, ennek spec. fájlneve (mounted fs) mountolt eszköz logikai száma (major+minor)=fsnumber mountolt eszköz gyökér jegyzéke, ennek i-böge mount jegyzék (mount point) mount jegyzék i-böge Operációs rendszerek 61 Összefoglalás OS-ek I/O alrendszere, fájlrendszere A eszköz-driverek, partíciók, kötetek A fájlrendszer implementációk 3 alapfeladata és ezek megoldási lehet ségei Jegyzék implementáció Attribútum és blokkhozzárendelés a fájlokhoz A szabad blokkok menedzselése Unix partíciók, szuperblokk, i-bög, i-lista Unix link, mount Operációs rendszerek 62
Operációs rendszerek I/O és fájlkezel alrendszer Operációs rendszerek 63