Лекція 4. Завантажувачі
4.1. Послідовність завантаження
Завантаження операційної системи — це багатокроковий процес запуску комп'ютера. Завантажувач операційної системи — це програма, що виконує завантаження операційної системи. Послідовність завантаження — це початковий набір дій, що при цьому виконується комп'ютером.
Типи завантаження:
- Початкове завантаження — завантажування, що відбувається після того, як комп'ютер увімкнено користувачем.
- Перезавантаження:
–
Жорстке перезавантаження - відбувається,
коли на короткий час зникає живлення комп'ютера або коли на процесор
надсилається спеціальний сигнал. Це початкове завантаження без попереднього
виконання завершальних процедур операційної системи. Жорстке перезавантаження
може бути спричинено ненавмисно, через випадкове відключення живлення, або ж
зроблене навмисно, як остання спроба вийти з неприємного стану на комп'ютері,
наприклад, критичної помилки системи, вірусної атаки чи атаки з інтернету.
–
М'яке перезавантаження. М'яким
перезавантаження називається тоді, коли воно відбувається під контролем
програмного забезпечення, без порушень в електроживленні і натискання кнопки
перезавантаження на передній панелі.
4.2. Функціональність завантажувача ОС
Функціональність завантажувача операційної системи:
- забезпечує необхідні засоби для діалогу з користувачем комп'ютера (наприклад, завантажувач дозволяє вибрати ядро операційної системи для завантаження);
- приводить апаратуру комп'ютера в стан, необхідний для старту ядра операційної системи (наприклад, на не-x86 архітектурі перед запуском ядра завантажувач повинен правильно налаштувати віртуальну пам'ять);
- завантажує ядро операційної системи в оперативну пам'ять. Завантаження ядра операційної системи не обов'язково відбувається з жорсткого диску — завантажувач може отримувати ядро з мережі, Ядро також може зберігатися в постійній пам'яті або завантажуватися через послідовні інтерфейси;
- формує параметри, що передаються ядру операційної системи (наприклад, ядру Linux передаються параметри, що вказують спосіб підключення кореневої файлової системи);
- передає управління ядру операційної системи.
На комп'ютерах архітектури IBM PC запуск завантажувача здійснюється (після успішного закінчення процедури POST) програмним забезпеченням BIOS, записаним у постійній пам'яті комп'ютера (зараз це найчастіше — флеш-пам'ять).
4.3. Завантажувальні пристрої
Завантажувальний пристрій — пристрій, з якого завантажується операційна система. BIOS сучасних комп'ютерів підтримує завантаження з різних пристроїв, зазвичай, це локальний жорсткий диск (або одна з частин логічного чи фізичного розділу на диску), пристрій читання оптичних дисків, USB-накопичувач (у варіантах флеш-носія, зовнішнього жорсткого, оптичного диску тощо), або інтерфейсна мережева карта (з використанням PXE). Старіші, вже менш поширені варіанти завантаження — з дисковода гнучких дисків, SCSI-пристрою, Zip-дисковода.
BIOS (Basic Input/Output System — базова система введення/виведення) у IBM PC-сумісних комп'ютерах — тип ПЗ, що зберігається в постійній пам'яті і виконує початкову ініціалізацію машини після її увімкнення, а також надає спеціальні точки входу для сервісних процедур, що можуть використовуватися операційною системою. Фізично код BIOS записаний у мікросхемах постійної або флеш-пам'яті, розташованих на системній платі комп'ютера.
У сучасних комп'ютерах BIOS виконує ініціалізацію і тестування апаратних компонентів, і виконує початкове завантаження операційної системи шляхом читання і запуску програми-завантажника з носія інформації (наприклад, жорсткого диска). Сучасні операційні системи, як правило, не звертаються до BIOS після завантаження, натомість реалізуючи роботу з пристроями напряму.
UEFI (Unified Extensible Firmware Interface — інтерфейс розширюваної «прошивки») — інтерфейс між операційною системою і мікропрограмами, які керують низькорівневими функціями комп'ютерного обладнання.
Основне призначення UEFI: коректно ініціалізувати обладнання при увімкненні системи і передати управління завантажувачу операційної системи. UEFI призначений для заміни BIOS — інтерфейсу, який традиційно використовується всіма IBM PC-сумісними персональними комп'ютерами.
4.4. Поширені завантажувачі
До найпоширеніших на сьогоднішній день завантажувачів відносяться:
- NTLDR (NT Loader) — завантажувач ядра Windows NT (до XP включно);
- Windows Boot Manager (BOOTMGR) — завантажувач ядра Windows (починаючи з Vista);
- LILO (LInux LOader) — завантажувач, в основному, для завантаження ядра Linux;
- GRUB (Grand Unified Bootloader) — використовується для завантаження ядра Linux і Hurd;
- BOOTP — застосовується для завантаження з мережі;
- BOOTX — завантажувач Mac OS X;
- Acronis OS Selector - комерційна графічна утиліта, що додається до Acronis Disk Director, підтримує Windows і Linux.