BIOS на платка


Категория на документа: Информатика


Тема 1. ROM-BIOS НА ДЪННАТА ПЛАТКА. СТРУКТУРА НА BIOS. СОФТУЕРНИ ПРЕКЪСВАНИЯ НА BIOS. FLASH ROM BIOS
1.1 Същност и предназначение на BIOS. Основни функции.

BIOS е термин, който е съкращение на понятието Basic Input/Output System (базова входно/изходна система). BIOS-ът описва всички драйвери в една система, които работят заедно и оформят същинската връзка между хардуера и софтуера в тази система. Този сбор от програми е първото нещо, което се зарежда, когато включите системата - дори операционната система се зарежда след тях.

BIOS-ът в едно PC е разпределен между три вероятни източника:
* ROM на дънната платка
* ROM на адаптерни карти (например като този, намиращ се на една видеокарта)
* Драйвери на устройства, заредени в RAM паметта от диск

Собствен BIOS обикновено имат следните разширителни платки: видеокарти, SCSI адаптери, мрежови карти, карти за надграждане на IDE или на флопидисковия контролер, Y2K карти (карти, които включват поправки за BIOS-и с цел решаване на проблем 2000 година).

Частта, която се съдържа в ROM чиповете както на дънната платка, така и на някои адаптерни карти, понякога се нарича фьрмуер (firmware) - име, давано на софтуера, който се съхранява в чипове, а не на диска, Това кара някои хора да мислят погрешно, че BIOS е хардуерен компонент.

Една PC система може да се опише като поредица от слоеве - някои хардуерни, други софтуерни - които взаимодействат помежду си. В най-елементарния смисъл, едно PC може да се раздели на четири основни слоя, като всеки от тях може да се разделя допълнително на подслоеве. Фигура 1 показва четирите слоя в едно типично PC: хардуер, BIOS, операционна система и приложни програми. Връзката (интерфейсът) между слоевете условно е показана като назъбена линия, подобно на връзката между елементите на пъзел.

фиг .1 Слоевете на една РС система.

Целта на разделянето на слоеве е да позволи на една и съща операционна система и приложения да работят с различен хардуер. Фигура 1 показва как две различни машини с различен хардуер (различни процесори, запаметяващи устройства, видеокарти и т.н.) могат да използват специално разработени за тях BIOS-и, за да осъществяват връзката между различния хардуер и еднакви операционна система и приложения. Вижда се, че назъбената линия (връзката) между хардуера и BIOS-а е различна за различните системи, т.е. за всеки хардуер има специфичен BIOS. С други думи не съществува универсален BIOS. От друга страна, какъвто и да е BIOS-а, той винаги има еднаква връзка с определена операционна система, която условно е показана с еднаква назъбена линия.

В тази архитектура със слоеве приложенията общуват с операционната система посредством така наречения приложен програмен интерфейс (Application Program Interface - API). API интерфейсът варира според използваната операционна система и се състои от най-различни команди и функции, които операционната система може да изпълнява в отговор на заявка от дадено приложение. Например едно приложение може да поиска от операционната система да зареди или да запише файл. Тези операции се осигуряват от операционната система, а самото приложение не е необходимо да знае как да чете от диска или да записва на диска, как да изпраща данни към принтер или да изпълнява каквито и да било други функции, осигурени от системата. Благодарение на API връзката между еднакви операционни системи и еднакви приложения е една и съща, независимо от това на какъв компютър са инсталирани.

