Keresés
Hírlevél
 
Kiemelt témák
»Hogy viszonyul ehhez a család?
»Legjobb metodika emberi relációk tárolására
»A programozó hibája, hogy törik a programját?
»Jogosultság kezelés mezőszinten
Állás/munka
»Wordpress szakértőt keresünk
»Kamu álláshirdetők listája
»Front-end fejlesztő / Sitebuilder
»DataStore Developer
»PHP programozó, webfejlesztő munkát keres
» több téma
Tudástár
?HTML-ben a Flash átméretezés torzul
Eredeti mezőnevek lekérdezése
?Input mezőből visszakapott adat probléma
Oldalon keresés 8x írja ki az eredményt
?XML-ből sok szövegmező
TinyMCE és az ékezetek
?Rengeteg hasonló kép betöltése gyorsan (PHP)
Ékezetes kar. nem minden táblában jól
?Shelltreeview gond
Grafikon rajzolás probléma
?Onclick= php függvény
?Egyenes megrajzolása
?Access-ből adott xml fájl kinyerése
Listázás időpont szerint
Exportálás változó könyvtárba
» több téma
Társalgó
»A programozásból jól meg lehet élni?
»MFC tanulás
»Könyvet adok-veszek
»Hogy viszonyul ehhez a család?
»Nintendo wii
»Letölthető az új Rad Studio XE és Delphi XE
»Weblap véleményezés
»Játékmotor elmélet
»Informatikai bulvárlap
»Delphi-ről C++-ra váltás
» több téma
Cikkek
»Bevezetés a genetikus algoritmusokba
»Bevezetés az adatkezelésbe
»Bevezetés a CSS alapjaiba
»GroupWise-kiegészítők készítése Python-ban
»Aspektus-orientált programozás
» több cikk
ASP  |  C#  |  C++  |  CSS  |  Delphi  |  Flash  |  HTML  |  Java  |  JavaScript  |  Pascal  |  Perl  |  PHP  |  Python  |  Visual Basic  |  Visual C++  |    »    

Cikkek

»

Hardver

»

Alaplapok

»

A PC BIOS

A sorozat további cikkei:
szerző: Sting, idő: 1998.01.30.
  Betűméret növelése Betűméret csökkentése Kapcsolódó fórum Felvétel kedvencekhez Küldés emailben Nyomtatható verzió
A BIOS (Basic Input/Output System - alapvető ki-/beviteli rendszer) - mint neve is mutatja - a legelemibb ki-/beviteli funkciókat ellátó szoftver, amely minden PC-ben megtalálható. Igazából a BIOS-okat nem is szoftvernek, hanem firmware-nek szokták hívni, mert olyan szoros egységet képeznek az alaplap hardverével. A PC-kben több fajta BIOS is megtalálható.
Miután sikeresen kiveséztük a DOS-t lépjünk tovább és tekintsünk egy réteggel mélyebbre a számítógép belső világába. A BIOS (Basic Input/Output System - alapvető ki-/beviteli rendszer) - mint neve is mutatja - a legelemibb ki-/beviteli funkciókat ellátó szoftver, amely minden PC-ben megtalálható. (Igazából a BIOS-okat nem is szoftvernek, hanem firmware-nek szokták hívni, mert olyan szoros egységet képeznek az alaplap hardverével.) A PC-kben több fajta BIOS is megtalálható. A rendszer BIOS-on kívül az EGA vagy fejlettebb video-rendszert tartalmazó gépekben egy video BIOS is található ami a megjelenítő egység vezérlését végzi. A bővítő kártyák is rendelkezhetnek BIOS-okkal, amik speciális egységek vezérlését végzik (pl. LAN adapter - Boot eprom ; SCSI vezérlő - SCSI BIOS, stb.). Ezeken kívül minden rendszer tartalmaz egy billentyűzet-vezérlő BIOS-t (Keyboard Controller BIOS) is a billentyűzet-illesztőben.

