BIOS

Из Википедије, слободне енциклопедије
BIOS чип

BIOS (енг. Basic Input-Output System) је управљачки софтвер, уграђен у PC, рачунар и то је први софтвер који се извршава приликом „подизања“ рачунара.

Основна сврха BIOS-а је да иницијализује и тестира исправност хардвера, и учита такозвани „boot loader“ или оперативни систем из сталне меморије. BIOS додатно обезбеђује апстрактни слој хардверу, који на доследан начин омогућава да апликативни програми и оперативни систем комуницирају са тастатуром, екраном и осталим периферним уређајима. Варијације системског хардвера прикрива BIOS, од програма који преко BIOS-а директно приступају хардверу. MS-DOS (PC DOS), који је био доминантан оперативни систем од почетка 80-их до средине 90-их, се заснивао на BIOS сервисима за диск, тастатуру и функције исписа текста. MS Windows, LINUX и остали оперативни системи који су радили у заштићеном режиму су игнорисали апстрактни слој који је обезбеђивао BIOS и нису га користили након учитавања, уместо тога су директно приступали хардверу.

Садржај BIOS-а је потпуно дефинисан у тренутку испоруке матичне плоче. Међутим, постоје компоненте рачунара које су променљиве, па није могуће унапред дефинисати податке о њима. Врста и величина RAM меморије, тип и величина хард диска, место на ком се налази оперативни систем су сигурно подаци који су битни за стартовање рачунара, а ови подаци не могу бити унапред познати.

На свакој матичној плочи се налази Flash ROM чип, који се назива и системски РОМ чип јер садржи код који омогућава процесору да оствари комуникацију са најбитнијим компонентама персоналног рачунара као што су: флопи јединица, хард диск, оптички уређаји, монитор, USB портови, тастатура и остале компоненте на матичној плочи. Скуп свих инструкција које се налазе на Flash ROM чипу се назива BIOS. Он је специјално дизајниран да ради са сваким моделом рачунара посебно, повезујући се са разним уређајима који чине комплементарни чипсет система.

Како је „firmware“ општи назив за програме који се чувају на ROM чипу, неки аутори BIOS називају и овим именом. Величина Flash ROM меморије на савременим рачунарима је око 2 МB, мада се за BIOS користи око 64 kB.

Flash меморија обезбеђује да саржај може бити промењен без физичког скидања чипа са матичне плоче. Ово омогућава BIOS софтверу да се лако надограђује додавањем нових функција или једноставно исправљањем старих грешака, али исто тако може учинити рачунар рањивим на BIOS вирусе.

BIOS технологија је у транзитном процесу од 2010. године.

Историја[уреди]

Термин BIOS је осмислио Гери Килдал и први пут се појављује 1975. године у CP/M рачунарским системима, описујући машину, односно специфичан део CP/M система који се учитава приликом “подизања” и који се повезује директно са хардвером. (CP/М обично има једноставан “boot loader” у свом RОМ-у.)

Верзије MS-DOSа, PC DOSа или DR-DOSа садрже фајл који се назива "IO.SYS", "IBMBIO.COM", "IBMBIO.SYS", или "DRBIOS.SYS"; овај фајл је познат и као “DOS BIOS” и садржи нижи ниво хардверске спецификације, дела оперативног система.

Са увођењем PS/2 уређаја, IBM је поделио системски BIOS на два дела: са реалним режимом и са заштићеним режимом. Реални режим је одређен да обезбеди компатибилност-уназад са постојећим оперативним системима као што је DOS, стога и назив “CBIOS” (енг. Compatibility BIOS), с друге стране “ABIOS” (енг. Advanced BIOS) обезбеђује нови интерфес, посебно погодан за оперативне системе са мултитаскингом, као што је ОС/2.[1]

BIOS кориснички интерфејс[уреди]

BIOS кориснички интерфејс

BIOS првобитног IBM PC XT рачунара није имао интерактивни кориснички интерфејс. Поруке или кодови о грешкама су приказивани на екрану, или су генерисани низови звукова који сигнализирају грешке (када POST није достигао тачку успешног покретања видео-дисплеј адаптера). Опције на PC-ју и XТ-у су подешене помоћу прекидача и краткоспојника (џампера - енг. Jumper) на матичној плочи и периферним картицама. Са почетком средине ‘90-их постало је уобичајено да BIOS садржи корисничке интерфејсе (енг. BIOS configuration utility) или (енг. BIOS setup utility), којима се приступа при подизању система, одредјеном секвенцом кључа. Овај програм омогућује кориснику да подеси опције конфигурације система раније подешеног типа помоћу DIP прекидача, кроз интерактивни систем менија, контолисаног тастатуром. У прелазном периоду, IBM-ови компатибилни PC-јеви, укључујући IBM АТ, су држали поставке конфигурације у RАМ-у са батеријом и користили су боотабилни програм за конфигурацију на диску, не у RОМ-у, да подеси опције конфигурације које се налазе у овој меморији. Диск је био достављан са рачунаром, па је у случају његовог губитка било немогуће променити системска подешавања.

