De primaire functies van de Unix-kernel zijn als volgt:
- Procesbeheer: De kernel creëert, plant en beheert de uitvoering van processen. Het wijst bronnen toe aan elk proces, zoals geheugen, CPU-tijd en toegang tot randapparatuur. Bovendien zorgt de kernel ervoor dat processen veilig en efficiënt verlopen door de synchronisatie, communicatie en interprocescommunicatie (IPC) tussen processen te beheren.
- Geheugenbeheer: De kernel is verantwoordelijk voor het beheer van het fysieke en virtuele geheugen van het systeem. Het wijst indien nodig geheugen toe aan processen en geeft het vrij, en maakt gebruik van verschillende technieken voor geheugenbeheer, zoals paging en swapping, om het geheugengebruik te optimaliseren en efficiënte geheugentoegang te garanderen.
- Bestandssysteembeheer: De kernel biedt een interface voor processen om bestanden te openen en te manipuleren. Het beheert het bestandssysteem, organiseert en slaat gegevens op opslagapparaten op en zorgt ervoor dat de gegevensintegriteit behouden blijft. De kernel ondersteunt ook verschillende typen bestandssystemen en biedt functies zoals het maken, verwijderen, hernoemen en wijzigen van bestanden.
- Netwerkbeheer: De kernel verzorgt de netwerkcommunicatie en gegevensoverdracht. Het implementeert de TCP/IP-protocolstack en biedt diensten voor netwerktaken, waaronder pakketroutering, IP-adresbeheer en DNS-resolutie. De kernel beheert ook netwerkapparaten, zoals netwerkkaarten en routers, waardoor processen gegevens via het netwerk kunnen uitwisselen.
- Apparaatbeheer: De kernel is verantwoordelijk voor het beheer van hardwareapparaten, zoals schijven, printers en randapparatuur. Het biedt een abstractielaag die de hardwarespecifieke details verbergt voor processen en applicaties, waardoor ze op een uniforme en consistente manier toegang krijgen tot apparaten. De kernel verwerkt interrupts en I/O-bewerkingen van apparaten, waardoor efficiënte en betrouwbare apparaatcommunicatie wordt gegarandeerd.
- Beveiligingsbeheer: De kernel biedt beveiligingsfuncties om het systeem te beschermen tegen ongeoorloofde toegang en misbruik. Het implementeert mechanismen voor gebruikersauthenticatie, toegangscontrole en auditing. Bovendien dwingt de kernel een verplicht toegangscontrolebeleid af en gebruikt het verschillende beveiligingsmaatregelen, zoals sandboxing en scheiding van bevoegdheden, om potentiële beveiligingsproblemen te voorkomen.
- Systeemaanroepen: De kernel biedt een reeks systeemaanroepen, dit zijn fundamentele bewerkingen die processen kunnen gebruiken om met de kernel te communiceren. Met systeemaanroepen kunnen processen diensten van de kernel aanvragen, zoals het maken van nieuwe processen, toegang krijgen tot bestanden en het verzenden van netwerkpakketten. De kernel implementeert deze systeemaanroepen en handelt de onderliggende systeembewerkingen af, en zorgt ervoor dat processen op een gecontroleerde en gestandaardiseerde manier met het systeem communiceren. |