Этапы процесса загрузки ОС.
Включается тумблер питания. Блок питания проводит самодиагностику. Когда все электрические параметры в норме БП посылает сигнал Power Good процессору. Время между включением питания и уходом сигнала обычно 0.1-0.5 секунд.
Таймер микропроцессора получает сигнал Power Good. С получением этого сигнала таймер перестает посылать сигнал Reset процессору, позволяя тому включиться.
CPU начинает выполнять код ROM BIOS. Процессор загружает ROM BIOS начиная с адреса FFFF:0000. По этому адресу прописан только переход на адрес настоящего кода BIOS ROM.
Система выполняет начальный тест железа. Каждая ошибка, встречающаяся на этом этапе сообщается определенными звуковыми кодами (в прошлом биканьем, сейчас уже вероятно более современно - голосом), так как видео система еще не инициализирована.
BIOS ищет адаптеры, которые могут потребовать загрузки своего BIOS-а. Самым типичным случаем в этом случае является видео карта. Загрузочная процедура сканирует память с адреса C000:0000 по C780:0000 для поиска видео ROM. Таким образом загружаются системы всех адаптеров.
ROM BIOS проверяет выключение это или перезагрузка. Процедура два байта по адресу 0000:0472. Любое значение отличное от 1234h является свидетельством "холодного" старта.
Если это включение ROM BIOS запускает полный POST (Power On Self Test). Если это перезагрузка, то из POST процедуры исключается проверка памяти.
Ошибки, которые могут возникнуть в ходе POST проверки можно разделить на смертельные и не очень :). Во втором случае они показываются на экране, но позволяют продолжить процесс загрузки. Ясно, что в первом случае процесс загрузки останавливается, что обычно сопровождается серией бип-кодов.
BIOS читает конфигурационную информацию из CMOS. Небольшая область памяти (64 байт) питается от батарейки на материнской платы. Самое главное для загрузки в ней - порядок, в котором должны опрашиваться приводы, какой из них должен быть первым - дисковод, CD-ROM или винчестер.
Если первым является жесткий диск, BIOS проверяет самый первый сектор диска на наличие Master Boot Record (MBR). Для дисковода проверяется Boot Record в первом секторе. Master Boot Record - первый сектор на цилиндре 0, 0 головке, 512 байт размером. Если она находится, то загружается в память по адресу 0000:7C00, потом проверяется на правильную сигнатуру - два последних байта должны быть 55AAh. Отсутствие MBR или этих проверочных байт останавливает процесс загрузки и выдает предупреждение. Сама MBR состоит из двух частей - системного загрузчика (partition loader или Boot loader), программы, которая получает управление при загрузке с этого жесткого диска; таблицы разделов (партиций), которая содержит информацию о логических дисках, имеющихся на жестком диске.
Правильная MBR запись записывается в память и управление передается ее коду. Процесс установки нескольких операционных систем на один компьютер обычно заменяет оригинальный лоадер на свою программу, которая позволяет выбрать с какого диска производить остальную загрузку.
Дальше Boot Loader проверяет таблицу партиций в поисках активной. Загрузчик дальше ищет загрузочную запись (Boot Record) на самом первом секторе раздела. В данном случае Boot Record это еще 512 байт - таблица с описанием раздела (количество байт в секторе, количество секторов в кластере и т.п.) и переход на первый файл операционной системы (IO.SYS в DOS).
Операционная система.
Управление передается операционной системы. Главная загрузочная запись [править] Материал из Википедии — свободной энциклопедии Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 9 апреля 2011; проверки требуют 36 правок. Главная загрузочная запись (англ. master boot record, MBR) — код и данные, необходимые для последующей загрузки операционной системы и расположенные в первых физических секторах (чаще всего в самом первом) на жёстком диске или другом устройстве хранения информации. MBR содержит небольшой фрагмент исполняемого кода, таблицу разделов (partition table) и специальную сигнатуру. Функция MBR — «переход» в тот раздел жёсткого диска, с которого следует исполнять «дальнейший код» (обычно — загружать ОС). На «стадии MBR» происходит выбор раздела диска, загрузка кода ОС происходит на более поздних этапах алгоритма. В процессе запуска компьютера, после окончания начального теста (Power-on self-test — POST), Базовая система ввода-вывода (BIOS) загружает «код MBR» в оперативную память (в IBM PC обычно с адреса 0000:7c00) и передаёт управление находящемуся в MBR загрузочному коду. Структура MBR Структура MBR от Microsoft занимает один сектор (512 байт): · область кода и служебных данных (446 байт) · область partition table (4 записи по 16 байт) · Сигнатура 55AAh (2 байта) Содержание «Области кода и служебных данных» зависит от версии DOS и Windows, но функции остаются те же — поиск, загрузка и запуск нужного загрузочного сектора[1][2][3].
Дополнительно Для начала давайте определимся с терминологией. Под словами, вынесенными в заголовок статьи, зачастую понимают две разные вещи, которые в некоторых случаях могут быть эквивалентны, а в некоторых - нет. Первое понятие - собственно Master Boot Record. Это запись (программный код и данные), которая загружается в память с винчестера и обеспечивает опознание логических разделов на нем, определяет активный раздел и загружает из него загрузочную запись (Boot Record - BR), которая продолжит запуск операционной системы (ОС). И второе понятие - Загрузочный Сектор, Master Boot Sector (MBS) - это сектор, располагающийся на цилиндре 0, плоскости (головка) 0 и имеющий номер 1. В большинстве случаев MBS содержит весь необходимый код и все данные, поэтому его содержимое и есть MBR, однако бывают случаи (которые мы рассмотрим в конце статьи), когда код и данные не помещаются в одном секторе (просто не хватает места или по соображениям безопасности), и тогда код этого сектора обеспечивает загрузку в память остальных секторов. В этом случае MBR - это совокупность всех секторов, которые должны быть загружены, а MBS - всего лишь первый сектор. Загрузочный сектор, бутсектор — это особый сектор на жёстком диске, дискете или другом дисковом устройстве хранения информации. (Для дискеты это первый физический сектор, для жесткого диска — первый физический сектор для каждого раздела) В процессе загрузки компьютера с дискеты он загружается в память программой POST (в компьютерах архитектуры IBM PC обычно с адреса 0000:7c00), ему передается управление командой long jump. Загрузочный сектор, иногда называемый stage1, то есть первым этапом загрузки операционной системы, загружает программу второго этапа загрузки операционной системы stage2 (вторичный загрузчик, иногда в качестве stage2 загружается boot manager или программа авторизации и защиты доступа). (В некоторых ОС роль stage1 выполняет MBR и при загрузке ОС с жесткого диска загрузочный сектор не используется. На незагружаемых разделах жесткого диска загрузочные секторы также могут не содержать программу загрузки)
Популярное: Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (833)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |