Мегаобучалка Главная | О нас | Обратная связь


Этапы процесса загрузки ОС.



2018-06-29 833 Обсуждений (0)
Этапы процесса загрузки ОС. 0.00 из 5.00 0 оценок




Включается тумблер питания.

Блок питания проводит самодиагностику. Когда все электрические параметры в норме БП посылает сигнал 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-а показывает версию прошивки, производителя и дату.
  • Тест памяти проверяет чипы памяти и подсчитывает размер установленной памяти.

Ошибки, которые могут возникнуть в ходе 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 - всего лишь первый сектор.
Однако начнем мы со случая, когда MBR и MBS - одно и то же, и будем называть их более привычным и широко распространённым термином MBR. Слегка отступая от темы, замечу, что такой MBR (обеспечивающий загрузку любой ОС и занимающий только MBS) обычно называют термином Generic MBR.
Вообще MBR появился на жестких дисках начиная с MS DOS версии 3.0, в более ранних версиях жёсткий диск форматировался как дискета, и в первом секторе располагался BR. Соответственно диск представлял из себя один раздел и не мог быть разбит на логические части - правда, при тех размерах дисков, которые тогда выпускались, это было неактуально.
Размер сектора на жестком диске - 512 байт. Этого пространства вполне хватает для размещения там всего необходимого - и кода, и данных. Однако только одна структура должна там присутствовать обязательно - это сигнатура. Этим словом называется специальная, строго установленная, последовательность из 2 байт с шестнадцатеричными значениями 55h AAh, которая записывается в последние 2 байта сектора и соответственно имеет смещение от начала сектора 1FEh. Если хотя бы один из двух последних байтов отличается по значению, считается, что первый сектор не является MBR и не содержит осмысленной информации. Если компьютер при старте, прочитав первый сектор, не обнаружит правильной сигнатуры, он не будет передавать управление располагающемуся там коду, даже если он правильный, а выдаст сообщение о том, что главная загрузочная запись не найдена. Или будет пробовать найти её на других устройствах - например, на дискете. Слегка отклоняясь от темы, замечу, что BR также содержит сигнатуру 55h AAh в последних двух байтах.
Ну уж коли начали с хвоста, то пойдём от него к началу сектора. Перед сигнатурой, вплотную к ней, расположены 4 блока данных по 16 байтов каждый (соответственно со смещением от начала сектора 1BEh, 1CEh, 1DEh, 1EEh). Совокупность этих блоков называется Таблица Разделов, Partition Table (PT), а каждая отдельная запись - элементом таблицы разделов (Partition Table Entry) или просто разделом (Partition). Этих 16 байтов вполне достаточно, чтобы указать все необходимые характеристики раздела, а именно: тип раздела, признак активности раздела, начальный и конечный сектора раздела в формате Цилиндр (дорожка) - Головка (сторона) - Сектор (Cylinder - Head - Sector, CHS), относительный номер первого сектора (относительно MBR) и количество секторов в разделе.
Всё остальное пространство сектора занято программным кодом, который обеспечивает разбор PT, поиск активного раздела, загрузку в память BR этого раздела и передачу ему управления. Как легко подсчитать, на код остаётся 512 - 4 * 16 - 2 = 446 байт. Этого пространства с избытком хватает для выполнения указанных действий.

Загрузочный сектор, бутсектор — это особый сектор на жёстком диске, дискете или другом дисковом устройстве хранения информации. (Для дискеты это первый физический сектор, для жесткого диска — первый физический сектор для каждого раздела) В процессе загрузки компьютера с дискеты он загружается в память программой POST (в компьютерах архитектуры IBM PC обычно с адреса 0000:7c00), ему передается управление командой long jump.

Загрузочный сектор, иногда называемый stage1, то есть первым этапом загрузки операционной системы, загружает программу второго этапа загрузки операционной системы stage2 (вторичный загрузчик, иногда в качестве stage2 загружается boot manager или программа авторизации и защиты доступа). (В некоторых ОС роль stage1 выполняет MBR и при загрузке ОС с жесткого диска загрузочный сектор не используется. На незагружаемых разделах жесткого диска загрузочные секторы также могут не содержать программу загрузки)



2018-06-29 833 Обсуждений (0)
Этапы процесса загрузки ОС. 0.00 из 5.00 0 оценок









Обсуждение в статье: Этапы процесса загрузки ОС.

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (833)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.009 сек.)