Nanokerne

Nanokernel  er arkitekturen i computerens operativsystemkerne , inden for hvilken en ekstremt forenklet og minimalistisk kerne kun udfører én opgave - behandling af hardwareafbrydelser genereret af computerenheder. Efter behandling af afbrydelser fra hardwaren, sender nanokernen til gengæld information om resultaterne af behandlingen (for eksempel tegn modtaget fra tastaturet) til den højere software ved hjælp af den samme afbrydelsesmekanisme. Også minimal trådstøtte er ofte implementeret: oprettelse og skift.

På en måde er begrebet en nanokerne tæt på konceptet HAL  - Hardware Abstraction Layer, der giver overheadsoftwaren praktiske abstraktionsmekanismer fra specifikke enheder og måder at håndtere deres afbrydelser på.

Oftest i moderne computere bruges nanokerner til at virtualisere hardwaren på rigtige computere eller til at implementere en hypervisor -mekanisme , med det formål at tillade flere eller mange forskellige operativsystemer at køre samtidigt og parallelt på den samme computer. For eksempel implementerer VMware ESX Server sin egen nanokerne, som er OS-uafhængig og installeret på bare metal. Oven i denne nanokerne kører VMware bruger- og administrative hjælpeprogrammer og selve operativsystemerne, virtualiseret i ESX Server.

Nanokernels kan også bruges til at gøre operativsystemer bærbare på tværs af forskellig hardware, eller til at gøre det muligt at køre et "gammelt" operativsystem på ny, inkompatibel hardware uden at omskrive og portere det fuldstændigt. For eksempel brugte Apple Computer nanokernen i PowerPC -versionen af ​​Mac OS Classic til at oversætte hardwareafbrydelser genereret af deres PowerPC -baserede computere til en form, der kunne "forstås" og genkendes af Mac OS for Motorola 680x0-processorer. Således emulerede nanokernen den "gamle" 680x0 hardware til Mac OS. Alternativet ville være fuldstændigt at omskrive og overføre Mac OS-koden til PowerPC'er , når du flytter fra 680x0 til dem. Senere, i Mac OS 8.6-æraen, virtualiserede nanokernen multiprocessor-kapaciteterne leveret af PowerPC og gav SMP -understøttelse i Mac OS. Andre vellykkede eksempler på brugen af ​​nanokerne-arkitekturer inkluderer Adeos nanokernel , der fungerer som et kernemodul til Linux og tillader ethvert realtidsoperativsystem at køre samtidigt med Linux.

Nanokernen kan være så lille og primitiv, at selv de vigtigste enheder, der er placeret direkte på bundkortet eller på controller-kortet på en indlejret enhed, såsom en timer eller programmerbar interrupt-controller , betjenes af specielle enhedsdrivere og ikke direkte af kerne. Sådanne superminimalistiske nanokerner kaldes undertiden pikokerner.

Udtrykket "nanokerne" bruges nogle gange uformelt til at beskrive meget små, forenklede og lette mikrokerner , såsom L4 .

Litteratur

Links