Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ekzamen_GOS.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
8.21 Mб
Скачать

14 Этапы загрузки операционных систем (Unix, Windows nt).

При включении питания исполнительный адрес ЦП устанавливается по адресу расположения программы POST, определяет количество доступной памяти , тестирует и проверяет наличие различных аппаратных средств и результаты выводятся на экран.

После тестирования запускается 19 прерывание и выполняется процедура начальной загрузки. Это процедура определяет первое готовое устройство из списка разрешенных и пытается загрузить с него в память программу загрузки.

Если загрузчиком является жесткий диск, то эта программа загружает главный загрузчик MBR и передает ему управление и главную загрузочную запись. Располагается она в нулевом секторе физического диска (размер 512 байт).

Первые 446 байт MBR заняты программой загрузчиком, за ними следует таблица разделов, занимаемая 64 байта (содержит 4 записи по 16 байт). Каждая запись адресует какой либо раздел. Последние 2 байта содержат числа используемые для проверки : является ли данный сектор загрузочным.

Загрузчик MBR передает управление загрузочной записи активного раздела.

Каждый раздел начинается с загрузочной записи. Размер ее варьируется от 1 до 16 секторов (от типа ФС и ОС). Загрузочная запись содержит блок параметров, характеризующих ФС. В случае если загрузочная запись активного раздела, то она содержит программу загрузки ОС. Программа загрузчик выполняет разные действия для разных ОС.

Загрузочная запись:

  1. Для MS-DOS. Программа загрузчик загружает 2 файла: IO.sys MSDOS.sys

  2. OC Windows 9x также загружает 2 файла IO.sys ,MSDOS.sys. весь исполняемый кад помещается в IO.sys а MSDOS.sys- текстовый файл.

  3. Windows NT- загружает файл в NT.LDR- главный загрузочный файл (находящийся в корневой папке). Этот файл просматривает boot.int если в нем параметр timeout>0 то выдается меню выбора ОС.

  4. Если стоит OC LINUX- загружается файл /boot/vm Linux… После загрузки ядра проверяется состав аппаратных средств , конфигурируются некоторые из них, после чего ядро монтирует корневую ФС root/file/syst. Затем ядро запускает программу /ete/init, которая обрабатывает конфигурационный файл /ete/init.tab. Процесс init запускает все основные задачи , они же называются демонами. Init монтирует основные ФС. После чего запускается система ввода пользователя.

Запись таблицы MBR содержит следующие параметры:

  1. 1 байт. Признак активного раздела. Грузится с него ОС или нет.

  2. 2 байт- номер начальной стороны раздела

  3. 3 байт – номер начальной дорожки

  4. 4 байт-номер начального сектора раздела

  5. Тип раздела – значение 5 означает расширенный раздел. Каждый такой раздел использует 4 описателя, но используются только 2:

А) идентифицирует логический диск

Б) указывает на следующий раздел.

6) Номер последней стороны раздела

7) след 2 байта номер последней дорожки и последнего сектора раздела;

8) номер первого загрузочного сектора относительно первого сектора диска.

9) Длина раздела в секторах.

14. Этапы загрузки операционных систем (Unix, Windows nt).

Этапы загрузки операционной системы Unix. Рассмотрим загрузку операционной системы UNIX как следующую последовательность этапов

Досистемный загрузчик. Как правило, сразу после включения питания программа ПЗУ BIOS проводит тестирование оборудования, затем запускается досистемный загрузчик. Задача этого этапа — определить (возможно, с помощью пользователя), с какого устройства будет идти загрузка, загрузить оттуда специальную программу-загрузчик и запустить её.

Загрузчик первого уровня. Занимает обычно не более одного сектора в самом начале диска — в его загрузочной записи. Загрузочная запись диска (Master Boot Record) — первый сектор диска, в котором хранится таблица разделов и код системного загрузчика.

З агрузчик второго уровня.— уже более сложная программа с интерфейсом пользователя, который даёт возможность выбирать операционную систему или параметры загрузки ядра. Чтобы продолжить загрузку, необходимо иметь доступ к образу ядра, поэтому зачастую в код загрузчика включается поддержка файловых систем. Большинство операционных систем имеют собственные загрузчики первого и второго уровней. Однако существуют и универсальные загрузчики, не привязанные к конкретной операционной системе, например GRUB.

