Смекни!
smekni.com

Понятие и основные виды операционных систем (стр. 4 из 6)

Короткое имя генерируется файловой системой автоматически в формате 8.3. Для создания коротких имен (псевдонимов) файлов используется следующий алгоритм:

– из длинного имени удаляются все символы, недопустимые в именах FAT, а также точки кроме последней;

– строка, расположенная перед точкой, обрезается до 6 символов, и в ее конец добавляется «~1», строка, следующая за точкой, обрезается до 3 символов;

– оставшиеся буквы преобразовываются в прописные; если сгенерированное имя совпадает с уже существующим, увеличивается число в приставке «~1».

FAT 32 усовершенствованная версия системы VFAT, поддерживающая жесткие диски объемом более 32 Гб. Впервые она была включена в состав ОС Windows 95 OSR 2 и поддерживается во всех последующих версиях Windows.

В FAT32 были расширены атрибуты файлов, стало возможным хранить время и дату создания, модификации и последнего доступа к файлу или каталогу.

Из-за требования совместимости с ранее созданными программами структура FAT32 практически не изменилась. Главные отличия от предыдущих версий FAT состоят в следующем:

– блок начальной загрузки на разделах с FAT32 был увеличен до 2 секторов; он включает резервную копию загрузочного сектора, что делает систему быть более устойчивой к возможным сбоям на диске;

– объем, занимаемый таблицей размещения файлов, увеличился, поскольку теперь каждая запись в ней занимает 32 байта, и общее число кластеров на разделе FAT32 больше, чем на разделах FAT. Соответственно, выросло и количество секторов, отводимых под размещение служебной информации;

– корневой каталог в FAT32 больше не располагается в определенном месте; теперь на этом месте хранится указатель на начальный кластер корневого каталога. В результате снимается ранее существовавшее ограничение на число записей в корневом каталоге;

– для учета свободных кластеров в зарезервированной области на разделе FAT32 имеется сектор, содержащий число свободных кластеров и номер самого последнего использованного кластера. Это позволяет следующего кластера не перечитывать заново всю таблицу размещения файлов.

HPFS. Эта система (HighPerformanceFileSystem, высокопроизводительная файловая система) была представлена фирмой IBM в 1989 г. вместе с операционной системой OS/2 версии 1.20. По производительности она существенно превосходит FAT и позволяет использовать жесткие диски объемом до 2 Терабайт. Кроме того, она поддерживает разделы диска размером до 512 Гб и позволяет использовать имена файлов длиной до 255 символов (на каждый символ при этом отводится 2 байта). В HPFS по сравнению с FAT заметно уменьшено время доступа к файлам в больших каталогах.

HPFS распределяет пространство на диске не кластерами (как FAT), а физическими секторами по 512 байт, что не позволяет ее использовать на жестких дисках, имеющих другой размер сектора. Эти секторы принято называть блоками. Чтобы уменьшить фрагментацию диска, при распределении пространства под файлы HPFS стремится по возможности размещать их в смежных секторах.

Для нумерации единиц распределения дискового пространства HPFS использует 32 разряда, что дает 232, или (учитывая знак числа) более 2 млрд блоков. Помимо стандартных, HPFS поддерживает расширенные атрибуты файла (ExtendedAttributes, EA), которые могут содержать до 64 Кб различных дополнительных сведений о нем.

Загрузочный блок в HPFS аналогичен загрузочному блоку в FAT. Системные файлы, также как и в FAT, располагаются в корневом каталоге, но при этом физически могут находиться в любом месте диска.

Для обнаружения свободных секторов используется блок битовых карт (bitmapblocklist). Он похож на таблицу размещения файлов FAT. Каждому сектору группы соответствует один бит в ее битовой карте, показывающий, занят ли он. Резервный блок (directoryemergencyfreeblocklist) обеспечивает высокую отказоустойчивость HPFS и позволяет восстанавливать поврежденные данные на диске. Расположение группы каталогов в центре диска значительно сокращает время позиционирования головок чтения / записи.

В отличие от линейной структуры FAT, структура каталога в HPFS представляет собой сбалансированное дерево (так называемое В-дерево) с записями, расположенными в алфавитном порядке. При поиске файловая система HPFS просматривает только необходимые ветви дерева, что заметно ускоряет процесс.

Файловая система NTFS(NewTechnologyFileSystem) была специально разработана для ОС WindowsNT. В ней значительно расширены возможности по управлению доступом к отдельным файлам и каталогам, введено большое число атрибутов, реализованы отказоустойчивость и средства динамического сжатия файлов. NTFS допускает имена файлов длиной до 255 символов, при этом она использует тот же алгоритм для генерации короткого имени, что и VFAT. NTFS обладает возможностью самостоятельного восстановления в случае сбоя ОС или оборудования, так что дисковый том остается доступным, а структура каталогов не нарушается.

