BIOS та завантажувач системи (Boot Loader)

Матеріал з Wiki TNEU
Версія від 14:33, 1 грудня 2011; Qtheya (Обговорення)

(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)
Перейти до: навігація, пошук
Файл:ROM BIOS.jpg
Мікросхема на системній платі, в якій розміщується BIOS

BIOS (Шаблон:Lang-en — базова система введення/виведення) — є набором спеціальних підпрограм, які використовуються комп'ютерами архітектури x86 для ініціалізації компонентів персональної платформи, необхідних для її первинного завантаження та подальшої роботи. Такими є процесор, системна логіка (чипсет), оперативна пам'ять, клавіатура, відеокарта та інші.

Фактично, це — перше програмне забезпечення, що виконується процесором. Оскільки на початковому етапі завантаження комп'ютера зовнішні пристрої недоступні, BIOS, в загальному випадку, зберігається незалежним від живлення персональної платформи чином — в NVRAM-пам'яті (від англ. Non Volatile, — не тимчасова). Для цього, як правило, використовується одна або декілька спеціальних мікросхем — пристроїв постійного зберігання даних, які розташовані на системній платі.

На застарілих платформах BIOS зберігався рівними частинами на двох мікросхемах: на одній — дані парних адрес (Even BIOS), на іншій — з непарних адрес (Odd BIOS).

Зміст

Пристрої для зберігання BIOS

Як зазначено вище, BIOS або його частина зберігаються незалежним від живлення персональної платформи чином. Для цього на різних етапах еволюції персонального комп'ютера використовувались всі можливі засоби NVRAM: магнітні носії різних ґатунків та пристрої постійного зберігання — ROM. На сучасних платформах зазвичай використовуються тільки мікросхеми, дані в яких зберігаються і після вимкнення живлення. З їх числа:

До кінця 90-х років для зберігання BIOS використовувалися мікросхеми з паралельним інтерфейсом: під'єднання типового пристрою ROM обсягом 1 мегабіт виконувалося з допомогою 8 ліній для передачі даних та 17 адресних ліній, що забезпечувало доступ до 217=131072 байтів. Такий сигнальний інтерфейс якнайкращим чином пасує системним платам з ISA-шиною, яка й забезпечувала його роботу.

Згодом з'явилися пристрої ROM з мультиплексованим інтерфейсом. З їх числа — FWH (Firmware Hub), запропонований компанією Intel Corp., та LPC (Low Pin Count) — результат співробітництва групи виробників. Характерною особливістю таких пристроїв стало використання однієї групи сигнальних ліній для передачі різної інформації. Типовий представник — Intel® 82802 Firmware Hub. Крім восьми ліній для передачі даних у нього є ще одинадцять адресних ліній, по яких можна передати як молодшу частину справжнього адреса, так і старшу його частину. Фактично мікросхеми сімейства 82802 здатні обслуговувати 22 адресні лінії, що забезпечує адресацію простору у 222 байти.

Мікросхеми ROM з підтримкою LPC мали значні переваги перед паралельними ROM насамперед завдяки збільшеній ємності та впроваджувалась на сучасних системних платах без ISA-шини. Оскільки під'єднання як паралельних, так і FWH/LPC ROM потребує кілька десятків електричних контактів, задля економії від 2006 року на персональних платформах почав використовуватись добре відомий SPI-інтерфейс. SPI-мікросхеми мають всього вісім контактів, з яких лише чотири задіяні для передачі даних.

Виробники BIOS

Окремо варто згадати про виробників BIOS. Найбільшого поширення набули програмні продукти компанії Phoenix Technologies Ltd., якими послуговується левова частка персональних комп'ютерів. Компанія продає виробникам платформ BIOS двох торговельних марок: PhoenixBIOS та AwardBIOS. Останній було долучено до кошика компанії після поглинання у вересні 1998 року невеличкої тайванської компанії Award Software International Ltd.