Bár a PC-kben több BIOS is található, a ROM BIOS szó alatt általában specifikusan a rendszer-BIOS-t (a továbbiakban BIOS) szokás érteni. A BIOS nem más, mint inicializációs rutinok és primitív eszközmeghajtók gyűjteménye. A BIOS elsődleges feladata - szoftver-megszakításokon keresztül - olyan funkciók nyújtása, melyek segítségével egyszerű műveletek végezhetők el, mint olvasás vagy írás a merevlemezre, a hajlékonylemezes meghajtóra vagy a képernyőre. Ezen rutinok jelentősége absztraktságukban rejlik: olyan eszköz-független szolgáltatásokat bocsátanak az operációs rendszer és a programok rendelkezésére, melyek a rendszerben installált konkrét eszköz típusától függetlenül, minden környezetben egységes módon teszik lehetővé a minden egység által támogatott, de amúgy különböző módon kiváltható funkciók elérését. A gyakorlatban ez azt jelenti, hogy például a video-megjelenítő típusától függetlenül, ugyanazzal a BIOS funkcióhívással lehet egy karaktert kiírni a képernyőre, annak ellenére, hogy például a különböző adapterek video-memóriája eltérő címeken helyezkedik el, így közvetlen elérésük esetén nem lehetne - ebből a szempontból - egységesen kezelni őket.

E technika részint jelentősen csökkenti az alkalmazások méretét - hiszen azokat nem kell felkészíteni az összes ismert, de esetleg eltérő programozású egység kezelésére - másrészt lehetőséget biztosít a rendszer, az alkalmazások számára "láthatatlan" bővítésére, átalakítására, esetlegesen emulációk közbeiktatására. Többek között ennek köszönhető, hogy még a legújabb SVGA kártyákon és SCSI illesztésű merevlemezeken is (nagyrészt) hibátlanul futnak a BIOS rutinokat használó olyan alkalmazások is, melyek megalkotásakor még csak hajlékonylemezes meghajtók és Hercules illesztők léteztek. A BIOS rutinok használatának azonban ára van. Egyrészt - az absztrakció lényegéből adódóan - elérhetetlenné válnak az egységek specialitásai, másrészt - többek között az előző következményeként - a BIOS szervzirutinok legtöbbje meglehetősen lassú a közvetlen programozással elérhető sebességhez képést. Így minden egyes program esetében egyedi mérlegelés tárgyát kell, hogy képezze a BIOS rutinok vagy a közvetlen programozás alkalmazásának kérdése. Általánosságban elmondható, hogy a nem különösebben sebességkritikus feladatok esetén célszerűbb - többek közt a kompatibilitás érdekében - a BIOS szervizrutinokra támaszkodni és csak akkor a hardver közvetlen programozásához folyamodni , ha a BIOS rutinok alkalmazása nem vezet elfogadható sebességhez vagy nem teszi lehetővé az egység által nyújott és az alkalmazás által megkövetelt speciális szolgáltatások elérését.

Az újabb alaplapokon a BIOS általában ún. Flash-EPROM-ban van tárolva. A Flash-EPROM elektornikus úton - meglehetősen gyorsan - törölhető és újraírható memória-egység. Ezen BIOS-ok előnye, hogy időközben megjelenő újabb változataik a ROM modul fizikai kicserlésése helyett egy egyszerű segédprogram segítségével betölthetők.

A RENDSZER INDÍTÁSÁNAK MENETE

A számítógép bekapcsolása vagy hidegindítása (RESET) után a processzor a vezérlést a 0FFFF0h fizikai címre adja. A memória ezen területére a ROM-BIOS van betükrözve. A ROM-BIOS POST (Power-On Self Test - bekapcsolási önteszt) ezek után a következő műveleteket végzi el:
  • letiltja a megszakításokat (köztük az NMI-t is, mert a memóriacellák bitjei véletlenszerűen állítódnak be a reset után, és ez azok elérésekor "paritáshibát" okozhat),
  • teszteli a flageket és a CPU egyéb regisztereit,
  • ellenőrzi a ROM-BIOS ellenőrzöösszegét (checksum),
  • engedélyezi a megszakításokat,
  • inicializálja és teszteli a DMA vezérlőt,
  • ellenőrzi a memória első 64KB-ját (a megszakítás-vektor táblázat miatt),
  • inicalizálja és teszteli a megszakítás-vezérlőt és beállítja a 10h-17h BIOS megszakításokat,
  • rendszer-konfiguárció (megjelenítő, memória, stb) megállapítása,
  • inicalizálja és teszteli a CRT-kontrollert, a video-memóriát és a video-BIOS-t,
  • inicalizálja és teszteli a programozható időzítőt,
  • inicalizálja, teszteli majd engedélyezi a billentyűzetet,
  • beállítja a hardver megszakítás-vektorokat,
  • memória tesztelése (kivéve, ha a CMOS-ban a reset word értéke 1234h),
  • a C8000h-EFFFFh közti területen ROM-bővítéseket keres és ha talál elindítja azokat,
  • inicalizálja és teszteli a floppy- és merevlemezes meghajtó(ka)t, ha van(nak),
  • megkeresi és inicializálja a soros és párhuzamos illesztőket,
  • engedélyezi az NMI-t,
  • az első hajlékony- vagy merevlemezes meghajtóról megpróbálja betölteni a boot-szektort ill. a partíciós táblát,
  • ha ez nem sikerül, akkor egy INT 18h-val megpróbáljani elindítani a ROM-BASIC-et.
