Osnove BIOS-a

Autor bato | 8 Mar, 2008, 15:50

Često ljudi teško shvataju razliku između hardvera i softvera u PC sistemu. Ponekad je


teško povući granicu, jer su oni isprepleteni u dizajnu, konstrukciji i u radu, ali je važno
shvatiti tu razliku da bi se razumela uloga BIOS-a u sistemu.
BIOS je izraz koji označava osnovni ulazno/izlazni sistem. BIOS je u stvari veza između
hardvera i softvera u sistemu. Mnogi poznaju BIOS pod drugim imenom – upravljački
programi uređaja (engl. drivers).
BIOS je jedna reč za sve upravljačke programe koji u sistemu zajednički čine interfejs
između hardvera i softvera operativnog sistema. Ponekad može da zbuni to što je deo
BIOS-a upisan nagorevanjem ili fleš programiranjem u ROM čipu, pa je trajan (ne briše se
kada se isključi napajanje) i namenjen samo za čitanje. To je osnovni deo BIOS-a, ali nije i
sav BIOS. BIOS sadrži i ROM čipove na adapterskim karticama, kao i dodatne upravljačke
programe koji se učitavaju prilikom podizanja sistema računara.
BIOS sačinjava kombinacija BIOS-a na matičnoj ploči, BIOS-a na adapterskim karticama
i upravljačkih programa za uređaje koji se učitavaju sa diska. Deo BIOS-a koji se nalazi u
ROM čipovima na matičnoj ploči i na adapterskim karticama ponekad se naziva firmver,
što je naziv za softver koji se nalazi u čipovima, a ne na disku. Zbog toga neki pogrešno
misle da je BIOS hardverska komponenta.
PC sistem se može objasniti kao niz slojeva – neki od njih su hardverski, a neki softverski
– koji međusobno komuniciraju. U osnovi se PC može podeliti u četiri osnovna sloja od
kojih se svaki dalje deli na podskupove. Na slici 5.1 prikazana su četiri sloja tipičnog PC-ja.
Sistem se projektuje u slojevima da bi operativni sistem i aplikacije mogli da rade sa
različitim hardverom. Dve različite mašine sa različitim hardverom
mogu, koristeći prilagođeni BIOS, da povežu hardver sa zajedničkim operativnim sistemom
i aplikacijama. Prema tome, dve mašine sa različitim procesorima, medijumima za
skladištenje, jedinicama za video itd. mogu da koriste isti softver.
U slojevitoj arhitekturi aplikativni programi „razgovaraju” sa operativnim sistemom
putem takozvanog API-ja (Application Program Interface – programski interfejs aplikacije).
API zavisi od operativnog sistema koji koristite i sastoji se od različitih komandi i funkcija
koje operativni sistem izvršava za aplikacije. Na primer, aplikacija može da pozove
operativni sistem da učita ili snimi datoteku. Zbog toga aplikacija ne mora sama da čita
disk, šalje podatke na štampač ili da obavi bilo koju od usluga koje može da joj pruži
operativni sistem. Kako je aplikacija potpuno izolovana od hardvera, ona može da se izvršava
na različitim sistemima. Aplikacija se piše za komunikaciju sa operativnim sistemom,
a ne sa hardverom.
Operativni sistem zatim „razgovara” sa slojem BIOS-a. BIOS se sastoji od svih pojedinačnih
upravljačkih programa koji rade između operativnog sistema i samog hardvera.
Kao takav, operativni sistem se nikada neposredno ne obraća hardveru, već uvek mora da
koristi odgovarajući upravljački program. Tako se obezbeđuje jednoobrazan način obraćanja
hardveru. Obično je dužnost proizvođača hardvera da obezbedi upravljačke programe za
svoje proizvode. Kako upravljački programi moraju da rade između hardvera i operativnog
sistema, oni su specifični za svaki operativni sistem. Prema tome, proizvođač hardvera
mora da ponudi različite upravljačke programe koji će raditi pod DOS-om, Windowsom
9x, Windowsom NT, Windowsom 200, operativnim sistemom OS/2, Linuxom itd.
Kako sloj BIOS-a operativnom sistemu izgleda isti bez obzira na hardver koji se nalazi
iznad njega (ili ispod, u zavisnosti od tačke posmatranja), možemo koristiti isti operativni
sistem na različitim PC-jima. Na primer, Windows 98 možete da koristite na dva računara
sa različitim procesorima, diskovima, video adapterima itd., ali će Windows 98 izgledati i
raditi sasvim isto na oba sistema. To je zato što upravljački programi obavljaju iste osnovne
zadatke bez obzira na to koji se hardver koristi.
Kao što vidite na slici 5.1, slojevi operativnog sistema i aplikacija mogu na različitim
sistemima da budu identični, iako se hardver drastično razlikuje. Kako se BIOS sastoji od
softverskih upravljačkih programa koji povezuju hardver sa softverom, sloj BIOS-a se sa
jedne strane prilagođava jedinstvenom hardveru, ali s druge strane operativnom sistemu
izgleda potpuno isti.
Najveće razlike između različitih sistema nalaze se u hardverskom sloju. Zadatak BIOSa
je da maskira razlike među hardverom kako bi mogao da se koristi dati operativni sistem
(pa prema tome i aplikacije).

