Kun tietokoneesi käynnistää käynnistysprosessin ja olet kiinteästi käyttöjärjestelmän sisällä ääneen, onko BIOS: lle vielä mitään jäljellä?
Tämän päivän kysymys- ja vastausistunto tulee meihin SuperUserin ansiosta. Tämä on Stack Exchange -jako, joka on Q & A-sivustojen yhteisöjoukkoyhtymä.
SuperUser-lukija Indrek esittää tämän BIOS-kysymyksen:
Olen aina ihmetellyt, onko BIOS (lukuun ottamatta POST: n suorittamista, käynnistyslataimen käynnistämistä ja ohjauksen siirtymistä käyttöjärjestelmään, kun painetaan virtapainiketta), onko mitään tarkoitusta tai toimintoa käyttöjärjestelmän ollessa käynnissä?
Aikooko käyttöjärjestelmä kommunikoida BIOSin kanssa käynnissä ja jos on, miten?
Todellakin? Mitä toimintoa BIOS: lla on kriittisen roolinsa lisäksi tietokoneen käynnistyessä?
SuperUser-avustaja Mechanical Snail -konsultti, yleiskatsaus siitä, miten BIOSin rooli on muuttunut ajan myötä ja mitä se on ja ei toimi tällä hetkellä:
Nykyaikaisilla käyttöjärjestelmillä,käytännöllisesti katsoen mitään. Linus Torvalds ilmoitti sanoneen, että sen tehtävänä on "vain ladata käyttöjärjestelmä ja saada helvetti pois sieltä".
Vanhemmat käyttöjärjestelmät, kuten MS-DOS, perustuivat BIOSiin monien tehtävien (esim. Levyn käytön) yhteydessä soittamalla keskeytyksiksi.
Nykyaikaisilla käyttöjärjestelmillä käynnistyslataaja vaihtaa nopeasti 32- tai 64-bittiseen tilaan ja suorittaa käyttöjärjestelmän ytimen. Kernel voi rekisteröidä omat keskeytyskäsittelijät, joita voidaan kutsua käyttäjävaruussovelluksilla. Järjestelmän rutiinit voivat olla siirrettävämpiä (koska ne eivät ole riippuvaisia tietylle laitteistolle), joustavammat (OS-toimittajat voivat vaihtaa niitä kysyntään sen sijaan, että tarvitsisivat käyttää mitä tahansa laitteistosta tulevia), kehittyneempiä (ne voivat suorittaa mielivaltaisesti monimutkaisia koodia pikemminkin kuin BIOSin ohjelmointi) ja turvallisempi (koska käyttöjärjestelmä voi ohjata yhteisten resurssien käyttöä ja estää ohjelmia käyttämästä toisiaan toteuttamalla omia mielivaltaisia käyttöoikeusjärjestelmiään).
Jotta vuorovaikutuksessa tiettyyn laitteistoon, käyttöjärjestelmät voivat ladata ja käyttää omia laiteohjaimiaan. Joten OS tai sovellukset eivät ole tarpeellisia useimpien BIOS-rutiinien kutsumiseksi lainkaan. Itse asiassa turvallisuussyistä BIOS-keskeytykset ovat jopa vammaisia. Koska BIOS elää 16-bittisessä reaalitilassa, on vaikeampaa kutsua nykyaikaisia käyttöjärjestelmiä.
Vaikka BIOS-käyttö on hyvin rajoitettua, kun käyttöjärjestelmä toimii, sen toiminnot ovat yhä kehällä käytössä. Esimerkiksi kun tietokone nukkuu, käyttöjärjestelmä ei ole käynnissä ja se lopulta kuuluu laiteohjelmistoon, jotta laitteisto asetetaan oikeaan tilaan keskeyttämään ja palauttamaan käyttöjärjestelmän. Nämä käyttötarkoitukset rajoittuvat yleensä vain ACPI-yhteyksiin sen sijaan, että kutsuttiin koko BIOS-käyttöliittymään. ACPI on BIOS-laajennus, joka "tuo virranhallinnan käyttöjärjestelmän hallintaan (OSPM) verrattuna edelliseen BIOS-keskusjärjestelmään, joka perustui alustekohtaiseen firmware-ohjelmaan virranhallinta- ja konfigurointipolitiikan määrittämiseksi".
Huomaa, että virallisesti "BIOS" tarkoittaa tiettyä firmware-liitäntää, mutta termiä käytetään yleisesti tietokoneohjelmisto-ohjelmiston yleiseen viittaamiseen. Jotkut viimeaikaiset tietokoneet (etenkin Apple-tietokoneet) ovat korvanneet BIOS: n (sensu strictu) UEFI: n kanssa, mikä tietysti kutsutaan näiden toimintojen toteuttamiseksi.
Lisätietoja siitä, miten BIOS: n rooli on vähentynyt ajan myötä, katso Wikipedia.
Toinen SuperUser-avustaja, Simon Richter, antaa meille yleiskuvan BIOS: n tekemistä asioista:
BIOS tarjoaa useita palveluita käyttöjärjestelmille, joista suurin osa liittyy virranhallintaan:
Suspend-to-disk on toteutettu OS: ssä suurimman osan ajasta, koska käyttöjärjestelmä voi palauttaa tilansa nopeammin (vain ytimen tila ladataan uudelleen ja ohjelmatila vaihdetaan tarpeen mukaan, mikä on huomattavasti nopeampaa kuin koko RAM-muistin uudelleenlataus). ominaisuus säilyy määrittelyssä.
Järjestelmä ei voi toteuttaa Suspend-to-RAM-muistia, koska se tukeutuu BIOS-ohjelmaan ohittamalla RAM-alustuksen ja testin, joten käyttöjärjestelmä tarvitsee API: n kertoa BIOS: lle, että se aikoo jatkaa nykyisen RAM-sisällön avulla. Jotta tämä palvelu voidaan tarjota, BIOS pyytää käyttöjärjestelmää jättämään tietyn RAM-alueen ehjänä.
Kaikkien BIOS-palveluiden käyttöliittymä on osa virtuaalikoneen koodia, jota on käytettävä emulaattorissa ja joka tuottaa tarvittavat I / O-operaatiot laitteistoon. Järjestelmän keskeyttämistä varten tämä toteutetaan yleensä siten, että jonkin laitteiston kirjoittaminen käynnistää sen jälkeen keskeytyksen, joka siirtää ohjauksen BIOSiin.
Onko jokin asia lisättävä selitykseen? Kuulkaa kommentit. Haluatko lukea lisää vastauksia muilta tech-tajuilta Stack Exchange-käyttäjiltä? Katso koko keskusteluketju täältä.