Što moj BIOS radi nakon dizanja?
Nakon što računalo završi s procesom pokretanja i čvrsto ste u operacijskom sustavu, postoji li još nešto što BIOS može učiniti?
Današnja sesija pitanja i odgovora dolazi nam ljubaznošću SuperUser-a, podjele Stack Exchangea, grupne grupacije web-lokacija s pitanjima i odgovorima..
Pitanje
Čitač SuperUser Indrek predstavlja ovo pitanje vezano uz BIOS:
Uvijek sam se pitao ima li BIOS (osim provođenja POST-a, pokretanja bootloadera i propuštanja kontrole na OS nakon pritiska na gumb napajanja) bilo kakvu svrhu ili funkciju dok je operativni sustav pokrenut?
Da li operativni sustav komunicira s BIOS-om dok je pokrenut i ako da, kako?
Doista? Koja je funkcija BIOS-a osim njegove kritične uloge u pokretanju računala?
Odgovori
Zahvaljujući suradniku SuperUser-a Mechanical Snail, pregled kako se mijenjala uloga BIOS-a tijekom vremena i što je danas i što ne radi danas:
Uloga BIOS-a
S modernim OS-ovima, praktički ništa. Linus Torvalds je, kako se izvješćuje, rekao kako je njegova zadaća da "samo učita OS i ode odavde".
Stariji operativni sustavi poput MS-DOS-a oslanjaju se na BIOS za mnoge zadatke (npr. Pristup disku), pozivajući prekide.
S modernim OS-ovima, bootloader se brzo prebacuje u 32- ili 64-bitni način i izvršava OS kernel. Kernel može registrirati vlastite rukovatelje prekida, koje se mogu pozvati aplikacijama prostornog prostora. Rutine kernela mogu biti više prijenosne (budući da ne ovise o specifičnom hardveru), fleksibilnije (proizvođači OS-a mogu ih promijeniti na zahtjev, umjesto da koriste sve što dolazi s hardverom), sofisticiraniji (mogu izvesti proizvoljno složene više nego što je programirano u BIOS-u), i sigurnije (budući da OS može kontrolirati pristup dijeljenim resursima i spriječiti da se programi međusobno podupiru, implementirajući vlastite sheme proizvoljnih dopuštenja).
Za interakciju s određenim hardverom, OS mogu učitati i koristiti vlastite upravljačke programe uređaja. Dakle, nema potrebe da OS ili aplikacije nazivaju većinu BIOS rutina uopće. U stvari, iz sigurnosnih razloga, BIOS-ovi su čak i onemogućeni. Budući da BIOS živi u 16-bitnom realnom načinu, teže je pozvati moderne OS-ove.
Iako je korištenje BIOS-a vrlo ograničeno dok se operacijski sustav izvodi, njegove se funkcije još uvijek periferno koriste. Na primjer, kada računalo spava, operacijski sustav se ne pokreće i naposljetku pada na upravljački program kako bi hardver postavio ispravno stanje za pauziranje i nastavak operativnog sustava. Ove su uporabe uglavnom ograničene na ACPIcalls, a ne na pozive na potpuno BIOS sučelje. ACPI je proširenje BIOS-a koje „donosi upravljanje energijom pod kontrolom operacijskog sustava (OSPM), za razliku od prethodnog BIOS-centralnog sustava, koji se oslanjao na firmver specifičan za platformu za određivanje politike upravljanja energijom i konfiguracije“.
Imajte na umu da se službeno "BIOS" odnosi na određeno firmware sučelje, ali se taj pojam obično koristi za upućivanje na firmver računala općenito. Neka novija računala (posebno Appleova) zamijenila su BIOS (sensu strictu) s UEFI-jem, što je, naravno, ono što se poziva na implementaciju tih funkcija..
Za više informacija o tome kako se uloga BIOS-a smanjila tijekom vremena, pogledajte Wikipediju.
Još jedan suradnik SuperUser, Simon Richter, daje nam pregled stvari koje BIOS i dalje radi:
BIOS i upravljanje napajanjem
BIOS pruža niz usluga operativnim sustavima, od kojih se većina odnosi na upravljanje energijom:
- modificiranje CPU-a i satova sabirnice
- omogućavanje / onemogućivanje glavnih ploča
- kontrola snage priključka za proširenje
- suspend-to-disk i suspend-to-RAM
- nastavak postavki događaja
Suspend-to-disk provodi se u OS-u većinu vremena jer OS može brže vratiti svoje stanje (samo je stanje kernela ponovno učitano, a stanje programa zamijenjeno u slučaju potrebe, što je znatno brže od ponovnog učitavanja cijelog RAM-a), ali značajka ostaje u specifikaciji.
OS ne može provesti ovisnost o RAM-u jer se oslanja na BIOS koji preskače inicijalizaciju i testiranje RAM-a, tako da OS treba API da bi BIOS-u rekao da namjerava nastaviti s trenutnim RAM sadržajem. Kako bi osigurao ovu uslugu, BIOS traži od OS-a da ostavi određeno područje RAM-a netaknutim.
Sučelje za OS za sve BIOS usluge je dio virtualnog strojnog koda koji treba pokrenuti na emulatoru i koji generira potrebne I / O operacije u hardver. Za suspend, ovo se općenito provodi tako da izvršavanje jednog od hardvera piše zatim pokreće prekid, koji prenosi kontrolu u BIOS.
Imate li što dodati objašnjenju? Zvuk isključen u komentarima. Želite li pročitati više odgovora od drugih tehničkih korisnika Stack Exchangea? Pogledajte cjelokupnu temu za raspravu ovdje.