File rendszer fat32

A személyi számítógépek területén 1987-ben válság volt. A Microsoft által kifejlesztett FAT fájlrendszer képességét, amelyet tíz évvel korábban fejlesztettek ki az önálló lemez alapszintű tolmács számára, és később a DOS operációs rendszerhez készültek, kimerültek. A FAT 32 MB-ot nem meghaladó kapacitású merevlemezekhez készült, és az új, nagyobb kapacitású merevlemez-meghajtók teljesen használhatatlanok voltak a PC-felhasználók számára. Néhány független szolgáltató saját megoldásokat ajánlott fel ehhez a problémához, de csak a DOS 4.0 megjelenésével a válságot sikerült leküzdeni - egy ideig.

A fájlrendszer struktúrájában bekövetkezett jelentős változások a DOS 4.0-ban lehetővé tették az operációs rendszer 128 MB-os lemezek használatát; az ezt követő kisebb kiegészítések bevezetésével ez a határérték 2 GB-ra emelkedett. Abban az időben úgy tűnt, hogy egy ilyen memória-kapacitás meghaladta az elképzelhető szükségleteket. Ha azonban a személyi számítógépek története tanított valamit, éppen az a tény, hogy a "minden elképzelhető szükségletet meghaladó" képesség nagyon gyorsan "szinte elégtelen a komoly munkaért". Valójában jelenleg 2,5 GB vagy annál nagyobb kapacitású merevlemezek találhatók, és egyszer nagyon magasak, és megszüntették a korlátozásokat, a 2 GB-os felső küszöbérték még egy akadályt jelent, amelyet felül kell küszöbölni.

A Windows 95, a Microsoft kifejlesztett egy új kiterjesztés rendszerek FAT - FAT32 nélkül hangos nyilatkozatok a csomagoláshoz OEM Service Pack 2 FAT32 rendszer van telepítve csak az új PC-re, és nem várható, hogy ez az átmenet az új változat a Windows 95, bár , a Microsoft szerint ez a kiterjesztés része lesz a Windows frissítésének legfontosabb csomagjának (kódnevű Memphis), amely várhatóan később jelenik meg az idén. Ebben a cikkben röviden áttekintjük a FAT fájlrendszerek átfogó struktúráját, majd a FAT32-re vonatkozó differenciálódásokra összpontosítunk. A zavarok elkerülése érdekében a régi 16 bites verziót FAT16-nak hívják.

Lemezterületek

Ez a fájl rendszer számos konkrét területeken a lemezen elkülönített szervezet lemezterület a folyamat formázás - fej terhelési rekord partíciós tábla, boot record, fájl allokációs tábla (FAT, ahonnan a rendszert kapta a nevét), és a gyökérkönyvtárban. Fizikai szinten a lemezterületet 512 bájtos területekre osztják szét. A FAT rendszerben a fájlok területét több szektorból álló blokkok osztják el, és ezeket klasztereknek nevezik. A klaszterben lévő szektorok száma kettő erejének többszöröse lehet. (További cluster méretet a rendszerben, akkor a CHKDSK vagy SCANDISK programot.) A Microsoft felhívja ezeket a klasztereket egység memória (foglalási egység) elosztása, és SCANDISK jelentés azt mutatja, méretük, mint a „16 384 bájt minden egységében memóriafoglalási.” Jellemzően, a klaszter méret lehet meghatározni elosztjuk a memória a lemezen 64 Kbyte (65.536 bájt), és kerekítés az eredményt a legközelebbi többszörösére kettő valamely hatványa. Így a mérete 1,2 GB-os lemez klaszter 32 Kbyte - ha 1,2 GB (1258 291,2 Kbyte) osztani 65 536, így 19,2 Kbyte, és kerekítés után - 32 Kbyte.

FAT lánc

A FAT olyan adatbázis, amely a lemezterület fürtjeit társítja a fájlokhoz. Ebben az adatbázisban csak egy elemet biztosítunk minden egyes fürt számára. Az első két elem magában foglalja a FAT-rendszerrel kapcsolatos információkat. A harmadik és a későbbi elemek a lemezterület klaszterére vannak leképezve, kezdve azzal, hogy az első fürt a fájlokhoz rendelt. A FAT elemek több speciális értéket is tartalmazhatnak, amelyek azt jelzik
  • A klaszter szabad, i. nem használ semmilyen fájl (a FAT16 esetében ez az érték 0000H);
  • A klaszter egy vagy több fizikai hibát tartalmazó szektort tartalmaz, és nem használható (a FAT16 esetében ez az érték FFF7H);
  • Ez a fürt a fájl utolsó fürtje (FAT16 esetén ez az érték FFF8 FFFFH).

A fájl által használt összes fájlhoz, de nem az utolsóhoz, a FAT elem tartalmazza a következő fürt által elfoglalt fájlt.

