Besturingssysteem (OS)

Een besturingssysteem (OS) is het programma dat, nadat het door een boot programma in de computer is geladen, alle andere toepassingsprogramma's in een computer beheert. De toepassingsprogramma's maken gebruik van het besturingssysteem door via een gedefinieerde toepassingsprogramma-interface (API) verzoeken om diensten te doen. Daarnaast kunnen gebruikers rechtstreeks met het besturingssysteem communiceren via een gebruikersinterface, zoals een commandoregelinterface (CLI) of een grafische UI (GUI).

Waarom een besturingssysteem gebruiken?

Een besturingssysteem biedt krachtige voordelen voor computersoftware en softwareontwikkeling. Zonder een besturingssysteem zou elke toepassing zijn eigen UI moeten hebben, evenals de uitgebreide code die nodig is om alle low-level functionaliteit van de onderliggende computer af te handelen, zoals schijfopslag, netwerkinterfaces, enzovoort. Gezien de grote verscheidenheid aan beschikbare onderliggende hardware, zou dit de omvang van elke applicatie enorm doen toenemen en de ontwikkeling van software onpraktisch maken.

In plaats daarvan kunnen veel voorkomende taken, zoals het verzenden van een netwerkpakket of het weergeven van tekst op een standaard uitvoerapparaat, zoals een beeldscherm, worden uitbesteed aan systeemsoftware die fungeert als een intermediair tussen de applicaties en de hardware. De systeemsoftware zorgt voor een consistente en herhaalbare manier waarop de toepassingen met de hardware kunnen communiceren, zonder dat de toepassingen details over de hardware hoeven te kennen.

Zolang elke toepassing op dezelfde manier toegang heeft tot dezelfde bronnen en diensten, kan die systeemsoftware - het besturingssysteem - bijna elk aantal toepassingen bedienen. Dit vermindert de hoeveelheid tijd en code die nodig is om een toepassing te ontwikkelen en te debuggen, terwijl de gebruikers de systeemhardware kunnen controleren, configureren en beheren via een gemeenschappelijke en goed begrepen interface.

This article is part of

Complete guide to unified endpoint management

  • Which also includes:
  • How to successfully implement MDM for BYOD
  • Understand how UEM, EMM and MDM differ from one another
  • 5 up-and-coming Mac management software vendors to know

Download1

Download this entire guide for FREE now!

Once installed, the operating system relies on a vast library of device drivers to tailor OS services to the specific hardware environment. Thus, every application may make a common call to a storage device, but the OS receives that call and uses the corresponding driver to translate the call into actions (commands) needed for the underlying hardware on that specific computer. Vandaag de dag biedt het besturingssysteem een uitgebreid platform dat een reeks hardware identificeert, configureert en beheert, waaronder processoren; geheugenapparaten en geheugenbeheer; chipsets; opslag; netwerken; poortcommunicatie, zoals Video Graphics Array (VGA), High-Definition Multimedia Interface (HDMI) en Universal Serial Bus (USB); en subsysteeminterfaces, zoals Peripheral Component Interconnect Express (PCIe).

Functies van een besturingssysteem

Een besturingssysteem biedt drie essentiële mogelijkheden: Het biedt een UI via een CLI of GUI; het start en beheert de uitvoering van applicaties; en het identificeert en stelt systeemhardware-bronnen beschikbaar aan die applicaties -- doorgaans via een gestandaardiseerde API.

UI.Elk besturingssysteem heeft een UI nodig, waarmee gebruikers en beheerders met het besturingssysteem kunnen interageren om het besturingssysteem en de onderliggende hardware in te stellen, te configureren en zelfs problemen op te lossen. Er zijn twee hoofdtypen UI beschikbaar: CLI en GUI.

OS De architectuur van een OS

De CLI, of terminal mode venster, biedt een op tekst gebaseerde interface waarbij gebruikers vertrouwen op het traditionele toetsenbord om specifieke commando's, parameters en argumenten in te voeren met betrekking tot specifieke taken. De GUI, of desktop, biedt een visuele interface gebaseerd op pictogrammen en symbolen waar gebruikers vertrouwen op gebaren die worden geleverd door menselijke interface apparaten, zoals touchpads, touchscreens en muis apparaten.

De GUI wordt het meest gebruikt door gelegenheids- of eindgebruikers die voornamelijk geïnteresseerd zijn in het manipuleren van bestanden en toepassingen, zoals het dubbelklikken op een bestandspictogram om het bestand te openen in zijn standaard toepassing. De CLI blijft populair bij geavanceerde gebruikers en systeembeheerders die regelmatig een reeks zeer granulaire en repetitieve opdrachten moeten uitvoeren, zoals het maken en uitvoeren van scripts om nieuwe pc's in te stellen voor werknemers.

Applicatiebeheer. Een besturingssysteem zorgt voor het starten en beheren van elke applicatie. Dit ondersteunt meestal een reeks gedragingen, waaronder timesharing van meerdere processen, of threads, zodat verschillende taken de beschikbare processortijd kunnen delen; het afhandelen van onderbrekingen die applicaties veroorzaken om de onmiddellijke aandacht van een processor te krijgen, ervoor zorgen dat er voldoende geheugen is om de applicatie en de bijbehorende gegevens uit te voeren zonder andere processen te verstoren; het uitvoeren van foutafhandeling die de processen van een applicatie netjes kan verwijderen; en het uitvoeren van geheugenbeheer zonder andere applicaties of het besturingssysteem te verstoren.

Een besturingssysteem kan ook API's ondersteunen waarmee toepassingen OS- en hardwarefuncties kunnen gebruiken zonder dat ze iets hoeven te weten over de toestand van het low-level OS of de hardware. Een Windows API kan bijvoorbeeld een programma in staat stellen invoer te verkrijgen van een toetsenbord of muis, GUI-elementen te maken, zoals dialoogvensters en knoppen, bestanden te lezen en te schrijven naar een opslagapparaat, enzovoort. Toepassingen zijn bijna altijd afgestemd op het besturingssysteem waarop de toepassing wil draaien.

Daarnaast kan een besturingssysteem de volgende diensten voor toepassingen verrichten:

  • In een multitasking-besturingssysteem, waarin meerdere programma's tegelijk kunnen draaien, bepaalt het besturingssysteem welke toepassingen in welke volgorde moeten draaien en hoeveel tijd aan elke toepassing moet worden gegund voordat een andere toepassing aan de beurt komt.
  • Het regelt de invoer/uitvoer (I/O) naar en van aangesloten hardware-apparaten, zoals harde schijven, printers en inbelpoorten.
  • Het stuurt berichten naar elke toepassing of interactieve gebruiker -- of naar een systeembeheerder -- over de status van de werking en eventuele fouten die zich hebben voorgedaan.
  • Het kan het beheer van batchtaken -- bijvoorbeeld afdrukken -- uit handen geven, zodat de initiërende toepassing van dit werk wordt bevrijd.
  • Op computers die parallelle verwerking kunnen bieden, kan een besturingssysteem regelen hoe het programma moet worden verdeeld, zodat het op meer dan één processor tegelijk wordt uitgevoerd.

Alle belangrijke computerplatforms (hardware en software) vereisen, en omvatten soms, een besturingssysteem, en besturingssystemen moeten worden ontwikkeld met verschillende functies om te voldoen aan de specifieke behoeften van verschillende vormfactoren.

Beheer van apparaten.Een besturingssysteem is verantwoordelijk voor het identificeren, configureren, en het bieden van toepassingen met gemeenschappelijke toegang tot onderliggende computerhardware-apparaten. Wanneer het besturingssysteem hardware herkent en identificeert, installeert het de bijbehorende apparaatstuurprogramma's die het besturingssysteem en de toepassingen die op het besturingssysteem draaien in staat stellen de apparaten te gebruiken zonder specifieke kennis van de hardware of de apparaten.

