NTFS

A Wikipédiából, a szabad enciklopédiából
NTFS (New Technology File System[1])
Fejlesztő Microsoft
Bevezetve 1993. július (Windows NT 3.1)
Partíció azonosító 0x07 (MBR)
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)
Struktúra
Könyvtárszerkezet B+-fa[2]
Fájlszerkezet Bittérképes
Hibásszektor-szerkezet $badclus
Korlátok
Maximális fájlméret 16 EB (264 byte) − 1 KB (1024 byte) (formátum);
16 TB (244 byte) − 64 KB (implementáció)[3]
Maximális fájlszám 232-1[3]
Fájlnév maximális hossza 255 db UTF-16 kódegység[4]
Maximális kötetméret 264 cluster − 1 cluster (formátum);
256 TB (248 byte) − 64 KB (64 × 1024 byte) (implementáció)[3]
Fájlnevek lehetséges karakterkódolásai A Posix névtérben bármilyen UTF-16 (nagybetűérzékeny) kódegység, kivéve az U+0000 (NUL) és a / (perjel). Win32-es névtérben bármilyen (nem nagybetűérzékeny) UTF-16 kódegység, kivéve az U+0000 (NUL) / (perjel) \ (visszaperjel) : (kettőspont) * (csillag) ? (kérdőjel) " (idézőjel) < (kisebb) > (nagyobb) és | (függőleges vonal) [4]
Képességek
Tárolt dátumok Létrehozás, módosítás, „POSIX-változás”, hozzáférés
Dátumhatárok 1601. január 1. – 60056. május 28. (a fájlok idejét 1601-től kezdve 100 nanoszekundumonként számolva 64 bites számként tárolják, ami több mint 58 000 évet jelent)
Dátumfelbontás 100 ns
Forkok igen (lásd az Alternatív adatfolyam szakaszt)
Attribútumok Csak olvasható, rejtett, rendszer, archív, nem tartalomindexelt, offline, ideiglenes, tömörített
Fájlrendszer-engedélyek ACL-ek
Beépített tömörítés Fájlonként, LZ77 (Windows NT 3.51-től kezdve)
Beépített titkosítás Fájlonként,
DESX (Windows 2000-től kezdve),
Triple DES (Windows XP-től kezdve),
AES (Windows XP Service Pack 1, Windows Server 2003-tól kezdve)
SIS Igen
Támogatott operációs rendszerek Windows NT-család (Windows NT 3.1Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2), Mac OS X, GNU/Linux

Az NTFS vagy New Technology File System (új technológiájú fájlrendszer) a Microsoft Windows NT és utódainak (Windows 2000, Windows XP, Windows Server 2003) szabványos fájlrendszere. A korábbi Windows 95, 98, 98SE és ME nem képesek natív módon olvasni az NTFS fájlrendszert, bár léteznek programok erre a célra is.

Az NTFS a Microsoft korábbi FAT fájlrendszerét váltotta le, melyet az MS-DOS és a korábbi Windows verziók esetén használtak. Az NTFS több újdonsággal rendelkezik a FAT fájlrendszerrel szemben, mint például a metaadatok támogatása, fejlettebb adatstruktúrák támogatása a sebesség, a megbízhatóság és lemezterület-felhasználás érdekében, valamint már rendelkezik hozzáférésvédelmi listával és megtalálható benne a naplózás is. A fő hátránya a korlátozott támogatottsága a nem-Microsoft operációs rendszerek oldaláról. [forrás?]

Az NTFS-nek három verziója létezik:

Ezekre a verziókra gyakran v4.0-ként, v5.0-ként és v5.1-ként is szoktak hivatkozni a Windows verziója alapján. Az újabb verziók újabb funkciókat vezettek be. Például a Windows 2000-ben jelent meg a kvóta támogatás.

Belső működés[szerkesztés | forrásszöveg szerkesztése]

Az NTFS-en belül minden fájlokkal kapcsolatos információt (fájlnév, létrehozás dátuma, hozzáférési jogok, tartalom) metaadatként tárolnak. Ez az elegáns, bár absztrakt megközelítés lehetővé tette újabb fájlrendszer funkciók létrehozását a Windows NT fejlesztése során – egy érdekes példa az Active Directory által használt indexelő mezők hozzáadása. A fájlnevek Unicode (UTF-16) formátumban vannak tárolva, azzal a változtatással, hogy a fájlrendszer nem ellenőrzi az UTF-16 szerinti szabványosságot.

