КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Организация дискового пространства
Размещение информации (в том числе файлов) на том или ином устройстве характеризует порядок ее хранения на физическом уровне. В качестве примера рассмотрим организацию дискового пространства для наиболее широко используемых носителей – магнитных дисков.
Все пространство диска разбивается на дорожки в виде концентрических окружностей, которые в свою очередь разделяются на секторы. Для их создания используется специальная процедура, которая называется форматированием и выполняется с помощью средств операционной системы (например, в MS DOS это команда FORMAT). Фактически при этом осуществляются две различные операции, называемые форматированием низкого и высокого уровней. Низкоуровневое (физическое) форматирование состоит в нанесении на диск электронных меток для обозначения дорожек и секторов. При форматировании высокого уровня (его называют также логическим) осуществляется создание служебных областей на диске. Перед использованием магнитный диск обязательно должен быть отформатирован. Программа форматирования проверяет также работоспособность диска, отсутствие ошибок при записи и считывании информации. Дефектные секторы специальным образом помечаются и в дальнейшем не используются. Если диск уже форматировался ранее и на нем записана какая-то информация, то повторная процедура форматирования полностью уничтожает ее. Обе стадии форматирования гибких дисков выполняются одновременно, но когда та же самая команда применяется к жестким дискам, то выполняется форматирование только высокого уровня; при этом предполагается, что форматирование низкого уровня уже проведено изготовителем. В первом физическом секторе жесткого диска располагается главная загрузочная запись (master boot record, MBR) и таблица разделов диска. MBR при загрузке с жесткого диска считывает и загружает в память первый физический сектор на активном разделе диска, называемый загрузочным сектором (boot sector). Каждая запись в таблице разделов (partition table) содержит начальную позицию и размер каждого раздела на жестком диске, а также информацию о том, первый сектор какого раздела содержит загрузочную запись. Базовой единицей ФС жесткого диска является раздел, создаваемый во время разметки жесткого диска и обслуживаемый какой-либо файловой системой. Некоторые операционные системы поддерживают создание томов, охватывающих несколько разделов. Жесткий диск может содержать до четырех основных разделов. Это ограничение связано с характером организации данных на жестких дисках IBM-совместимых компьютеров. Многие операционные системы позволяют создавать так называемый расширенный (extended) раздел, который по аналогии с основным разделом может разбиваться на несколько логических дисков. При проведении форматирования высокого уровня дискеты или раздела диска происходит создание служебных областей в соответствии с типом файловой системы; ниже рассмотрены наиболее распространенные из них.
Файловая система FAT FAT. (File Allocation Table, таблица размещения файлов) была разработана Биллом Гейтсом и Марком МакДональдом в 1977 г. и первоначально использовалась в операционной системе 86-DOS. В дальнейшем она была приобретена фирмой Microsoft и стала основой для ОС MS-DOS 1.0, выпушенной в августе 1981 г. FAT была предназначена для работы с гибкими дисками и вначале не предусматривала поддержку жестких дисков. В соответствии со спецификацией FAT16 на диске размещался сначала загрузочный сектор, затем сама таблица размещения файлов, затем ее точная копия, затем корневой каталог; далее располагалась область данных. FAT не могла контролировать каждый сектор в отдельности, поэтому она объединяла смежные секторы в кластеры (благодаря чему уменьшалось общее количество единиц хранения, за которыми должна следить файловая система). Кластер (cluster) – это группа смежных секторов, имеющая уникальный номер. Каждый кластер считывается и записывается целиком, и поэтому представляет собой минимальное пространство, которое может занимать файл. В результате значительная часть пространства диска расходуется впустую. Например, файл длиной 2 байта будет занимать весь кластер длиной 512 байт, и остальные 510 байт будут недоступны для хранения других данных. Свое название FAT получила от одноименной таблицы размещения файлов. Каждому кластеру соответствует отдельная запись в FAT, которая показывает, свободен ли он, занят ли данными файла, или помечен как сбойный (испорченный). Номер записи соответствует номеру кластера. Если кластер занят под файл, то в соответствующей записи в таблице размещения файлов указывается номер кластера, содержащего следующую часть файла. Из-за этого FAT называют файловой системой со связанными списками. Используется следующий алгоритм считывания файлов. При получении имени файла для выполнения операции считывания ОС обращается к корневому каталогу и считывает номер начального кластера этого файла. Затем ОС обращается в запись FAT с данным номером и анализирует его содержимое. Если в записи содержится номер следующего кластера, ОС запоминает его, переходит к записи с этим номером для ее обработки. Процесс продолжается до тех пор, пока в очередной записи FAT не встретится признак конца файла (EOF, End Of File). Получив таким образом цепочку кластеров, принадлежащих данному файлу, ОС производит непосредственное чтение информации из кластеров с данными номерами, находящимися в области данных. Таким образом, из содержимого отдельных кластеров формируется содержимое файла. Процедура записи файла имеет другой алгоритм. Получив содержимое файла, ОС делит его на порции, равные размеру кластера области данных, и определяет их количество. Обратившись в 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 Мб.
24.
|