Een besturingssysteem fungeert als een intermediair tussen de gebruiker van een computer en de computerhardware. Het doel van een besturingssysteem is om een omgeving te bieden waarin een gebruiker programma’s op een handige en efficiënte manier kan uitvoeren.
Een besturingssysteem is software die de computerhardware beheert. De hardware moet voorzien in passende mechanismen om de juiste werking van het computersysteem te waarborgen en om te voorkomen dat gebruikersprogramma’s de goede werking van het systeem verstoren.
Besturingssysteem – Definitie:
- Een besturingssysteem is een programma dat de uitvoering van toepassingsprogramma’s regelt en als interface fungeert tussen de gebruiker van een computer en de computerhardware.
- Een meer gangbare definitie is dat het besturingssysteem het enige programma is dat te allen tijde op de computer draait (meestal de kernel genoemd), terwijl alle andere programma’s toepassingsprogramma’s zijn.
- Een besturingssysteem houdt zich bezig met de toewijzing van hulpbronnen en diensten, zoals geheugen, processoren, apparaten en informatie. Het besturingssysteem bevat dienovereenkomstig programma’s om deze hulpbronnen te beheren, zoals een verkeersregelaar, een scheduler, een geheugenbeheermodule, I/O-programma’s en een bestandssysteem.
Functies van het besturingssysteem – Het besturingssysteem vervult drie functies:
- Gemak: Een OS maakt een computer handiger in het gebruik.
- Efficiëntie: Een OS zorgt ervoor dat de systeembronnen van de computer op een efficiënte manier worden gebruikt.
- Vermogen om te evolueren: Een OS moet zodanig zijn geconstrueerd dat het tegelijkertijd effectief ontwikkelen, testen en introduceren van nieuwe systeemfuncties mogelijk is zonder de dienstverlening te hinderen.
Besturingssysteem als gebruikersinterface –
- Gebruiker
- Systeem- en toepassingsprogramma’s
- Besturingssysteem
- Hardware
Elke computer voor algemeen gebruik bestaat uit de hardware, het besturingssysteem, de systeemprogramma’s en de toepassingsprogramma’s. De hardware bestaat uit geheugen, CPU, ALU, en I/O-apparaten, randapparatuur, en opslagapparaat. Het systeemprogramma bestaat uit compilers, loaders, editors, OS, enz. Het toepassingsprogramma bestaat uit bedrijfsprogramma’s, databaseprogramma’s.
Fig1: Conceptueel beeld van een computersysteem
Elke computer moet een besturingssysteem hebben om andere programma’s te kunnen uitvoeren. Het besturingssysteem coördineert het gebruik van de hardware door de verschillende systeemprogramma’s en toepassingsprogramma’s voor verschillende gebruikers. Het biedt eenvoudigweg een omgeving waarbinnen andere programma’s nuttig werk kunnen verrichten.
Het besturingssysteem is een verzameling speciale programma’s die op een computersysteem draaien en het in staat stellen naar behoren te werken. Het voert basistaken uit zoals het herkennen van invoer van het toetsenbord, het bijhouden van bestanden en mappen op de schijf, het verzenden van uitvoer naar het beeldscherm en het aansturen van randapparatuur.
OS is ontworpen om twee basisdoeleinden te dienen:
- Het regelt de toewijzing en het gebruik van de hulpbronnen van het computersysteem onder de verschillende gebruikers en taken.
- Het biedt een interface tussen de computerhardware en de programmeur die het coderen, creëren en debuggen van toepassingsprogramma’s vereenvoudigt en mogelijk maakt.
Het besturingssysteem moet de volgende taken ondersteunen. De taken zijn:
- Biedt de faciliteiten voor het maken, wijzigen van programma’s en databestanden met behulp van een editor.
- Toegang tot de compiler voor het vertalen van het gebruikersprogramma van high level taal naar machinetaal.
- Een loader-programma om de gecompileerde programmacode naar het geheugen van de computer te verplaatsen voor uitvoering.
- Routines die de details van de I/O-programmering afhandelen.
I/O-systeembeheer –
De module die de status van de apparaten bijhoudt, wordt de I/O-verkeersregelaar genoemd. Elk I/O-apparaat heeft een apparaathandler die zich in een afzonderlijk proces bevindt dat aan dat apparaat is gekoppeld.
Het I/O-subsysteem bestaat uit
- Een geheugenbeheercomponent die buffering caching en spooling omvat.
- Een algemene apparaatstuurprogramma-interface.
Stuurprogramma’s voor specifieke hardware-apparaten.
Assembler –
De invoer voor een assembler is een assembleertaalprogramma. De output is een objectprogramma plus informatie die de loader in staat stelt het objectprogramma gereed te maken voor uitvoering. Ooit beschikte de computerprogrammeur over een basismachine die, via hardware, bepaalde fundamentele instructies interpreteerde. Hij zou deze computer programmeren door een reeks enen en nullen (machinetaal) te schrijven en deze in het geheugen van de machine te plaatsen.
Compiler –
De talen op hoog niveau – voorbeelden zijn FORTRAN, COBOL, ALGOL en PL/I worden verwerkt door compilers en interpreters. Een compiler is een programma dat een bronprogramma in een “high-level language” accepteert en een overeenkomstig objectprogramma produceert. Een interpreter is een programma dat een bronprogramma lijkt uit te voeren alsof het machinetaal was. Dezelfde naam (FORTRAN, COBOL, enz.) wordt vaak gebruikt om zowel een compiler als de bijbehorende taal aan te duiden.
Loader –
Een Loader is een routine die een objectprogramma laadt en klaarmaakt voor uitvoering. Er zijn verschillende laadschema’s: absoluut, relocerend en direct-linking. In het algemeen moet de loader het objectprogramma laden, verplaatsen en koppelen. De loader is een programma dat programma’s in het geheugen plaatst en ze klaarmaakt voor uitvoering. In een eenvoudig laadschema voert de assembler de machinetaalvertaling van een programma uit op een secundair apparaat en een loader plaatst het in de kern. De loader plaatst de machinetaalversie van het programma van de gebruiker in het geheugen en draagt de besturing over aan het programma. Aangezien het loaderprogramma veel kleiner is dan de assembler, maken die meer kern beschikbaar voor het programma van de gebruiker.
Geschiedenis van het besturingssysteem –
Het besturingssysteem is door de jaren heen geëvolueerd. De volgende tabel toont de geschiedenis van het besturingssysteem.
Generatie | Jaar | Gebruikt elektronisch apparaat | Typen OS Apparaat |
---|---|---|---|
Eerste | 1945-55 | Vaccum Buizen | Plug Boards |
Tweede | 1955-65 | Transistoren | Batch Systemen |
Derde | 1965-80 | Geïntegreerde schakelingen (IC) | Multiprogrammering |
Vierde | Sinds 1980 | Grote Integratie | PC |
Soorten Besturingssystemen –
- Batch Besturingssysteem- Opeenvolging van opdrachten in een programma op een computer zonder handmatige tussenkomst.
- Tijdverdelend besturingssysteem- maakt het mogelijk voor veel gebruikers om de computerbronnen te delen.(Maximale benutting van de middelen).
- Distributed operating system- Beheert een groep verschillende computers en laat lijken op een enkele computer.
- Network operating system- Computers die draaien in verschillende besturingssystemen kunnen deelnemen aan een gemeenschappelijk netwerk (Het wordt gebruikt voor veiligheidsdoeleinden).
- Real time operating system- Bedoeld toepassingen om de termijnen vast te stellen.
Voorbeelden van besturingssystemen zijn –
- Windows (GUI-gebaseerd, PC)
- GNU/Linux (Personal, Workstations, ISP, File and print server, Three-tier client/Server)
- macOS (Macintosh), gebruikt voor Apple’s personal computers en werkstations (MacBook, iMac).
- Android (Google’s besturingssysteem voor smartphones/tablets/smartwatches)
- iOS (Apple’s OS voor iPhone, iPad en iPod Touch)