Een besturingssysteem is verantwoordelijk voor het identificeren van de juiste printer en het installeren van de juiste printerstuurprogramma's, zodat een toepassing alleen de printer hoeft aan te roepen zonder gebruik te hoeven maken van codes of opdrachten die specifiek zijn voor die printer -- dat is de taak van het besturingssysteem. De situatie is vergelijkbaar voor andere apparaten, zoals USB-poorten; netwerkpoorten; grafische apparaten, zoals grafische verwerkingseenheden (GPU's); chipsets op moederborden; en opslagapparaten, zoals SAS-schijfadapters (Serial-Attached SCSI) en schijven die zijn geformatteerd met een geschikt bestandssysteem.

Het besturingssysteem identificeert en configureert fysieke en logische apparaten voor service en legt ze meestal vast in een gestandaardiseerde structuur, zoals het Windows-register. Fabrikanten van apparatuur patchen en updaten de drivers regelmatig, en het OS moet ze bijwerken om de beste prestaties en beveiliging van de apparatuur te garanderen. Wanneer apparaten worden vervangen, installeert en configureert het besturingssysteem ook nieuwe stuurprogramma's.

Typen besturingssystemen en voorbeelden

Hoewel de fundamentele rollen van een besturingssysteem alomtegenwoordig zijn, zijn er talloze besturingssystemen die in een breed scala aan hardware- en gebruikersbehoeften voorzien.

Besturingssysteem voor algemene doeleinden.Een besturingssysteem voor algemene doeleinden vertegenwoordigt een reeks besturingssystemen die bedoeld zijn om een groot aantal toepassingen op een brede selectie hardware uit te voeren, zodat een gebruiker een of meer toepassingen of taken tegelijk kan uitvoeren. Een besturingssysteem voor algemene doeleinden kan op veel verschillende desktop- en laptopmodellen worden geïnstalleerd en kan toepassingen draaien, van boekhoudsystemen tot databases en van webbrowsers tot spelletjes. Besturingssystemen voor algemene doeleinden richten zich meestal op proces- (threads) en hardwarebeheer om ervoor te zorgen dat toepassingen op betrouwbare wijze gebruik kunnen maken van het brede scala aan aanwezige computerhardware.

Gemeenschappelijke desktopbesturingssystemen zijn onder andere de volgende:

  • Windows is Microsofts vlaggenschip besturingssysteem, de de facto standaard voor thuis- en bedrijfscomputers. Geïntroduceerd in 1985, is het GUI-gebaseerde OS sindsdien in vele versies uitgebracht. Het gebruiksvriendelijke Windows 95 was grotendeels verantwoordelijk voor de snelle ontwikkeling van personal computing.
  • Mac OS is het besturingssysteem voor Apple's Macintosh lijn van PC's en werkstations.
  • Unix is een multiuser besturingssysteem ontworpen voor flexibiliteit en aanpassingsvermogen. Oorspronkelijk ontwikkeld in de jaren 1970, was Unix een van de eerste besturingssystemen die werd geschreven in de taal C.
  • Linux is een Unix-achtig besturingssysteem dat is ontworpen om PC-gebruikers een gratis of goedkoop alternatief te bieden. Linux heeft de reputatie een efficiënt en snel presterend systeem te zijn.

Mobiel besturingssysteem.Mobiele besturingssystemen zijn ontworpen om te voldoen aan de unieke behoeften van mobiele computers en communicatie-gerichte apparaten, zoals smartphones en tablets. Mobiele apparaten bieden doorgaans beperkte computerresources in vergelijking met traditionele pc's, en het besturingssysteem moet in omvang en complexiteit worden teruggeschroefd om het eigen resourcegebruik te minimaliseren en tegelijkertijd voldoende resources te garanderen voor een of meer applicaties die op het apparaat draaien. Bij mobiele besturingssystemen ligt de nadruk meestal op efficiënte prestaties, reactiesnelheid van de gebruiker en veel aandacht voor gegevensverwerkingstaken, zoals het ondersteunen van mediastreaming. Apple iOS en Google Android zijn voorbeelden van mobiele besturingssystemen.