BIOS Hardver i softver

Sam BIOS je softver koji se sastoji od svih različitih upravljačkih programa i služi kao

interfejs između hardvera i operativnog sistema. BIOS je jedinstvena vrsta softvera, jer se

ne učitava sav sa diska; neki njegovi delovi su unapred učitani u čipove na sistemskoj

ploči i adapterskim karticama.

BIOS u PC-ju potiče iz tri izvora:

 ROM BIOS matične ploče

 BIOS adapterske kartice (kakav se nalazi na video karticama)

 učitan sa diska (upravljački programi)

BIOS matične ploče se najčešće smatra hardverom a ne softverom zato što se BIOS

matične ploče nalazi u ROM čipu (read-only memory – memorija samo za čitanje) na ploči

i zato što sadrži početne softverske upravljačke programe potrebne da bi sistem počeo s

radom. Pre mnogo godina, kada se na prvim PC-jima koristio samo DOS, to je bilo dovoljno

i nisu bili potrebni drugi upravljački programi; BIOS matične ploče je sadržao sve što je

bilo potrebno. BIOS matične ploče obično sadrži upravljačke programe za osnovne

komponente sistema, uključujući tastaturu, disketnu jedinicu, disk, serijske i paralelne

priključke i drugo. Kako su sistemi postajali složeniji, dodavan je hardver za koji nisu

postojali upravljački programi ni u jednom BIOS-u matične ploče. Tu spadaju uređaji kao

što su noviji video adapteri, CD-ROM uređaji, SCSI diskovi itd.

Da se za podršku novih uređaja ne bi posebno pravio novi BIOS matične ploče bilo je

jednostavnije i praktičnije prekopirati potrebne nove upravljačke programe na sistemski

disk i podesiti operativni sistem da ih učita za vreme podizanja sistema računara. Tako se

podržava većina CD-ROM uređaja, zvučnih kartica, skenera, štampača, uređaja PC card

(PCMCIA) itd. Kako ti uređaji nisu potrebni za vreme podizanja sistema, sistem može da

se podigne sa diska i sačeka da se ostali upravljački programi učitaju za vreme početnog

učitavanja operativnog sistema.

Neki upravljački programi su, međutim, potrebni za vreme podizanja sistema. Na primer,

kako ćete videti bilo šta na ekranu ako video kartica nema skup upravljačkih programa

negde u ROM-u? Jedno rešenje bi bilo da se napravi BIOS matične ploče sa ugrađenim

odgovarajućim upravljačkim programima za video. To, međutim nije praktično zbog

različitih video kartica od kojih svaka ima vlastite upravljačke programe. Na kraju biste

imali na stotine različitih ROM-ova matične ploče (za svaku video karticu drugačiji). Umesto

toga je IBM, kada je projektovao originalni PC, došao do boljeg rešenja. Predvideo je da

ROM na matičnoj ploči pretraži slotove i potraži adapterske kartice koje imaju ROM. Ako

bi se pronašla kartica sa ROM-om taj ROM bi se izvršio u fazi podizanja sistema pre

učitavanja operativnog sistema sa diska.

Stavljanjem upravljačkih programa u ROM neposredno na karticu izbegava se menjanje

ROM-a matične ploče da bi se dobila ugrađena podrška za nove uređaje, pogotovo za one

koji treba da budu aktivni za vreme podizanja sistema. Nekoliko adapterskih kartica skoro

uvek sadrži ROM:

 Sve video kartice imaju ugrađeni BIOS.

 SCSI adapteri koji podržavaju podizanje sistema računara sa SCSI diskova imaju

ugrađeni BIOS. Imajte u vidu da u većini slučajeva SCSI BIOS ne podržava ni jedan

drugi uređaj osim diska. Ako koristite SCSI CD-ROM, skener, zip uređaj i slično

ipak ćete morati da učitate odgovarajuće upravljačke programe sa diska.

 Mrežne kartice koje podržavaju podizanje sistema računara neposredno sa servera

za datoteke obično imaju ugrađeni ROM za podizanje sistema, odnosno IPL ROM

(Initial Program Load – početno učitavanje programa). Na taj se način PC na LANu

može konfigurisati kao radna stanica bez diska – što se naziva i Net PC, NC

(Network Computer – mrežni računar), pa čak i pametni terminal.

 IDE ili kartice sa nadogradnjom za disketne uređaje omogućavaju da se priključi više

upravljačkih programa (ili različite vrste) od onih sa same matične ploče. Ovim

karticama je ugrađeni BIOS potreban da bi se sa njih mogao podizati sistem računara.

 Kartice Y2K sadrže ispravke BIOS-a kojima se ažurira bajt za vek u CMOS RAM-u.

Na ovim karticama se nalazi mali upravljački program u BIOS-u koji nadgleda bajt

za godinu i ispituje da li se godina promenila sa 99 na 00. U takvom slučaju se bajt

