Гордеев А.В. Операционные системы (2-е изд., 2004) (1186250), страница 40
Текст из файла (страница 40)
Для накопителей на жестких магнитных дисках — это уже известный нам главный, или внесистемный,загрузчик (NSB) из MBR, и ему передается управление. Главный загрузчик определяет на диске активный раздел, загружает его собственный системный загрузчик и передает управление ему. И наконец, этот загрузчик находит и загружаетнеобходимые файлы операционной системы и передает ей управление. Далее операционная система выполняет инициализацию подведомственных ей программных и аппаратных средств. Она добавляет новые сервисы, вызываемые, как правиЛо, тоже через механизм программных прерываний, и расширяет (или заменяет)которые сервисы BIOS.
Необходимо отметить, что в современных мультипроРаммных операционных системах большинство сервисов BIOS, изначально расс у ж е н н ы х в ПЗУ, как правило, заменяются собственными драйверами ОС,152Глава 5, Управление вводом-выводом в операционных системахпоскольку они должны работать в режиме прерываний, а не в режиме сканирования готовности.Первичный разделMaster Boot RecordРасширенный разделЗагрузочный сектор диска С:Не использованПервичный• раздел DOS(диск С:)Не использованГлавная таблицаразделов,---""\•Логический диск D:Адрес таблицыдля диска Е:Не использованSecondary Master BootRecordЗагрузочный сектор диска D:\/•/\Не использованПервая таблица/v\Расширеннийраздел DOSс логическимидисками D: и Е:Secondary Master BootRecordЛогический диск Е:Загрузочный сектор диска Е:0 - конец цепочки•••Не использованНе использованВторая таблицалогического диска•••Нераспределенноедисковое пространствоРис.
5.4. Разбиение диска на разделыСогласно рассмотренному процессу, каждый раз при запуске компьютера будетзагружаться одна и та же операционная система. Это не всегда нас может устраивать. Так называемые менеджеры загрузки (boot managers) предназначены для того,чтобы пользователь мог выбрать среди нескольких установленных на компьютереоперационных систем желаемую и передать управление на загрузчик выбраннойОС. Имеется большое количество таких менеджеров. Одним из наиболее мощныхменеджеров загрузки является OS Selector от фирмы Acronis. Эта программа имеет следующие основные особенности:а поддержка большого количества операционных систем, включая различныеверсии DOS (MS DOS, DR-DOS и др.), Windows (9x/ME, NT/2000/XP), OS/2,Linux, FreeBSD, SCO Unix, BeOS и др.;прганизация внешней памяти на магнитных дисках153• возможность установки на любой раздел FAT16/FAT32, в том числе и на отдельный раздел, недоступный другим операционным системам;• возможность с помощью меню загрузки, предоставляемого менеджером, осуществить загрузку с дискеты;р автоматическая идентификация операционных систем как на первичных разделах, так и на логических дисках расширенного раздела всех НЖМД, доступных через BIOS компьютера;• поддержка нескольких операционных систем на одном разделе FAT16/FAT32,при этом предотвращаются конфликты по системным и конфигурационнымфайлам для систем, установленных на одном разделе;• возможность дополнительной настройки конфигураций операционных системи легкого их добавления и удаления;• встроенная защита от загрузочных вирусов;• легкое восстановление в случае повреждения MBR;• поддержка больших жестких дисков во всех режимах современных подсистемBIOS;• возможность установки паролей отдельно на меню загрузки и на выбранныеконфигурации.Формирование таблицы разделов осуществляется с помощью специальных утилит.
Обычно их называют FDisk (от слов «Form Disk» — формирование диска).Хотя есть и иные программы, которые могут делать с разделами намного больше,чем простейшие утилиты FDisk от Microsoft. Надо признать, что в последнее время появилось большое количество утилит, которые предоставляют возможностьболее наглядно представить разбиение диска на разделы, поскольку в них используется графический интерфейс. Эти программы успешно и корректно работают снаиболее распространенными типами разделов (разделы под FAT, FAT32, NTFS).Однако созданы они в основном для работы в среде Win32API, что часто ограничивает возможность их применения. Одной из самых известных и мощных программ для работы с разделами жесткого диска является Partition Magic фирмыPower Quest.Еще одной мощной утилитой такого рода является Администратор дисков, входящий в состав уже упоминавшегося менеджера загрузки OS Selector от Acronis.
ЭтаУтилита позволяет:Qсоздавать разделы любых типов и форматировать их под файловые системыFAT16, FAT32, NTFS, Ext2FS (Linux), Linux ReiserFS, Linux Swap, при этомможно выбирать точное или произвольное расположение раздела и указыватьего параметры;аполучать подробную информацию о разделах и о самих жестких дисках;аУдалять любые разделы;преобразовывать разделы из FAT16 в FAT32 и обратно;копировать и перемещать разделы с FAT16, FAT32, NTFS, Linux Ext2FS, LinuxReiserFS и Linux Swap;154Глава 5. Управление вводом-выводом в операционных системах•изменять размеры разделов с вышеперечисленными файловыми системами;•выбирать размер кластера вручную во время любой операции создания, копирования, перемещения или изменения размера раздела;•посекторно редактировать содержимое жестких дисков и разделов с помощьювстроенного многооконного редактора дисков.В популярных операционных системах от Microsoft тоже имеются средства дляпросмотра и изменения структуры разделов жесткого диска.
Так, в Windows NT4.0 для управления дисками имеется программа Администратор дисков (DiskManager), а в Windows 2000 и Windows XP — консоль управления с оснасткой подназванием Управление дисками (Disk Management). Эти средства имеют графический интерфейс и позволяют создавать новые разделы, удалять разделы, переопределять букву (имя) логического диска и создавать наборы дисков, выступающие как один логический том.Утилиты формирования дисков, входящие в состав MS DOS и Windows 95/98,а также утилита, встроенная в программу установки Windows NT, первым элементом таблицы разделов всегда делают первичный раздел. Вторым элементом становится расширенный раздел, в котором, в свою очередь, организуется один или несколько логических дисков.
При этом создаваемые логические диски помимоизвестного буквенного именования (диски С:, D:, Е: и т. д.) получают еще и так называемые номера разделов. Диск С: получает в этом случае порядковый номер 1,диск D: — 2, диск Е: — 3, и т. д. Именно номера разделов используются в файлеboot.ini, который указывает системному загрузчику Windows NT/2000/XP, гденаходятся файлы выбранной операционной системы.Следует заметить, что в операционных системах типа Linux логические диски иразделы нумеруются и обозначаются иным способом. Жесткий диск с IDE-интерфейсом, подключенный к первому контроллеру как главный (master), имеет имяhda. Если это второй диск на том же шлейфе, то его именуют hdb1.
Соответственно,имя hdc будет соответствовать диску, подключенному ко второму порту контроллера и имеющему адрес 0, то есть главному. И так далее. Если раздел диска указанпосредством таблицы из MBR, то он имеет номер элемента таблицы разделов. Еслиже речь идет о логических дисках, созданных в пределах расширенного раздела, тоих номера уже начинаются с 5. Тем самым указывается, что раздел описан в следующей (вторичной) записи MBR, то есть в SMBR.Так, для рассматриваемого нами примера (см. рис.
5.4), раздел с номером 1 в Linuxтоже будет иметь номер 1. Если мы имеем единственный накопитель, подключенный к первому порту контроллера, то этот раздел обозначается как hdal. А вот логический диск, по умолчанию именуемый в Windows диском D: и имеющий номерраздела 2, в Linux будет обозначаться как hda5. Логический диск Е:, имеющийв Windows номер раздела 3, станет в Linux диском с номером раздела 6 и будетобозначаться hda6. Чтобы понять причину такой нумерации, рассмотрим рис. 5.Главным является тот накопитель, который имеет адресацию 0 на IDE-интерфейсе, тогда как дадресом 1 обозначается как вспомогательный (slave). Адресация выставляется на одной из лШЕ-шлейфа (26 линия).организация внешней памяти на магнитных дисках155более внимательно.
Вслед за сектором с MBR размещаются собственно сами разделы. Поскольку на рисунке это в явном виде не показано, напомним, что любойраздел начинается с первого сектора. В таблице разделов имеется 4 элемента, нотолько два из них задействованы. Первый элемент описывает раздел с номером 1ему соответствует логический диск С:. Второй элемент указывает на запись SMBR,ив которой первый элемент в таблице логических дисков описывает логическийдиск D:. И этот элемент является уже пятым элементом, если учесть четыре элемента в MBR. А далее нумерация разделов в Linux отходит от этой идеи.