A bekapcsolástól a bash promptig: Hardver

Következő Előző Tartalom

## 2. Hardver

Amikor bekapcsolod a számítógépet, az leteszteli magát, hogy minden rendben működik-e. Ezt "bekapcsolási önteszt"-nek (POST) hívják. Ezután a bootstrap loader nevű, a ROM BIOS-ban található program keres egy bootszektort. A bootszektor egy lemez első szektora, és egy kis programkódot tartalmaz, ami képes egy operációs rendszer betöltésére. A bootszektorokat a bűvös 0xAA55=43603 számmal jelölik meg, ez a 0x1FE=510-es bájtnál található. Ez a szektor utolsó két bájtja. Ezen a módon képes eldönteni a hardver, hogy a szektor bootszektor vagy sem.

A bootstrap loader egy listával rendelkezik arról, hogy hol keressen bootszektort. Az én régi gépem először az elsődleges floppy-meghajtón kereste, majd az elsődleges merevlemezen. A modern gépek ezenkívül CD-ROM-on is kereshetik. Ha megtalálja a bootszektort, betölti a memóriába, és átadja a vezérlést az operációs rendszert betöltő programra. Egy tipikus Linux rendszeren ez a LILO első fokozatú (first stage) betöltője. Ezen kívül persze még sok más módon lehet betöltetni a rendszert. Lásd a LILO User's Guide-ot részletekért. Lásd még a LILO részt URL-ekért.

Természetesen még rengeteg mindent lehetne mondani arról, hogy mit csinál a PC hardvere, de ez nem ennek a helye. Erről a témáról sok jó könyvet olvashatsz .

## 2.1 Beállítás

A gép néhány információt tárol önmagáról a CMOS-ban. Ez magában foglalja a gépben található lemezek és memória adatait/jellemzőit. A gépben lévő BIOS tartalmaz egy programot, amivel ezeket a beállításokat módosítani lehet. Figyeld meg a géped indulásakor megjelenő üzeneteket, ezek egyike tájékoztat az ehhez valóó hozzáférés módjáról. Az én gépemen a "Delete" gombot kell megnyomni, mielőtt elkezdené betölteni az operációs rendszert.

## 2.2 Gyakorlatok

Nagyon jó módszere a hardverről való ismeretszerzésnek, ha használt alkatrészekből épít egy gépet az ember. Végy legalább egy 386-ost, amin már könnyűszerrel futtathatsz Linuxot. Nem fog sokba kerülni. Kérdezgess körbe, hátha valaki tud is adni olyan részegységeket, amire szükséged van.

Nézz körül a Neten, töltsd és fordítsd le, majd készíts egy indítólemezt az Unios-nak. (Volt egy honlapjuk: http://www.unios.org, de ez már eltűnt.) Ez csak egy bootolható "Helló világ!" program, alig több mint 100 sornyi assembler kód. Jó volna látni olyan formátumban, hogy a GNU assembler, az "`as`" is megértse.

Nyisd meg egy hexa-editorral az Unios indítólemezének képfájlját. Ez a fájl 512 bájt méretű, pontosan egy szektornyi. Keresd meg a bűvös 0xAA55-ös számot. Tedd ugyanezt egy indítófloppy-val vagy a saját gépeddel. Használhatod a "`dd`" programot egy fájlba való kimásoláshoz: `dd if=/dev/fd0 of=boot.sector`. Légy nagyon óvatos, hogy az "`if`" (bemeneti fájl) és "`of`" (kimeneti fájl) jól legyen megadva!

Nézd meg a LILO betöltőjének forráskódját.

## 2.3 További információ

- The Unix and Internet Fundamentals HOWTO, szerző Eric S. Raymond, különösen a 3. fejezet: What happens when you switch on a computer? (Mi történik, ha bekapcsolod a számítógépet?)
- Az első fejezet a The LILO User's Guide-ból kitűnő magyarázatot ad a PC lemezpartíciókról és a bootolásról. Lásd a LILO fejezetet URL-ekért.
- Az úJ Peter Norton Programmer's Guide to the IBM PC & PS/2, szerző Peter Norton és Richard Wilton, kiadó Microsoft Press, 1988. Van egy újabb Norton-könyv, ami jól néz ki, de még nem engedhetem meg magamnak!
- A PC-k fejlesztéséről szóló más könyvek egyike

Következő Előző Tartalom