za vek prepravlja iz 19 u 20 i tako ispravlja greška u nekim starijim BIOS-ima matične

ploče.

BIOS i CMOS RAM


Neki brkaju BIOS sa CMOS RAM-om u sistemu. Ovoj zabuni doprinosi to što se program za
podešavanje BIOS-a koristi i za podešavanje i čuvanje parametara konfiguracije u CMOS RAM-u.
U stvari, to su dve potpuno odvojene komponente.
BIOS matične ploče se čuva u nepromenljivom ROM čipu. Na matičnoj ploči se takođe nalazi čip
RTC/NVRAM (Real-Time Clock/Non-Volatile Memory – sat realnog vremena/trajna memorija).
To je u stvari čip sa digitalnim satom i sa još nekoliko bajtova memorije.
Prvi se na PC-ju koristio čip Motorola MC146818, koji je imao 64 bajta memorije od kojih je 10
služilo za rad sata. Mada se naziva trajnom memorijom, ona to u stvari nije, tj. bez napajanja će
podaci o vremenu i datumu biti izbrisani. Naziva se trajnom zato što je izvedena CMOS tehnologijom
(Complementary Metal-Oxide Semiconductor – komplementarni metal-oksidni poluprovodnik); tom
tehnologijom dobija se čip koji radi sa veoma malo napajanja iz baterije u sistemu, a ne napajanjem
od naizmenične struje. Zato se često, mada tehnički pogrešno, taj čip naziva CMOS RAM čipom;
to je lakše izgovoriti nego RTC/NVRAM čip. Većina RTC/NVRAM čipova troši 1 mikroamper
(milioniti deo ampera), što znači da im za rad treba veoma malo napajanja iz baterije. Većina može
da traje pet godina, sve dok se litijumska baterija ne istroši i sačuvani podaci ne izgube.
Kada pokrenete program za podešavanje BIOS-a, podesite parametre za disk i ostale parametre
BIOS-a i sačuvate ih, ti se parametri upisuju u memoriju RTC/NVRAM čipa (koji se naziva i CMOS
RAM čipom). Kad god se sistem računara podiže, on čita parametre iz CMOS RAM čipa da bi
odredio kako treba konfigurisati sistem. Između BIOS-a i CMOS RAM-a postoji veza, ali su to dva
sasvim različita dela sistema.

BIOS maticne ploce




Sve matične ploče moraju da imaju jedan poseban čip koji sadrži softver i koji zovemo

BIOS ili ROM BIOS. Ovaj ROM čip sadrži programe za pokretanje sistema i upravljačke

programe koji služe kao interfejs za osnovni hardver sistema. U BIOS-u postoji i POST

(Power-On Self Test – samoispitivanje kod pokretanja) kojim se odmah po uključivanju

računara ispituju glavne komponente sistema, a obično i program SETUP za čuvanje

podataka o konfiguraciji sistema u CMOS (Complementary Metal-Oxide Semiconductor

– komplementarni metal-oksidni poluprovodnik) memoriji koja se napaja iz baterije na

matičnoj ploči. Taj CMOS RAM se često naziva i NVRAM (trajni RAM), zato što koristi

oko 1 milioniti deo ampera električne struje i može godinama da čuva podatke pomoću

male litijumske baterije.


BIOS je niz programa ugrađenih u jedan čip ili u nekoliko čipova, u zavisnosti od dizajna

računara. Taj niz programa se učitava u računar čim ga uključite, čak pre operativnog

sistema. Jednostavno, BIOS u većini PC-ja ima četiri glavne funkcije:

 POST – Power-On Self Test. POST testira procesor, memoriju, skup čipova, video

adapter, kontrolere diskova, disk uređaje, tastaturu i druge bitne delove.

 BIOS setup. Program za određivanje i podešavanje sistema. Ovaj program koji se

pokreće pritiskom na poseban taster za vreme POST-a obično ima menije za

podešavanje matične ploče i parametara skupova čipova, datuma i sata, lozinke,

upravljačkih programa za diskove i drugih osnovnih sistemskih parametara. Tu se

mogu podesiti i parametri za upravljanje napajanjem i redosled uređaja za podizanje

sistema. Kod nekih starijih 286 i 386 sistema program Setup nije bio u ROM-u, pa se

sistem morao podizati sa posebne Setup diskete.

 Bootstrap loader. Rutina koja čita disk uređaje i traži ispravan glavni sektor za podizanje

sistema. Ako pronađe sektor koji zadovoljava minimalne kriterijume (da se završava

bajtovima sa sadržajem 55AAh), učitava ga i pokreće. Program u glavnom sektoru

za podizanje sistema zatim nastavlja postupak učitavanjem sektora za podizanje

operativnog sistema koji učitava osnovne datoteke operativnog sistema.

 BIOS – Basic Input Output System. Naziv se odnosi na niz upravljačkih programa koji

nakon podizanja sistema služe kao osnovni interfejs između operativnog sistema i

hardvera. Kada koristite DOS ili Windows u sigurnosnom režimu, upotrebljavaju

se isključivo upravljački programi iz BIOS-a.