Systeemsoftware is een type computerprogramma dat is ontworpen om de hardware van een computer en toepassingsprogramma's te laten werken. Als we het computersysteem zien als een gelaagd model, is de systeemsoftware de interface tussen de hardware en de gebruikerstoepassingen. Het besturingssysteem is het bekendste voorbeeld van systeemsoftware. Het OS beheert alle andere programma's in een computer.
Systeemsoftware wordt gebruikt om de computer zelf te beheren. Het draait op de achtergrond en houdt de basisfuncties van de computer in stand, zodat gebruikers software van een hoger niveau kunnen draaien om bepaalde taken uit te voeren. In wezen biedt systeemsoftware een platform waarop toepassingssoftware kan worden uitgevoerd.
Belangrijke kenmerken van systeemsoftware
Computerfabrikanten ontwikkelen de systeemsoftware meestal als integraal onderdeel van de computer. De primaire verantwoordelijkheid van deze software is het creëren van een interface tussen de computerhardware die zij fabriceren en de eindgebruiker.
Systeemsoftware heeft over het algemeen de volgende kenmerken:
- Hoge snelheid.Systeemsoftware moet zo efficiënt mogelijk zijn om een effectief platform te bieden voor software op hoger niveau in het computersysteem.
- Hard te manipuleren. Het vereist vaak het gebruik van een programmeertaal, die moeilijker te gebruiken is dan een meer intuïtieve gebruikersinterface (UI).
- Geschreven in een computertaal op laag niveau. Systeemsoftware moet worden geschreven in een computertaal die de centrale verwerkingseenheid (CPU) en andere computerhardware kunnen lezen.
- Ligt dicht bij het systeem. Het maakt rechtstreeks verbinding met de hardware die de computer in staat stelt te werken.
- Verschillig. Systeemsoftware moet zowel communiceren met de gespecialiseerde hardware waarop zij draait als met de toepassingssoftware op hoger niveau die meestal hardware-agnostisch is en vaak geen directe verbinding heeft met de hardware waarop zij draait. Systeemsoftware moet ook andere programma's ondersteunen die ervan afhankelijk zijn terwijl ze zich ontwikkelen en veranderen.
Typen systeemsoftware
Systeemsoftware beheert de basisfuncties van de computer, waaronder het schijfbesturingssysteem, hulpprogramma's voor bestandsbeheer en besturingssystemen.
Andere voorbeelden van systeemsoftware zijn onder meer de volgende:
Een compleet beeld van de software stack. Systeemsoftware omvat de firmware tot en met de OS-niveaus van dit model.
- Het BIOS (basic input/output system) start het computersysteem nadat het is ingeschakeld en beheert de gegevensstroom tussen het OS en aangesloten apparaten, zoals de harde schijf, de videoadapter, het toetsenbord, de muis en de printer.
- Het boot-programma laadt het OS in het hoofdgeheugen of het RAM-geheugen (random access memory) van de computer.
- Een assembler neemt basiscomputerinstructies en zet ze om in een patroon van bits die de processor van de computer kan gebruiken om de basisbewerkingen uit te voeren.
- Een device driver regelt een bepaald type apparaat dat op uw computer is aangesloten, zoals een toetsenbord of muis. Het stuurprogramma zet de meer algemene I/O-instructies van het besturingssysteem om in berichten die het apparaattype kan begrijpen.
Bovendien kan systeemsoftware ook systeemhulpprogramma's omvatten, zoals de schijfdefragmenteerder en Systeemherstel, en ontwikkelingshulpmiddelen, zoals compilers en debuggers.
Besturingssystemen
Het besturingssysteem van de computer is een bekend voorbeeld van systeemsoftware. Veelgebruikte besturingssystemen zijn Microsoft Windows, macOS en Linux. In tegenstelling tot andere soorten systeemsoftware heeft de gemiddelde computergebruiker regelmatig interactie met het OS van de computer via de grafische UI (GUI) en, bij sommige besturingssystemen, een minder complexe opdrachtregelinterface (CLI).
Omdat een GUI een programma is dat bovenop het OS zit, kan het worden aangeduid als toepassingssoftware, niet als systeemsoftware. Met andere woorden, de GUI is toepassingssoftware die het de gebruiker mogelijk maakt delen van het besturingssysteem te manipuleren.
Belangrijke taken van het besturingssysteem
De belangrijkste verantwoordelijkheid van het besturingssysteem is het beheren van de software en hardwarebronnen van een computer. Het is het belangrijkste besturingsprogramma van de computer. Het besturingssysteem controleert en onderhoudt alle andere programma's op de computer, waaronder zowel toepassings- als systeemsoftware. Het OS creëert een omgeving waarin alle andere computerprogramma's draaien en verleent service aan die andere toepassingen.
Besturingssystemen voeren taken uit. Vijf van de belangrijkste zijn de volgende:
- Bestandsbeheer en procesplanning. Het OS wijst bronnen toe en geeft prioriteit aan welke programma's de bronnen moeten krijgen en in welke volgorde. Een toepassing voor een digitaal audio-werkstation kan bijvoorbeeld een bepaald niveau van verwerkingskracht nodig hebben wanneer het wordt gebruikt. Het OS beslist hoeveel vermogen de toepassing van de CPU krijgt en beheert de effecten van die toewijzing op andere toepassingen. Als elders op de computer een kritischer proces gaande is, kan het besturingssysteem bijvoorbeeld een deel van de door het digitale audio-werkstation gevraagde kracht opofferen om ervoor te zorgen dat het andere proces kan worden voltooid.
- Processor- en geheugenbeheer. Het besturingssysteem wijst het geheugen van de computer aan een proces toe wanneer dat nodig is en wijst het toe wanneer het proces is voltooid.
- Opsporing van fouten. Het besturingssysteem spoort fouten in de andere programma's van de computer op, volgt ze en verhelpt ze.
- Veiligheid. Het besturingssysteem gebruikt wachtwoorden om de programma's en gegevens van de computer te beschermen tegen toegang door onbevoegden.
- Controle en beheer. Het besturingssysteem gebruikt compilers, assemblers en interpreters om andere programma's op de computer te controleren en te beheren. Deze taalverwerkers zijn onderdelen van de systeemsoftware die de high-level talen - Java, Python en C++ - waarin veel computerprogramma's zijn geschreven, vertalen naar low-level machinecode-instructies, wat in wezen een reeks van 1-en en 0-en is die de CPU van de computer kan lezen.
Verschil tussen systeemsoftware en toepassingssoftware
Systeemsoftware en toepassingsprogramma's zijn de twee belangrijkste soorten computersoftware. In tegenstelling tot systeemsoftware voert toepassingssoftware -- vaak gewoon een toepassing of app genoemd -- een bepaalde functie uit voor de eindgebruiker. Enkele voorbeelden van toepassingssoftware zijn:
- webbrowsers
- email clients
- word processors
- spreadsheets
Lees meer over de belangrijkste verschillen tussen toepassings- en systeemsoftware.
Applicatiesoftware en systeemsoftware worden verschillend gecodeerd. Systeemsoftware wordt geschreven in systeemprogrammeertalen - zoals Executive Systems Problem Oriented Language (ESPOL) - die zijn ontworpen om gemakkelijk toegang te bieden tot de onderliggende computerhardware. Toepassingsprogramma's worden geschreven in talen voor algemene doeleinden, zoals Pascal, die het programma in staat stellen dezelfde code op verschillende platforms te gebruiken. Sommige talen, zoals C, worden zowel voor systeem- als toepassingssoftware gebruikt.
Systeemsoftware en toepassingssoftware worden ook verschillend geactiveerd. Systeemsoftware wordt over het algemeen geactiveerd wanneer een computer of apparaat wordt aangezet, en blijft aan totdat het apparaat wordt uitgezet. Applicatiesoftware wordt geactiveerd door een eindgebruiker nadat de computer is aangezet. Toepassingssoftware heeft systeemsoftware nodig om te functioneren, terwijl systeemsoftware onafhankelijk van toepassingssoftware kan draaien.
In de meeste gevallen hebben eindgebruikers geen interactie met systeemsoftware omdat deze op de achtergrond draait. De eindgebruiker heeft daarentegen wel te maken met toepassingssoftware: installeren, opstarten, gebruiken voor bepaalde taken, weer afsluiten en de-installeren.