Организация информации на жестком диске

Автор работы: Пользователь скрыл имя, 25 Декабря 2011 в 20:29, реферат

Описание работы

Далее будет показана логическая организация хранения информации на жестком диске IBM совместимых ПЭВМ. Будет рассмотрена логическая структура жесткого диска, назначение и структура ее составных частей. Достаточно подробно будет рассмотрена организация файловой системы MSDOS (PCDOS) на жестком диске, а также кратко рассмотрены организации файловых систем других операционных систем.

Файлы: 1 файл

HDStructure.doc

— 1.51 Мб (Скачать файл)

      Файл подкаталога имеет ту же структуру, что и корневой каталог. Единственное отличие заключается в двух первых элементах подкаталога. Самый первый элемент (в качестве имени используется символ «.») указывает на этот же подкаталог, т.е. подкаталог хранит ссылку на самого себя. Второй элемент (в качестве имени используется символы «..») указывает на подкаталог (или корневой каталог) более высокого уровня, в который непосредственно входит подкаталог. Таким образом, образуется цепочка связанных между собой каталогов, называемая деревом каталогов.

      Для указания файла операционной системе необходимо передать не только имя файла, но и его местонахождение в структуре дерева каталогов, т.е. перечислить все вложенные подкаталоги, от корневого каталога до подкаталога, непосредственно содержащего файл. Такое перечисление, в котором используется символ «\» для разделения имен подкаталогов, называется путем к файлу.

      Глубина дерева каталогов может быть практически любой. Ограничение состоит в том, что длина пути от корневого каталога до любого файла не должна превышать 64 символов с учетом символов «\», отделяющих имена каталогов, и последнего символа «\» в конце пути.

      Целесообразность хранения всего, что можно, вне корневого каталога объясняется тем, что при попытке вместить в корневой каталог больше файлов, чем в него помещается, DOS сообщает о том, что это сделать нельзя. Однако ее сообщение слегка запутанное - на диске нет больше места (а не отсутствует место в корневом каталоге). Необходимо помнить, что среди файлов в корневом каталоге могут быть скрытые системные файлы и метка тома (если назначено имя этому дисковому тому). Нужно придерживаться следующего правила: если что-то не должно быть в корневом каталоге, это что-то нужно оттуда убрать.

      Как было сказано выше, подкаталоги хранятся как файлы. DOS указывает размер пустого подкаталога как нулевой, и можно было бы подумать, что сам подкаталог не занимает пространства на диске, но на самом деле это не так. Как и любой файл, подкаталог имеет минимальный размер, равный размеру кластера. При большом количестве записей подкаталог может занимать и большее пространство диска.

3.1.6. Метка тома.

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

      Именовать разделы или тома не обязательно, но рекомендуется пользоваться метками. Начиная с версии DOS 3.2, программа FORMAT имеет очень ценную возможность: если запросить реформатирование жесткого диска, имеющего метку тома, программа отказывается делать это до сообщения ей метки тома. Это свойство помогает предотвратить случайное уничтожение данных на томах жесткого диска. (Программа помогает, но не запрещает уничтожение данных.)

3.1.7. Данные загрузочной записи.

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

      Прочитать данные из загрузочной записи можно при помощи любой программы, позволяющей читывать данные непосредственно из секторов накопителя (в частности, это упомянутые ранее DEBUG и DISKEDIT). Обычно при использовании таких программ результат представляется в виде последовательности шестнадцатеричных или ASCII кодов (рис.3.2), что создает определенные неудобства для понимания и, в случае необходимости, редактирования данных загрузочной записи. Но некоторые программы позволяют выводить информацию в более удобном виде. На рис.3.5 отображены данные из загрузочной записи логического диска D, расположенного в начале расширенного раздела единственного жесткого диска. Как было отмечено ранее, загрузочная запись первичного раздела DOS имеет ту же структуру и содержит те же данные, что и загрузочные записи логических DOS разделов, находящихся в расширенном разделе.

