Keresés
Hírlevél
 
Kiemelt témák
»10 éves a prog.hu
»Párhuzamos programozás
»Párhuzamos végrehajtás == szemléletváltás!
Állás/munka
»Excel tábázat szétdarabolása munkalapokra
»Szerver beüzemelésre keresek szakembert!
»Tanárt keresek
»18+ PHP / MySQL
»2d/3d grafikus modellezőt KERESEK
» több téma
Tudástár
?DOS - kimeneti fájl nevének növelése számlálóval?
Program indítási módok
Hiba a regisztrációnál
?Actionscript MovieClip egyezés ellenőrzés
?PHP:üres input mezőnél ne végezze
JSON array format
*Ensurance hiba XHTML validáláskor, mit jelent?
?C# 2d tömb beolvasás fájlból(txt).
WordPress jogosultság, kategóriák
? torrent file helyett txt-t
Hash (#) törlése az url címből újratöltése nélkül
Szám átváltása bináris és hexadecimálissá.
*WebBrowser control mht file olvasás probléma
?Szál létrehozás - leállítás
?GetElementbyId hibakezelés
» több téma
Társalgó
»Udk-kezdőknek
»Az általános műveltség része kellene, hogy legyen a programozni tudás?
»JavaScript-ből és C-ből összegyúrt hibridnyelvet készített a Mozilla
»Python van értelme?
»UDK-licensz
»Újra programozni fog a Facebook alapítója és multimilliárdos elnöke
»Programozó padavan - pálya választás előtt
»Get flood elleni védekezés
»Firebird - Több adatbázis vagy egy?
»Clipper kontra XP
» több téma
Cikkek
»Fejlesszen könnyen, kódolás nélkül!
»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
» több cikk
ASPC#C++CSSDelphiFlashJavaJavaScriptPascalPerlPHPPythonuniPaaSVisual BasicVisual 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 -
Értékeld a cikket!
rossz 1 2 3 4 5     jó  
A sorozat további cikkei:
Belépés
E-mail cím:
Jelszó:

cvonline.hu
»Szoftverfejlesz-tő
»Java fejlesztő (Szeged)
»SW fejlesztő- matematikai megközelítésben
»C# fejlesztő
»C++ fejlesztő
»Üzemeltetési vezető
» még több állás
Kérdésed van?
Problémád, kérdésed van? Segítünk neked is. Csak kattints ide!
RSS források
-Hírek
-Cikkek
-Fórumok
-Állás/munka
Top pontgyűjtők
»Árnyék1.260
»Robi80920
»silentworks910
»szabofe860
»Galovics720
»bubori.attila720
»djjjozsi690
»Riha590
»Frostech0570
»Kukipapa550
A nap kifejezései
»Microsoft Office
»ECMA
»Metódus
» ugrás a wikire
Hírek
»Arckövetéssel bővít az új Kinect for Windows SDK 1.5
»Az általános műveltség része kellene, hogy legyen a programozni tudás?
»Újra programozni fog a Facebook alapítója és multimilliárdos elnöke
» több hír
PC Fórum hírek
»Hetedik születésnapját ünnepli a YouTube
»Elvennék és felhasználóinak adnák a Facebook összes pénzét
»Rejtélyes ikont dugdosgat a Microsoft a Windows 8-ban
»Út a Windows 8-ig - a Windows rendszerek három évtizedének története, képekben
»Mától bárki regisztrálhat a so.cl-ra, a Microsoft közösségi oldalára
»Megérkeztek az első képek az Unreal Engine 4 játékmotorról
»Itt az első videó a a Firefox Windows 8-as változatáról
»Nyártól akár 150 megabites nethozzáférést is ad az Invitel
Top wikieditorok
»Doi
»Sting
»FlamingClaw
»Argathron
»Csaboka2
»Muki987
»NevemTeve
»Ivn
»Kelemzol
»Joexy
» ugrás a wikire