След това операционната система се свързва със слоя на BIOS-а. BIOS-ът се състои от всички отделни драйверни програми, които осъществяват връзката между операционната система и същинския хардуер. Ето защо операционната система никога не взаимодейства директно с хардуера; вместо това тя винаги трябва да се обръща към подходящия драйвер. Това осигурява еднотипен начин за достъп до хардуера. Отговорността за осигуряването на драйвер за даден хардуер обикновено е на неговия производител. Тъй като драйверите трябва да си взаимодействат както с хардуера, така и с операционната система, те са специфични за всяка операционна система. Ето защо производителят често пъти трябва да осигурява за един и същ хардуер различни драйвери, за да може неговият продукт да работи под DOS, Windows 9x, Windows NT, Windows 2000, Windows XP, Windows Vista, OS/2, Linux и т.н. Тъй като много операционни системи използват еднакви вътрешни интерфейси, някои драйвери могат да работят под множество операционни системи. Например драйвер, работещ под Windows Me, често пъти работи и под Windows 95 и 98, а драйвер, работещ под Windows XP, често пъти работи и под Windows 2000 и NT. Това е така, защото Windows 95, 98 и Ме по същество са вариации на една и съща операционна система, което важи също за Windows NT, 2000 и XP.

Тъй като слоят с BIOS-а изглежда по един и същ начин за операционната система независимо от хардуера, който стои в основата (или който се намира отдолу), една и съща операционна система може да работи на най-различни PC-та. Например, можете да работите под Windows XP на две системи с различни процесори, твърди дискове, видеоадаптери, и т.н., но самият Windows XP ще се държи и ще изглежда абсолютно еднакво и на двете системи.

Както може да се види от фиг. 1, слоевете на приложните програми и операционната система могат да бъдат идентични на различните системи, докато хардуерът може да се различава радикално. Тъй като BIOS-ът се състои от софтуерни драйвери, които действат като мост между хардуера и софтуера, от едната страна слоят на BlOS-a се адаптира към уникалния хардуер, а от другата изглежда по абсолютно еднакъв начин за операционната система. Това е същото като комплект инструменти, които се закрепват към универсален държач. От едната страна инструментът е със специфична форма и размери, за да може да отвинти определена гайка или винт със съответните форма и размери, а от другата страна е с уеднаквен накрайник, чрез който се присъединява към държача.

BIOS-ът в повечето PC-та има четири основни функции:
* POST (power on self test) - самотестване при включване на захранването
* Setup (настройка). Програма за конфигуриране и настройване на системата.
* Bootstrap loader (програма за първоначално зареждане). Програма, която чете дисковите устройства, търсейки валиден главен запис за зареждане (master boot record). Ако се открие такъв, кодът в него се изпълнява. След това тази програма от главния запис за зареждане продължава процеса, зареждайки в паметта сектора за зареждане на операционната система, който пък след това зарежда основните файлове на операционната система.
* BIOS (basic input/output system - базова система за вход/изход). Това наименование се отнася до сбора от действителните драйвери, които се използват като интерфейс между операционната система и хардуера, когато системата се зареди и заработи. Когато се изпълнява DOS или Windows в сигурен режим (safe mode), системата използва само ROM-базираните драйвери на BIOS-а, защото от диска не се зареждат никакви.
1.2 Структура на BIOS. Софтуерни прекъсвания на BIOS.

BIOS се състои от отделни програмни модули (функции), достъпът до които се осъществява не чрез отделен адрес в паметта, а чрез софтуерни прекъсвания. Това се прави от съображения за съвместимост. Адресите за тези софтуерни прекъсвания се зареждат като таблица с векторите на прекъсванията (Interrupt Vector Table) в RAM паметта на PC в областта 0000h - 03FFh при зареждането на операционната система. Предаването на данни към програмата за обслужване на прекъсванията в BIOS се реализира чрез регистрите на процесора. В следващата таблица са дадени някои прекъсвания на BIOS.

Табл. 1 Софтуерни прекъсвания на BIOS
Прекъсване на BIOS
Функция
INT 00h
Грешка при деление
INT 01h
Стъпков режим
INT 02h
Немаскируемо прекъсване
INT 03h
Точка на прекъсване (Breakpoint)
lNT 04h
Препълване на CPU
INT 05h



Сподели линка с приятел:





Яндекс.Метрика
BIOS на платка 9 out of 10 based on 2 ratings. 2 user reviews.