Смекни!
smekni.com

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

Базовой единицей ФС жесткого диска является раздел,создаваемый во время разметки жесткого диска и обслуживаемый какой-либо файловой системой. Некоторые операционные системы поддерживают создание томов, охватывающих несколько разделов.

Жесткий диск может содержать до четырех основных разделов.Это ограничение связано с характером организации данных на жестких дисках IBM-совместимых компьютеров. Многие операционные системы позволяют создавать так называемый расширенный (extended) раздел,который по аналогии с основным разделом может разбиваться на несколько логических дисков.

При проведении форматирования высокого уровня дискеты или раздела диска происходит создание служебных областей в соответствии с типом файловой системы; ниже рассмотрены наиболее распространенные из них.

FAT.Файловая система FAT (FileAllocationTable, таблица размещения файлов) была разработана Биллом Гейтсом и Марком МакДональдом в 1977 г. и первоначально использовалась в операционной системе 86-DOS. В дальнейшем она была приобретена фирмой Microsoft и стала основой для ОС MS-DOS 1.0, выпушенной в августе 1981 г. FAT была предназначена для работы с гибкими дисками и вначале не предусматривала поддержку жестких дисков. В соответствии со спецификацией FAT16 на диске размещался сначала загрузочный сектор, затем сама таблица размещения файлов, затем ее точная копия, затем корневой каталог; далее располагалась область данных.

FAT не могла контролировать каждый сектор в отдельности, поэтому она объединяла смежные секторы в кластеры (благодаря чему уменьшалось общее количество единиц хранения, за которыми должна следить файловая система). Кластер(cluster) – это группа смежных секторов, имеющая уникальный номер. Каждый кластер считывается и записывается целиком, и поэтому представляет собой минимальное пространство, которое может занимать файл. В результате значительная часть пространства диска расходуется впустую. Например, файл длиной 2 байта будет занимать весь кластер длиной 512 байт, и остальные 510 байт будут недоступны для хранения других данных.

Свое название FAT получила от одноименной таблицы размещения файлов. Каждому кластеру соответствует отдельная запись в FAT, которая показывает, свободен ли он, занят ли данными файла, или помечен как сбойный (испорченный). Номер записи соответствует номеру кластера. Если кластер занят под файл, то в соответствующей записи в таблице размещения файлов указывается номер кластера, содержащего следующую часть файла. Из-за этого FAT называют файловой системой со связанными списками.

Используется следующий алгоритм считывания файлов. При получении имени файла для выполнения операции считывания ОС обращается к корневому каталогу и считывает номер начального кластера этого файла. Затем ОС обращается в запись FAT с данным номером и анализирует его содержимое. Если в записи содержится номер следующего кластера, ОС запоминает его, переходит к записи с этим номером для ее обработки. Процесс продолжается до тех пор, пока в очередной записи FAT не встретится признак конца файла (EOF, EndOfFile). Получив таким образом цепочку кластеров, принадлежащих данному файлу, ОС производит непосредственное чтение информации из кластеров с данными номерами, находящимися в области данных. Таким образом, из содержимого отдельных кластеров формируется содержимое файла.

Процедура записи файла имеет другой алгоритм. Получив содержимое файла, ОС делит его на порции, равные размеру кластера области данных, и определяет их количество. Обратившись в FAT, ОС отыскивает первую свободную запись, запоминает ее номер, создает в каталоге новый элемент со сведениями о файле и записывает в него этот номер в качестве начального кластера размещения файла. После этого отыскивается следующая свободная запись FAT и ее номер записывается в предыдущую запись FAT. Если в записи FAT присутствует признак испорченности, она пропускается, и запись информации в соответствующий кластер области данных не производится. Так продолжается до тех пор, пока не будет найдено место под все порции файла. В запись FAT, соответствующую номеру последнего кластера, записывается признак конца файла (EOF). После того как найдено место для размещения каждой порции файла, происходит физическая запись его содержимого в область данных.

Для надежности FAT хранится в двух экземплярах, записанных подряд. Предполагается, что эти копии должны быть идентичны. При порче основной файловой таблицы информация о размещении файлов считывается из ее копии. Но при порче копии восстановить цепочки кластеров, принадлежащие конкретному файлу, практически невозможно; вся информация на диске становится недоступной.