Каждый файл на разделе NTFS представлен записью в специальном файле MFT (MasterFileTable, главная файловая таблица). NTFS резервирует около 1 Мб для размещения первых 16 записей служебной информации. 17-я и последующие записи MFT используются собственно файлами и каталогами. Первая запись содержит саму главную файловую таблицу. За ней следует зеркальная запись MFT. Если первая запись MFT разрушена, NTFS считывает вторую запись, чтобы отыскать зеркальный файл MFT. Местоположение сегментов данных MFT и зеркального файла MFT хранится в секторе начальной загрузки. Копия сектора начальной загрузки находится в логическом центре диска. Третья запись MFTсодержит файл регистрации, применяемый для восстановления файлов.

NTFS была разработана как восстанавливаемая файловая система, использующая модель обработки транзакций. Каждая операция ввода-вывода, изменяющая файл на томе NTFS, рассматривается системой как транзакция. При модификации любого файла пользователем, в файле регистрации фиксируется вся информация, необходимая для повторения или «отката» транзакции. Если транзакция завершена успешно, производится модификация файла; в противном случае NTFS оставляет его неизменным. В журнале транзакций (logfile) регистрируются все операции, влияющие на структуру тома, включая создание файлов и любые команды, изменяющие структуру каталогов.

Схема распределения пространства на томе хранится в файле битовой карты (bitmapfile). Атрибут данных этого файла содержит карту, каждый бит которой представляет один кластер тома и указывает, свободен ли данный кластер или занят некоторым файлом.

В загрузочном файле (bootfile) хранится код начального загрузчика операционной системы.

NTFS также поддерживает файл плохих кластеров (badclusterfile) для регистрации поврежденных участков на томе и файл тома (volumefile), содержащий имя тома, версию NTFS и бит, который устанавливается при повреждении тома. Наконец, имеется файл, содержащий таблицу определения атрибутов (attributedefinitiontable), которая задает типы атрибутов, поддерживаемые на томе, и указывает, можно ли их индексировать, восстанавливать операцией восстановления системы и т.д.

NTFS распределяет пространство кластерами и использует для их нумерации 64 разряда, что дает возможность иметь на каждом томе 2й4 кластеров, каждый размером до 64 Кбайт. Как и в FAT, размер кластера может меняться, но он не обязательно возрастает пропорционально раз размеру диска.

NTFS позволяет сохранять файлы размером до 16 эксабайт (2м байт) и располагает встроенными средствами уплотнения файлов в реальном времени. Сжатие является одним из атрибутов файла или каталога, и подобно любому атрибуту может быть снято или установлено в любой момент (сжатие возможно на разделах с размером кластера не более 4 Кб). При этом (в отличие от схем уплотнения, используемых в FAT) применяется пофайловое уплотнение; таким образом, порча небольшого участка диска не приводит к потере информации в других файлах. Для уменьшения фрагментации NTFS всегда пытается сохранять файлы в непрерывных блоках.

Каталог в NTFS представляет собой специфический файл, хранящий ссылки на другие файлы и каталоги; тем самым обеспечивается иерархическое строение данных на диске. Файл каталога поделен на блоки, каждый из которых содержит имя файла, базовые атрибуты и ссылку на элемент MFT, который предоставляет полную информацию об элементе каталога. Внутренняя структура каталога NTFS представляет собой бинарное дерево. Если в линейном каталоге (например, во всех версиях FAT) для поиска файла с данным именем операционной системе приходится просматривать все его элементы, то в бинарном дереве имена файлов располагаются таким образом, чтобы поиск осуществлялся максимально быстро. Например, для поиска одного файла среди 1000 в FAT придется осуществить в среднем 500 сравнений (наиболее вероятно, что файл будет найден где-то в середине списка), а системе NTFS– всего около 10.

Начиная с ОС Windows 2000, Microsoft использует новую версию данной файловой системы – NTFS 5.O. В ней были введены дополнительные атрибуты файлов; наряду с правом доступа появилось понятие запрета доступа (что позволяет, например, при наследовании пользователем прав группы на какой-нибудь файл, запретить ему возможность изменять его содержимое). Новая система также позволяет вводить ограничения (квоты) на размер дискового пространства, предоставляемого пользователям и проецировать любой каталог (как на локальном, так и на удаленном компьютере) в подкаталог на локальном диске.

CDFS(CDFileSystem) была разработана для хранении информации на компакт-дисках. Это довольно простая система, и она имеет ряд существенных ограничений. Например, длина имени файла не может превышать 128 символов, нельзя использовать глубоко вложенные каталоги (более 8 уровней) и т.д. Поэтому сейчас все большее распространение при записи информации на CD и DVD-диски получает формат UDF (UniversalDiskFormat), который является надмножеством формата CDFS. Это вполне современный стандарт файловой системы, поддерживаемый Ассоциацией технологий оптической долговременной памяти (OSTA). По некоторым характеристикам UDF вполне сопоставим с форматами файловых систем, используемых на жестких дисках. Поддерживаемый размер имени файла увеличен до 256 символов, добавлена возможность загрузки ОС. В состав Windows 2000 включена поддержка UDFvl.5, в то время как Windows 98 ограничивается UDFvl.02, причем драйвер UDF позволяет производить только операции чтения.