Файловая система Windows

Файловая система (file system) – функциональная часть операционной системы, которая отвечает за обмен данными с внешними запоминающими устройствами. Операционными системами Windows используется, разработанная еще для DOS файловая система FAT, в которой для каждого раздели и тома DOS имеется загрузочный сектор, а каждый раздел DOS содержит две копии таблицы размещения файлов (file allocation table – FAT). FAT представляет собой матрицу, которая устанавливает соотношение между файлами и папками раздела и их физическим местоположением на жестком диске. Перед каждым разделом жесткого диска последовательно расположены две копии FAT. Подобно загрузочным секторам, FAT располагается за пределами области диска, видимой для файловой системы. При записи на диск файлы не обязательно занимают пространство, эквивалентное их размеру. Обычно файлы разбиваются на кластеры определенного размера, которые могут быть разбросаны по всему разделу. В результате таблица FAT представляет собой не список файлов и их местоположения, а список кластеров раздела и их содержимого, а в конце каждого описания содержится ссылка на следующий занимаемый файлом кластер. Элементы таблицы FAT представляют собой 12-, 16- и 32-битовые шестнадцатьричные числа, размер которых определяется программой FDISK, а значение непосредственно создается программой FORMAT. Все гибкие диски, а также жесткие диски размером до 16 Мбайт используют в FAT 12-битовые элементы. Жесткие и съемные диски, имеющие размер от 16 Мбайт и более, обычно используют 16-битовые элементы. В Windows98 для дисков объемом более 512 Мбайт может использоваться файловая система FAT32 с 32-битовым элементами таблицы FAT. Очевидно, чем меньше размер кластеров раздела, тем больше их будет содержаться в этом разделе и тем больше размер таблицы размещения файлов FAT, а, значит, дольше а ней выполняется поиск информации, необходимой для доступа к файлу. Зачем же тогда необходимо уменьшать размер кластера? Дело в том, что размер файла может быть произвольным, однако, при записи на диск, Windows разбивает файл на несколько кластеров. В итоге последний кластер почти никогда не бывает заполнен до конца. Оставшееся пустое пространство, называемое люфтом, существует до тех пор, пока файл находится на диске. Таким образом, размер потерянного пространства зависит от размера кластера. Помимо поддержки больших разделов и меньших кластеров FAT32 иначе использует саму таблицу размещения файлов. В FAT использовались две идентичные таблицы, одна из которых служила основной, вторая при выполнении обычных процедур постоянно обновлялась, заполняясь при этом возможными ошибками первой копии. FAT32, при невозможном считывании данных из основной таблицы, обращается ко второй копии, которая и становится основной. Основным недостатком FAT32 является несовместимость с более ранними файловыми системами, а также системой NTFS, применяемой в Windows NT.

Когда WindowsNT впервые вышла в свет, в ней была предусмотрена поддержка трех файловых систем. Это таблица размещения файлов (FAT), обеспечивавшая совместимость с MS-DOS, файловая система повышенной производительности (HPFS), обеспечивавшая совместимость с LAN Manager, и новая файловая система, носившая название Файловой системы новых технологий (NTFS). NTFS обладала рядом преимуществ в сравнении с использовавшимися на тот момент для большинства файловых серверов файловыми системами. Для обеспечения целостности данных в NTFS имеется журнал транзакций. Подобный подход не исключает вероятности утраты информации, однако, значительно увеличивает вероятность того, что доступ к файловой системе будет возможен даже в том случае, если будет нарушена целостность системы сервера. Это становится возможным при использовании журнала транзакций для отслеживания незавершенных попыток записи на диск при последующей загрузке Windows NT. Журнал транзакций также используется для проверки диска на наличие ошибок вместо проверки каждого файла, в случае использования таблицы размещения файлов. Одним из основных преимуществ NTFS является безопасность. NTFS предоставляет возможность вносить записи контроля доступа (Access Control Entries, ACE) в список контроля доступа (Access Control List, ACL). ACE содержит идентификационное имя группы или пользователя и маркер доступа, который может быть использован для ограничения доступа к определенному каталогу или файлу. Этот доступ может предполагать возможность чтения, записи, удаления, выполнения и даже владения файлами. С другой стороны, ACL представляет собой контейнер, содержащий одну или более записей ACE. Это позволяет ограничить доступ отдельных пользователей или групп пользователей к определенным каталогам или файлам в сети. Кроме того NTFS поддерживает работу с длинными именами, имеющими длину до 255 символов и содержащими заглавные и строчные буквы в любой последовательности. Одной из главных характеристик NTFS является автоматическое создание эквивалентных имен, совместимых с MS-DOS. Также NTFS имеет функцию сжатия, впервые появившуюся в NT версии 3.51. Она обеспечивает возможность сжатия любого файла, каталога или диска NTFS. В отличии от программ сжатия MS-DOS, создающих виртуальный диск, имеющий вид скрытого файла и подвергающий сжатию все данные на этом диске, Windows NT использует дополнительный уровень файловой подсистемы для сжатия и разуплотнения требуемых файлов без создания виртуального диска. Это оказывается полезным при сжатии либо определенной части диска (например, пользовательского каталога), либо файлов, имеющих определенный тип (например, графических файлов). Единственным недостатком сжатия NTFS является невысокий, в сравнении со схемами сжатия MS-DOS, уровень компрессии. Зато NTFS отличается более высокой надежностью и производительностью.