У савременим Wintel компатибилним рачунарима, корисник може конфигурисати хардвер користећи тастатуру и видео дисплеј. Исто тако, када се појави грешка приликом подизања, савремени BIOS углавном приказује ненападне поруке о грешци, често представљене као поп-ап боксеви и предлаже да корисник приступи BIOS сетап јединици или да игнорише грешку и да настави даље, ако је то изводљиво. Уместо RАМ-а који користи батерију, модерне Wintel машине могу складиштити BIOS подешавања конфигурације у Flash ROM-у, чак можда у истом RОМ-у који садржи и сам BIOS.

Због тога што је једина видљива функција BIOS-а просечном кориснику, који није упознат са техникама програмирања хардвера и апстрактним слојевима уређаја, он често меша BIOS кориснички интерфејс са правим BIOS-ем.

Операције[уреди]

CPU reset[уреди]

Након што се систем укључи, или се притисне ресет тастер (такозвано “хладно подизање” – енг. “cold boot”) покреће се POST (eng. Power-On Self-Test), односно комплетно тестирање хардвера. Ако су били задржани тастери Ctrl+Alt+Delete (такозвано “топло подизање” – енг. "warm boot") посебно обележена вредност се чува у сталној BIOS меморији (меморији којој није потребно напајање – енг. “non-volatile]”) пре ресетовања процесора, а након ресетовања BIOS стартап код детектује ту вредност и не покреће POST. Ово чува време које би, у супротном, било изгубљено на детектовање и тестирање целокупне меморије. “Non-volatile” RАМ меморија је и сат реалног времена (енг. “real-time clock]” - RTC).

POST ( Power-On Self-Test)[уреди]

POST

Flash ROM садржи BIOS али и посебан програм који се зове POST. Он проверава, идентификује и анализира системске компоненте као што су CPU, RАМ, контролери и остали делови чипсета, видео картице, тастатура, хард диск, оптички диск и остали хардвер, приликом сваког укључења рачунара. У ствари, POST програм само шаље захтев компонентама рачунара да саме покрену уграђене процедуре тестирања, а о резултатима тестирања се обавештава корисник звучним сигналом или приказом на монитору.

Приликом притиска на тастер за укључивање рачунара, активира се јединица за напајање чији је задатак да обезбеди потребне једносмерне струје. У прелазном периоду, који може да траје пола секунде или дуже, излазни напони могу да имају различите вредности од оних који се захтевају за правилан рад рачунара. Како би се избегла могућност грешке, степен за напајање тестира излазне напоне и када они постигну жељени ниво, генерише се сигнал PG (енг. Power Good) који се некад назива и PWR-ОК (енг. Power OK). Чипсет, тек након регистровања сигнала PG, генерише сигнал “system reset” који покреће поступак иницијализовања процесора.

Након тога, процесор преко адресне магистрале приступа фиксној меморијској адреси која се назива “jump address”. Ова адреса је иста за сваки рачунар, није се мењала од појаве персоналних рачунара и у ствари представља адресу у Flash ROM меморији на којој је записана прва линија кода POST програма. На тај начин се покреће тестирање хардвера (POST). Уколико се тестирање успешно заврши, извршава се BIOS. Главни BIOS учитава BIOS видео картице и информације о видео картици приказује на монитору. Потом се учитавају BIOS рутине осталих компоненти (хард диск, CD,...). Проверава се усклађеност података у CMOS меморији са стварним стањем и приказују сумарни подаци о систему.

Следећи задатак је да се на основу података записаних у CMOS меморији одреди локација оперативниг система (хард диск, CD,...) и да се покрене учитавање оперативног система.

Ранији IBM-ови PC-јеви су имали мало познату навику POST-а да изврше "download" програма у RАМ преко порта тастатуре. Ако је download био колико-толико успешан, BIOS ће то потврдити и покренути програм. Ова функција је првенствено била намењена за фабричко тестирање, и за експерименталне сврхе.

Boot процес[уреди]

Одмах након POST-а, BIOS позива INT 19х (eng. Bootstrap Loader) да започне процес подизања (енг. Boot Processing). Post-boot програми који се учитају, такође могу позвати INT 19х да рестартује систем али се притом мора пазити да се деактивирају ометајући и остали асинхрони процеси хардвера који могу сметати BIOS rebooting процесу, иначе ће систем пући приликом поновног подизања.

