Bootloader - Bootloader

GNU GRUB, népszerű nyílt forráskódú rendszerbetöltő
Windows rendszerbetöltő

A rendszerbetöltő , más néven rendszerbetöltő, vagy boot manager és bootstrap betöltő , egy számítógépes program , amely felelős a számítógép indításáért .

Amikor a számítógép ki van kapcsolva, annak szoftvere-beleértve az operációs rendszereket, az alkalmazáskódot és az adatokat-marad a nem felejtő memóriában . Amikor a számítógép be van kapcsolva, általában nem rendelkezik operációs rendszerrel vagy annak betöltőjével a véletlen hozzáférésű memóriában (RAM). A számítógép először egy viszonylag kis programot hajt végre, amely csak olvasható memóriában (ROM, majd később EEPROM , NOR flash ) van tárolva , néhány szükséges adatgal együtt, a RAM inicializálásához (különösen x86 rendszereken), a nem felejtő eszköz eléréséhez (általában blokkolja az eszközt , pl. NAND flash) vagy olyan eszközök, amelyekről az operációs rendszer programjai és adatai betölthetők a RAM -ba.

Egyes korábbi számítógépes rendszerek, amikor rendszerindító jelet kapnak emberi kezelőtől vagy perifériás eszköztől, nagyon kis számú rögzített utasítást tölthetnek be a memóriába egy adott helyen, inicializálhatnak legalább egy CPU -t, majd a CPU -t az utasításokra és megkezdeni a végrehajtásukat. Ezek az utasítások általában beviteli műveletet indítanak el valamely perifériás eszközről (amelyet a kezelő választhat a kapcsolóról). Más rendszerek hardverparancsokat küldhetnek közvetlenül a perifériás eszközökre vagy az I/O vezérlőkre, amelyek rendkívül egyszerű beviteli műveletet (például "a rendszerszerszám nulla szektorának beolvasását a memóriába az 1000 -es helyről") hajtják végre, hatékonyan betöltve egy kis a rendszerbetöltő utasítások száma a memóriában; az I/O eszköz befejezési jelét lehet használni az utasítások CPU általi végrehajtásának megkezdéséhez.

A kisebb számítógépek gyakran kevésbé rugalmas, de automatikusabb rendszerbetöltő mechanizmusokat használnak annak biztosítására, hogy a számítógép gyorsan és előre meghatározott szoftverkonfigurációval induljon el. Sok asztali számítógépen például a rendszerindítási folyamat azzal kezdődik, hogy a CPU végrehajtja a ROM -ban található szoftvert (például az IBM PC BIOS -ja vagy az IBM PC -vel kompatibilis ) egy előre meghatározott címen (egyes CPU -k, beleértve az Intel x86 sorozatot is) a szoftver futtatására lett kifejlesztve, külső segítség nélkül). Ez a szoftver kezdetleges funkciókat tartalmaz a rendszerindításban való részvételre alkalmas eszközök keresésére, és egy kis program betöltésére a legígéretesebb eszköz speciális részéből (leggyakrabban a rendszerindítási szektorból ), általában egy rögzített belépési pontról , például a ágazat.

Első fázisú rendszerbetöltő

A csomagtartó rakodók sajátos korlátokkal szembesülhetnek, különösen méretükben; például a korábbi IBM PC -n és kompatibilis eszközökön a rendszerindító szektornak általában csak 32 KB (később 64 KB -ra lazított) rendszermemóriában kell működnie, és csak az eredeti 8088 / 8086 processzorok által támogatott utasításokat kell használni . Az első szakasz a PC rendszerbetöltők (FSBL, első boot loader) található merevlemezeken és a cserélhető meghajtók illeszkednie kell az első 446 bájt a Master Boot Record érdekében, hogy teret az alapértelmezett 64 byte partíciós tábla négy partíció bejegyzéseket és a kétbájtos rendszerindítási aláírást , amelyet a BIOS megkövetel a megfelelő rendszerbetöltéshez-vagy még kevesebbet, ha további funkciók, például több mint négy partíció bejegyzés (legfeljebb 16, egyenként 16 bájt), lemez aláírás (6 bájt) , bizonyos környezetekben a lemez időbélyegét (6 bájt), az Advanced Active Partition (18 bájt) vagy a speciális többindító betöltőket is támogatni kell. A floppy és hajlékonylemezként kötet boot Records , akár 59 byte foglalt a kiterjesztett BIOS paraméter blokk a FAT12 és FAT16 kötetek mivel a DOS 4.0, míg a FAT32 EBPB bevezetett DOS 7.1 megköveteli még 87 bájt, így csak 423 byte a boot loader ha 512 bájtos szektorméretet feltételezünk. A Microsoft rendszerindítási szektorai ezért hagyományosan bizonyos korlátozásokat szabtak meg a rendszerindítási folyamatra, például a rendszerindító fájlt a fájlrendszer gyökérkönyvtárában rögzített helyen kellett elhelyezni, és egymást követő szektorként kellett tárolni, a SYSparancs gondoskodott a feltételekről és kissé nyugodt a DOS későbbi verzióiban. A rendszerbetöltő ezután képes volt betölteni a fájl első három szektorát a memóriába, ami történetesen tartalmazott egy másik beágyazott rendszerbetöltőt, amely képes betölteni a fájl fennmaradó részét a memóriába. Amikor a Microsoft hozzáadta az LBA és a FAT32 támogatást, még a két fizikai szektort is elérő rendszerbetöltőre váltottak, és mérete miatt 386 utasítást használtak. Ugyanakkor más gyártóknak sokkal több funkciót sikerült összeszorítaniuk egyetlen rendszerindítási szektorba anélkül, hogy enyhítették volna az eredeti korlátozásokat a minimális rendelkezésre álló memórián (32 KB) és a processzor támogatáson (8088/8086). Például a DR-DOS rendszerindító szektorok képesek megtalálni a rendszerindító fájlt a FAT12, FAT16 és FAT32 fájlrendszerben, és betölteni a memóriába, mint egész CHS vagy LBA, akkor is, ha a fájlt nem rögzített helyen tárolják, és egymást követő szektorokban.