Рис.3.5. Таблица данных загрузочной записи DOS.

      Рассмотрим подробнее каждое поле данных:

  • Первые восемь байтов таблицы данных (начиная с четвертого байта в секторе) содержат название производителя комплектного оборудования (OEM) и номер версии DOS для программы FORMAT, создавшей этот загрузочный сектор. Это поле не входит в блок параметров BIOS.
  • Следующее поле (два байта) содержит число байтов в секторе (максимальное значение 65536). Жесткие диски всех ПК используют 512 байт в физическом секторе (если используется другой размер логического сектора, что бывает крайне редко, то он обычно кратен 512 байт).
  • Третье однобайтовое поле показывает число секторов в кластере. Произведение этого числа и предыдущего дает число байтов в кластере.
  • Четвертое поле (два байта) определяет число зарезервированных секторов, а фактически равно числу секторов в этом разделе до начала первой копии FAT. Поскольку логические секторы начинаются с нуля, число зарезервированных секторов равно первому сектору в первой FAT. Обычно оно равно единице, показывая, что перед FAT находится только загрузочный сектор, хотя разработчики DOS допускают формат с большим числом зарезервированных секторов между загрузочным сектором и первым сектором FAT.
  • Следующих два поля (один и два байта соответственно) показывают число FAT и число элементов в корневом каталоге.
  • Поле общего числа секторов в томе применяется только для томов DOS, емкость которых меньше 32 Мбайт. Это двухбайтное число не может представить число секторов в большем томе (предполагая размер логического сектора 512 байт). Для логических томов DOS, емкость которых больше 32 Мбайт, в этом поле содержится нуль. Фактическая емкость таких разделов помещается в другое поле, имеющееся только в загрузочных записях, создаваемых DOS 4.0 и более поздними версиями.
  • В следующем поле находится байт дескриптора носителя; для жесткого диска он равен F8h.
  • Следующее поле показывает число секторов в FAT.
  • Далее таблица данных содержит поле, показывающее число секторов на дорожке - это однобайтное число, поэтому значение в этом поле не может превышать 255.
  • Начиная с DOS версии 3, добавлены два новых поля - количество головок и количество скрытых секторов. Количество головок равно количеству поверхностей дисков, на которых записываются данные (данное значение, для больших дисков, может не соответствовать физической реализации диска, но DOS использует именно это значение при работе с контроллером диска, который, в свою очередь, преобразует эти значения в реальные). Количество скрытых секторов равно общему количеству физических секторов в накопителе до начала данного раздела. Для логического тома, находящегося в расширенном разделе DOS, это значение отсчитывается от начала расширенного раздела. (Отметим различие между зарезервированными секторами и скрытыми. Первое показывает, сколько секторов внутри этого раздела нужно пропустить для получения начала первой FAT. Второе число показывает, сколько секторов в накопителе нужно пропустить для получения начала этого раздела.) В DOS 4 поле количества скрытых секторов увеличено с двух до четырех байтов, что допускает наличие дисков большого размера.
  • Начиная с четвертой версии DOS, добавлено четырехбайтное поле общего количества секторов для логических томов DOS, емкость которых больше 32 Мбайт.
  • В DOS 5 добавлено еще несколько полей, первое - это физический адрес BIOS для диска, содержащего этот раздел или логический накопитель. Физический адрес BIOS для диска вносит некоторую путаницу. Обычное значение для первого физического жесткого диска равно 80h. Второй жесткий диск имеет физический адрес 81h. Начиная с DOS 5. 0, можно иметь до семи физических жестких дисков с адресами до 86h. DOS называет том внутри первичного раздела DOS первым физическим накопителем С. Если имеется первичный раздел на втором физическом накопителе, он называется D. Этот процесс продолжается по всем физическим дискам, если только они имеют первичные разделы DOS. Логические тома внутри расширенного раздела DOS на первом накопителе получают следующие буквы накопителей. (При наличии двух физических накопителей, имеющих первичные разделы DOS, буквы накопителей начинаются с Е.) Затем буквы накопителей назначаются логическим томам внутри расширенного раздела DOS на следующем физическом накопителе. И вновь этот процесс продолжается до назначения букв логическим накопителям (или до достижения Z). Обычно загрузочные секторы в логических томах внутри расширенного раздела имеют такой же физический адрес BIOS, как и первичный раздел DOS на том же самом накопителе.
  • Следующие поля - это расширенная сигнатура загрузочной записи, порядковый номер тома, имя тома и цепочка идентификации файловой системы.

