one.dir.bg

 

 
Рейтинг: 3.00
(104)
Статии
Криминални истории
Забавни
За контакти
ART
Анкети


Връзки Форум

Статии / Компютри

03 Януари 08, 14:58 / Автор: инж. Сергей Миланов
Файлова система NTFS

Файловата система NTFS или NT FILE SYSTEM е известна като "сериозната" файлова система, поддържана от линията версии NT на операционните системи на корпорацията Microsoft. Стандартно линията Windows 9x не поддържа NTFS, макар че с програмни средства е възможна комуникация с дялове, форматирани с NTFS, под управление на Windows 9x. Версиите на NTFS за Windows NT4 и Windows 2000 се различават, но общите принципи, описани по-надолу, са в основата си еднакви за всички версии на тази файлова система.

Теоретично размерът на дял, форматиран с NTFS може да бъде почти неограничен, в сравнение с ограниченията, налагащи се при използването на FAT16 и FAT32, другите файлови системи на операционните системи на Microsoft, и при сегашните темпове на развитие на запаметяващите устройства, няма да бъде достигнат таван поне още няколко десетки години. При NTFS размерът на клъстера (група от блокове, или сектори) може да е в границите между 512 байта и 64 килобайта (по подразбиране е 4 КB).

Дялът, форматиран с NTFS има следната структура:

MFT
област за данни
област за копие на MFT
област за данни

 

Началните 12% от целия обем на дяла се резервират за MFT (MasterFileTable). В тази област не могат да се записват никакви потребителски данни. Останалите 88% от свободното пространство са за данни, като точно по средата на дяла в една отделна малка област се съхранява копие на първите 3 записа от MFT от съображения за сигурност. Между другото, размерът на MFT е динамичен и се променя, така че свободното пространство на диска, освен онези 88%, за които споменах по-нагоре, включва и свободните части от областта MFT. В случая, след като свободното пространство от 88% зона свърши, размерът на MFT зоната може да намалее наполовина, освобождавайки място за запис на данни. След като се освободи място в областта за данни, размерът на MFT областта се възстановява до 12% от общия размер.

При файловата система NTFS всеки елемент от нея представлява отделен файл, дори служебните файлове, които са 16 на брой и имената им започват със символа $ и те се наричат метафайлове. Главният файл на NTFS, разположен в началото на едноименната зона пред другите служебни файлове носи името MFT (MasterFilesTable-обща таблица на файловете). Този файл представлява каталог на файловото съдържание на диска и на самия себе си. Целият файл MFT е съставен от отделни записи с размер най-често от 1 KB, като всеки запис (или наколко записа, ако не достига един) засяга по един файл от диска. Метафайловете, които, както споменах са част от MFT, имат фиксирано, непроменящо се положение в началото на областта MFT. Всички други служебни файлове от MFT могат да менят често положението си, благодарение на което NTFS може с цената на фрагментация на MFT да размества своите служебни области по повърхността на диска, заобикаляйки дефектните участъци.

За сравнение, при FAT повреда на един-единствен фрагмент от областта FAT (FileAllocationTable) може да доведе до невъзможност за прочитане на цялата записана информация. Когато обемът на файла с данни е малък, цялата информажия от него е възможно да се съхранява в един или няколко 1 KB записи, от които е съставен файлът MFT, а не в областта за данни, където се съхраняват по-големите файлове. Обикновено всички файлове под 1 KB се съхраняват по този начин. Когато файловете са по-гелеми, в записите се съхранява информацият за името на файла, разположението му (или на отделните му фрагменти, ако е фрагментиран).

Имената на файловете са в Unicode формат (65535 различни символа) с максимална дължина 255 знака. Структурата на самия файл с данни при NTFS също е много интересна. Всеки файл е съставен от различни абстрактни потоци (streams), като главния от тах са същинските данни, обемът на които ние всъщност виждаме като обем на целия файл. Но, същевременно, към този основен поток може да бъдат добавени други потоци, съдържащи други данни, като обемът им може да бъде значителен (не се учудвайте, когато при изтриването на 10 KB файл изведнъж Ви се освободи, например, половин мегабайт пространство). Тези допълнителни потоци не се "виждат" със стандартните инструменти в Windows.