Az NTFS B+-fákat használ a fájlrendszer adat tárolására. Bár bonyolult megvalósítani, rövidebb hozzáférési időt biztosít bizonyos esetekben. Egy fájlrendszer naplót használnak magának a fájlrendszer integritásának (de nem az egyes fájloknak) a biztosítására. Az NTFS-t használó rendszerek biztonságosabbak, ami egy kiemelten fontos követelmény a Windows NT-k korábbi verzióinak instabil mivolta miatt.


Együttműködés[szerkesztés | forrásszöveg szerkesztése]

A Microsoft elkészített egy eszközt, amellyel NTFS kötetté alakíthatók a FAT és FAT32 kötetek (convert.exe), azonban egyéb eszközt – amely segítené más rendszerekkel való együttműködést –, nem tett közzé.

Több kereskedelmi és szabad szoftver is képes biztonságosan átméretezni NTFS köteteket. Az átméretezést a Microsoft lehetővé teszi a Windows Vistában.

A 2.6.22-es Linux kernel már NTFS írási képességgel is rendelkezik, ha a Windows szabályosan lett leállítva (azaz a fájlrendszer „tiszta”).

A Captive NTFS projekt hozzáférést biztosít az NTFS fájlrendszerhez, felületet biztosítva az operációs rendszer és az ntfs.sys között, ami szinte minden Windows telepítésen létezik. Azonban ez csak nagyon lassú írás/olvasási lehetőséget biztosít, vannak adatvesztéssel járó esetek és korlátozza az írható fájl méretet is.

Linux, OS X, FreeBSD, NetBSD és Haiku alatt Szerédi Miklós és Szakacsits Szabolcs révén a FUSE és az NTFS-3G technológiák segítségével stabil és teljes támogatottságú az NTFS fájlrendszer elérése.

A Mac OS X 10.3-as verzió felett képes olvasni NTFS köteteket.

Képességek[szerkesztés | forrásszöveg szerkesztése]

Az NTFS 5.0 a harmadik NTFS-verzió volt, amit a Microsoft közzétett. Több új lehetőséget tartalmazott: kvóta, sparse fájl-támogatás (ami lehetővé teszi, hogy egy nagy fájl üres részei ne foglaljanak helyet), elosztott link követés és titkosítás (Encrypting File System, EFS).

Alternatív adatfolyam (ADS – alternative data stream)
Az alternatív adatfolyamok (ADS) lehetővé teszik egy fájl csatolását több adatfolyamhoz. Például a szöveg.txt nevű fájl tartalmazhat egy ADS-t szöveg.txt:titok.txt néven (fájlnév:ads formátumban), amit csak az ADS név ismeretében vagy speciális fájlkezelő programokkal lehet elérni. Az alternatív adatfolyamok nem fedezhetőek fel a fájl méretének vizsgálatával, de elvesznek az eredeti fájl törlésével, illetve mikor a fájlt ADS-t nem támogató meghajtóra másolják (például egy FAT partícióra, floppy lemezre, hálózati megosztásra). Bár az ADS hasznos szolgáltatás, észrevétlenül csökkentheti a szabad területet.
Kvóta
A fájlrendszer kvótákat az NTFS 5-ben vezették be. Lehetővé teszik az adminisztrátorok számára, hogy korlátozzák az egyes felhasználók által lefoglalható tárterületet. Lehetővé teszi az adminisztrátor számára azt is, hogy lekérdezze az egyes felhasználók által lefoglalt terület méretét. Beállítható, hogy a felhasználó mikor kapjon figyelmeztetést, majd mikor tiltsa le a lemezfoglalást a rendszer. Az alkalmazások, melyek lekérik a szabad tárterületet, a kvótának megfelelő szabad területet fogják visszakapni.
Encrypting File System (EFS)
Erős, és a felhasználó számára átlátszó, fájl és könyvtár titkosítást biztosít az NTFS köteteken. Az EFS együttműködik az EFS szolgáltatással, a Microsoft CryptoAPIjával és az EFS File System Run-Time Library-vel (FSRTL).
Az EFS szimmetrikus kulccsal (File Encryption Key, FEK) titkosít, mivel azzal nagyobb teljesítmény érhető el, mint egy aszimmetrikus kulcsú megoldással. A szimmetrikus kulcsot egy, a titkosítást igénybe vevő felhasználó publikus kulcsával titkosítják, és ezt a titkosított adatot a titkosított fájl alternatív adatfolyamába mentik. A visszafejtéshez a felhasználó privát kulcsával visszafejtik a szimmetrikus kulcsot, majd a szimmetrikus kulccsal visszafejtik a titkosított fájlt. Mivel ez a folyamat rendszer szinten történik, a felhasználó számára láthatatlan. Arra az esetre, ha a felhasználó elvesztené a privát kulcsát (például adatvesztés történt), helyreállító ügynökök visszafejthetik a fájlt.
Ezért is függ a titkosítás erőssége a felhasználók által használt jelszavaktól, ami sebezhetővé teszi az eljárást helyi támadásokkal szemben.
Fájltömörítés
Az NTFS képes a fájlok tömörítésére az LZ77 algoritmus (melyet a ZIP fájl formátumban is használnak) használatával. Bár a tömörített fájlok írása és olvasása transzparens módon történik, a Microsoft ajánlása szerint a tömörítés használata kerülendő szerverrendszereken és profilokat tároló hálózati megosztásokon, mert jelentős processzorterhelést idéz elő.
Kötet csatolási pont
Hasonló a Unix csatolási pontokhoz, ahol egy másik fájlrendszer gyökerét csatolják egy könyvtárba. Az NTFS esetén ez lehetővé teszi fájlrendszerek csatolását külön meghajtó betűjel (például C:) használata nélkül.
Könyvtár csatlakozások (junction)
Hasonló a kötet csatolási ponthoz, de kötetek helyett könyvtárakra hivatkozik. Például ha a C:\A könyvtár a C:\B könyvtárra hivatkozik, akkor megnyitása esetén a C:\B könyvtár tartalmához fog hozzáférni. A könyvtár csomópont megegyezik a Unix szimbolikus hivatkozásaival, bár a Unix szimbolikus linekek fájlokra és könyvtárakra is alkalmazhatóak.
Hard link (kemény kötés)
A hard link hasonlít a könyvtár csomópontokhoz, de fájlokra, és nem könyvtárakra érvényes. A hard link csak az azonos köteten elhelyezkedő fájlokon használható, mivel egy Master File Table (MFT) rekord jelzi a hivatkozást.

