thumb|450px|Structure of monolithic and microkernel-based operating systems, respectively
En mikrokärna är en kärna i ett operativsystem som försöker vara så liten som möjligt. Den koncentrerar sig på att stödja processer, i form av grundläggande resurshantering för minne, schemaläggning av processortid och kommunikation mellan processer. All annan funktionalitet, exempelvis filsystem, drivrutiner för hårdvara och fönsterhantering förväntas ligga som separata användarprocesser. Tanken är då att en process kan krascha eller fungera onormalt utan att systemet som helhet upphör att fungera. Akademiskt är Minix i olika versioner ett känt exempel på mikrokärnor. Mer praktiskt populärt är QNX. Det finns även system som logiskt är uppdelade i flera moduler, med en snävt definierad central kärna, men där fler moduler än denna kärna körs i samma adressutrymme. Detta kallas ibland hybridkärna, med Windows NT som exempel. Ett problem som ofta framhålls med rena mikrokärnor är att mycket tid ägnas åt att kopiera innehåll i minnet mellan olika adressutrymmen, alternativt en virtuell växling av minne genom processorns minneshantering. Detta åtföljs av en växling av exekveringsmiljö, en s.k. , vilket kan göra populära naiva sätt att lösa vissa problem (som att läsa en rad i taget från en fil) synnerligen långsamma, om man inte lägger till en i klientprocessen. Vissa system med drivrutiner utanför kärnan löser detta genom att drivrutinen ligger i alla processers adressutrymmen och själv kan avgöra när och hur ett anrop skall skickas vidare. Det finns också mer tekniska lösningar för hur serverprocesser (för till exempel filsystem) skall kunna "haka på" vissa andra processer.
Abstract from DBpedia / Wikipedia · CC BY-SA
via Wikidata sitelinks · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).