A számítógép beindítása

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2018. január 17-én felülvizsgált verziótól ; az ellenőrzések 28 szerkesztést igényelnek .

A rendszerindítás egy többlépcsős folyamat, a számítógép indítási folyamatának része, a bekapcsolás pillanatától az operációs rendszer indulásáig. A rendszerindítási sorrend  olyan műveletek sorozata, amelyeket a számítógépnek végre kell hajtania az operációs rendszer (pontosabban a rendszerbetöltő) elindításához , függetlenül a telepített operációs rendszer típusától.

Bootstrap

A legtöbb számítógépes rendszer csak a számítógép RAM -jában található parancsokat képes végrehajtani , míg a modern operációs rendszereket a legtöbb esetben merevlemezen , rendszerindító CD-ROM- on , USB-meghajtón vagy helyi hálózaton tárolják .

A számítógép bekapcsolása után nincs operációs rendszer a RAM-ban. Önmagukban, operációs rendszer nélkül a számítógépes hardver nem képes olyan összetett műveleteket végrehajtani, mint például a program betöltése a memóriába. Így egy feloldhatatlannak tűnő paradoxonnal állunk szemben: ahhoz, hogy egy operációs rendszert betölthessünk a memóriába, már rendelkeznünk kell egy operációs rendszerrel a memóriában.

Ennek a paradoxonnak a megoldása egy speciális számítógépes program , az úgynevezett bootloader használata (az IBM PC-kompatibilis számítógépeken , amely a BIOS - Basic Input/Output System része). Ez a program nem rendelkezik az operációs rendszer összes funkciójával, de elegendő egy másik programot betölteni, amely betölti az operációs rendszert. Gyakran alkalmazzák a lépcsőzetes betöltést, amelyben több kis program hívja egymást, amíg valamelyik be nem tölti az operációs rendszert.

A modern számítógépeken a rendszerindítási folyamat azzal kezdődik, hogy a processzor az állandó memóriában található utasításokat hajtja végre (például IBM PC -n, BIOS  utasítások ), egy előre meghatározott címről indulva (a processzor ezt minden segítség nélkül újraindítás után teszi meg ). Ez a szoftver képes felismerni a rendszerindításra alkalmas eszközöket, és a kiválasztott eszköz speciális partíciójáról (leggyakrabban ennek az eszköznek a rendszerindító szektorából ) egy OS betöltőből tölthető be .

A rendszerbetöltőknek meg kell felelniük bizonyos korlátozásoknak, különösen a hangerő tekintetében. Például egy IBM PC-n az első szintű rendszerbetöltőnek bele kell férnie a fő rendszerindító rekord első 446 bájtjába, így helyet hagyva a partíciós tábla 64 bájtjának és 2 bájtnak az 55AAh aláírásnak, amely szükséges ahhoz, hogy a BIOS észlelje magát a rendszerbetöltőt. .

Történelem

A korai számítógépeken volt egy sor kapcsoló, amely lehetővé tette a kezelő számára, hogy a processzor elindítása előtt elhelyezze a rendszertöltőt a memóriában . Ez a rendszerbetöltő ezután beolvassa az operációs rendszert egy külső eszközről, például lyukszalagról vagy merevlemezről .

A pszeudo-assembler rendszerbetöltő kódja a következő utasítások sorozatából állhat:

0: írjon 8-at a P regisztrálásához 1: ellenőrizze, hogy a lyukszalag-olvasó elkezdheti-e az olvasást 2: ha nem, folytassa az 1. lépéssel 3: olvasson be egy bájtot a lyukszalag-olvasóból, és írja be az akkumulátorra 4: ha a lyukszalag véget ért, folytassa a 8. lépéssel 5: Írja be az akkumulátorban tárolt értéket a RAM-ba a P regiszterben tárolt címre 6: növelje a P regiszter értékét eggyel 7: folytassa az 1. lépéssel

Ez a példa a Nicolet Instrument Corporation által az 1970 -es években kiadott egyik miniszámítógép rendszerbetöltőjén alapul.

0: P regisztrálásához írjon 106-ot 1: ellenőrizze, hogy a lyukszalag-olvasó elkezdheti-e az olvasást 2: ha nem, folytassa az 1. lépéssel 3: olvasson be egy bájtot a lyukszalag-olvasóból, és írja be az akkumulátorra 4: ha a lyukszalag véget ért, folytassa a 8. lépéssel 5: Írja be az akkumulátorban tárolt értéket a RAM-ba a P regiszterben tárolt címre 6: csökkentse a P regiszter értékét eggyel 7: folytassa az 1. lépéssel

A második szintű rendszerbetöltő hossza olyan volt, hogy a rendszerbetöltő utolsó bájtja megváltoztatta a 6. címen található parancsot. Így az 5. lépés végrehajtása után elindult a második szintű rendszerbetöltő. A második szintű betöltő az operációs rendszert tartalmazó hosszú lyukszalagot várta, hogy betöltsék a lyukszalag-olvasóba. Az első szintű betöltő és a második szintű betöltő között az akkoriban gyakran előforduló lyukszalagról történő olvasási hibák ellenőrzése volt a különbség, különösen az ebben az esetben használt ASR-33 teleprintereknél.