Файловата система NTFS има и един друг файл - каталог, в който се съхраняват връзки (препратки - links) към други файлове и каталози, като по този начин се създава йерархична структура, наречена бинарно дърво. Файлът, съдържащ каталога, е разделен на блокове, всеки от които съдържа името на файла, основните му атрибути и препратка към елемент от MFT, който съдържа пълната информация за елемента на каталога.

Самата структура на бинарното дърво представлява такъв начин на подреждане на елементите (в случая, на имената на файловете), че, за разлика от FAT, която за да намери в своя линеен каталог някой файл, се налага да ги преглежда един по един, NTFS разполага файловете по такъв начин, че, образно казано, при задаване на въпрос за местоположението на файла да може да бъде получен бинарен (или двузначен) отговор за местоположението на файла в йерархичната структура. Въпросът, който се задава на бинарното дърво, е от типа "къде (нагоре или надолу по списъка), спрямо дадения елемент от дървото, се намира файлът?". Когато зададеният елемент се намира в средата на списъка, списъкът на претърсваните елементи намалява наполовина. След получаване на отговор се задава аналогичен въпрос към следващия средноразположен елемент от остатъка от списъка и т.н., докато бъде намерен търсения запис. Значи, ако се извършва търсене в линеен каталог от 1000 елемента, механизмът на FAT ще трябва да извърши средно около 500 операции по сравняване на имената, докато намери търсеното, а на NTFS - само около 10. Следва да уточня, че начините и алгоритмите за търсене и при FAT - основаните файлови системи също еволюират и се усъвършенстват заедно с всяка нова версия на операционните системи, така че в текущите версии на Windows - 2000 и ME, се използват подобни схеми на търсене. За какво все пак служи каталогът? Едно от предназначенията му е да улеснява навигирането по диска, отменяйки необходимостта при елементарна навигация да се чете информация от файла MFT.

NTFS е устойчива и трудно поддаваща се на откази файлова система със добър механизъм на предотвратяване и коригиране на грешки и недопускане на неточности при работата на файловата система, дължащи се на недовършени или некоректно извършени операции, при която се води дневник на събитията за някои операции, свързани, например, с различните типове действия със файлове (и файлове - каталози): добавяне, преименуване, изтриване, преместване, дефрагментиране и т.н.

В дневниците се регистрират всички логически операции, извършвани от файловата система, всички транзакции (действия по трансфериране на данни, които или се изпълняват изцяло и докрай, или не се изпълняват въобще). Например, ако операционната състема е подала команда за запис на някакви данни върху твърдия диск, и във този момент е спряло захранването, NTFS използва записът на своето състояние, предшестващо същинския запис и последвалото след това спиране на захранването, използвайки за това дневникът на транзакциите и записвайки в единия от метафайловете ($LogFile) това свое намерение. След като бъде презаредена операционната система се извършва прочитане на записите от този файл, за да се установи, кои операции не са били финализирани, след което резервираното място за данни се маркира като свободно, всички индекси и записи на MFT се връщат в състояние, в което са били да възникването на аварийното събитие, и в резултат на това системата остава напълно работоспособна и стабилна, без да има влияние на неизпълненената поради авария транзакция. Системата за възстановяване (repair) на NTFS осигурява правилното функциониране на файловата система, а от там идва и по-добрата защита на данните.

Едно друго и много харесвано от мен свойство на файловата система NTFS е вградената възможност за криптиране на данните на ниво файл, което значи, че всеки един файл или папка (folder - директория по старата терминология), може да бъде шифован. Това прави невъзможно прочитането на данните от диска при зареждане на операционната система от друго физическо устройство.

Нещо, за което преди се е налагало да се използва специализиран софтуер: компресирането на файловете. При NTFS всеки файл може да бъде съхраняван на диска в компресирано състояние, при това безпроблемно достъпен за всички приложения. Разбира се, при този двустранен процес, протичащ при съвременните мощни процесори почти незабележимо, се изразходва процесорна мощ за изпълнение на операциите по компресирането/декомпресирането, но ползата от това свойство на файловата система е голяма.


Дир ID: 
Парола: Забравена парола
  Нов потребител

3.1805