Die bedryfstelselkern in rekenaarwetenskap verwys na die sentrale komponent van die meeste rekenaarbedryfstelsels. Die kern is verantwoordelik die bestuur van die stelsel se hulpbronne (die kommunikasie tussen die hardeware- en sagtewarekomponente). Die kern as basiese komponent van 'n bedryfstelsel verskaf die laagste vlak abstraksielaag vir die hulpbronne (veral ewetoeganklike geheue, SVE's en Toevoer/afvoertoestelle) wat toepassingsagteware moet beheer om hul funksies te verrig. Dit maak tipies hierdie fasiliteite beskikbaar aan toepassingsagteware se prosesse deur middel van interproseskommunikasie meganismes en stelselroepe.
Hierdie take word verskillend aangepak deur verskillende bedryfstelselkerne, afhangende van hul ontwerp en implementering. Terwyl monolitiese kerne probeer om hierdie doelwitte te bereik deur al die kode in dieselfde adresruimte uit te voer om die werkverrigting van die stelsel te probeer verbeter, mikrokerne hardloop die meeste van hulle dienste in die gebruikersruimte, met die mikpunt om die onderhoubaarheid en modulariteit van die kodebasis te verbeter. 'n Reeks van moontlikhede bestaan tussen hierdie twee uiterste benaderings.
Volgens Jochen Liedtke is die bedryfstelselkern al daardie dele wat deel maak van die bedryfstelsel en wat noodsaaklik is en deur alle ander sagteware benodig word.
Die meeste bedryfstelsels maak staat op die begrip van 'n bedryfstelselkern. Die bestaan van 'n kern is 'n natuurlike gevolg van 'n ontwerpsbenadering waar die rekenaarstelsel gesien word as 'n reeks abstraksielae wat elk staat maak op die funksies en lae daaronder. Die kern, gesien uit dié oogpunt, is eenvoudig die naam wat gegee word aan die laagste vlak van abstraksie wat deur sagteware geïmplementeer word.
In die meeste gevalle sal die selflaaier (en: Boot Loader) die kern begin uitvoer in beheermodus. Die hoogste voorregvlak het verskeie name afhangende van die argitektuur (beheermodus (supervisor mode), kernmodus (kernel mode), CPLO, DPLO, Ring O ensovoorts). Die kern inisialiseer homself en begin dan die eerste proses. Hierna sal die kern tipies nie direk loop nie maar slegs in reaksie op eksterne gebeure (d.w.s deur stelselroepe van toepassingsprogramme om dienste te versoek vanaf die kern of deur onderbrekingsversoeke wat deur die hardeware gebruik word om die kern van gebeure te verwittig). Verder verskaf die kern tipies 'n lus wat uitgevoer word wanneer daar geen prosesse beskikbaar is om uit te voer nie; dit word dikwels na verwys as die vrylooptyd.
Die ontwikkeling van die bedryfstelselkern word beskou as een van die mees komplekse en moeilike programeertake.[1] Die sentrale posisie van die kern in 'n bedryfstelsel maak goeie werkverrigting noodsaaklik en beteken dat die kern 'n kritiese sagtewarekomponent is. Om verskeie redes is dit dikwels nie moontlik om die abstraksiemeganismes te gebruik wat aan ander sagteware verskaf word nie.
'n Kern sal gewoonlik laevlak skeduleringkenmerke verskaf[2] vir prosesse.
Die kern se hoofdoel is om die rekenaar se hulpbronne te bestuur en ander programme daartoe in staat te stel om hierdie hulpbronne te hardloop en te gebruik. Hierdie hulpbronne bestaan tipies uit:
Sleuteloorwegings in die bestuur van hulpbronne is die definisie van 'n uitvoerdomein (adresruimte) en die beskermingsmeganismes wat gebruik word om die toegang tot hulpbronne binne-in 'n domein te beheer.
Bedryfstelselkerne verskaf ook gewoonlik die metodes vir die sinkronisasie en kommunikasie tussen prosesse.
'n Bedryfstelselkern kan ook die kenmerke self implementeer of op van die prosesse wat dit uitvoer staatmaa om die fasiliteite te verskaf aan ander prosesse in welke geval dit 'n interproseskommunikasie-meganisme daar moet stel om die prosesse toe te laat om die fasiliteite by mekaar onderling te kan verkry. Die kern moet dan die programme wat loop van 'n metode voorsien om versoeke te rig om toegang tot hierdie fasiliteite te verkry.