Сравнительный анализ загрузчиков операционных систем
Автор: Картушев Н.А., Мартынчик С.П.
Журнал: Теория и практика современной науки @modern-j
Рубрика: Основной раздел
Статья в выпуске: 1 (19), 2017 года.
Бесплатный доступ
Статья посвящена загрузчикам различных операционных систем. В ней рассматривается принцип работы загрузчика. Также описываются три загрузчика и их особенности.
Загрузчик, операционная система
Короткий адрес: https://sciup.org/140270065
IDR: 140270065
Текст научной статьи Сравнительный анализ загрузчиков операционных систем
Введение.
Многие пользователи персональных компьютеров так или иначе сталкиваются с работой загрузчиков операционных систем, однако большинство из них не имеют представления о том, как они работают, для чего используются и как устроены. Стоит отметить, что речь идет не только о пользователях самой популярной ОС в мире[1] - Windows, но есть и некоторый процент неосведомленных пользователей Unix-подобных операционных систем.
Основой любого IBM-совместимого персонального компьютера, как известно, является материнская плата, на которой расположена микросхема BIOS. BIOS включает в себя низкоуровневое ПО для вывода на экран необходимой информации и обеспечения операций ввода-вывода. Сам программный код BIOS находится в энергонезависимой флеш-памяти.
Кратко рассмотрим процесс загрузки компьютера с момента нажатия кнопки питания. При запуске ПК первичную загрузку производит программа BIOS. Она производит проверку всех устройств компьютера, начиная с информации об имеющейся RAM и подключенных устройствах ввода. Затем BIOS выполняет поиск устройства, с которого будет осуществляться загрузка из сохраненного в CMOS-памяти списка, обращаясь к каждому устройству поочередно. Первый сектор загрузочного устройства считывается в RAM. После, записанная в этом секторе программа передается на исполнение.
Далее, ОС запрашивает конфигурацию ПК и проверяет наличие драйвера для каждого устройства. Как только необходимые для работы драйверы будут загружены, ОС загрузит их в ядро, затем проинициализирует свои таблицы, создаст нужные фоновые процессы и запустит графический интерфейс операционной системы.
Windows Boot Manager.
Для начала рассмотрим загрузчик, который устанавливается с ОС от Microsoft по умолчанию, начиная с редакции Vista. Список операционных систем, поддерживающих этот загрузчик, весьма невелик и ограничивается всего лишь четырьмя ОС: Windows Vista, 7, 8 и 10.
Программы начальной загрузки Windows считывают достаточное количество информации чтобы найти программу BootMgr. Сперва BootMgr определяет, находится ли система в состоянии гибернации. Если проверка дала положительный результат, то загрузчик запускает WinResume.exe. В противном случае загружается WinLoad.exe для выполнения загрузки с нуля. WinLoad помещает в память компоненты, обязательные для загрузки: ядро и программу исполнительного уровня, слой аппаратных абстракций, необходимый для сокрытия различий в аппаратном обеспечении от основной части ядра ОС, файл, содержащий раздел SYSTEM, драйвер Win32k.sys, а также загрузочные драйверы, перечисленные в разделе SYSTEM.
Часто встречающиеся ошибки, обнаруженные на этапе загрузки, могут быть обнаружены загрузочными программами Windows. Плюс ко всему, они предоставляют другие варианты загрузки: в безопасном режиме, когда загружается только необходимый набор драйверов, а также в режиме командной строки.
GRUB.
GRUB - популярнейший загрузчик, используемый в большинстве Linux дистрибутивов, обладающий самым широким функционалом среди загрузчиков, рассмотренных в статье. Стоит отметить, что GRUB способен загрузить любую совместимую с ним ОС. Среди таковых: GNU/Linux, FreeBSD, OpenBSD и другие. Кроме всего прочего, управление может быть передано другому загрузчику, что позволит ему загрузить любую другую ОС.
Сконфигурировав GRUB, можно будет выбрать любую из операционных систем, предустановленных на ПК.
GRUB позволяет пользователю при загрузке задавать произвольные параметры и передавать их в ядро Multiboot-совместимой ОС для дальнейшей обработки.
Clover.
Мы рассмотрели два популярных загрузчика - Windows Boot Manager и GRUB. Они предоставляют широкие возможности для загрузки операционных систем. Зачем же нам что-то еще?
Clover нужен, чтобы на обычном IBM-совместимом ПК запустить необычную для него операционную систему - macOS. Разработчик -корпорация Apple - таких действий не одобряет. Свою операционную систему на сторонних компьютерах Apple поддерживать отказывается. Основная задача Clover - эмулировать собственный EFI-загрузчик компьютеров Apple и предоставить верную информацию о “железе” операционной системе. Clover обладает широкими возможностями для настройки под различные компоненты ПК и их комбинации, что для профессионала может оказаться крайне полезным свойством. Также, в Clover заложена возможность автоматической конфигурации, что делает возможным его использование новичками.
Кроме macOS, Clover позволяет загружать любые UNIX-подобные системы и Windows. Также, поддерживается мультизагрузка этих ОС. Clover, как и GRUB, может передавать управление другим загрузчикам, и предоставляет пользователю возможность указывать аргументы загрузки для последующей их передачи в ядро операционной системы.
Загрузчик имеет как графический, так и текстовый интерфейс.
Список литературы Сравнительный анализ загрузчиков операционных систем
- Desktop Operating System Market Share URL: https://www.netmarketshare.com/operating-system-market-share.aspx?qprid=10&qpcustomd=0
- Э. Таненбаум, Х. Босс. "Современные операционные системы". 4 издание.
- Slice. "Клевер цвета хаки". Москва, 2016. URL: https://www.applelife.ru/attachments/klever-cveta-xaki-3545-pdf.120674
- GRUB Legacy Documentation URL: http://www.gnu.org/software/grub/manual/legacy/grub.html
- GRUB - загрузчик системы URL: http://help.ubuntu.ru/wiki/grub