Minden könyvtár - önállóan egy gyökér vagy alkönyvtár - szintén egy adatbázist jelent. A DOS könyvtárban van egy mesterrekord minden fájlhoz (Windows 95 esetén további bejegyzések adhatók meg a hosszú fájlnevek esetén). A FAT-tól eltérően, ahol minden elem egy mezőből áll, a könyvtárban lévő fájl bejegyzései több mezőből állnak (lásd 1. ábra). Egyes mezők - név, kiterjesztés, méret, dátum és idő - megjeleníthetők a DIR parancsban. De a FAT rendszerben van olyan mező, amelyet a DIR parancs nem jelenít meg, egy mezőt, amely az első fürtnek a fájlhoz rendelt számát tartalmazza.

A könyvtár bejegyzés szerkezete

Amikor a program kérelmet küld az operációs rendszerre, hogy kérjen valamilyen fájl tartalmát, az operációs rendszer a címtár bejegyzésén keresztül nézegetve megtalálja a fájl első fürtjét. Ezután hozzáfér a FAT elemhez a fürt számára, hogy megtalálja a következő klasztert a láncban. Ezt az eljárást ismételve, amíg fel nem ismeri a fájl utolsó csoportját, az operációs rendszer pontosan meghatározza, hogy mely klaszterek tartoznak ehhez a fájlhoz és milyen sorrendben. Ily módon a rendszer képes a programot a kért fájl bármelyik részére rendelkezésre bocsátani. A fájl szervezésének ezt a módját a FAT-láncnak hívják.

A FAT rendszerben mindig számos fürtöt rendelnek a fájlokhoz. A 1,2 GB-os merevlemez-meghajtó 32 KB klaszterek a katalógusban lehet állapítani, hogy a méret a szöveges fájl, amely tartalmazza a „hello, world”, mindössze 12 bájt, de valójában a fájl foglal 32 KB szabad lemezterület. A fürt kihasználatlan részét az elveszett térnek nevezik (laza). A kis fájlokban szinte az egész klaszter elveszített hely, és átlagosan a veszteségek a fürtnek a fele.

Egy 850 MB-os merevlemezen, 16 KB-os klaszterekkel, átlagos fájlmérettel kb. 50 KB, a fájlokhoz rendelt tárterület kb. 16% -a elveszik a nem használt, de dedikált fájlokból a régiók számára. A lemezterület felszabadításának egyik módja a lemezmegnyomásos programok, például a DriveSpace, amely az "elveszett helyeket" szétosztja más fájlok számára.

Az ágazatok és klaszterek méretének kiszámítása

Először a DOS 1 FAT fájlrendszer 12 bites FAT elemeket használ. (Jelenleg a 12 bites FAT még mindig hajlékonylemezre is használható.) A DOS 2-ben, amely további eszközöket tartalmaz a merevlemezek kezelésére, a FAT 16 bites elemeket biztosít. Az 1987-ben bekövetkezett probléma oka az, hogy az operációs rendszer alsóbb szintű kérései a lemez olvasási szektoraiban egy 16 bites érték paraméterként való átvitelével. 65.536 különböző 16 bites érték van; 65,536 szorzó 512 byte-val az ágazatban, 32 MB-t kapunk. Ami a lemezeken található szektorok számát illeti, ezt az operációs rendszer képességei korlátozzák. A DOS 4.0-ban 32 bites paramétereket használnak az alacsonyabb szintű szektorok olvasására irányuló kérelmek feldolgozásához.

A FAT16 ágazatok és klaszterek méretének korlátozása

Szektorok száma a klaszterben

HIBA: Probléma az operációs rendszerhez

Még akkor is, ha egy ilyen probléma nem merült fel 2 GB-os hangerővel, az operációs rendszer még mindig nem tud 4 GB-nál nagyobb lemezeken dolgozni. A FAT16 használatakor a fürtben lévő szektorok számát az operációs rendszer maga tárolja az operációs rendszer által beállított lemezparaméterblokk egy bájtjában. Ennek a számnak 2-es és 256-nál kisebbnek kell lennie. Így egy fürt legfeljebb 128 szektort tartalmazhat, vagy 64 KB-t. Végül, még ha a 2 GB-os határértéket is eltávolítják, a FAT16 rendszer csak a 4 GB-nál kisebb kapacitású meghajtók esetében elfogadható.

A FAT32 fájlrendszerben mind a FAT elemek, mind az ágazati számok 32 bitesek. Ez mit jelent ez: szaporodnak 4294967296 különböző 32 bites érték 512 bájt szektoronként és szerezzen nagyszámú 2 terabájt (2 199 023 255 552 bájt), amely a lehető legnagyobb meghajtó kapacitása FAT32.

A veszteségek bizonyos megszüntetése

Most, hogy a megengedett klaszterek számát és a szektorok számát azonosak, valószínűleg azt várnánk, hogy annak érdekében, hogy minimalizáljuk a hely a lemezen, hogy FAT32 klaszterek kell használni, amely csak az egyik szektorban. De ebben a kiadásban valamilyen kompromisszumra van szükség, így a FAT32 specifikációban a 8 GB-ig terjedő meghajtók fürtmérete 4 KB.

