Bevezetés a UNIX fájlrendszeren

Az első cikk ebben a sorozatban néztük a tartalmát BIOS'ovskoy és Unix partíciós táblákat, illetve a közművek fdisk és disklabelben. Ebben a cikkben, mi továbbra is beszélni, és nézd meg egy típus, mint newfs, valamint beszélni az index táblák.

Program newfs részt formázása szelet a fájlrendszerben megadott mielőtt ezt a segédprogramot disklabelben. Kezdjük azzal, hogy mi kell érteni, mik a méret és fájlrendszerek általában, hogy aztán jobban megérteni, mi teszi newfs használatával.

Tehát számítani, hogy mennyi a blokkok hengerben lévő:

Ha tesz egy fájl minden egyes blokk, akkor mentse a fájlokat 16065. Ha felhívni, hogy magát a jele és száma a sorokat úgy 1-16065, akkor egyszerűen rögzítheti a neve minden egyes új fájl melletti szabad számot, kiderül, mintha a fájl mentésekor a blokk ezt a számot. Ha töröl egy fájlt, ne felejtsük el, hogy törli a nevét a táblázatban. Ha azt szeretnénk, hogy mozog a fájlt, keresse meg azt a táblázatot, törölje azt, majd írjuk le a nevét mellett az új blokk számát. Meg kell gyorsan rájött, hogy nem tudja terhet magukat a problémákat, amelyek a fizikai mozgás a fájlok egy blokk egy másik, mivel sokkal könnyebb megváltoztatni a rekordot a táblázatból.

Beszél egy nagyon leegyszerűsített formában, akkor az összes fájl rendszer nyomon a helyét a fájlokat, hogy így. Ha a UNIX fájlrendszer, tartalmaz olyan adatszerkezet, amely információkat tartalmaz a fájlok helyét, az úgynevezett index táblázat.

Sajnos, az egyszerűség ami egy nagyon hatékony felhasználása lemezterület. Az a tény, hogy a felvétel fájlok 512 bájtos blokkok vezet kiváló eredményeket az összes fájl mérete 512 bájt. A tapasztalat azonban azt mondja, hogy a fájlokat a különböző méretű, néhány bájtos száz megabájt.

Folytatva gondolni, mint egy fájlrendszer, akkor arra a következtetésre jutott, hogy van értelme, hogy ne adja fel az egész blokkot egy kis fájl. Azonban most van itt az ideje, hogy gondolkodni hogyan szervezi táblázat azokat a feltételeket, hogy egyben lehet egynél több fájlt. Ha csak elkezd tölteni a blokkban a sok fájl, akkor tegyük a 512 byte, hogyan fogsz nyomon követni, ahol egy fájl véget ér, és kezdődik a másik? Mi történik, ha eltávolítja a mérete 10 byte, és a helyére, rekord 8 bájtos fájlt, és hol írja le az adatokat a fennmaradó 2 byte az esetre, ha szeretne felvenni egy két bájtos fájlt? Azonnal látható, hogy egy ilyen rendszer gyorsan veszít a teljesítmény.

Lássuk mi van a másik oldalon a skála. Mi történik, ha meg kell írni a fájlokat, amelyek nagyobbak, mint a méret a fizikai vagy logikai adatblokk? Menteni a fájlt a lemezen, akkor természetesen meg kell egynél több adatblokk. Tegyük fel, hogy szeretné menteni a fájlt mennyisége 1000 bájt. Ehhez szükség lenne a két 512 bájtos fizikai blokk, és ennek megfelelően két bejegyzés lesz az index táblázat. Azt is meg kell gondolni, hogyan lehet ezeket a feljegyzéseket, mert most a legfontosabb sorrendben a hiánypótlásra. Ebben a helyzetben, hogy nem elég csak tudni, hogy mi a fájl, például a blokkok a 3. és 4. Akkor feltétlenül győződjön meg arról, hogy az első 512 bájt a fájl megtalálható blokkszámot három, a többi pedig a negyedik blokk.

Eddig a pontig már beszéltünk csak az adatokról rekordot. Egy másik fontos paraméter a fájlrendszer olvasási teljesítmény. A végső cél az írás a fájlok lemezre az első helyen áll, hogy a felhasználó olvasási élményt szükséges hogy az adott pillanatban a fájlt. Annak érdekében, hogy a felhasználó tudja olvasni a fájlt, a fájl rendszert kell tudni, hogy melyik egység vagy egységek tartalmazzák a fájlt, majd másolja a tartalmát a memóriába, így a felhasználó végrehajthat, amire szüksége volt a műtét.