Korlátozások[szerkesztés | forrásszöveg szerkesztése]

Bár a fájlrendszer legfeljebb 32 000 Unicode karakter hosszúságú útvonalakat támogat, melyek minden komponense (könyvtár vagy fájlnév) legfeljebb 255 karakter hosszúságú lehet, bizonyos neveket a rendszer fenntart saját használatra. Ennek oka, hogy az NTFS metaadatok szabályos (bár rejtett, és általában nem hozzáférhető) fájlokban tárolódnak, ezért a felhasználói adatállományok nem használhatják fel ezeket a neveket. Ezek a rendszerfájlok mindig a kötet gyökerében tárolódnak (és kizárólag a gyökérkönyvtárban vannak fenntartva). A fájlnevek: $Mft, $MftMirr, $LogFile, $Volume, $AttrDef, . (pont), $Bitmap, $Boot, $BadClus, $Secure, $Upcase és $Extend; a . és az $Extend mindkettő könyvtár, a többiek fájlok.

Maximális fájlméret
Elméleti határ: 16 EiB – 1 KiB (2^{64} bájt – 1 KiB).
Megvalósítás: 16 TiB – 64 KiB (2^{44} bájt – 64 KiB).
Maximális kötetméret
Elméletben a maximális NTFS kötetméret 2^{64}-1 klaszter (foglalási egység). Ennek ellenére a maximális NTFS kötetméret a Windows XP Professional megvalósításának megfelelően 2^{32}-1 klaszter.
Például 64 KiB-os klaszterméret használata esetén a maximális NTFS kötetméret 256 TiB – 64 KiB. Az alapértelmezett 4 KiB klaszterméretet használva a maximális kötetméret 16 TiB – 4 KiB. Mivel a partíciós táblák a master boot recordot (MBR) tároló lemezeken legfeljebb 2 TiB méretű partíciókat támogatnak, dinamikus köteteket kell használni 2 TiB fölötti kötetek létrehozására.

Források[szerkesztés | forrásszöveg szerkesztése]

  1. Windows XP: Format backup drives using NTFS. Microsoft, 2006. szeptember 7
  2. Mark Russinovich: Inside Win2K NTFS, Part 1. Microsoft Developer Network. (Hozzáférés: 2008. április 18.)
  3. ^ a b c Microsoft Corporation: How NTFS Works. (Hozzáférés: 2008. január 27.)
  4. ^ a b Richard Russon and Yuval Fledel: NTFS Documentation. (Hozzáférés: 2007. július 1.)

Külső hivatkozások[szerkesztés | forrásszöveg szerkesztése]