69295

Загальні принципи завантаження ОС

Лекция

Информатика, кибернетика и программирование

Тут зробимо короткий огляд загальних принципів організації завантаження операційних систем. Основну увагу буде приділено апаратній ініціалізації комп’ютера і принципам реалізації завантажувача ОС.

Украинкский

2014-10-02

44.5 KB

4 чел.

Лекція № 22

Тема: Загальні принципи завантаження ОС

План

  1.  Апаратна ініціалізація комп’ютера
  2.  Завантажувач ОС
  3.  Двоетапне завантаження
  4.  Завантаження та ініціалізація ядра
  5.  Завантаження компонентів системи

Тут зробимо короткий огляд загальних принципів організації завантаження операційних систем. Основну увагу буде приділено апаратній ініціалізації комп'ютера і принципам реалізації завантажувача ОС. Подальші етапи завантаження опишемо коротко, докладніше їх буде розглянуто на прикладах у розділах, присвячених завантаженню Linux і Windows XP.

Апаратна ініціалізація комп'ютера

Коли комп'ютер увімкнений в електромережу, він по суті порожній — усі його мікросхеми пам'яті містять випадкові значення, процесор не виконує код. Для початку процедури завантаження на процесор подають команду RESET (скидання). Після її прийняття, деякі регістри процесора (зокрема регістр лічильника команди) набувають фіксованих значень, і починається виконання коду за фізичною адресою 0xFFFFFFFF(). Апаратне забезпечення відображає цю адресу на спеціальну ділянку енергонезалежної пам'яті (ROM). Набір програм, що зберігається у ROM, за традицією називають BIOS (Basic Input/Output System, базова система введення/виведення), він включає набір керованих перериваннями низькорівневих процедур, які можна використати для керування пристроями, підключеними до комп'ютера.

Більшість сучасних ОС використовують BIOS тільки на етапі початкового завантаження (який називають bootstrapping). Після цього вони ніколи не звертаються до процедур BIOS і всі функції керування пристроями в ОС беруть на себе драйвери цих пристроїв. Річ у тому, що процедури BIOS можуть виконуватися тільки в реальному режимі процесора, а ядро — у захищеному режимі; крім того, звичайно код BIOS не має високої якості. Реальну адресацію використовують у коді BIOS тому, що тільки такі адреси виявляються доступними, коли комп'ютер тільки-но увімкнено.

Процедура початкового завантаження BIOS (bootstrap procedure) зводиться до чотирьох операцій.

  1.   Виконання набору тестів апаратного забезпечення для з'ясування, які пристрої в системі присутні та чи всі вони працюють коректно. Цей етап називають самотестуванням після увімкнення живлення (Power-On Self-Test, POST).
  2.   Ініціалізація апаратних пристроїв. Цей етап дуже важливий у сучасних архітектурах, заснованих на шині РСІ, оскільки він гарантує, що всі пристрої працюватимуть без конфліктів у разі використання ліній переривань або портів введення-виведення. Наприкінці цього етапу буде відображено список установлених РСІ пристроїв.
  3.  Пошук і виконання початкового коду завантаження. Залежно від установок BIOS здійснюють спробу доступу (у заздалегідь визначеному порядку, який можна змінити) до першого сектора гнучкого диска, заданого жорсткого диска або компакт-диска. У жорсткому диску, як уже відомо з розділу 12, перший сектор називають головним завантажувальним записом (MBR).
  4.  Коли пристрій знайдено, BIOS копіює вміст його першого сектора в оперативну пам'ять (починаючи із фіксованої фізичної адреси 0х00007с00), виконує команду переходу на цю адресу і починає виконувати щойно завантажений код. За все інше відповідає операційна система.

Завантажувач ОС

Завантажувачем ОС (boot loader) називають програму, викликану кодом BIOS під час виконання процедури початкового завантаження для створення образу ядра операційної системи в оперативній пам'яті. Розглянемо основні принципи роботи найпростішого завантажувача в архітектурі PC.

Як зазначалося, BIOS починає виконувати код, який зберігається у MBR. Звичайно MBR містить таблицю розділів і невелику програму, що завантажує перший (завантажувальний) сектор одного із розділів у пам'ять і починає виконувати код, що перебуває в ньому, — зазвичай цей код називають кодом завантажувача ОС. Вибір розділу, з якого потрібно завантажити сектор, переважно здійснюють за допомогою прапорця активного розділу, заданого для елемента таблиці розділів. У такий спосіб можна завантажити тільки ту ОС, ядро якої перебуває на активному розділі, інші підходи розглянемо пізніше.

Завантажувач ОС звичайно записують у завантажувальний сектор під час інсталяції системи, тоді ж задається і код для MBR. Код найпростішого завантажувача зводиться до пошуку на диску ядра ОС (зазвичай це файл, що перебуває у фіксованому місці кореневого каталогу) і завантаження його у пам'ять.

Двоетапне завантаження