A fürtmennyiség és a lemez kapacitása

Lemez kapacitás, GB

Klaszterméret kb

Az egyik tényező, amely szerepet játszott abban, hogy ezt a döntést hozza, az volt, hogy most figyelembe kell venni a FAT méretét is. Az operációs rendszer két példányt takarít meg a FAT-ból, ezért mindegyik fürt FAT eleméhez 8 bájt szükséges. 2 GB-os lemezen a FAT 32 MB szabad helyet foglal el, melynek klasztermérete 512 byte. Ha pedig a klaszter mérete 4 kBa, akkor csak 4 Mbyt kell tárolni két FAT tábla tárolásához, vagyis 28 Mbit lesz mentve.

De a kompromisszum oka nem csupán a lemezterület megtakarításának megfontolása volt; A teljesítmény problémákat nem felejtették el. A lemezek elérésének felgyorsítása érdekében a beépített VCACHE lemezcache program betölti az egész FAT-ot a fő memóriába. Nyilvánvaló, hogy ezt könnyebb elérni, ha minden egyes FAT-táblázat 16 MB helyett 2 MB-ot foglal el. És ne aggódj, hogy a növekedés a klaszterek számát, és a FAT megduplázza a méretét az elem csökkenti a hatékonyságot VCACHE: FAT32 van egy új munkamódszer a cache, amely szerint a nyilatkozatok Microsoft, növeli a teljesítményt.

Egyéb változások a FAT32-ben

Ahhoz, hogy működjön együtt a megnövekedett számú klaszterek címtárbejegyzésre minden fájlt kell elkülöníteni 4 byte az első klaszter fájlt (helyett 2 bájt FAT16 fájlrendszer). Hagyományosan minden bejegyzés a könyvtárban 32 bájtból áll (1. ábra). A rekord közepén 10 bájt nem használatos (12-21 bájt), amelyet a Microsoft a jövőben saját célokra fenntartott. Ezek közül kettőt mostantól további bájtokként rendeltek el a FAT32 rendszer kezdeti fürtjének feltüntetéséhez.

Az operációs rendszer mindig a FAT két példányát jelenítette meg a lemezen, de csak az egyiket használta. A FAT32-re történő átállás során az operációs rendszer képes együttműködni ezekkel a másolatokkal. Egy másik változás az, hogy a gyökérkönyvtár, amely korábban fix méretű és szigorúan meghatározott tárterület volt a lemezen, mostantól szabadon bővíthető, ha szükséges, mint egy alkönyvtár. Most nincsenek korlátozások a gyökérkönyvtár bejegyzéseinek számán. Ez különösen fontos, mivel minden hosszú fájlnév esetében több könyvtárbejegyzést használnak.

A kombináció a roaming a gyökér könyvtárat és a lehetőségét, hogy a két példányban FAT - jó előfeltételei zökkenőmentes váltás a dinamikus lemezfelosztások mint például csökkenti a szakaszt, annak érdekében, hogy szabad teret más operációs rendszerek. Ez az új megközelítés kevésbé veszélyes, mint a harmadik féltől származó programok esetében a lemezmegosztások megváltoztatása a FAT16 használatakor. (Hot Windows nem közművek, hogy a FAT32 funkciók ilyen eszközökkel hajtják végre a független vállalkozások programok, mint például a Partition Magic 3.0, és a PowerQuest cég PartitionIt cég Quarterdeck.)

Vigyázat

Meg kell jegyezni, hogy a FAT32 csak Windows 95. A Microsoft nem ígért készíteni Windows NT annak használata, és utalt rá, hogy nem fog csinálni. A vállalat azonban azt állította, hogy ha a Windows NT 5.0 nem rendelkezik az eszközöket, hogy a munka a FAT32, a segédprogram megjeleníti a FAT32 fájlrendszert meghajtók NTFS ( „natív” Windows NT fájlrendszer) kell szolgáltatni, így azoknak, akik mennek, hogy frissíteni a rendszered nem aggódhat. Jelenleg azonban, ha szeretné telepíteni a Windows NT és a Windows 95 ugyanazon a gépen, akkor biztosítani kell, hogy osztozik a két operációs rendszer lemezterület megfelelően szervezett FAT16, nem FAT32, amely nem „látják” Windows NT rendszer , és nem az NTFS-t, amelyet a Windows 95 nem "ért".

Emlékezzen arra is, hogy mivel a könyvtárbejegyzés fájlméretének mezője 32 bit, egyetlen fájl mérete nem haladhatja meg a 4 GB-ot.

Ha a FAT32-re koncentrálunk, akkor még további 15 év telik el, mielőtt elérnénk a 2TB-es határt, és át kell váltanunk a FAT64-re. Tekintettel arra, hogy beszélni objektum-orientált fájlrendszer, lehetséges az azonos bizonyossággal megjósolni a tény, hogy a FAT, amit lehetett megjósolni 1987 indulás a FAT eléri a határértéket 2 GB.

Kapcsolódó cikkek