A BIOS és az UEFI nem csak egy nem felejtő eszközről tölti be az operációs rendszert , hanem inicializálja a rendszer hardvert az operációs rendszer számára.

Példák az első szakaszban rendszerbetöltő közé BIOS , coreboot , Libreboot és Das U-Boot .

Második fokozatú rendszerbetöltő

A másodfokú rendszerindító betöltők, például a GNU GRUB , a rEFInd , a BOOTMGR , a Syslinux , az NTLDR vagy az iBoot , maguk nem operációs rendszerek, de képesek megfelelően betölteni az operációs rendszert és átvinni a végrehajtást arra; az operációs rendszer ezt követően inicializálja magát, és további eszközillesztőket tölthet be . A második lépcsőfokú rendszerbetöltő saját működéséhez nincs szükség illesztőprogramokra, ehelyett általános tárolóhozzáférési módszereket használhat, amelyeket a rendszer firmware, például a BIOS vagy az Open Firmware biztosít , bár jellemzően korlátozott hardverfunkciókkal és alacsonyabb teljesítménnyel.

Sok rendszerbetöltő (például a GNU GRUB, a rEFInd, a Windows BOOTMGR, a Syslinux és a Windows NT/2000/XP NTLDR) konfigurálható úgy, hogy többféle indítási lehetőséget adjon a felhasználónak. Ezek a lehetőségek magukban foglalhatják a különböző operációs rendszereket ( kettős vagy többszörös indításhoz különböző partíciókról vagy meghajtókról), ugyanazon operációs rendszer különböző verzióit (ha egy új verzió váratlan problémákat okoz), különböző operációs rendszer betöltési lehetőségeket (pl. mentési vagy biztonságos mód ), valamint néhány önálló program, amelyek operációs rendszer nélkül is működhetnek, mint például memória tesztelők (pl. memtest86+ ), alaphéj (például a GNU GRUB -ban) vagy akár játékok (lásd a PC Booter játékok listája ). Egyes rendszerbetöltők más rendszerbetöltőket is betölthetnek; például a GRUB betölti a BOOTMGR programot a Windows közvetlen betöltése helyett. Általában az alapértelmezett választást előre kiválasztják egy késleltetéssel, amely alatt a felhasználó megnyomhat egy gombot a választás megváltoztatásához; a késleltetés után az alapértelmezett választás automatikusan fut, így a normál rendszerindítás interakció nélkül is megtörténhet.

A rendszerindítási folyamat akkor tekinthető befejezettnek, ha a számítógép készen áll a felhasználóval való interakcióra, vagy ha az operációs rendszer képes rendszer- vagy alkalmazásprogramok futtatására.

Sok beágyazott rendszernek azonnal indítania kell. Például egy perc várakozás a digitális televízióra vagy a GPS -navigációs készülékre általában elfogadhatatlan. Ezért az ilyen eszközök szoftverrendszerrel rendelkeznek ROM -ban vagy flash memóriában, így az eszköz azonnal megkezdheti működését; kevés vagy egyáltalán nem szükséges betölteni, mert a betöltés előre kiszámítható és tárolható a ROM -on, amikor az eszközt elkészítik.

A nagy és összetett rendszerek indítási eljárásokkal járhatnak, amelyek több fázisban zajlanak, míg végül az operációs rendszer és más programok betöltődnek és készen állnak a végrehajtásra. Mivel az operációs rendszereket úgy tervezték, mintha soha nem indulnának vagy állnának le, a rendszerindító betöltheti az operációs rendszert, puszta folyamatként konfigurálhatja magát a rendszeren belül, majd visszavonhatatlanul átadhatja az irányítást az operációs rendszernek. A rendszerbetöltő ezután rendesen leáll, mint bármely más folyamat.

Hálózati indítás

A legtöbb számítógép képes számítógépes hálózaton keresztül is indítani . Ebben az esetben az operációs rendszer a szerver lemezén tárolódik , és bizonyos részei egy egyszerű protokoll, például a Trivial File Transfer Protocol (TFTP) segítségével kerülnek át az ügyfélre . Ezen alkatrészek átvitele után az operációs rendszer veszi át az indítási folyamat irányítását.

A második szakasz indítóbetöltőjéhez hasonlóan a hálózati rendszerindítás a hálózati interfész rendszerindító ROM-jának általános hálózati hozzáférési módszereivel kezdődik, amely rendszerint PXE ( Preboot Execution Environment ) képet tartalmaz. Nincs szükség illesztőprogramokra, de a rendszer funkcionalitása korlátozott mindaddig, amíg az operációs rendszer kernelje és illesztőprogramjai át nem kerülnek és el nem indulnak. Ennek eredményeként, ha a ROM-alapú rendszerindítás befejeződött, teljesen lehetséges a rendszerindítás olyan operációs rendszerbe, amely önmagában nem képes a hálózati interfész használatára.

Lásd még

Megjegyzések

Hivatkozások

Külső linkek