Оригинальная версия FAT, разработанная для DOS 1.00, использовала 12-битную таблицу размещения файлов и поддерживала разделы объемом до 4 Мб. Для поддержки жестких дисков размером более 32 Мб разрядность FAT была увеличена до 16 бит. Так как каждому кластеру должен быть присвоен уникальный 16-разрядный номер, файловая система FAT16 поддерживает максимум 216, или 65536 кластеров на одном томе, а максимальная величина раздела составляет 2 Гбайт.

Поскольку загрузочная запись слишком мала для хранения системных файлов, они должны находиться в строго определенном месте диска, чтобы их можно было найти при загрузке. Фиксированное положение системных файлов в начале области данных накладывает жесткое ограничение на размеры корневого каталога и таблицы размещения файлов. Вследствие этого общее число файлов и подкаталогов в корневом каталоге файловой системы FAT ограничено 512.

Каждому файлу и подкаталогу в FAT выделяется 32-байтный элемент каталога, содержащий имя файла (каталога), его атрибуты (архивный, скрытый, системный и «только для чтения»), дату и время создания файла (или внесения в него последних изменений), номер начального кластера, в котором он размещен, и размер в байтах.

Файловая система FAT всегда заполняет свободное место на диске последовательно от начала к концу. При создании нового файла или увеличении уже существующего она ищет самый первый свободный кластер в таблице размещения файлов. В процессе работы одни файлы удаляются, другие изменяются в размере; появляющиеся при этом пустые кластеры оказываются разбросанными по всему диску. Если данные файлы записаны не в смежные кластеры, он называется фрагментированным.

Фрагментация файлов значительно снижает скорость выполнения любых операций с ними, так как при поиске очередной порции данных приходится осуществлять перемещение головок чтения / записи. Поэтому в состав операционных систем, поддерживающих FAT, обычно входят специальные программы дефрагментации диска, позволяющие повысить скорость работы дисковой подсистемы компьютера.

Еще один недостаток FAT заключается в том, что ее производительность сильно зависит от количества файлов, хранящихся в одном каталоге.

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

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

Поскольку FAT изначально проектировалась для однопользовательской операционной системы DOS, в ней не предусмотрено хранения информации о владельце файла / каталога или полномочиях доступа к ним.

FAT была одной из первых файловых систем для ПК; несмотря на многочисленные недостатки, она получила широкое распространение и поэтому ее поддерживает большинство современных ОС. Хотя нет никаких препятствий для того, чтобы использовать при форматировании дискет любую другую файловую систему, большинство ОС для совместимости по-прежнему применяют в этом случае FAT. Отчасти это можно объяснить тем, что простая структура FAT требует меньше места для хранения служебных данных, чем остальные системы, и соответственно больше места остается под размещение данных. Преимущества других файловых систем становятся заметны только при использовании их на носителях объемом более 100 Мб.

VFAT.Файловая система VFAT (VirtualFAT), впервые реализованная в WindowsNT 3.5 и Windows 95 (DOS 7.0), – это видоизмененная система FAT, дополненная поддержкой длинных имен файлов (LongFileName, LFN) в кодировке UNICODE (каждый символ имени кодируется 2 байтами). Схема распределения дискового пространства осталась той же, что и в FAT, но ограничения, устанавливаемые соглашениями по именам файлов, изменились:

– допускаются имена длиной до 255 символов;

– в имени может быть несколько пробелов и точек (при этом, однако, текст после последней точки рассматривается как расширение);

– регистр символов в именах не различается, но сохраняется.

Основной проблемой при разработке VFAT было обеспечение корректной работы старых программ, не поддерживающих длинные имена файлов. В итоге было принято решение для каждого файла и подкаталога в VFAT использовать два имени: длинное и короткое в формате 8.3 для совместимости со старыми программами. Длинные имена (LFN) хранятся в специальных записях каталога. Для любого файла или подкаталога непосредственно перед единственной записью каталога с его именем в формате 8.3 находится группа из одной или нескольких записей, представляющих длинное имя. Каждая такая запись содержит часть длинного имени файла (не более 13 символов), из которых ОС составляет полное имя файла. Поскольку одно длинное имя может занимать до 21 записи, а корневой каталог FAT ограничен 512 записями, желательно ограничить использование длинных имен в корневом каталоге.