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.
Когда Windows NT впервые вышла в свет, в ней была предусмотрена поддержка трех
файловых систем. Это таблица размещения файлов (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 отличается более высокой надежностью и производительностью.