Другий по використанню — AMIBIOS, розроблений компанією American Megatrends Inc.

В 1991 році співробітники, що покинули Phoenix Technologies, заснували нову компанію, що мала на меті розробку BIOS для мобільних платформ. Вона отримала назву SystemSoft Corp. Після низки змін власників до сьогодні дійшла компанія Insyde Software Corp., що пропонує здебільшого для ноутбуків та кишенькових комп'ютерів InsydeBIOS.

Існують проекти, що націлені на створення вільного BIOS, наприклад coreboot (раніше відомий як LinuxBIOS)<ref>http://www.coreboot.org</ref>.

Також існує і безліч інших BIOS (наприклад, AST, BIOSTAR, COMPAQ, C&T, DTK, Philips, Quadtel та інші), які в основному набули поширення наприкінці 80-х, на початку 90-х років минулого століття.

Принцип роботи BIOS

Старт BIOS

Одразу після подачі живлення центральний процесор комп'ютера починає виконувати програму BIOS, яка міститься у відповідній мікросхемі. Власне, ця стадія стосується лише завантажувальної частини BIOS, яка називається Boot-блок. Програма завантажувального блоку обчислює контрольні суми BIOS й виходячи з цього приймає рішення про доцільність подальшої роботи у звичайному режимі. Позаяк у випадку невідповідності контрольних сум приймається рішення про пошкодження програмного коду BIOS.

Відновлення BIOS

При негараздах BIOS, що можуть виникнути в результаті яких-небудь дій користувача або збою апаратури, управління передається спеціальній процедурі, на яку покладено функцію відновлення — Crisis Recovery. Ця процедура покликана в аварійному порядку прочитати з дискети, інколи навіть з жорсткого диска, файл BIOS, а потім записати його в мікросхему замість пошкодженого коду, тим самим відновивши стан персональної платформи до нормального.

Початкова стадія

На цьому етапі виконується початкове тестування всіх вузлів та компонентів комп'ютера, яке називається POST (Power-On Self Test — самотестування після подачі живлення). Окрім цього, метою процедури POST є робота з програмними ресурсами персональної платформи: обчислення обсягу оперативної пам'яті, пошук та ініціалізація відео системи, послідовних та паралельних портів, накопичувачів на гнучких та жорстких дисках, додаткових пристроїв, що підключені до PCI та USB шин абощо.

Етапи ініціалізації та перевірки працездатності відстежуються засобами діагностики BIOS. Для цього процедури POST при переході від одного до іншого пристрою щоразу посилають у діагностичний порт (Manufacturing Test Port) спеціальні сигнали, що називаються POST-кодами. Деякі з них дублюються відповідними звуковими сигналами. В разі, коли виникають помилки, завантаження комп'ютера припиняється до усунення несправності. Про характер несправності можна зробити висновки, судячи з останнього POST-коду або звукового сигналу.

В своїй роботі процедури POST керуються налаштуванням BIOS, читаючи їх із CMOS-пам'яті<ref>Мікросхема CMOS-пам'яті (Complementary Metal Oxide Semiconductor) — це невелика, за своїм обсягом, оперативна енергозалежна пам'ять. Оскільки інформація в ній повинна зберігатися і після виключення живлення, мікросхема CMOS-пам'яті живиться від своєї власної батареї. Наявність батареї породжує свої проблеми. Після декількох років експлуатації, коли батарея не здатна забезпечити живлення мікросхеми CMOS, інформація починає втрачатися. На щастя, проблеми вирішує заміна батареї на нову.</ref> — особливого різновиду пам'яті, призначеного для зберігання апаратної конфігурації комп'ютера. Крім того, тут же знаходяться всі налаштування BIOS, які може змінювати користувач — характеристики оперативної пам'яті (таймінги), частота роботи процесора, параметри жорсткого диска і ін.

Налаштування BIOS