Íme néhány dolog, ami növeli a sebességet olvasási műveleteket. Először is, a növekedés a logikai adatblokk oly módon, hogy ez is több fizikai blokk. Amikor egy felhasználó hozzá akar férni egy fájlt, amely tartalmazza a fizikai blokk a fő memóriában elindulni egy logikai egységet. Ez ment egy nagy számú lemez fér egy külön fizikai egység. Ha több egységet kell betöltődik a memóriába, akkor nagyon valószínű, hogy az összes adatot a felhasználó által kért átkerül egy időben.

Mi érdekli a néhány billentyű. Kezdjük «-b» gomb:

Jelzi blokk méretét a fájlrendszert bájt. Meg kell egy ereje 2. Az alapértelmezett mérete 8192 bájt. A legkisebb mérete 4096 bájt.

Megjegyzendő, hogy ez a fájlrendszer blokk méretét. Fizikai blokk mindig van egy 512 bájtos. 8192 byte - valójában 16 fizikai blokkok. Így ez a paraméter megadja a mérete egy logikai blokk, azaz hogy mennyi adatot olvasni a memóriába egy időben. Ne feledje, hogy ez a beállítás növeli olvasási sebesség, és az egyik oka annak, hogy a FreeBSD fájlrendszer neve szerepel a „gyors”.

Jelzi a méret a töredéke a fájlrendszer byte-ban. Az érték között kell lennie blocksize / blocksize és 8. hatványa legyen 2. Az alapértelmezett méret 1024 bájt.

FFS használ széttagoltság azonban töredezett logikai mintsem fizikai blokk. Az alapértelmezett fragmens mérete egyenlő a két fizikai blokk.

Most tekintsük a kulcsot «-i»:

Jelzi indextételeihez sűrűsége a fájlrendszerben. Alapértelmezésben egy rekord minden 4 * razmer_fragmenta byte adatot helyet. Annak érdekében, hogy hozzon létre egy nagyobb táblázat elemeket, akkor be kell állítani egy megfelelően nagy beállítást, és fordítva. Egyetlen fájl igényel egy bejegyzést a táblázatban, így ez határozza meg az átlagos méretű fájlokat a fájlrendszerben.

Alapértelmezésben egy táblázat bejegyzés jön létre minden 4048 byte lemezterület, és minden fájl rekord számát. Mivel minden rekord megfelel egy fájlt, az átlagos méret a fájlt a fájlrendszerben 4048 feltételezik bájt.

Itt két lehetőség van, amelyet meg kell említeni, mert befolyásolja a teljesítményét az olvasási / írási FFS fájlrendszert műveleteket. Először is, a legfontosabb -m:

Teljesítménye a fájlrendszer kezd „elsüllyed”, amikor nem volt elég szabad blokkok az adatok tárolására. A tény az, hogy a fájlrendszer „szívesebben” fájlok tárolására egy könyvtárban a szomszédos blokkok (azaz egymás mellett), de ez egyre nehezebb, ha a szám a szabad blokkok csökken, és a rendszer, hogy időt, hogy megtalálja őket. Az alkotók a FFS azt jelzik, hogy a teljesítmény csökken drasztikusan, ha a lemez tele van több mint 90%. Ha egy fájl rendszer eléri a küszöböt szabad hely mennyiségét (az alapértelmezett 8%), az általános felhasználók számára blokkolva feljegyzéseket fájlokat. A felhasználók kapnak egy hibaüzenetet, és valószínű, hogy emlékeztesse a rendszergazda a helyzetet. Rendszergazdacsoport megőrzi azt a képességét, hogy írni az adatokat a lemezre, és a fennmaradó szabad blokkok, de ezen a ponton a legjobb, hogy kezdjen el kidolgozni egy fájlrendszer mentési tervet, hanem várja meg, amíg a végén álláspontját.

Most nézzük meg a második kulcs foglalkozó szabad hely:

A legtöbb fájlrendszerek speciális algoritmusok, hogy mely fájlokat kell kölcsönkérni néhány blokkot a lemezen. Ezt a kulcsot használjuk, hogy melyik optimalizációs stratégiák kell tartania FFS algoritmust forgalomba fájlokat. Az optimalizálás a sebesség akkor a jövedelmi helyzet szabad lemezterület (idő). Azonban, ha az összeg a szabad lemezterület válik a határ által meghatározott kulcs «-m» töredezettség optimalizálás (space) fontosabbá válik, mint a sebesség.

Most, akkor valószínűleg már tudni fájlrendszerek nagyobb a megengedettnél, a cikk elején, úgyhogy abba. A következő cikkben fogunk nézni egy csoport hengerek, szuperblokkokat, valamint a tényleges tartalmát index táblázat bejegyzéseket.

Kapcsolódó cikkek