Een systeemprogramma is een type computerprogramma dat is ontworpen om taken uit te voeren die verband houden met het beheer en de controle van computerhardware en softwarebronnen. Ze fungeren als interface tussen de gebruiker en de hardware en bieden diensten waarmee applicaties efficiënt kunnen werken en met het systeem kunnen communiceren. Ze zijn over het algemeen niet direct betrokken bij gebruikerstaken zoals tekstverwerking of het spelen van games; in plaats daarvan verzorgen zij de processen achter de schermen die deze toepassingen mogelijk maken.
Systeemprogramma's kunnen grofweg in verschillende typen worden onderverdeeld, hoewel de lijnen soms kunnen vervagen:
1. Besturingssystemen (OS): Dit is het meest fundamentele systeemprogramma. Het besturingssysteem beheert alle hardware- en softwarebronnen, inclusief geheugen, processors, opslagapparaten en invoer-/uitvoerapparaten. Voorbeelden hiervan zijn Windows, macOS, Linux, Android en iOS. Het besturingssysteem biedt services zoals procesbeheer, geheugenbeheer, bestandssystemen, beveiliging en netwerken.
2. Hulpprogramma's voor bestandsbeheer: Deze programma's zorgen voor het maken, verwijderen, manipuleren en ordenen van bestanden en mappen op opslagapparaten. Voorbeelden hiervan zijn opdrachten als `cp` (kopiëren), `mv` (verplaatsen), `rm` (verwijderen), `mkdir` (map maken) en grafische bestandsverkenners (zoals Windows Verkenner of Finder).
3. Teksteditors/compilers/tolken: Hoewel teksteditors vaak rechtstreeks door gebruikers worden gebruikt, zijn het ook cruciale systeemprogramma's. Compilers vertalen programmeertalen op hoog niveau (zoals C++, Java) naar machinaal leesbare code, terwijl tolken code regel voor regel uitvoeren (zoals Python of JavaScript). Deze zijn essentieel voor softwareontwikkeling en systeemonderhoud.
4. Linkers/laders: Deze programma's bereiden uitvoerbare programma's voor en laden deze in het geheugen voor uitvoering. De linker combineert verschillende delen van een programma (bijvoorbeeld objectbestanden gemaakt door een compiler) tot één uitvoerbaar bestand. De lader laadt dit bestand vervolgens in het geheugen en bereidt het voor op uitvoering door de CPU.
5. Apparaatstuurprogramma's: Dit zijn systeemprogramma's die fungeren als tussenpersoon tussen het besturingssysteem en hardwareapparaten (printers, grafische kaarten, netwerkadapters, enz.). Ze zorgen ervoor dat het besturingssysteem met deze apparaten kan communiceren en deze kan besturen.
6. Hulpprogramma's voor systeembewaking: Deze programma's houden de systeemprestaties, het gebruik van bronnen (CPU, geheugen, schijf-I/O) en andere systeemstatistieken bij. Ze helpen knelpunten en potentiële problemen te identificeren. Voorbeelden hiervan zijn `top`, `htop` (Linux), Taakbeheer (Windows) en Activiteitenmonitor (macOS).
7. Systeemhulpprogramma's: Een brede categorie die verschillende kleine programma's omvat die specifieke systeemgerelateerde taken uitvoeren. Dit omvat programma's voor:
* Diagnostiek: Controle van de status van het systeem.
* Back-up en herstel: Back-ups maken en gegevens herstellen.
* Beveiliging: Implementatie van firewalls, antivirus en andere beveiligingsmaatregelen.
* Netwerken: Netwerkverbindingen en configuraties beheren.
* Schijfbeheer: Partitioneren, formatteren en schijfruimte beheren.
Het is belangrijk op te merken dat het onderscheid tussen systeemprogramma's en applicatieprogramma's niet altijd strikt is. Sommige programma's kunnen kenmerken van beide hebben. Een databasemanagementsysteem (DBMS) kan bijvoorbeeld worden beschouwd als een systeemprogramma omdat het gegevensbronnen beheert, maar het wordt ook gebruikt door toepassingen voor het opslaan en ophalen van gegevens. |