Када је INT 19х позван, BIOS покушава да пронађе “Boot Loader” програм који се налази на меморијском уређају означеном као “Boot Device”, као што је хард диск, флопи диск, CD или DVD. Он учитава и извршава први "boot" софтвер који нађе, обезбеђујући тако контролу PC-ја. Овај процес је познат као “Booting” што је скраћеница од "Bootstrapping".

BIOS одређује кандидата "boot" уређаја користећи информације које је прикупио POST и информације о конфигурацији из EEPROM-а или CMOS RАМ-а. Пратећи приоритет "boot" секвенце, BIOS проверава сваки уређај да би видео да ли је он погодан за "boot" (подизање). За диск јединицу или за уређај који логички представља диск јединицу, као што је USB Flash, да би одрадио ову проверу, BIOS захтева учитавање првог сектора диска (енг. Boot Sector) у RАМ. Ако сектор не може да се прочита (због несталог или неформатираног диска, или због проблема хардвера), BIOS проглашава тај уређај не одговарајућим за подизање и наставља да проверава следећи уређај. Ако је сектор успешно прочитан, неке верзије BIOS-а ће проверити и знак подизања сектора 0x55 0xАА последњих два бајта сектора, пре него што прихвате "boot" сектор и прогласе тај уређај погодним за подизање (енг. Bootable Device).

BIOS наставља да тестира сваки уређај појединачно све док не нађе онај који задовољава захтеве, док у међувремену прослеђује контролу учитаном сектору са “jump” инструкцијом до свог првог бајта адресе 0x0000:0x7Ц00. (Ова локација је један од разлога зашто IBM PC захтева најмање 32 kB RАМ-а да би систем био покренут са диска; са 31 kB или мање, било би немогуће извршити подизање са било ког диска, користећи BIOS "boot" протокол). Већина BIOS-а, али не сви, учитавају број "boot" уређаја у CPU регистар пре пребацивања (енг. Jumping-a ) на први бајт учитаног "boot" сектора.

Boot приоритети[уреди]

Приоритети у BIOS менију

Процесом подизања (енг. Boot) може да управља сам корисник, подешавајући да се подизање изврши са једног медија уместо са другог, у случају да постоје два или више бутабилних медија. На пример већина рачунара има хард диск са кога се извршава подизање система, али обично постоји још неки периферни медијски уређај који је већег "boot" приоритета, тако да корисник може да подеси да се подизање извршава са променљивог диска, обичним убацивањем, без потребе скидања хард диска или мењања његовог садржаја.

У већини савремених BIOS-а, редослед "boot" приоритета свих потенцијалних "boot" уређаја се може слободно мењати од стране корисника преко BIOS корисничког интерфејса.

Конфигурација[уреди]

Интерфејс за подешавања (енг. Setup Utility)[уреди]

Историјски гледано BIOS у IBM PC-ју и XТ-у није имао уграђен кориснички интерфејс. BIOS верзије ранијих рачунара (XТ класе) нису били софтверски подесиви; уместо тога корисник је подешавао опције помоћу DIP прекидача на матичној плочи. Касније су рачунари, укључујући све IBM компатибилне са 80286 процесорима, имали BIOS меморију која се напајала из мале батерије (CMOS RАМ чип) и која је чувала BIOSС подешавања. Ова подешавања, као што су величина меморије и параметри хард диска се једино могу мењати покретањем конфигурацијског програма са диска, не из RАМ-а.

Касније је 386. класа рачунара почела са интегрисањем BIOS подешавања (енг. BIOS setup utility) у сам RОМ уз BIOS код; ови рачунари су углавном подизали BIOS подешавања ако је притиснут одређени тастер или комбинација тастера, у супротном би се покренуо BIOS POST.

Модерна BIOS подешавања (енг. BIOS setup utility) имају кориснички интерфејс (енг. User Interface – UI) заснован на менијима коме се приступало притиском на одређено дугме на тастатури када се PC покрене. Обично је приликом самог покретања приказано на екрану о ком дугмету је реч, на пример: “Press F1 to enter CMOS setup”. У BIOS подешавањима корисник може да:

  • Конфигурише хардвер
  • Подеси системски сат
  • Активира или деактивира системске компоненте
  • Одабере који су уређаји потенцијални "boot" уређаји, и по у ком ће се реду покретати
  • Постави разне лозинке, као што је лозинка за приступ BIOS корисничком интерфејсу, лозинка за подизање система или лозинку за приступ хард диску