Ingebedde besturingssystemen. Niet alle computerapparatuur is geschikt voor algemeen gebruik. Een groot aantal specifieke apparaten - waaronder digitale assistenten voor thuis, geldautomaten, vliegtuigsystemen, verkooppuntterminals in de detailhandel en het internet der dingen (IoT) - bevat computers waarvoor een besturingssysteem nodig is. Het belangrijkste verschil is dat het bijbehorende computerapparaat slechts één belangrijk ding doet, zodat het besturingssysteem sterk is uitgekleed en gericht is op zowel prestaties als veerkracht. Het OS moet snel werken, mag niet crashen en moet alle fouten netjes afhandelen om onder alle omstandigheden te kunnen blijven werken. In de meeste gevallen wordt het OS geleverd op een chip die in het eigenlijke apparaat is ingebouwd. Een medisch apparaat dat wordt gebruikt in de levensinstandhoudingsapparatuur van een patiënt, bijvoorbeeld, zal een ingebed besturingssysteem gebruiken dat betrouwbaar moet werken om de patiënt in leven te houden. Embedded Linux is een voorbeeld van een embedded besturingssysteem.

Netwerkbesturingssysteem. Een netwerkbesturingssysteem (NOS) is een ander gespecialiseerd besturingssysteem dat is bedoeld om de communicatie tussen apparaten op een lokaal netwerk (LAN) te vergemakkelijken. Een NOS biedt de communicatiestack die nodig is om netwerkprotocollen te begrijpen en zo netwerkpakketten te creëren, uit te wisselen en te ontleden. Vandaag is het concept van een gespecialiseerde NOS grotendeels achterhaald omdat andere OS-types de netwerkcommunicatie grotendeels voor hun rekening nemen. Windows 10 en Windows Server 2019, bijvoorbeeld, bevatten uitgebreide netwerkmogelijkheden. Het concept van een NOS wordt nog steeds gebruikt voor sommige netwerkapparaten, zoals routers, switches en firewalls, en fabrikanten kunnen eigen NOS'en gebruiken, waaronder Cisco Internetwork Operating System (IOS), RouterOS en ZyNOS.

Realtime besturingssysteem.Wanneer een computerapparaat moet interageren met de echte wereld binnen constante en herhaalbare tijdsbeperkingen, kan de fabrikant van het apparaat ervoor kiezen om een real-time besturingssysteem (RTOS) te gebruiken. Een industrieel besturingssysteem kan bijvoorbeeld de werking van een uitgestrekte fabriek of energiecentrale aansturen. Een dergelijke installatie produceert signalen van talloze sensoren en stuurt ook signalen om kleppen, actuatoren, motoren en ontelbare andere apparaten te bedienen. In deze situaties moet het industriële besturingssysteem snel en voorspelbaar reageren op veranderende omstandigheden in de praktijk - anders kan er een ramp gebeuren. Een RTOS moet functioneren zonder buffering, verwerkingslatenties en andere vertragingen, die in andere typen besturingssystemen volkomen acceptabel zijn. Twee voorbeelden van RTOSen zijn FreeRTOS en VxWorks.

De verschillen tussen de typen besturingssystemen zijn niet absoluut, en sommige besturingssystemen kunnen kenmerken van andere delen. Bijvoorbeeld, besturingssystemen voor algemene doeleinden bevatten routinematig de netwerkmogelijkheden die in een traditionele NOS worden gevonden. Evenzo bevat een embedded besturingssysteem vaak kenmerken van een RTOS, terwijl een mobiel besturingssysteem doorgaans nog steeds een groot aantal apps tegelijk kan draaien, net als andere besturingssystemen voor algemeen gebruik.