14.Структура данных на магнитных дисках
Для того чтобы можно было загрузить с магнитного диска собственно саму ОС, а уже с ее помощью и организовать работу той или иной системы управленияфайлами, были приняты специальные системные соглашения о структуре диска. Расположение структуры данных, несущее информацию о логической организации диска и простейшую программу, с помощью которой можно находить и загружать программы загрузки той или иной ОС, очевидно — это самый первый сектор магнитного диска.Как известно, информация на магнитных дисках размещается и передается блоками. Каждый такой блок называется сектором (sector), сектора расположены на концентрических дорожках поверхности диска. Каждая дорожка (track) образуется при вращении магнитного диска под зафиксированной в некотором предопределенном положении головкой чтения/записи. Накопитель на жестких магнитных дисках (НЖМД)1 содержит один или более дисков (в современных распространенных НЖМД часто — два или три)- Однако обычно под термином «жесткий диск понимают весь пакет магнитных дисков. Группы дорожек (треков) одного радиуса, расположенных на поверхностях маг-нпгных дисков, образуют так называемые цилиндры (cylinder). Современные жесткие диски могут иметь по несколько десятков тысяч цилиндров, в то время как на поверхности дискеты число дорожек (число цилиндров) ныне, как правило, составляет всего восемьдесят5.Каждый сектор состоит из поля данных и ноля служебной информации, ограничивающей и идентифицирующей его. Размер сектора (точнее — емкость поля данных) устанавливается контроллером или драйвером. Пользовательский интерфейс DOS поддерживает единственный размер сектора — 512 байт. BIOS же непосредственно предоставляет возможности работы с секторами размером 128, 256, 512 или 1024 байт. Физический адрес сектора на диске определяется с помощью трех «координата, то есть представляется триадой [c-h-s], где с — номер цилиндра (дорожки на поверхности диска, cylinder), h — номер рабочей поверхности диска (магнитной головки, head), as — номер сектора на дорожке. Номер цилиндра с лежит в диапазоне О..С-1, где С — количество цилиндров. Номер рабочей поверхности диска h принадлежит диапазону 0. .Н-1, где Н — число магнитных головок в накопителе. Номер сектора на дорожке S указывается в диапазоне 1, .S, где S — количество секторов на дорожке. Например, триада [1-0-2] адресует сектор 2 на дорожке О (обычно верхняя рабочая поверхность) цилиндра I. В дальнейшем мы тоже будем пользоваться именно этими обозначениями. что обмен информацией между ОЗУ и дисками физически осуществляется только секторами. Вся совокупность физических секторов на винчестере представляет его неформатированную емкость.Жесткий диск может быть разбит на несколько разделов (partition), которые, в принципе затем могут использоваться либо одной ОС, либо различными ОС. Причем самым главным является то, что на каждом разделе может быть организована своя файловая система. Однако для организации даже одной-единстиен-ной файловой системы необходимо определить, по крайней мере, один раздел.Разделы диска могут быть двух типов — primary (обычно этот термин переводят как первичный) и extended {расширенный'). Максимальное число primary-разделов равно четырем. При этом на диске обязательно должен был, но крайней мере один primary-раздел. Если primary-разделов несколько, то только один из них может быть активным. Именно загрузчику, расположенному в активном разделе, передается управление при включении компьютера и загрузке операционной системы. Остальные prirnaiy-разделы в этом случае считаются1 «невидимыми, скрытыми* (hidden).Один из primary-разделов должен быть активным, именно с него должна загружаться программа загрузки операционной системы, или так называемый менеджер загрузки, назначение которого — загрузить программу загрузки ОС из какого-нибудь другого раздела, и уже с ее помощью загружать операционную систему. Поскольку до загрузки ОС система управления файлами работать не может, то следует использовать для указания упомянутых загрузчиков исключительно абсолютные адреса в формате [c-h-s].По физическому адресу [0-0-1] на винчестере располагается главная загрузочная запись (master hoot record, MBR). содержащая внесистемный загрузчик (non-system bootstrap — NSB), а также таблицу разделов (partition table, PT). Эта запись занимает ровно один сектор, она размещается в памяти, начиная с адреса 0:7COOh, после чего управление передается коду, содержащемуся в этом самом первом секторе магнитного диска. Таким образом, в самом первом (стартовом) секторе физического жесткого диска находится не обычная запись boot record, как на дискете, a master hoot record.MBR является основным средством загрузки с жесткого диска, поддерживаемым BIOS. В MBR находятся три важных элемента:
1) программа начальной загрузки (non-system bootstrap). Именно она запускается BIOS после успешной загрузки в память первого сектора с MBR. Она, очевидно, не превышает 512 байт и ее хватает только на то, чтобы загрузить следующую, чуть более сложную программу, обычно — стартовый сектор операционной системы — и передать ему управление;
2) таблица описания разделов диска (partition table). Располагается ц MBR по смещению OxlBE и занимает 64 байта:
3) сигнатура MBR. Последние дна байта MBR должны содержат;, число AA55h По наличию этой сигнатуры BIOS проверяет, что первый блок был загружен успению. Сигнатура эта выбрана не случайно. Ее успешная проверка позволяет установить, что все линии передачи данных могут передавать и нули, и единицы.
Таблица partition table описывает размещение и характеристики имеющихся на винчестере разделов. Можно сказать, что эта таблица разделов — одна из наиболее важных структур данных на жестком диске. Если эта таблица повреждена, то не только не будет загружаться операционная система {или одна из операционных систем, установленных на винчестере), но перестанут быть доступными и данные, расположенные на винчестере, особенно если жесткий диск был разбит на несколько разделов.
Первичный раздел DOS включает только системный логический диск без каких-либо дополнительных информационных структур.
Расширенный раздел DOS содержит вторичную запись MBR (secondary MBR, SMBR), и состав которой вместо partition table входит таблица логического диска (LDT, logical disk table), ей аналогичная. Таблица LDT описывает размещение и характеристики раздела, содержащего единственный логический диск, а также может специфицировать следующую запись SMBR. Следовательно, если в расширенном разделе DOS создано К логических дисков, то он содержит К экземпляров SMBR, связанных в список. Каждый элемент этого списка описывает соответствующий логический диск и ссылается (кроме последнего) на следующий элемент списка.
- 2. Теневая память
- 6.Недостатки ms-dos и пути их преодоления
- 7.Структура conventional памяти
- 9. Обработчики 09h и 16h клавиатуры
- 10. Extended память
- Expanded память
- Upper память
- 14.Структура данных на магнитных дисках
- 15. Клавиатура. Scan-код
- 16. Распределение памяти в реальном режиме
- Адресация озу при использовании сегментации в защищённом режиме
- 19. Hma память
- Механизм страничной адресации
- 23.Тест клавиатуры
- 24. Прерывания bios
- Преобразование логического адреса в физический при включённой страничной адресации
- 26. Исключения и их обработка
- 27. Управление клавиатурой
- 28. Приоритет обработки прерываний
- Привилегии и защита программ
- 30.Механизм виртуальной памяти
- 31.Дескрипторы сегментных регистров
- 32.Кэш память
- 33.Таблицы локальных и глобальных дескрипторов
- 34.Cga, vga адаптеры
- Характеристики vga адаптеров
- 35.Таблица дескрипторов idt
- 37.Шлюзы и их применение
- 38.Понятие дескриптора
- 39. Адаптер дисплея
- 40.Функции dos и bios для клавиатуры
- 41 Пять компонентов защиты
- 42.Виртуальный 8086
- 43.Классы приоритетов
- 44.Многозадачный режим. Статические и динамические наборы
- 45.Шлюз задач
- 46. Библиотеки dll
- Явная компоновка
- 47.Виртуальная память процессора
- 48.Адресное пространство w9х
- 49.Адресное пространство nt
- 51. Файл подкачки страниц
- 52. Два процесса – один ехе файл.
- 53. Физическая память и страничный файл
- Физическая память в страничном файле не хранится
- 54. Алгоритм загрузки программ
- 56. Переданная и зарезервированная память
- 57.Разделы ехе файла
- 58. Проецируемые в память файлы
- 59.Механизмы работы с файлами больших размеров
- 60. Различия в обработке прерываний и исключений