Зачем понадобилась еще одна файловая система?
В 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 — операционной системы (ОС), предназначенной для таких сложных, ответственных приложений, как:
• клиент-серверные приложения (файл-серверы, серверы вычислений и серверы баз данных);
• сложные технические и научные приложения;
• сетевые приложения для больших корпоративных систем.
Для таких приложений высокая надежность ФС и защита от несанкционированного доступа - это необходимое условие. Так, повреждение важных данных в системе управления воздушным движением или в банковском сервере базы данных может принести значительный ущерб и вызвать страшный хаос.