Инициализация ядра операционной системы. Ядро — очень сложная программа, взаимодействующая с различным оборудованием, поэтому прежде чем начать работу с системой, ядро необходимо проинициализировать. Этот этап специфичен для различных операционных систем. В UNIX-подобных системах при этом обычно выводится информация отладочного характера о ходе загрузке ядра. Первым делом ядро занимается определением: выясняет тип и быстродействие центрального процессора, объем оперативной памяти, объем и структуру кэш-памяти; делает предположение об архитектуре компьютера в целом и многое другое. На следующем шаге ядро определяет состав и архитектуру всего аппаратного наполнения компьютера: тип и параметры шин передачи данных и устройств управления ими (контроллеров), список внешних устройств, доступных по шинам, настройки этих устройств — диапазон портов ввода-вывода, адрес ПЗУ, занимаемое аппаратное прерывание, номер канала прямого доступа к памяти и т. п. Ядро на основании параметра, переданного ему загрузчиком, выбирает корневой раздел — файловую систему, содержащую будущий каталог / и его подкаталоги (для системной начальной загрузки важны каталоги /etc, /bin, и /sbin). Корневой раздел монтируется в качестве /. После этого ядро запускает первый процесс — init (по умолчанию, /sbin/init).

процесс init. С этого момента операционная система обеспечивает полноценную функциональность всем исполняющимся процессам. В UNIX первым запускаемым процессом является init. Процесс init является обычным процессом операционной системы, однако он имеет некоторые особенности: его PID всегда равен 1, и процесс этот выполняется всё время, пока работает система. В UNIX-системах init играет две важные роли: 1) производит инициализацию системы — как правило, для работы запущенного ядра не достаточно, нужно смонтировать все файловые системы, загрузить дополнительные драйверы устройств, запустить демоны и т. п.; 2) является родительским для всех процессов в системе — это является гарантией того, что в UNIX для любого процесса в любой момент времени будет существовать родительский процесс.

Этапы загрузки операционной системы Windows NT. Mинимальный набор файлов, который необходим для успешного запуска системы, вот они: 1)Boot.ini 2) Bootsect.dos (необходим только при использовании мультизагрузки) 3) NTLDR 4) Ntdetect.com 5) Ntbootdd.sys (необходим только для загрузки с SCSI-винчестера) 6) Ntoskrnl.exe 7) Hal.dll 8) Необходимые драйверы и разделы реестра.

При включении ПК ход загрузки операционной системы проходит в несколько этапов:

1) Код, выполняющий POST, зашит в БИОСе каждого компьютера, и именно ему передается управление при включении питания. Если в процессе тестирования обнаруживаются какие-либо ошибки, то БИОСом генерируются коды ошибок (POST codes), которые отличаются для БИОСа разных производителей. Если же процедура POST завершается успешно, то BIOS компьютера считывает и загружает в оперативную память главную загрузочную запись Master Boot Record (MBR), в которой находится таблица разделов диска и небольшая программа - эта программа находит начальный адрес системного раздела на диске и загружает в память копию его загрузочного сектора (сектор 0), а затем, если раздел помечен как "активный" в таблице разделов, передает управление другой программе - загрузчику WinNT из только что перенесенного в память загрузочного сектора.

2) В нулевом секторе жесткого диска находится загрузочный код, который распознает файловую систему, а затем находит, загружает в память и запускает следующую специальную программу из корневой директории системного диска – ntldr, предназначенную для инициализации загрузки собственно самой операционной системы

3)После этого уже начинается выполнение обычных программ из файлов, находящихся на диске, что и приводит к полной загрузке всей операционной системы и к возможности запускать прикладные программы

Работу загрузчика ntldr можно разбить на несколько этапов: 1) ntldr переключает процессор в режим 32-разрядной модели памяти с прямой адресацией;

2) запускает минифайловую систему для доступа к томам FAT, FAT32 и NTFS;

3)считывает файл boot.ini, также расположенный в корневом каталоге системного диска;

4)отображает меню выбора операционной системы (если выбирается ОС, отличная от WinNT, то считывается файл bootsect.dos с копией загрузочного сектора предыдущей ОС и управление передается ему);

5)запускает файл ntdetect.com, собирающий информацию о физических устройствах, подключенных к компьютеру в момент загрузки;

6) загружает и запускает ядро ОС - файл ntoskrnl.exe и передает ему информацию, собранную ntdetect.com.

При своей инициализации ядро производит ряд действий в следующей последовательности: 1) окончательная подготовка к работе памяти и менеджера памяти; 2) инициализация диспетчера объектов; 3) установка системы безопасности; 4) инициализация менеджера Plug and Play; 5) установка базовых объектов и сервисов системы; 6) настройка драйвера файловой системы и сохранение начальных параметров в реестре (создается копия набора управляющих параметров Clone, в которой содержатся данные, идентичные Current ControlSet, инициализируются устройства согласно порядку инициализации, затем создается ключ HKEY_LOCAL_MACHINE\ HARDWARE); 7) загрузка и инициализация диспетчера ввода-вывода (обычно - самая длительная фаза); 8) ядро "убирает за собой мусор", который остался после загрузки; 9) последняя стадия - загрузка системных сервисов, которые, собственно, и реализуют взаимодействие с пользователем.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]