Mit csinál a BIOS az indítás után?
Miután a számítógép befejezte a rendszerindítási folyamatot, és szilárdan be van kapcsolva az operációs rendszerbe, van-e még valami a BIOS számára?
A mai Kérdések és válaszok munkamenet jön számunkra a SuperUser-Stack Exchange alosztályának, a Q & A webhelyek közösségi meghajtó csoportosításának.
A kérdés
Az Indrek SuperUser olvasó ezt a BIOS-hoz kapcsolódó kérdést jeleníti meg:
Mindig azon tűnődtem, vajon a BIOS (a POST lebonyolításán túl, a bootloader elindítása és a vezérlő átadása az OS-hez, miután megnyomta a bekapcsológombot) az operációs rendszer futtatásakor bármilyen célja vagy funkciója van?
Az operációs rendszer futás közben kommunikál a BIOS-szal, és ha igen, hogyan?
Valóban? Milyen funkcióval rendelkezik a BIOS kritikus szerepe mellett a számítógép indításakor?
A válaszok
A SuperUser közreműködő Mechanic Snail jóvoltából áttekintjük, hogy a BIOS szerepe hogyan változott az idő múlásával, és hogy mit csinál és nem tesz ma:
A BIOS szerepe
A modern operációs rendszerekkel, gyakorlatilag nincs. Linus Torvalds állítólag azt mondta, hogy a feladata, hogy „csak betöltse az operációs rendszert, és onnan kijusson onnan”.
Az olyan régebbi operációs rendszerek, mint az MS-DOS számos feladatra (pl. Lemezkapcsolatra) támaszkodtak a BIOS-ra a megszakítások hívásával.
A korszerű operációs rendszerekkel a rendszerindító gyorsan vált 32- vagy 64-bites módba, és végrehajtja az operációs rendszermagot. A rendszermag regisztrálhatja saját megszakító kezelőit, amelyeket a felhasználói tér alkalmazásai hívhatnak. A rendszermag rutinjai sokkal hordozhatóbbak lehetnek (mivel nem függenek az adott hardvertől), rugalmasabbak (az operációs rendszer forgalmazói igényeik szerint megváltoztathatják őket, nem pedig a hardverrel együtt), kifinomultabbak (tetszőlegesen összetettek) a BIOS-ba programozott kód helyett), és biztonságosabb (mivel az operációs rendszer vezérelheti a megosztott erőforrásokhoz való hozzáférést, és megakadályozhatja a programok egymás közötti átfedését, saját önkényes engedélyezési sémáit végrehajtva).
A konkrét hardverekkel való kommunikációhoz az operációs rendszerek saját eszközillesztőket tölthetnek be és használhatnak. Tehát nincs szükség arra, hogy az operációs rendszer vagy az alkalmazások egyáltalán hívják a legtöbb BIOS-rutint. Tény, hogy biztonsági okokból a BIOS megszakítások is le vannak tiltva. Mivel a BIOS 16 bites valós módban él, a modern operációs rendszereket nehezebb hívni.
Míg a BIOS használata nagyon korlátozott, míg az operációs rendszer fut, a funkciói még mindig kerülnek használatra. Például amikor egy számítógép alszik, az operációs rendszer nem fut, és végül a firmware-hez tartozik, hogy a hardvert a megfelelő állapotba állítsa, hogy szüneteltesse és folytassa az operációs rendszert. Ezek a felhasználások általában az ACPIcalls-ra korlátozódnak, nem pedig a teljes BIOS-interfészre történő hívásokra. Az ACPI olyan BIOS-bővítmény, amely „az energiagazdálkodást az operációs rendszer (OSPM) irányítása alatt állítja”, szemben a korábbi BIOS-központi rendszerrel, amely a platform-specifikus firmware-re támaszkodott az energiagazdálkodás és a konfigurációs irányelv meghatározására ”.
Ne feledje, hogy a „BIOS” hivatalosan egy adott firmware-interfészre vonatkozik, de a kifejezést általában a számítógépes firmware-hez szokás használni. Néhány friss számítógép (különösen az Apple) váltotta fel a BIOS-t (sensu strictu) az UEFI-val..
További információ arról, hogy a BIOS szerepe az idő múlásával csökkent, lásd Wikipedia.
Egy másik SuperUser közreműködő, Simon Richter, áttekintést nyújt számunkra arról, hogy a BIOS még mindig:
A BIOS és az energiagazdálkodás
A BIOS számos szolgáltatást nyújt az operációs rendszerekhez, amelyek többsége az energiagazdálkodáshoz kapcsolódik:
- a CPU és a busz órák módosítása
- a mainboard eszközök engedélyezése / letiltása
- bővítő port teljesítményszabályozása
- felfüggesztés a lemezre és a RAM-ra való felfüggesztés
- folytassa az esemény beállításait
A lemezről való felfüggesztés az OS-ben valósul meg, mivel az operációs rendszer gyorsabban tudja visszaállítani állapotát (csak a rendszermag állapotát tölti be, és szükség esetén a programállapot cseréje, ami lényegesen gyorsabb, mint a teljes RAM betöltése), de a tulajdonság a specifikációban marad.
Az operációs rendszer nem tudja végrehajtani a felfüggesztést a RAM-ra, mivel a BIOS kihagyja a RAM inicializálását és tesztelését, így az operációs rendszernek szüksége van egy API-ra, hogy elmondja a BIOS-nak, hogy folytatni kívánja a jelenlegi RAM tartalommal. Annak érdekében, hogy ezt a szolgáltatást biztosítsa, a BIOS felkéri az operációs rendszert, hogy egy bizonyos RAM területet érintetlenül hagyjon.
Az összes BIOS-szolgáltatás operációs rendszerének interfésze egy olyan virtuális gépkód, amelyet emulátoron kell futtatni, és amely a szükséges I / O műveleteket generálja a hardverbe. A felfüggesztéshez ezt általában úgy hajtják végre, hogy az egyik hardver írása után egy megszakítást indít, amely átirányítja a vezérlést a BIOS-ra.
Van valami, amit hozzá kell adni a magyarázathoz? Kikapcsolja a megjegyzéseket. Szeretne további válaszokat olvasni más tech-savvy Stack Exchange felhasználóktól? Nézze meg a teljes beszélgetés szálát itt.