2Aug
Ko računalnik zaključi zagonsko proces in ste trdno znotraj operacijskega sistema, ki bliži vzdolž, ali je kaj drugega za BIOS?
Današnje vprašanje &S sejo odgovora prihaja uporabnost SuperUserja - razdelitev Stack Exchange, skupinske pogonske skupine spletnih mest Q & .
Vprašalnik
SuperUser bralnik Indrek predstavlja to vprašanje, povezanega z BIOS-om:
Vedno sem se spraševal, ali ima BIOS( razen vodenja POST-a, zagona zagonskega zagona in prenosa krmiljenja na OS po enem pritisku na gumb za napajanje) kakršenkoli namen ali funkcija med delovanjemsistem deluje?
Ali operacijski sistem komunicira z BIOS-jem, medtem ko deluje, in kako?
Dejansko? Kakšna je funkcija BIOS poleg ključne vloge pri zagonu računalnika?
Odgovori
Prispevek prispevka SuperUserja Mehanični polž, pregled, kako se je vloga BIOSa s časom spremenila in kaj je danes in ne počne:
Vloga BIOS-a
Z modernimi OS-ji, praktično ni .Linus Torvalds je po poročanju dejal, da je njegova naloga "naložiti operacijski sistem in oditi od tam".
Starejši operacijski sistemi, kot je MS-DOS, opozarjajo na BIOS za številne naloge( npr. Dostop do diska), tako da pokličejo prekinitve.
S sodobnimi operacijskimi sistemi zagonsko stikalo hitro preklopi v 32- ali 64-bitni način in izvede jedro OS.Jedro lahko registrira lastne naprave za prekinitev, ki jih lahko kličejo uporabniške aplikacije. Rutine jedra so lahko bolj prenosne( ker niso odvisne od določene strojne opreme), bolj prilagodljive( prodajalci OS jih lahko spremenijo na zahtevo, ne pa da bi morali uporabljati vse, kar je prišlo s strojno opremo), bolj sofisticirane( lahko izvajajo samovoljno zapletenekoda namesto tisto, kar je bilo programirano v BIOS-u) in bolj varno( ker lahko OS nadzoruje dostop do skupnih virov in preprečuje, da se programi med seboj prepletajo, izvajajo lastne poljubne sisteme dovoljenj).
Za interakcijo s specifično strojno opremo lahko operacijski sistemi naložijo in uporabljajo lastne gonilnike naprav. Zato operacijski sistem ali aplikacije sploh ne potrebujejo, da bi poklicali večino programov BIOS-a. Pravzaprav so iz varnostnih razlogov prekinitve BIOSa celo onemogočene. Ker BIOS živi v 16-bitnem realnem načinu, je težje poklicati sodobne operacijske sisteme.
Čeprav je uporaba BIOSa zelo omejena, medtem ko OS teče, se njegove funkcije še vedno uporabljajo periferno. Na primer, ko računalnik spi, se OS ne zažene in na koncu pade na strojno programsko opremo, da strojno opremo nastavi na pravo stanje, da zaustavi in nadaljuje OS.Te uporabe so običajno omejene na ACPI klice, ne pa klice na celoten vmesnik BIOS-a. ACPI je razširitev BIOS-a, ki "prinaša upravljanje z energijo pod nadzorom operacijskega sistema( OSPM), v nasprotju s predhodnim sistemom centralnega BIOS-a, ki se je opiral na strojno programsko opremo, specifično za platformo, da bi določila politiko upravljanja porabe in konfiguracijsko politiko".
Upoštevajte, da se uradno "BIOS" nanaša na določen vmesnik strojne programske opreme, vendar se pogosto uporablja za strojno programsko opremo na splošno. Nekateri nedavni računalniki( zlasti Apple) so zamenjali BIOS( sensu strictu) z UEFI, kar seveda potem zahteva, da izvaja te funkcije.
Za več informacij o tem, kako se je vloga BIOSa sčasoma zmanjšala, si oglejte Wikipedia.
Še en prispevek SuperUserja, Simon Richter, nam daje pregled stvari, ki jih BIOS še vedno počne:
BIOS in Upravljanje porabe
BIOS ponuja vrsto storitev operacijskim sistemom, ki so večinoma povezane z upravljanjem porabe: spreminjanje
- CPU in avtobusne ure
- omogočajo / onemogočajo sistemske naprave
- nadzor moči za razširitev
- suspend-to-disk in suspend-to-RAM
- nadaljuje nastavitve dogodkov
Suspend-to-disk se izvaja v OS večino časa kot OSlahko hitreje obnovijo svoje stanje( samo stanje v jedru se ponovno naloži in stanje programa se zamenja, ko je to potrebno, kar je bistveno hitrejše od ponovnega polnjenja celotnega RAM-a), vendar funkcija ostane v specifikaciji.
Operacijski sistem Suspend-to-RAM ne more izvajati operacijski sistem, saj se zanaša na BIOS, ki preskoči inicializacijo in testiranje RAM-a, zato OS potrebuje API, da bi BIOS-u povedal, da ga namerava nadaljevati s trenutnimi vsebinami RAM-a. Da bi zagotovil to storitev, BIOS prosi operacijskemu sistemu, da pusti določen obseg RAM-a nedotaknjen.
Vmesnik za OS za vse storitve BIOS-a je del kode virtualnega stroja, ki ga je treba zagnati na emulatorju in ki ustvari potrebne operacije V / I v strojno opremo. Za prekinitev se to običajno izvaja tako, da izvedba ene od strojne opreme piše, nato sproži prekinitev, ki prenese krmilnik v BIOS.
Ali želite dodati nekaj pojasnila? Zvok v komentarjih.Želite prebrati več odgovorov od drugih uporabniških članov stack Exchange? Oglejte si celotno temo za razpravo tukaj.