3.2. Функционирование файловой системы DOS FAT16 (12).

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

      Для доступа к файлу (неважно, для чтения, записи или изменения) сначала необходимо указать его положение в структуре каталогов. Для этого операционной системе передается путь к файлу - последовательное перечисление вложенных подкаталогов от корневого до подкаталога, содержащего требуемый файл. Так как подкаталоги хранятся как файлы, то DOS и работает с ними как с файлами. То есть, отыскав в корневом каталоге указанного логического тома запись, соответствующую первому по вложенности подкаталогу, считывает файл этого подкаталога и ищет в нем запись, соответствующую второму по вложенности подкаталогу. И так продолжается до тех пор, пока не будет считан последний подкаталог в пути, в котором должна содержаться запись, соответствующая искомому файлу. При выполнении всех этих действий DOS выполняет те же операции, что и при работе с файлами.

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

      Рассмотрим процесс доступа к файлу в FAT16.

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

Рис 3.6. Размещение файла на носителе с файловой системой FAT16 и схема доступа к файлу.

      В зависимости от полученного значения выполняется одно из трех действий:

      конец файла (FFF8h - FFFFh) - DOS прекращает чтение FAT и переходит к чтению непосредственно файла;

      специальное значение (зарезервированные (FFF0h - FFF6h), недопустимое (0001h или текущий номер элемента FAT), пустой (0000h) или плохой кластер (FFF7h)) - файл записан неверно и DOS выдает сообщение об ошибке и прекращает операцию чтения файла;

      ни одно из вышеперечисленных (указатель на следующий элемент FAT, соответствующий читаемому файлу (0002h - FFEFh)) - запоминает считанное значение и повторяет перечисленные действия с новым элементом FAT.

      В случае успешного завершения чтения FAT (достигнут конец файла), DOS получает цепочку элементов FAT. Каждый элемент FAT связан с одним кластером на диске. DOS считывает соответствующие кластеры в том порядке, в каком были считаны соответствующие элементы FAT.

      При получении команды записи файла на диск DOS проверяет существование указанного подкаталога, наличие в нем файла с указанным именем и, если это корневой каталог и файла с таким именем в нем не обнаружено, наличие места в каталоге для добавления новой записи. Если указанного подкаталога не существует или нет места в корневом каталоге, то DOS выдает соответствующее сообщение об ошибке. Если в указанном подкаталоге уже существует запись для файла с таким же именем как в команде, то DOS выдает запрос на подтверждение перезаписи файла и, в случае подтверждения, в зависимости от атрибутов существующего файла, DOS может выдавать и другие запросы. После того, как DOS убедиться в возможности записи требуемого файла, она просматривает таблицу FAT с начала и отыскивает первый свободный элемент (его значение соответствует 0000h), который, соответственно обозначает свободный кластер на диске. Запомнив номер этого элемента FAT, DOS начинает запись в соответствующий кластер на диске. Если файл имеет больший размер, чем кластер, то DOS ищет следующий свободный элемент FAT, записывает его номер в предыдущий использованный элемент FAT, то есть делает в первом элементе ссылку на следующий, и продолжает запись в соответствующий кластер. Такие действия повторяются до тех пор, пока весь файл не будет записан на диск. После окончания записи файла, DOS отмечает элемент FAT, соответствующий последнему записанному кластеру, как конец файла (FFF8h - FFFFh) и создает в указанном в команде подкаталоге запись, соответствующую записанному файлу, куда помещает номер элемента FAT, соответствующего первому записанному кластеру.

Информация о работе Организация информации на жестком диске