Kärnan är
core av ett operativsystem (OS) och därför en kritisk komponent för ett datorsystem att fungera. Det är
mellanhand mellan hårdvaran och applikationerna som körs på systemet. Tänk på det som dirigent för en orkester, hantera och samordna alla olika delar (hårdvaran) så att de arbetar harmoniskt för att producera en sammanhängande prestanda (applikationerna som körs).
Här är en uppdelning av dess nyckelroller:
1. Resurshantering:
* CPU -schemaläggning: Kärnan bestämmer vilken process som ska använda CPU och hur länge. Det växlar mellan processer snabbt (genom tekniker som tidsskivning) för att ge en illusion av samtidighet, vilket innebär att flera applikationer körs samtidigt. Det syftar till att optimera CPU -användningen och förhindra en process från att monopolisera resursen.
* Minneshantering: Kärnan ansvarar för att tilldela och hantera minne (RAM) till olika processer. Det håller reda på vilka minnesplatser som är gratis, vilka som används och genom vilken process. Det hanterar också virtuellt minne, vilket gör att processer kan använda mer minne än fysiskt tillgängligt genom att byta data mellan RAM och hårddisken. Detta inkluderar hantering av minnesallokering, återförsäljning och skydd.
* I/O -hantering: Kärnan hanterar ingångs-/utgångsoperationer (I/O), till exempel att läsa från och skriva till hårddisk, tangentbord, mus, nätverksgränssnitt och andra kringutrustning. Det ger ett konsekvent gränssnitt för applikationer för att interagera med dessa enheter, oavsett de specifika hårdvaruinformationen. Detta görs genom enhetsdrivrutiner.
2. Tillhandahålla systemsamtal:
* gränssnitt för applikationer: Kärnan tillhandahåller en uppsättning systemsamtal (även känd som Syscalls) som gör det möjligt för applikationer att begära tjänster från operativsystemet, till exempel att skapa en fil, läsa data från en nätverksanslutning eller visa text på skärmen. Dessa systemsamtal är det enda sättet för applikationer på användarnivå att direkt interagera med hårdvaran. Utan systemsamtal skulle applikationer vara isolerade och oförmögna att utföra väsentliga funktioner.
3. Enhetsdrivare:
* Hårdvaruabstraktion: Kärnan innehåller eller länkar till enhetsdrivrutiner, som är mjukvarumoduler som gör att kärnan kan kommunicera med specifika hårdvaruenheter. Förare översätter allmänna förfrågningar från kärnan till de specifika kommandon som krävs av hårdvaran. Detta gör att operativsystemet kan stödja ett brett utbud av enheter utan att behöva skrivas om för varje ny enhet.
4. Säkerhet:
* Åtkomstkontroll: Kärnan verkställer säkerhetspolicyer, till exempel att kontrollera vilka användare eller processer som har tillgång till specifika resurser (filer, kataloger, minne etc.). Det hjälper till att förhindra obehörig åtkomst och skyddar systemet från skadlig programvara.
* Användarverifiering: Kärnan spelar ofta en roll i användarverifiering och verifierar användarnas identitet innan de ger dem tillgång till systemet.
5. Processhantering:
* Process skapande och uppsägning: Kärnan ansvarar för att skapa och säga upp processer, tilldela och hantera resurser efter behov.
* Process Synkronisering och kommunikation: Kärnan tillhandahåller mekanismer för processer för att synkronisera sin verksamhet och kommunicera med varandra och säkerställa att de inte stör varandra och kan arbeta tillsammans effektivt. Detta kan inkludera semaforer, mutexer, rör, meddelandeköer och delat minne.
6. Avbrottshantering:
* Svara på hårdvaruhändelser: Kärnan hanterar avbrott, som är signaler från hårdvaruenheter som indikerar att de kräver uppmärksamhet. Avbrott tillåter kärnan att svara på händelser i realtid, till exempel en tangentpress på tangentbordet eller slutförandet av en dataöverföring från hårddisken.
Sammanfattningsvis:
Kärnan är det grundläggande mjukvaran som hanterar datorns hårdvaruresurser och ger en plattform för applikationer att köra. Det är viktigt för stabilitet, säkerhet och effektivt utnyttjande av systemet. Utan en kärna skulle hårdvaran bara vara en samling komponenter som inte kan utföra någon meningsfull uppgift.