Зміст
1 Загальні принципи завантаження ОС 2
2. Апаратна ініціалізація комп'ютера 2
3. Завантажувач ОС 3
4. Завантаження та ініціалізація ядра ОС 6
5. Завантаження компонентів системи 6
6 Завантаження Windows ХР 7
Висновки 10
1 Загальні принципи завантаження ос
Тут зробимо короткий огляд загальних принципів організації завантаження операційних систем. Основну увагу буде приділено апаратній ініціалізації комп'ютера і принципам реалізації завантажувача ОС. Подальші етапи завантаження опишемо коротко, докладніше їх буде розглянуто на прикладі у розділі, завантаження Windows ХР.
Завантаження операційної системи - складний процес, що стосується більшості підсистем ОС. Його повне розуміння неможливе без наявності базових знань про структуру різних компонентів системи.
2. Апаратна ініціалізація комп'ютера
Коли комп'ютер увімкнений в електромережу, він по суті порожній -усі його мікросхеми пам'яті містять випадкові значення, процесор не виконує код. Для початку процедури завантаження на процесор подають команду RESET (скидання).
Після її прийняття, деякі регістри процесора (зокрема регістр лічильника команди) набувають фіксованих значень, і починається виконання коду за фізичною адресою OxfffffffO. Апаратне забезпечення відображає цю адресу на спеціальну ділянку енергонезалежної пам'яті (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), виконує команду переходу на цю адресу і починає виконувати щойно завантажений код.
За все інше відповідає операційна система.
