Č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.