NTFS

A Wikipédiából, a szabad enciklopédiából
NTFS (New Technology File System[1])
FejlesztőMicrosoft
Bevezetve1993. július (Windows NT 3.1)
Partícióazonosító0x07 (MBR)
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)
Struktúra
KönyvtárszerkezetB+-fa[2]
FájlszerkezetBittérképes
Hibásszektor-szerkezet$badclus
Korlátok
Maximális fájlméret16 EB (264 byte) − 1 KB (1024 byte) (formátum);
16 TB (244 byte) − 64 KB (implementáció)[3]
Maximális fájlszám232-1[3]
Fájlnév maximális hossza255 db UTF-16 kódegység[4]
Maximális kötetméret264 cluster − 1 cluster (formátum);
256 TB (248 byte) − 64 KB (64 × 1024 byte) (implementáció)[3]
Fájlnevek lehetséges karakterkódolásaiA 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átumokLétrehozás, módosítás, „POSIX-változás”, hozzáférés
Dátumhatárok1601. 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ás100 ns
Forkokigen (lásd az Alternatív adatfolyam szakaszt)
AttribútumokCsak olvasható, rejtett, rendszer, archív, nem tartalomindexelt, offline, ideiglenes, tömörített
FájlrendszerengedélyekACL-ek
Beépített tömörítésFájlonként, LZ77 (Windows NT 3.51-től kezdve)
Beépített titkosításFá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)
SISIgen
Támogatott operációs rendszerekWindows 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 7 stb.) 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ájlrendszereit 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. Sokáig nagy hátrányaként említették a korlátozott támogatottságát 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]

Az NTFS B+-fákat használ a fájlrendszeradat tárolására. Bár bonyolult megvalósítani, rövidebb hozzáférési időt biztosít bizonyos esetekben. Egy fájlrendszernapló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.

Metaadat fileok[szerkesztés]

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ájlrendszerfunkció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.

Együttműködés[szerkesztés]

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é a 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ától kezdődően.

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ájlmé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]

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 (CompactOS). 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ötetcsatolá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árcsatlakozások (junction)
Hasonló a kötetcsatolá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árcsomópont megegyezik a Unix szimbolikus hivatkozásaival, bár a Unix szimbolikus linkek fájlokra és könyvtárakra is alkalmazhatóak.
Hard link (kemény kötés)
A hard link hasonlít a könyvtárcsomó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) record jelzi a hivatkozást.
Ritka állományok
Átméretezés

Korlátozások[szerkesztés]

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 ( bájt – 1 KiB).
Megvalósítás: 16 TiB – 64 KiB ( bájt – 64 KiB).
Maximális kötetméret
Elméletben a maximális NTFS kötetméret 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 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. De mégjobb megoldás a GUID partíciós tábla használata.

Források[szerkesztés]

  1. Luigi Bruno: Windows File Systems. Microsoft. (Hozzáférés: 2017. szeptember 1.)
  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: 2017. szeptember 1.)
  4. a b Richard Russon and Yuval Fledel: NTFS Documentation. [2017. január 18-i dátummal az eredetiből archiválva]. (Hozzáférés: 2017. szeptember 1.)

További információk[szerkesztés]