Використання завантажувального сектора для безпосереднього завантаження ядра ОС має такі недоліки:

♦  код завантажувача вимушено є дуже простим, тому в ньому не можливо виконувати складніші дії (наприклад, керувати завантаженням кількох ОС), більшість інших недоліків є наслідками цього;

♦  не можливо передавати параметри у завантажувач;

♦  процес обмежений описаною схемою перемикання із MBR на завантажувальний сектор, немає можливості керувати цим процесом;

♦  немає змоги завантажувати ядро з іншого розділу диска або із підкаталогу;

♦  ОС завжди буде запущена в реальному режимі процесора.

Для того щоб вирішити ці проблеми, код завантажувача ОС має бути ускладнений. Природно, що ускладнений код не поміститься в один сектор, тому запропоновано підхід, який отримав назву схеми двоетапного завантаження.

У цьому разі завантажувач розбивають на дві частини: завантажувач першого і другого етапів. Перший, як і раніше, зберігають у завантажувальному секторі диска (зазначимо, що під час використання цієї технології він може також зберігатися і у MBR), але тепер основним його завданням є пошук на диску і завантаження у пам'ять не ядра, а завантажувача другого етапу.

Завантажувач другого етапу — це повномасштабне застосування, яке отримує контроль над комп'ютером після виконання початкового завантаження (воно може бути виконане в реальному режимі процесора, а може перемикатися у привілейований режим). По суті, такий завантажувач є міні-ОС спеціалізованого призначення.

Розглянемо деякі можливості двоетапного завантажувача.

♦  У ньому можна керувати завантаженням кількох операційних систем. Особливо зручно це робити у завантажувачах, що приймають керування від MBR: при цьому завантажувач бере на себе пошук активного розділу і завантаження системи із нього. Конфігурацію такого завантажувача можна динамічно змінювати під час зміни розділів диска. Завантажувач може містити код доступу до різних файлових систем, код завантаження різних ядер тощо.

♦  Може надавати інтерфейс користувача, який зазвичай зводиться до відображення меню вибору завантажуваної операційної системи. Можливе також передавання введених користувачем параметрів у ядро перед його завантаженням.

♦  Його конфігурація може бути задана користувачем із завантаженої ОС. Для цього, наприклад, можна задати текстовий конфігураційний файл, зберегти його на диску і запустити спеціальну утиліту, що зробить синтаксичний розбір файла, перетворить його у внутрішнє відображення і збереже на диску у фіксованому місці, відомому завантажувачу.

♦  Не обмежений одним розділом і одним диском завантажувач може працювати з усіма дисками комп'ютера, завантажувати ядра, що перебувають у різних місцях на диску (зокрема всередині ієрархії каталогів).

Двоетапні завантажувачі надзвичайно поширені, їх можуть постачати разом з ОС (наприклад, Шо або GRUB для Linux, завантажувач Windows XP), а також вони можуть бути реалізовані як окремі продукти — менеджери завантаження (boot managers).

Завантаження та ініціалізація ядра

Код ядра зберігають в окремому файлі на диску, завантажувач повинен його знайти. Є різні підходи до реалізації завантаження ядра: воно може завантажитися

у пам'ять повністю або частинами (при цьому одні частини можуть завантажувати інші за потребою), або у частково стиснутому стані (а після виконання деяких попередніх операцій бути розпакованим).

У разі одноетапного завантаження ядро завантажують завжди в реальному режимі. У разі двоетапного — режим завантаження залежить від того, чи перемикають завантажувач другого етапу в захищений режим.

Після завантаження ядра у пам'ять керування передають за адресою спеціальної процедури, що починає процес ініціалізації ядра, і виконуються такі дії, як опитування та ініціалізація устаткування (зазвичай ініціалізують все устаткування — навіть те, що було вже проініціалізовано BIOS), ініціалізація підсистем ядра, завантаження та ініціалізація необхідних драйверів (насамперед диска та відеокарти), монтування кореневої файлової системи. Точна послідовність дій різна для різних ОС.

Завантаження компонентів системи

Після того як ядро завантажилося у пам'ять, починається завантаження різних компонентів системи. До них належать додаткові драйвери (які не були потрібні під час завантаження), системні фонові процеси тощо. Більшу частину цієї роботи виконують у режимі користувача. У результаті до моменту, коли користувач може почати працювати із системою, у пам'яті, крім ядра, присутній набір процесів, потрібних для повноцінної роботи.