За допомогою спеціальної підпрограми CMOS Setup користувачу трапляється нагода вказати параметри і режими функціонування окремих компонентів комп'ютера. Щоб це зробити, досить натиснути одну з наступних клавіш або їх поєднання: Delete, Esc, Ctrl+Esc, Ctrl+Alt+Esc, Alt+F2 і ін. Комбінація клавіш для запуску CMOS Setup залежить від версії і виробника BIOS. Інколи інформація про відповідну клавішу або комбінацію клавіш виводиться на екрані.

Існує декілька зарезервованих клавіш, що дозволяють виконувати наперед визначене (by default) налаштування BIOS. Такою для сучасних AMIBIOS та AwardBIOS є клавіша Insert, за допомогою якої можна вибрати найбільш стабільний набір параметрів BIOS без запуску програми CMOS Setup. Інші комбінації клавіш викликають процедури оновлення BIOS: дозволяють виконати перепрограмування мікросхеми BIOS більш новою версією програмного коду тощо.

Фінальна стадія

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

Якби всі програми самостійно намагалися опікуватися периферійними пристроями та містили б в собі подібні інструкції, то вони працювали вельми не ефективно та займали б забагато місця. Окрім того, кожен новий пристрій потребував би повної модифікації існуючих програм. Щоб уникнути подібних проблем, велику частину роботи по обробці даних переклали на BIOS. Це, напевно, не вирішило всіх проблем, але щонайменше значно спростило їх вирішення.

Хоча сучасні операційні системи практично не використовують або взагалі не використовують можливості BIOS по обробці операцій введення-виведення, з розвитком технічного прогресу роль BIOS зовсім не зменшується. З введенням у дію стандарту ACPI одна із першочергових задач BIOS — підготовка та передача операційній системі методів керування ресурсами персональної платформи. Це додаткові можливості без яких не можливо уявити сучасний комп'ютер.

Фінальна стадія завершується завантаженням операційної системи. Управління передається програмі, що знаходиться в Boot-секторі (завантажувальному секторі) дискети, жорсткого диска, компакт-диска) або віддаленого носія, вказаного по мережі. Далі управління беруть на себе вбудовані механізми операційної системи.

Цікаве?

При додаванні нового пристрою і при зміні налаштувань для існуючого на екрані монітора після таблиці конфігурації повинен з'явитися напис виду

«Updating ESCD… Success»

Це означає успішне оновлення даних у області ESCD<ref>ESCD (від англ. Extended System Configuration Data, розширені дані конфігурації) — область незалежної пам'яті для підтримки динамічної конфігурації пристроїв Plug and Play</ref>. Ця область BIOS автоматично оновлюється при зміні конфігурації без втручання користувача.

Звукові сигнали BIOS

Див. Звукові сигнали POST

Примітки

Шаблон:Reflist

Посилання

az:BIOS bg:BIOS br:BIOS bs:Basic Input/Output System ca:BIOS ckb:بایۆس cs:BIOS da:BIOS de:BIOS el:BIOS en:BIOS es:BIOS et:Baasvahetussüsteem eu:BIOS fa:بایاس fi:BIOS fr:Basic Input Output System gl:BIOS he:BIOS hi:बायोस hr:BIOS hu:BIOS id:BIOS it:BIOS ja:Basic Input/Output System ka:BIOS kk:Базалық енгізу-шығару жүйесі ko:바이오스 ku:BIOS lb:BIOS lt:BIOS lv:BIOS ml:ബയോസ് ms:BIOS nl:BIOS no:BIOS pl:BIOS pt:BIOS ro:BIOS ru:BIOS simple:BIOS sk:Basic Input Output System sl:BIOS sq:BIOS sr:BIOS sv:Basic Input/Output System th:ไบออส tl:BIOS tr:BIOS vi:BIOS zh:BIOS

Особисті інструменти
Простори назв

Варіанти
Дії
Навігація
Інструменти