NTFS
Z Wikipedie, otevřené encyklopedie
NTFS (New Technology File System) je moderní souborový systém vyvinutý společnostmi Microsoft a IBM, která jej poprvé zavedla do svého operačního systému Windows NT.
Obsah |
[editovat] Vlastnosti
NTFS byl navržen jako nativní souborový systém pro Windows NT a (zejména oproti zastaralému filesystému FAT) obsahoval spoustu novinek:
- žurnálování – všechny zápisy na disk se zároveň zaznamenávají do speciálního souboru, tzv. žurnálu. Pokud uprostřed zápisu systém havaruje, je následně možné podle záznamů všechny rozpracované operace dokončit nebo anulovat a tím systém souborů opět uvést do konzistentního stavu.
- ACL (Access Control List) – podpora pro přidělování práv k souborům
- kompresi na úrovni souborového systému
- šifrování
- kvóty
- dlouhá jména souborů (ve FAT původně nebyla a ve Windows 95 je bylo třeba doplňovat značně komplikovaným způsobem)
- hardlinky, symlinky – odkazy na soubory na úrovni filesystémů, známé z operačních systému UNIX. Windows pro editaci tohoto typu odkazů nemají standardní uživatelské rozhraní, ale umí je interpretovat a také je používají (Distribuovaný systém souborů na Windows server 2003 apod.).
[editovat] Struktura NTFS
NTFS používá 64-bitové adresy clusterů, takže diskový oddíl může být větší než u FAT (která ve své poslední verzi používala efektivně 28bitové adresování) a to konkrétně až 16 EB (což odpovídá přibližně 17 × 10^9 TB). Celý systém je řešen jako obří databáze, jejíž jeden záznam odpovídá souboru.
Základ tvoří 12 systémových souborů, tzv. metadat, které vznikají bezprostředně po naformátování svazku.
- $Logfile je již výše zmíněné žurnálování;
- $MFT (Master File Table) je tabulka obsahující záznamy o všech souborech, adresářích a metadatech (jelikož $MFT je soubor, je i informace o něm v této tabulce); Nachází se hned za boot sektorem; jelikož se jedná o soubor, lze jej teoreticky fragmentovat (prakticky je tomu zamezeno), avšak aby se tomu předešlo, systém kolem něj udržuje zónu volného místa
- $MFTMirr je soubor, zajišťující bezpečnost dat; nachází se uprostřed disku, obsahuje prvních 16 záznamů $MFT; pokud je $MFT z nějakédo důvodu poškozená, použije se tato kopie;
- $Badclus drží seznam známých vadných clusterů, které znovu nebudou použity; pokud nastane chyba při čtení dat, systém označí clustery za špatné a $Badclus se aktualizuje;
- $Bitmap je jednorozměrné pole bitů, které slouží ke sledování volného místa; když je bit 0, je volný a v opačném případě použitý;
- mezi další patří $Boot, $Volume, $AttrDef, $Quota, $Upcase, $Extend a . (kořenový adresář disku);
NTFS je flexibilní – všechny jeho soubory (včetně speciálních, s výjimkou boot sektoru) se dají přesunout.
[editovat] Zajímavé atributy souborů
Soubory mohou mít mnoho atributů; jejich definice obsahuje soubor $AttrDef. V různých verzích se atributy liší, teoreticky je dokonce možné přidávat si vlastní.
Klasický soubor má mj. tyto atributy:
- $FILE_NAME – struktura pro jméno souboru. Kromě něj obsahuje i velikost, reference na nadřízený adresář a různé příznaky.
- $SECURITY_DESCRIPTOR – přístupová práva k souboru
- $DATA – vlastní obsah souboru
[editovat] Adresáře
Adresáře jsou v NTFS pojaty jako speciální druh souborů; používají jiné druhy atributů. Na disk jsou vkládány jako B-stromy (což zrychluje vyhledávání) se jmény souborů a odkazy na jejich záznamy v MFT.
[editovat] Aktuální NTFS verze 5.0
Součástí operačního systému Windows 2000 se, mimo jiné, stala aktualizovaná verze souborového systému NTFS verze 5.0, kterou plně využívá také aktuální operační systém Windows XP. Pokud chcete používat NTFS verze 5.0 také ve starším systému Windows NT 4.0, musíte mít na daném počítači nainstalován Service Pack 4 (servisní balíček číslo 4), který obsahuje aktualizovanou verzi ovladače NTFS.
K hlavním novinkám systému NTFS 5.0 patří:
- Diskové kvóty (Disk quotas) - Systémový administrátor může, konečně, přidělit každému uživateli pevně ohraničený prostor, který tento uživatel může využívat pro svoje data.
- Šifrování (EFS) - Souborový systém nyní umožňuje automatické šifrování a dešifrování dat při jejich zápisu na disk a opětovném čtení.
- Řídké soubory (Sparse Files) - Tato vlastnost umožňuje vytvářet v souborovém systému obrovské soubory, které neobsahují žádná data. Prostor pro určený soubor je však plně vyhrazen a je využíván podle aktuální potřeby.
[editovat] Linux a NTFS
V současné době nemá Linuxové jádro nativní podporu pro práci s NTFS, je ale možné spustit v emulátoru Captive-NTFS ovladače z originální instalace MS Windows (Jde o dva soubory, které se dají získat buď ze systému s SP1, nebo přímo z instalačního balíčku SP1 pro Windows XP).
[editovat] Externí odkazy
- Projekt Linux-NTFS, vyvíjející ovladače pro NTFS pro operační systém Linux. Jejich stránky obsahují mnoho informací o struktuře NTFS.
- Inside NTFS, článek na serveru www.windowsitpro.com
- NTFS-3G, bezpečný zápis i čtení NTFS z Linuxu
- podrobný český popis NTFS