Автор работы: Пользователь скрыл имя, 25 Декабря 2011 в 20:29, реферат
Далее будет показана логическая организация хранения информации на жестком диске IBM совместимых ПЭВМ. Будет рассмотрена логическая структура жесткого диска, назначение и структура ее составных частей. Достаточно подробно будет рассмотрена организация файловой системы MSDOS (PCDOS) на жестком диске, а также кратко рассмотрены организации файловых систем других операционных систем.
Организация информации на жестком диске.
Далее будет показана логическая организация хранения информации на жестком диске IBM совместимых ПЭВМ. Будет рассмотрена логическая структура жесткого диска, назначение и структура ее составных частей. Достаточно подробно будет рассмотрена организация файловой системы MSDOS (PCDOS) на жестком диске, а также кратко рассмотрены организации файловых систем других операционных систем.
Данный материал не включает в себя рассмотрение вопросов аппаратной реализации НМГД и средств взаимодействия операционной системы с жестким диском. Но для правильного понимания изложенного материала ниже приведены некоторые краткие сведения, касающиеся вопросов физической организации НМГД.
НЖМД представляет собой несколько дисков с магнитным покрытием, закрепленных на общем шпинделе (рисунок 1.1). Посредством системы электромагнитных головок может производиться запись или чтение информации на любой поверхности дисков. Выбор места записи или чтения информации производится вращательным движением дисков и поступательным движением головок.
Рис 1.1. Структура жесткого диска.
При вращении диска и нахождении блока головок в определенной позиции каждая головка образует на поверхности диска окружность или кольцо. Эти окружности называются дорожками.
Информация записывается на дорожки пакетами, которые называются секторами. Сектор - это минимальный объем данных, с которыми работает накопитель и которые он может адресовать. Во всех современных накопителях один сектор содержит 512 байт информации. При использовании различных файловых систем минимальный объем данных, которыми обменивается операционная система с жестким диском, может превышать размер сектора. Но на аппаратном уровне запись и чтение могут производиться только секторами.
Дорожки, расположенные на разных дисках накопителя как бы друг под другом образуют цилиндр.
Таким образом, информацию на диске можно адресовать тремя величинами. Номером цилиндра, номером дорожки в цилиндре или номером головки (номером поверхности) и номером сектора на дорожке. Цилиндры и головки номеруются, начиная с 0, а сектора - начиная с 1.
Принято считать, что сектора имеют и сквозную нумерацию, при этом отсчитываются все сектора на одной дорожке, затем все сектора на следующей дорожке того же цилиндра, а по достижении последнего сектора на последней дорожке цилиндра переходят к начальному сектору начальной дорожки следующего цилиндра. Таким образом, самый первый логический сектор находится по адресу (цилиндр 0, головка 0, сектор 1), за ним следует (цилиндр 0, головка 0, сектор 2), после (цилиндр 0, головка 0, сектор max) следует (цилиндр 0, головка 1, сектор 1), а после (цилиндр 0, головка max, сектор max) следует (цилиндр 1, головка 0, сектор 1).
Логически идущие друг за другом сектора физически на диске могут и не следовать друг за другом, а сектора, находящиеся в одном цилиндре и имеющие одинаковые логические номера на дорожке, могут и не находиться друг под другом. Физический сектор кроме записываемой информации содержит также и служебную информацию, наличие которой можно не учитывать при рассмотрении логической структуры жесткого диска. Кроме того, не вся поверхность диска используется для записи и чтения информации - на диске имеются и служебные области.
Действия, создающие на физическом диске логическую структуру цилиндров, головок и секторов, а также записывающие всю необходимую служебную информацию на диск, называются низкоуровневым форматированием.
Для большинства современных НЖМД низкоуровневое форматирование выполняется фирмой производителем и не изменяется в течение всего срока работы НЖМД. Но некоторые контроллеры жестких дисков и сами НЖМД поддерживают функцию низкоуровневого форматирования.
После проведения низкоуровневого форматирования дальнейшая работа осуществляется только с логической структурой жесткого диска, чему посвящен дальнейший материал.
После проведения форматирования низкого уровня жесткий диск готов к хранению информации. Другими словами, контроллер, который поместил на диск формат низкого уровня, может теперь найти любое указанное место и записать туда переданные данные. Он может также по команде найти и вернуть эти данные.
Контроллеру достаточно формата низкого уровня, но этого далеко недостаточно для DOS и многих других операционных систем. До сохранения файлов в компьютере с MS DOS необходимо организовать на диске разделы и провести форматирование высокого уровня, то есть необходимо на логическое представление жесткого диска, с которым работает контроллер, наложить логическую структуру, с которой будет работать операционная система.
На гибких дисках разделов нет. Разработчики DOS могли не вводить разделов и на жестких дисках, но они потребовались из-за высокой стоимости жестких дисков на момент разработки DOS. Разработчики DOS решили, что нужно разрешить пользователям инсталлировать на ПК несколько операционных систем. Для этого они разрешили каждой операционной системе использовать часть (или раздел) очень дорогого жесткого диска.
Сейчас стоимость хранения 1 Мбайт на жестком диске составляет менее 1% стоимости на момент начала эксплуатации DOS. Выделение всего накопителя только одной операционной системе теперь стало нормой, но для обеспечения совместимости с прежними версиями DOS и BIOS требуется организация разделов на жестком диске.
Но даже без учета необходимости обеспечения совместимости с прежними версиями DOS и BIOS существует необходимость разбиения жесткого диска на разделы. В частности, операционные системы DOS и стандартная Windows 95 не могут работать с логическими дисками размером более 2 Гбайт, что приводит к необходимости разбиения НЖМД больших размеров на несколько разделов. Некоторые реализации операционной системы UNIX требуют размещения файловой системы и области свопинга в разных разделах жесткого диска. Кроме того, и сегодня возникает необходимость инсталляции нескольких операционных систем на одну ПЭВМ, о чем свидетельствует достаточно большой выбор программных продуктов, предназначенных для управления загрузкой ПЭВМ, на которой установлено несколько операционных систем. Также можно отметить удобство расположения информации на разных логических дисках, а не на одном, хотя это в основном относиться к предпочтениям конкретного пользователя, а не к необходимым системным требованиям.
Организация разделов означает деление на части. Почти все дисковое пространство поделено на разделы, в которых можно хранить файлы информации. Однако ПЭВМ не может использовать эти части без специальной "вводной" секции на диске, где должно быть описано это разбиение. Такая секция, она находится в самом начале диска (цилиндр 0, головка 0, физический сектор 1), содержит так называемую главную загрузочную запись (Master Boot Record - MBR). Эта односекторная программа часто называется таблицей разделов по имени находящейся в ней таблицы данных.
В самом конце диска обычно имеются одна или две другие специальные части - диагностический цилиндр и, в некоторых контроллерах, секретный цилиндр для хранения параметров накопителя.
На рис. 2.1 показаны три основные секции, которые создаются при организации разделов (главная загрузочная запись, средняя часть и диагностический цилиндр плюс секретный цилиндр, если они есть). На рисунке также показано, как можно делить среднюю часть.
Рис.2.1. Области, создаваемые на диске при организации разделов.
Самый первый сектор накопителя (цилиндр 0, головка 0, физический сектор 1) называется главной загрузочной записью, или таблицей разделов. Этот сектор называется таблицей разделов потому, что он содержит таблицу данных, которая определяет области (разделы), на которые разделено почти все дисковое пространство. Сектор также называется главной загрузочной записью, потому что он содержит программу, которая считывает эту таблицу, переходит к нужному разделу и загружает из самого начала этого раздела другую загрузочную запись.
Если это раздел является загрузочным разделом DOS, программная часть загрузочного сектора в начале раздела идентична программной частя загрузочного сектора любого диска или дискеты DOS. Если же это, например, раздел UNIX, то загрузочный сектор содержит стандартную программу загрузки UNIX.
При наличии двух накопителей на жестких дисках главная загрузочная запись на первом из них считывает таблицу данных для обоих накопителей. Оба накопителя имеют полную программу MBR и таблицу разделов. Это значит, что вы даже не заметите, что программа MBR (но не таблица разделов) испорчена в первом секторе второго физического накопителя, если не посмотрите его таким средством анализа диска, как программа Disk Editor из утилит Нортона. С другой стороны, такое повреждение не скажется на вашей работе, если вы в дальнейшем не попытаетесь использовать этот жесткий диск как первый физический накопитель в ПЭВМ.
Можно вывести содержимое первого сектора с помощью программы DOS DEBUG или другой программы. Особенно удобно пользоваться программой Disk Editor из утилит Нортона. Она автоматически запускается в режиме только считывания, и нет возможности повредить MBR при просмотре. При выключении защиты записи программой Disk Editor можно записать MBR в файл, а при повреждении MBR восстановить ее из файла.
Пример содержимого MBR приведен на рисунке 2.2, полученный при помощи программы Disk Editor из утилит Нортона.
Рис.2.2. Типичная главная загрузочная запись (MBR). Содержимое сектора диска показано в формате программы Disk Editor из утилит Нортона (представление View as HEX).
Колонки на рисунке сведены в три группы. Первая показывает 16-ричные адреса. Вторая группа показывает также 16-ричные фактические байты, хранимые по этим адресам. Наконец, в третьей части показаны те же самые данные в виде символов кода ASCII.
Вторая и третья части содержат по 16 байт данных в строке. Поэтому вторая часть состоит из 16 подколонок, каждая из которых содержит один байт. В третьей части все значения, соответствующие непечатаемым символам, показаны точками. Адрес в первой части каждой строки равен числу байтов, находящихся в секторе до первого байта данных, показанного в этой строке.
На рисунке показаны 32 строки, и адреса содержат числа от нуля до 0000lF0h. Если прибавить число байтов последней строки перед последним байтом (15 или Fh), получится адрес 1FFh (десятичное число 511) для последнего адреса сектора. Адреса от нуля до 511 означают, что показаны 512 байт, что равно размеру сектора.
Отметим, что программа MBR содержится в первых 14 строках (меньше половины сектора) и что последние 80 байт (пять строк) заполнены текстами сообщений, которые программа выводит на экран. Данные таблицы разделов содержатся в последних пяти строках рисунка, начиная с адреса 0lBEh. Почти половина сектора от адреса 1DAh до 1BDh, т.е. 227 байт, не используется и заполнена нулями.
Последних два байта в секторе (со значениями 55h AAh по адресам 1FEh и 1FFH) образуют "сигнатуру", которая помогает программе загрузки (это программа в ROM BIOS на материнской плате, которая запускает компьютер) проверить правильность загрузочной записи.
Большая часть диска находится между главной загрузочной записью и диагностическим цилиндром. Это пространство можно использовать как один раздел или разбить его на два, три или четыре раздела. Таблица разделов показывает начальный и конечный адреса (цилиндр, головка и физический сектор) для каждого раздела. Кроме того, для каждого раздела она показывает операционную систему, которая образует в разделе формат высокого уровня. Наконец, таблица показывает, какой из разделов является активным (загрузочным).