Зачем понадобилась еще одна файловая система?

В 1988 году Microsoft уже поддерживала две файловые системы (ФС): для MS-DOS и Microsoft Windows это была ФС FAT, а для OS/2 — HPFS (high performance file system — высокопроизводительная ФС). Вполне естественно, что Том Миллер (Tom Miller) и другие разработчики, отвечавшие за ФС для Windows NT, много размышляли над тем, нужна ли вообще для нее новая ФС. К сожалению, и FAT, и HPFS страдали от ограничений, которые делали их либо менее надежными, чем следовало быть ФС для Windows NT, либо неспособными поддерживать большие системы, для работы с которыми она предназначалась. После тщательного ана­лиза разработчики решили создать новую ФС — но, тем не менее, на NTFS очень сильно сказалось влияние FAT и HPFS, а также некоторых особенностей, необхо­димых для поддержки стандарта POSIX.

Требования к файловой системе высокого уровня

MS-DOS использует ФС FAT, которая была изначально создана для работы с гиб­кими дисками относительно небольшого размера, в основном, 1 Мбайт или ме­нее. Когда жесткие диски стали стандартным запоминающим устройством для персональных компьютеров и постепенно увеличились в объеме, стали мешать ограничения FAT. Для устранения некоторых из них в операционной системе OS/2 была введена HPFS. Последняя, например, значительно уменьшила время доступа к файлам в больших каталогах и могла использоваться с жесткими дис­ками объемом до 4 Гбайт. Файловая система FAT отлично работала с маленькими дисками, a HPFS добавила некоторые новые возможности, более эффективный доступ к файлам и поддержку носителей большого размера. Однако ни одна из этих ФС не была абсолютно подходящей для Windows NT — операционной системы (ОС), пред­назначенной для таких сложных, ответственных приложений, как:

• клиент-серверные приложения (файл-серверы, серверы вычислений и серверы баз данных);

• сложные технические и научные приложения;

• сетевые приложения для больших корпоративных систем.

Для таких приложений высокая надежность ФС и защита от несанкциони­рованного доступа - это необходимое условие. Так, повреждение важных дан­ных в системе управления воздушным движением или в банковском сервере базы данных может принести значительный ущерб и вызвать страшный хаос.