Коли система завантажилася повністю, вона звичайно відображає запрошення для входу користувача (якщо вона з'єднана із терміналом), а коли користувач успішно ввійде у систему, для нього ініціалізують програмне забезпечення, що організовує його сесію (наприклад, запускають копію командного інтерпретатора).

Питання для самоконтролю:

  1.  Апаратна ініціалізація комп’ютера
  2.  Процедура початкового завантаження BIOS
  3.  Завантажувач ОС
  4.  Недоліки завантажувального сектора
  5.  Двоетапне завантаження
  6.  Можливості двоетапного завантажувача
  7.  Завантаження та ініціалізація ядра
  8.  Завантаження компонентів системи


 

А также другие работы, которые могут Вас заинтересовать

31505. Поняття і класифікація фінансового посередництва 149.23 KB
  Типи фінансових посередників. Функції фінансових посередників. Суть значення та переваги діяльності фінансових посередників Діяльність фінансових посередників є обов'язковим атрибутом сучасної економіки. В умовах розвинутої ринкової економіки свою діяльність здійснює величезна кількість фінансових посередників які за винагороду надають різні види фінансових послуг В Україні інститут фінансового посередництва знаходиться в стадії становлення та розвитку.
31506. Цінні папери 173.5 KB
  Сутність і характерні ознаки цінних паперів. Типологізація цінних паперів. Роль цінних паперів на фінансовому ринку. Роль приватизаційних паперів на фінансовому ринку.
31507. ПОХІДНІ ЦІННІ ПАПЕРИ ТА ОСОБЛИВОСТІ ФУНКЦІОНУВАННЯ РИНКУ ПОХІДНИХ ЦІННИХ ПАПЕРІВ 171 KB
  ПОХІДНІ ЦІННІ ПАПЕРИ ТА ОСОБЛИВОСТІ ФУНКЦІОНУВАННЯ РИНКУ ПОХІДНИХ ЦІННИХ ПАПЕРІВ. У вітчизняній практиці на фінансовому ринку більш широкого застосування здобули операції з традиційними фінансовими інструментами з угодами предметом яких є грошові кошти або їх еквіваленти такі як кредиторська і дебіторська заборгованість; векселі; акції; облігації; факторинг форфейтинг фінансова оренда; гарантії кредитної лінії страхові угоди фінансового характеру тощо. Серед інструментів ринку похідних цінних паперів розрізняють сурогати цінних...
31508. Умови праці та режими праці й відпочинку 308 KB
  Умови праці та режими праці й відпочинку Зміст учбового матеріалу: 1. Умови праці та фактори їх формування 2. Нормативноправове регулювання та оцінка рівня умов праці 3. Суть працездатності людини та її залежність від режимів праці і відпочинку 4.
31509. Трудовий процес та його організація 121 KB
  Трудові процеси: суть види принципи організації Процес виробництва – це єдність трудового і технологічного процесів створення певного виду продукції коли на предмет праці діє людина та знаряддя праці. Технологічний процес – це цілеспрямована зміна форми розмірів стану структури положення місця предметів праці. Отже зміст трудового процесу визначається сукупністю методів і прийомів праці працівника або групи працівників потрібних для виконання роботи за всіма її стадіями які складаються з наступного: одержати завдання; інформаційна і...
31510. Міра праці та її визначення 191 KB
  Класифікація витрат робочого часу Система нормативів і норм праці. Подальше вдосконалення нормування праці передбачає: максимальне охоплення нормами праці різних видів робіт з обслуговування виробництва та управління ним; широке впровадження технічно обґрунтованих норм тобто розроблення норм виробітку часу обслуговування з урахуванням можливостей сучасної техніки й технології виробництва передових методів праці тощо; підвищення не тільки технічної а й економічної та фізіологічної обґрунтованості норм. Якщо технічне...
31511. Продуктивність праці 116 KB
  Продуктивність праці Зміст учбового матеріалу: Сутність продуктивної праці та продуктивності праці. Показники продуктивності праці та методи її вимірювання Фактори впливу на зростання продуктивності праці та їх класифікація Резервів зростання продуктивності праці їх класифікація та оцінка. Сутність продуктивності та продуктивності праці Згідно з рекомендаціями Міжнародної організації праці МОП розрізняють поняття продуктивність і продуктивність праці. Продуктивність – це ефективність використання ресурсів – праці капіталу...
31512. Політика доходів та сутність заробітної плати 232 KB
  Робоча сила найманих працівників на ринку праці є товаром який має вартість. На вартість робочої сили впливають результати праці власника робочої сили. Вартість робочої сили формується на ринку через порівняння результативності корисності праці із затратами на відтворення робочої сили. Вона встановлюється на рівні який узгоджує граничну продуктивність праці тобто цінність послуг праці для покупцяпідприємця з витратами які потрібні для відтворення робочої сили.
31513. Тарифна система оплати праці та її складові 224 KB
  Тарифна система оплати праці та її складові Зміст учбового матеріалу: Тарифна система та її призначення. Довідник кваліфікаційних характеристик професій працівників. Тарифні ставки працівників. Тарифна система та її призначення Тарифне нормування оплати праці – це складова організації заробітної плати що здійснюється за допомогою тарифної системи і являє собою сукупність фіксованих норм оплати за роботу в межах норм праці трудових обов’язків а також норм оплати праці за роботу понад норму праці.