Репрограмирање[уреди]

Поједине верзије BIOS-а дозвољавају такозвани “Оверклокинг”, процес у коме се процесор прилагђава бржем такту од оног који је произвођач преписао за загарантоване перформансе, што има за циљ веома бржи рад рачунара.

Међутим, "overclocking" може озбиљно да угрози поузданост целог рачунарског система у рачунарима са недовољним хлађењем и да генерално скрати век трајања компоненти. Овим се може проузроковати, ако се неправилно обави, и да се компоненте прегреју толико брзо да дође до њиховог механичког трајног уништења.

Хардвер[уреди]

Првобитни IBM PC BIOS је био складиштен у чипу RОМ меморије, програмираној од стране произвођача, који се налазио на матичној плочи у одговарајућем лежишту. Корисник је могао да физички промени RОМ, али није могао да измени њен садржај. Да би омогућили надоградњу, у рачунарима је почела употреба ре-програмабилних меморијских компоненти као што је EPROM (енг. Еrasable PROM) и касније FLASH. FLASH BIOS чипови су постали уобичајени око ’95. године зато што су EEPROM чипови далеко јефтинији и лакши за програмирање од стандардних EPROM чипова. FLASH чипови се програмирају и репрограмирају директно у колу, док је ЕPRОМ потребно скинути са матичне плоче да би се ре-програмирао. BIOS верзије су надограђиване да би биле у кораку са новим верзијама хардвера и да би се исправиле грешке претходних верзија.

Величина BIOS-а и капацитет меморије за његово складиштења (RОМ, EPROM, и остале) се повећавао током времена и додаване су нове карактеристике коду. BIOS верзије сада постоје са 16 MB меморије, док је, поређења ради, првобитни IBM PC BIOS био смештен у 8 kB RОМ меморије. Поједине модерне матичне плоче имају чак и већа мемомијска кола, типа NAND FLASH, која су у могућности да складиште и цео компактни оперативни систем, као што су поједини облици LINUX-а

Ажурирање BIOS-a[уреди]

Употреба Flash ROM меморије за BIOS омогућава ажурирање односно репрограмирање ове меморије. Процес репрограмирања је, ипак, деликатан посао јер уколико се не обави како треба може у потпуности да онеспособи рачунар. Уколико је BIOS нарушен, рачунар није могуће покренути.

Приликом репрограмирања потребно је:

  • Проверити да ли је нова верзија одговарајућа за одабрану матичну плочу
  • Обезбедити да не дође до прекида напајања у току програмирања
  • Обезбедити да не дође до прекида програмирања из било ког разлога

Такође је важно знати да неки злонамерни програми (вируси) користе могућност репрограмирања да би уништили или изменили БИОС.[2]

Како би се избегле могуће последице, на неким матичним плочама постоје краткоспојници које је потребно преспојити да би се дозволио упис у Flash ROM. Поред тога, на неким матичним плочама се налази више Flash ROM чипова (енг. dual/quad system) са идентичним садржајем тако да уколико примарни чип откаже, неки од преосталих преузима његову улогу.

Напомене[уреди]

  • CP/M је оперативни систем за масовно тржиште креиран за Intel 8080/85, заснован на микрорачунарима по Герију Килдалу са из компаније Digital Research, Inc
  • Gary Arlen Kildall (Мај 19, 1942 – Јул 11, 1994) био је Амерички научник у рачунарској области. Осмислио је оперативни систем PC/M и први је видео свестрану примену микропроцесора у рачунарству.
  • Пуно име International Business Machines Corporation Personal Computer Disk Operating System - IBM PC DOS је оперативни систем наменњен за IBM-ове личне рачунаре, произведен и продаван од IBM-a од 1980. до 2000. године.
  • MS-DOS - Енг. Microsoft Disk Operating System - оперативни систем креиран од стране Microsoftа за личне рачунаре
  • PC DOS - Оперативни систем из породице DOS система написан за IBM личне рачунаре.
  • COS-MOS was an RCA trademark, which forced other manufacturers to find another name — CMOS

Референце[уреди]

  1. Phoenix Technologies, Ltd. (1989) [1987]. System BIOS for IBM PC/XT/AT Computers and Compatibles — The Complete Guide to ROM-Based System Software. Phoenix Technical Reference Series (1st ed.). Addison Wesley Publishing Company, Inc.. ISBN 978-0-201-51806-1. 
  2. Crouncher (2004), стр. 464.

Литература[уреди]

  • Crouncher, Phil (2004). The BIOS Companion: The book that doesn't come with your motherboard!. Electrocution technical publishers. ISBN 978-0-470-22941-5. 

Спољашње везе[уреди]