Lemez operációs rendszer

DOS töri, boot

Gondolom kitaláltátok, hogy a DOS-ról szeretnék pár oldalt irkálni. Ahogyan azt már mindenki tudja, a DOS-t az IBM megrendelésére készítette el a Microsoft 1981-ben. Anyja a Seattle Software által fejlesztett 86-DOS volt, amit leánykori nevén Quick and Dirty operating System-nek is hívtak. Az MS először csak licenszet vásárolt (25.000 USD), majd jó érzékkel további 50.000 dollárért kompletten megvette a jogokat. Azt hiszem az évszázad üzletét kötötték meg.

A kis DOS szépen fejlődött, az újabb kiadások egyre több funkciót tartalmaztak. Megjelent a merevlemez kezelés (2.0), nagyobb partíciók támogatása (3.0), ennek 2GB-ra kiterjesztése FAT16-al (4.0), mindenféle utilitykkel megrakott változat (6.0) és legvégül a Windows-ba integrált verziók (7.0-) Természetesen alternatívák is léteztek. Ezek egy része többé-kevésbé módosított MS-DOS, mint például az IBM PC-DOS, vagy a Compaq DOS. A másik vonulat legismertebb képviselője a Digital Research által fejlesztett DR-DOS. Érdekes, hogy a DR vezetőjétől akart először az IBM oprendszert (CP-M) venni, de Gary Kildall felesége miatt ez nem jött össze. A DR-DOS-t később a Novell, majd a Caldera vette át. Ez az adás-vétel olyan érdekes neveket produkált, mint például a "Caldera OpenDOS 7.02", amit a nyílt forráskódú verziót kapott. A kompatibilitás 99%-os volt, de ha a himem.sys-emm386.exe párost kioperáltuk a Windowsból akár 99.99%-nak is mondanám.

Kapcsoljuk be a gépet

Végre, mindenki erre várt. Nagyjából fél perc kell az öreg laptopunknak, hogy eljusson a DOS promptig. Addig is fussuk át mi történik abban a fél percben:

- A táp bekapcsolását követően a CPU reset lábát egy kis áramkör még a nullán tartja, így gondoskodva a biztos indulásról.

- A CPU (ha nem XT lenne a drága, mert annál nincs más mód) real módban indul a 0xFFFF0h memória címnél kezdve a végrehajtást. Ez a cím a BIOS-hoz tartozik, tehát innen a BIOS az úr. Rögtön egy ugrással kezd, ugyanis az előző cím a HMA vége.

- A BIOS végrehajt egy alap Power On Self Test-et. Ha valami nem tetszik neki, akkor azt csipogással adja tudtunkra.

- A videó kártya következik, pontosabban annak BIOS-ára ugrik a vezérlés, ha sikerrel lefut már képernyőn üzengethet nekünk a gép. ilyankor már láthatjuk a videó kártyánkra jellemző feliratot.

- A BIOS szétnéz, hogy van-e más extra BIOS-al ellátott kártya (pl. RAID kártya) a gépünkben. Ha akad, akkor a kártyák saját BIOS-a megkapja a vezérlést.

- Megjelenik a startup screen (Press DEL...) és elindul egy részletesebb teszt, hacsak nem tiltottuk le. Ekkor ellenőrzi (számolja) le többek között a memóriát a gép. Ha valami hibát talál rossz esetben egy kóddal, jó esetben bővebb hibaüzenettel kedveskedik.

- A következő lépésnél egy hardver leltár készül. Ha plug and Play gépünk van, akkor a BIOS kiosztja az eszközöknek az erőforrásokat (port, IRQ, DMA). A végeredményt szép táblázatos formában meg is jelenít a gép. Ma már csak pillanatokra villan fel, hogy például mennyi port, merevlemez, floppy meghajtó található a gépünkben.

- A BIOS el kezdi keresni a boot meghajtót. Eredetileg az első floppy, majd az első merevlemez volt a sorrend, ma már ez is beállítható és CD vagy USB is lehet a boot eszköz. De most maradjunk a klasszikus vonalnál, tehát a BIOS kiválasztja az első alkalmas lemezes egységet. Ezt szimplán az alapján teszi, hogy a legelső szektorban (cyl:0, head:0, sect:1) talál-e Master Boot Recordot (merevlemez) vagy Volume Boot Sector-t (floppy). Ha sehol sem talál ilyet, akkor erről hibaüzenetet küld, például egy "No boot disk available" formájában. Pár régi, beépített BASIC-el rendelkező gép gazdája ilyenkor a ROM BASCI szépségével szembesülhet.

- Ha azt feltételezzük, hogy az öreg MFM merevlemezünkröl indul a rendszer, akkor a BIOS betölti az MBR-t, majd átadja a vezérlést, ezzel lezárva a saját részét.

- Az MBR loader megvizsgálja a partíciós táblát. két dolgot végez el. Egyrészt bootolható partíciót keres, ahonnan elindíthatja a rendszert, ha nem talál ilyet, akkor "No boot device" üzenettel megáll. Másrészt extended partíciós (logical volumes) táblát és azt, hogy ez rámutat-e további táblára. Mindezt addig végzi, amíg nem talál újabbat extended-et.

- Ha megvannak a partíciók és van aktív primary, akkor betölti az első szektorát a memóriába és átadja a vezérlést.

- A boot sectorban lévő programocska megpróbálja betölteni a DOS alap állományait a következő sorrendben: io.sys (ibmbio.sys), msdos.sys (ibmdos.sys). Az msdos.sys Windows 95, 98, ME esetén csak egy configurációs állomány. Ha az alap "kernel" betöltődött következhet az utasításokat értelmező command.com.

- A command.com betölti és értelmezi a config.sys és autoexec.bat konfigurációs állományok tartalmát.

Ugye nem bonyolult. A mai oprendszerek betöltődése is hasonló egészen a boot record betöltéséig, csak egy XP vagy linux legjobban megvagdosva sem 3 állományon alapul. A DOS-nál maradva a következő oldalon nézzük meg közelebbről a két rendszer konfigurációs állomány tartalmát.

A cikk még nem ért véget, kérlek, lapozz!

Hirdetés

3 pénzügyi döntés, amit minden kisvállalkozónak érdemes átgondolnia az év végéig

PR Ahogy az év vége közeledik, itt az ideje, hogy egy pillanatra megálljunk és áttekintsük vállalkozásunk pénzügyi helyzetét. Ne hagyjuk, hogy az év utolsó hónapjai elússzanak a sürgető feladatok és elfeledett határidők között!

Azóta történt