Domača » kako » Kaj počne moj BIOS po zagonu?

    Kaj počne moj BIOS po zagonu?

    Ko računalnik konča postopek zagona in ste v notranjosti operacijskega sistema, ki ga boste brskali skupaj, je za BIOS ostalo še kaj?

    Današnja seja vprašanj in odgovorov prihaja z namenom SuperUser-a, ki je del skupine Stack Exchange, ki združuje skupino spletnih mest za vprašanja in odgovore.

    Vprašanje

    Bralnik SuperUser Indrek predstavlja vprašanje, povezano z BIOS-om:

    Vedno sem se spraševal, ali ima BIOS (razen izvajanja POST-a, zagona bootloaderja in prenosa nadzora na OS, ko pritisnemo gumb za vklop) kakršen koli namen ali funkcijo, medtem ko operacijski sistem teče.?

    Ali operacijski sistem med delovanjem komunicira z BIOS-om in, če je, kako?

    Prav zares? Kakšno funkcijo ima BIOS poleg kritične vloge pri zagonu računalnika?

    Odgovori

    Z dovoljenjem sodelavca SuperUser Mechanical Snail, pregled, kako se je vloga BIOS-a spreminjala skozi čas in kaj je in kaj ne počne danes: 

    Vloga BIOS-a

    Z modernimi operacijskimi sistemi, praktično nič. Linus Torvalds naj bi povedal, da je njegova naloga, da "naloži operacijski sistem in od tam pobegne".

    Starejši operacijski sistemi, kot je MS-DOS, so uporabljali BIOS za številne naloge (npr. Dostop do diska), s klicanjem prekinitev.

    Pri sodobnih operacijskih sistemih zagonski nalagalnik hitro preklopi v 32- ali 64-bitni način in izvede jedro operacijskega sistema. Jedro lahko registrira lastne prekinitvene obdelovalce, ki jih lahko prikličejo uporabniško-prostorske aplikacije. Rutine jedra so lahko bolj prenosne (ker niso odvisne od določene strojne opreme), bolj prilagodljive (ponudniki operacijskih sistemov jih lahko spremenijo na zahtevo, namesto da bi morali uporabljati tisto, kar je prišlo s strojno opremo), bolj sofisticirani (lahko izvajajo poljubno zapleteno) kode, namesto da bi bila programirana v BIOS) in bolj varna (saj lahko operacijski sistem nadzoruje dostop do virov v skupni rabi in preprečuje, da bi se programi medsebojno razbremenili, pri čemer uporabljajo lastne sheme samovoljnih dovoljenj).

    Za interakcijo z določeno strojno opremo lahko operacijski sistemi naložijo in uporabljajo lastne gonilnike naprav. Zato ni potrebno, da operacijski sistem ali aplikacije kličejo večino rutin BIOS-a. Pravzaprav so zaradi varnostnih razlogov prekinitve BIOS-a celo onemogočene. Ker BIOS živi v 16-bitnem realnem načinu, je težje zahtevati sodobne operacijske sisteme.

    Medtem ko je uporaba BIOS-a zelo omejena, medtem ko OS teče, so njene funkcije še vedno periferno uporabljene. Na primer, ko računalnik spi, se operacijski sistem ne izvaja in nazadnje je vdelana programska oprema nastavljena na pravilno stanje strojne opreme za zaustavitev in nadaljevanje operacijskega sistema. Te uporabe so na splošno omejene na ACPIcalls in ne na klice na celoten vmesnik BIOS-a. ACPI je razširitev BIOS-a, ki »upravlja upravljanje energije pod nadzorom operacijskega sistema (OSPM), v nasprotju s prejšnjim centralnim sistemom BIOS, ki se je opiral na vdelano programsko opremo, specifično za platformo, za določanje politike upravljanja porabe in konfiguracije«.

    Upoštevajte, da se uradno "BIOS" nanaša na določen vmesnik vdelane programske opreme, vendar se izraz običajno uporablja za računalniško programsko opremo v splošnem. Nekateri novi računalniki (zlasti Appleovi) so nadomestili BIOS (sensu strictu) z UEFI, kar je seveda tisto, kar se imenuje za izvajanje teh funkcij..

    Za več informacij o tem, kako se je vloga BIOS-a sčasoma zmanjšala, glej Wikipedijo.

    Naslednji sodelavec SuperUser, Simon Richter, nam daje pregled stvari, ki jih BIOS še vedno počne: 

    BIOS in upravljanje porabe

    BIOS nudi številne storitve operacijskim sistemom, od katerih jih je večina povezanih z upravljanjem porabe:

    • spreminjanje CPU in bus ur
    • omogočanje / onemogočanje glavnih naprav
    • nadzor moči pristanišča za razširitev
    • začasno zaustavite na disk in začasno prekličite RAM
    • nadaljevanje nastavitev dogodkov

    Prekinitev pogona na disk se v OS izvaja večinoma, saj operacijski sistem lahko hitreje obnovi svoje stanje (samo stanje jedra se ponovno naloži, stanje programa pa se zamenja, kadar je to potrebno, kar je bistveno hitreje kot obnavljanje celotnega pomnilnika), vendar funkcija ostane v specifikaciji.

    OS ne more izvajati zaustavitve v RAM-u, saj je odvisen od tega, da BIOS preskoči inicializacijo in preskus RAM-a, zato potrebuje operacijski sistem API, da sporoči BIOS-u, da namerava nadaljevati z vsebino RAM-a. Da bi zagotovil to storitev, BIOS zahteva, da OS pusti določeno območje RAM nedotaknjeno.

    Vmesnik za OS za vse storitve BIOS-a je del virtualne strojne kode, ki jo je treba zagnati na emulatorju in ki v strojno opremo generira potrebne I / O operacije. Za začasno prekinitev je to običajno izvedeno, tako da izvršitev ene od strojne opreme piše nato sproži prekinitev, ki prenese nadzor v BIOS..


    Imate kaj dodati pojasnilu? Zvok izključen v komentarjih. Želite prebrati več odgovorov drugih uporabnikov tehnologije Stack Exchange? Oglejte si celotno nit razprave tukaj.