Mikroydin ( eng. microkernel ) tai μ-ydin ( eng. μ-kernel ) on käyttöjärjestelmän ydin , joka toteuttaa minimaalisen joukon toimintoja.
Työskentely mikroytimen kanssa tapahtuu samalla tavalla kuin monoliittisten ytimen kautta tapahtuvien järjestelmäkutsujen kanssa .
Mikroytimet tarjoavat vain pienen joukon matalan tason primitiivejä/mekanismeja/palveluita:
Muut primitiivit/toiminnot/komponentit/palvelut/moduulit, esimerkiksi:
ajaa käyttäjätilassa erillisinä prosesseina , olla vuorovaikutuksessa ytimen kanssa järjestelmäkutsujen avulla , kommunikoida toistensa kanssa IPC :n avulla . Monoliittisessa ytimen käyttöjärjestelmässä nämä komponentit toimivat ydintilassa ytimen säikeinä .
x86 - arkkitehtuuriprosessoreissa käytetään ns . rengassuojausta . Käyttäjätilan prosessit toimivat kolmannessa renkaassa ( rengas 3 ) eivätkä voi suorittaa joitain nollarenkaalla ( rengas 0 ) käytettävissä olevia toimintoja . Virhe käyttäjätilaprosessissa aiheuttaa pahimmassa tapauksessa prosessin lopettamisen.
Mikroytimeen rakennetun käyttöjärjestelmän edut verrattuna monoliittiseen ytimeen rakennettuun käyttöjärjestelmään :
Mikroytimeen rakennetun käyttöjärjestelmän haitat verrattuna monoliittiselle ytimelle rakennettuun käyttöjärjestelmään :
Jotta mikroytimen käyttöjärjestelmä olisi yhtä nopea kuin monoliittiselle ytimelle rakennettu käyttöjärjestelmä, on välttämätöntä suunnitella huolellisesti järjestelmän osiointi komponenteiksi ja yrittää minimoida niiden välinen vuorovaikutus. Suurin vaikeus mikroytimen käyttöjärjestelmien luomisessa on siis erittäin huolellisen suunnittelun tarve.
Mikroytimet jaetaan perinteisesti sukupolviin. Eri sukupolvien mikroytimet eroavat toisistaan suunnittelultaan ja teknisiltä ratkaisuiltaan.
Mikroytimet, kuten Minix OS -ydin ja GNU Hurd , kehittyvät paljon hitaammin kuin Linux ja BSD -perheen ydin . Minix 3 :n luojan Andrew Tanenbaumin mukaan hän yrittää "rakentaa erittäin luotettavan järjestelmän, jota voidaan käyttää myös palvelimilla, jotka vaativat vuosien käyttöaikaa" [2] .
Klassinen esimerkki mikroytimen käyttöjärjestelmästä on Symbian OS . Tämä on esimerkki yleisestä ja vakiintuneesta mikroytimestä (alkaen Symbian OS v8.1 ja nanokernel ) käyttöjärjestelmästä.
Symbian OS:n luojat onnistuivat yhdistämään tehokkuuden ja käsitteellisen harmonian huolimatta siitä, että tämän järjestelmän nykyaikaiset versiot tarjoavat laajoja ominaisuuksia, mukaan lukien työkalut suoratoistodatan käsittelyyn, ytimen viiveen kannalta kriittisiä protokollapinoja, grafiikkaa ja teräväpiirtovideota. Symbian-kehittäjät siirsivät lähes kaikki sovelletut (eli ytimen osaamisen ulkopuoliset) tehtävät palvelinmoduuleihin, jotka toimivat käyttäjän osoiteavaruudessa.
Windows NT versioissa 3.x grafiikka- ja käyttöliittymäalijärjestelmässä käytettiin mikroydinarkkitehtuuria palveluprosessilla . Erityisesti grafiikkalaitteiston ohjain ladattiin palveluprosessikontekstiin, ei ytimeen. Versiosta 4 alkaen tämä hylättiin, palveluprosessi säilytettiin vain komentorivikonsoliikkunoiden hallintaa varten ja itse grafiikka-alijärjestelmä yhdessä laitteistoohjaimen (mukaan lukien kolmiulotteinen grafiikka) kanssa siirrettiin erityisesti eristetylle alueelle. OS ydin .
Windows CE -käyttöjärjestelmä (ja siihen perustuvat rakennukset, kuten Windows Mobile ), vaikka se on lähes täysin yhteensopiva (osajoukona) Windows NT:n kanssa kutsujen ja sovellusohjelmointimenetelmien suhteen, eroaa kuitenkin täysin Windows NT:stä sisäisen arkkitehtuurin osalta ja on microkernel OS poistamalla kaikki laiteohjaimet, verkkopinot ja grafiikkaalijärjestelmä palveluprosesseihin.
Huono puoli on ytimen prosessien "vaihtamisen" pakottaminen ( kontekstin vaihto ); tämä tosiasia selittää vaikeudet suunnitella ja kirjoittaa tällaisen mallin ytimiä. Nämä puutteet pystyvät ohittamaan käyttöjärjestelmät, jotka käyttävät exokernel- arkkitehtuuria , joka on mikroytimen arkkitehtuurin jatkokehitys.
Käyttöjärjestelmien näkökohdat | |||||
---|---|---|---|---|---|
| |||||
Tyypit |
| ||||
Nucleus |
| ||||
Prosessien hallinta |
| ||||
Muistinhallinta ja osoitus |
| ||||
Lataus- ja alustustyökalut | |||||
kuori | |||||
muu | |||||
Luokka Wikimedia Commons Wikikirjat Wikisanakirja |