Nanonucleus

Nanokernel  är arkitekturen för datoroperativsystemkärnan , inom vilken en extremt förenklad och minimalistisk kärna endast utför en uppgift - bearbetning av hårdvaruavbrott som genereras av datorenheter. Efter bearbetning av avbrott från hårdvaran skickar nanokärnan i sin tur information om resultatet av bearbetningen (till exempel tecken som tas emot från tangentbordet) till den högre mjukvaran med samma avbrottsmekanism. Dessutom implementeras ofta minimalt trådstöd: skapande och byte.

På sätt och vis ligger konceptet med en nanokärna nära konceptet HAL  - Hardware Abstraction Layer, vilket förser overheadprogramvaran med praktiska abstraktionsmekanismer från specifika enheter och sätt att hantera deras avbrott.

Oftast i moderna datorer används nanokärnor för att virtualisera riktiga datorers hårdvara eller för att implementera en hypervisormekanism , med syftet att tillåta flera eller många olika operativsystem att köras samtidigt och parallellt på samma dator. Till exempel implementerar VMware ESX Server sin egen nanokärna, som är OS-oberoende och installerad på ren metall. Utöver denna nanokärna kör VMware användar- och administrativa verktyg och själva operativsystemen, virtualiserade i ESX Server.

Nanokärnor kan också användas för att göra operativsystem bärbara över olika hårdvara, eller för att göra det möjligt att köra ett "gammalt" operativsystem på ny, inkompatibel hårdvara utan att helt skriva om och porta det. Till exempel använde Apple Computer nanokärnan i PowerPC -versionen av Mac OS Classic för att översätta hårdvaruavbrott som genererades av deras PowerPC -baserade datorer till en form som kunde "förstås" och kännas igen av Mac OS för Motorola 680x0-processorer. Således emulerade nanokärnan den "gamla" 680x0-hårdvaran för Mac OS. Alternativet skulle vara att helt skriva om och porta Mac OS-koden till PowerPCs när man flyttar från 680x0 till dem. Senare, under Mac OS 8.6-eran, virtualiserade nanokärnan multiprocessorkapaciteten från PowerPC och gav SMP- stöd i Mac OS. Andra framgångsrika exempel på användningen av nanokernel-arkitekturer inkluderar Adeos nanokernel , som fungerar som en kärnmodul för Linux och låter alla realtidsoperativsystem köras samtidigt med Linux.

Nanokärnan kan vara så liten och primitiv att även de viktigaste enheterna som är placerade direkt på moderkortet eller på styrkortet på en inbyggd enhet, såsom en timer eller programmerbar avbrottskontroller , betjänas av speciella enhetsdrivrutiner och inte direkt av kärna. Sådana superminimalistiska nanokärnor kallas ibland pikokärnor.

Termen "nanokärna" används ibland informellt för att beskriva mycket små, förenklade och lätta mikrokärnor , såsom L4 .

Litteratur

Länkar