Egyes operációs rendszerek, amelyek közül a legjellemzőbbek az Apple Computer által gyártott Macintosh számítógépek régi (1995 előtti) operációs rendszerei , olyan szorosan kapcsolódnak a számítógép hardveréhez (a PowerPC és a New World ROM processzorokra való átállásig , azaz körülbelül a System 8-ig, a ROM tartalmazza a kernelt és a legtöbb operációs rendszer könyvtárat is), hogy ezeken a számítógépeken lehetetlen más operációs rendszert indítani. Ezekben az esetekben gyakori, hogy olyan rendszerbetöltőt fejlesztenek ki, amely szabványos operációs rendszer rendszerbetöltőként működik , majd átadja a vezérlést egy alternatív operációs rendszernek. Az Apple ezt a módszert használta a Unix A/UX verziójának futtatására , majd különféle ingyenes operációs rendszerek is használták.

A BIOS által inicializált eszközök

A rendszerindító eszköz  olyan eszköz, amelyet inicializálni kell, mielőtt az operációs rendszer elindulna. Ide tartoznak a beviteli eszközök ( billentyűzet , egér), az alapvető kimeneti eszköz ( videokártya és kijelző ), valamint az az eszköz, amelyről az operációs rendszer betöltődik  - hajlékonylemez-meghajtó , merevlemez , CD-ROM , flash meghajtó , SCSI - eszköz, hálózati kártya ( hálózaton keresztüli rendszerindításkor, például PXE használatával ).

IBM PC-kompatibilis számítógép rendszerindítási sorrendje

Az Intel 80x86 processzorcsaládon alapuló személyi számítógép (PC) bekapcsolása után a processzor valós címzési módban kezd működni szegmensszervezéssel, és végrehajtja a processzorutasításokat a CS:IP (Code) regiszterpárban inicializált FFFF:0 címről. Segment : Instruction Pointer) a RESET jel eltávolítása után. A processzor rendelkezésére álló RAM -címterület végén a BIOS - betöltő betöltődik az alaplap ROM -jából, és az FFFF:0-ra leképezett feltétel nélküli elágazási utasítás szerint fut le.

A BIOS inicializálási program a POST program segítségével ellenőrzi, hogy a számítógép eszközei megfelelően működnek-e, és inicializálja azokat.

A BIOS ezután sorrendben lekérdezi a rendszerindító eszközök listáját az előre generált rendszerindító eszközök listájából (a CMOS SETUP konzol segédprogramjában), amíg meg nem talál egy rendszerindító eszközt. Ha nem található ilyen eszköz, a BIOS hibaüzenetet jelenít meg a PC- konzolon , és a rendszerindítási folyamat leáll. Amikor a BIOS rendszerindító eszközt észlel, a rendszer megpróbálja beolvasni a nulla szektorból származó adatokat (512 bájt, amelynek rendszerindító rekordot kell tartalmaznia ) az utóbbiból. A rendszerindító eszköz nulla szektorából a RAM-ba a 0000:7C00 kezdeti címen lévő adatok sikeres beolvasása után a BIOS a processzor utasításainak további végrehajtását erre a címre küldi.

A rendszerindító merevlemez nulla szektora tartalmazza az úgynevezett "Master Boot Record" (MBR - Master Boot Record) , amely tartalmazza mind a partíciós tábla első négy bejegyzésének adatait, mind az Intel 80x86 processzor utasításait, amelyek ezeken a bejegyzéseken keresztül biztosítják az aktív partíció keresését, ahonnan az alap bemeneti-kimeneti rendszer funkciói közül - INT 13h ( angolul  Int 13h ) [1] , processzormegszakítás kezelőként megvalósított egyik segítségével a rendszerindítási rekord Az operációs rendszer beolvasása megtörténik . Ez a rendszerindító szektor általában az operációs rendszertől függ, és be kell töltenie az operációs rendszer kernelt a RAM-ba , majd át kell adnia a processzor utasításainak végrehajtását. Ha az aktív partíció nem létezik, vagy az aktív partíció rendszerindító szektora érvénytelen, az MBR betöltheti a biztonsági mentési rendszerbetöltőt, és átadhatja neki a vezérlést. A biztonsági mentési rendszerbetöltőnek ki kell választania egy partíciót (gyakran a felhasználó segítségével), betöltenie kell a rendszerindító szektorát, és át kell adnia neki a vezérlést, amely viszont közvetlenül az operációs rendszer betöltőjéhez adja át a vezérlést (a további indítási lépések a fájl típusától/verziójától függenek). a telepített operációs rendszer ). [2]

Egyéb típusú rendszerindítási sorozatok

Egyes processzorok különböző rendszerindítási módokkal rendelkeznek. Például a legtöbb DSP a következő módokban tud elindulni:

Jegyzetek

  1. Microsoft Tudásbázis . Hozzáférés dátuma: 2015. december 26. Az eredetiből archiválva : 2015. december 26.
  2. A BSoD kék képernyői (és egyéb végzetes hibák) csak a kezdeti rendszerindítás után jelenhetnek meg , amikor a rendszerindítási vezérlés átkerül a rendszerbetöltőre és az operációs rendszer kernelére. A rendszerindítási fázis során minden lehetséges hiba (POST, BIOS, MBR, FAT/MFT táblák, VBS szektorok, IPL (PnP BIOS)) nagyon röviden és fekete képernyőn jelenik meg.

Lásd még

Irodalom

Linkek