УДК 004.451.9
Картушев Н.А. студент
3 курс, факультет «Информационных систем и технологий»
ПГУТИ Россия, г. Самара Мартынчик С.П.
студент
3 курс, факультет «Информационных систем и технологий»
ПГУТИ Россия, г. Самара СРАВНИТЕЛЬНЫЙ АНАЛИЗ ЗАГРУЗЧИКОВ ОПЕРАЦИОННЫХ
СИСТЕМ
Статья посвящена загрузчикам различных операционных систем. В ней рассматривается принцип работы загрузчика. Также описываются три загрузчика и их особенности.
Ключевые слова: Загрузчик, операционная система, Windows, Linux, macOS, Clover, GRUB, Boot Manager.
Kartushev N.A. student 3rd year
faculty of Information Systems and Technologies
PSUTI Russia, Samara Martynchik S.P. student
3rd year
faculty of Information Systems and Technologies
PSUTI Russia, Samara COMPARATIVE ANALYSIS OF OPERATING SYSTEM
BOOTLOADERS.
The article is dedicated to different operating systems bootloader. It considers the principle of the bootloader. It also describes the three bootloaders and their ^ features.
Keywords: Bootloader, Operating System, Windows, Linux, macOS, Clover, GRUB, Boot Manager.
Введение.
Многие пользователи персональных компьютеров так или иначе сталкиваются с работой загрузчиков операционных систем, однако большинство из них не имеют представления о том, как они работают, для чего используются и как устроены. Стоит отметить, что речь идет не только о пользователях самой популярной ОС в мире[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, может передавать управление другим загрузчикам, и предоставляет пользователю возможность указывать аргументы загрузки для последующей их передачи в ядро операционной системы.
Загрузчик имеет как графический, так и текстовый интерфейс.
Использованные источники: 1.Desktop Operating System Market Share
URL: https://www.netmarketshare.com/operating-system-market-
share.aspx?qprid=10&qpcustomd=0
2.Э. Таненбаум, Х. Босс. "Современные операционные системы". 4 издание. 3.Slice. "Клевер цвета хаки". Москва, 2016. URL: https://www.applelife.ru/attachments/klever-cveta-xaki-3545-pdf.120674/
4.GRUB Legacy Documentation URL: http://www.gnu.org/ software/ grub/manual/legacy/grub.html
5.GRUB - загрузчик системы URL: http://help.ubuntu.ru/wiki/grub