Minden teszt megkezdése előtt a diagnosztikai porta a tesztnek megfelelő kódot ír ki. Ez a kód egy 16-bites (word) szám, melynek felső 8 bitje az egységet azonosítja, míg az alsó nyolc bitje a teszt eredményét tartalmazza (00h - ha a teszt sikeres volt).

BŐVÍTŐ ROM-OK

A bővítőkártyákon elhelyezhető ROM egységek lehetőségét biztosítanak a BIOS rutinjainak az adott egység igényei szerinti kiegészítésére vagy átalakítására. A bővítő ROM-okat a rendszer-BIOS a POST során keresi meg és inicializálja. A ROM-ok a C0000h-DFFFFFh memória-tartományban helyezkedhetnek el. Minden ROM BIOS egy egységes fejlécet tartalmaz, melynek felépítése a következő:
 
RomHeader
Offset
Méret
Leírás
00h
2
AA55h (bővítő ROM szignatúra) 
02h
1
a ROM blokk hossza 512 bájtos egységekben 
03h
n
BIOS program-kód (0003h az inicializációs kód belépési pontja) 
A rendszer-BIOS a bővítéseket az AA55h szignatúra alapján és a megadott hosszúságú kód 8 biten vett összegének (összeg modulo 256) 0-val való összehasonlításával ismeri fel. Ha a POST rutin érvényes fejlécet talál a megadott tartományban, akkor egy távoli ugrással (call far) a belépési pontra adja a vezérlést. A bővítő-BIOS inicalizációs rutinja az egység alaphelyzetbe állítása és a megfelelő megszakításvektorok esetleges átirányítása után visszaadja a vezérlést a POST rutinnak, ami tovább folytatja a bővítések keresését.

- Sting -
Küldés emailben Küldés emailben Nyomtatható verzió Nyomtatható verzió
Értékeld a cikket!
rossz 1 2 3 4 5     jó  
A sorozat további cikkei:
Belépés
E-mail cím:
Jelszó:

RSS források
-Hírek
-Cikkek
-Fórumok
-Állás/munka
Top pontgyűjtők
»Micu1.030
»Interlock280
»mezofi150
»Pitta_100
»Frostech0100
»szbzs.2100
»Hack100
»Riha60
»Akhiles50
»mrchandra50
Top wikieditorok
»Sting
»Doi
»FlamingClaw
»Argathron
»Csaboka2
»Vodka
»Joexy
»Ivn
»Balucinho
»Kelemzol
» ugrás a wikire
A nap kifejezései
»Algoritmus
»Hogyan kezdjem el
»Perl
» ugrás a wikire
Hírek
»Megérkezett a PostgreSQL 9.0 kiadásra jelölt változata
»Letölthető az új Rad Studio XE és Delphi XE
»Function-X digitális művészeti találkozó és demoscene party
»Webfejlesztőknek szóló közösségi oldalt indított a Microsoft
»Letölthető a hardvergyorsított Chrome 7 első fejlesztői kiadása
» több hír
PC Fórum hírek
»Itt az első kép az AMD nyolcmagos processzoráról
»"Szuperdizájnos" érintő-egeret mutatott be a Microsoft
»Szabadalmaztatta a számítógép kikapcsolását a Microsoft
»Vírusriadót váltott ki a webezőknél a Google
»Ingyen iWiW-ezhetnek mobiljaikról a T-Mobile-osok
»Automatikusan kiválogatja legfontosabb leveleink a Google
»OOo4Kids - ingyenes Office csomag gyerekeknek
»Új, gyorsabb Core i3 és Pentium processzorokat jelentett be az Intel
Tagi blogok
»PSP
»Első Programozó
»USB
»PHP, mint sablonmotor egyszerűen