Informaticasite van het Lauwers College te Buitenpost                 © R.J. van der Beek
 

Hoofdstuk 5. Besturingssystemen

5.1. Taken van een besturingssysteem

  5.1.1 Geschiedenis

De eerste echte computer, de MARK1 uit 1943, had geen besturingsprogramma en geen toetsenbord of beeldscherm.
De bediening was handmatig, met schakelaars.



In de jaren vijftig werden ponskaarten gebruikt om programma's in te voeren.
Als je wilde dat de computer een programma ging uitvoeren moest je eerst de bak met de ponskaarten, waarop de instructies van het programma waren ingevoerd, in het apparaat zetten.
Je drukte op een knop en dan werden de ponskaarten ingelezen, en dan startte het programma.
Er was geen monitor waarop je zag wat de uitkomsten waren, alle uitvoer werd met behulp van een printer op papier afgedrukt.

Een aantal jaren later werd het mogelijk programma's en gegevens op schijf te bewaren.
Je hoefde geen bak met ponskaarten meer te pakken, maar je kon de naam van het programma intypen. En dan werd het van de schijf ingelezen en uitgevoerd.
Maar er was een ander programma nodig om er voor te zorgen dat je een programma op die manier kon starten, en dat programma wordt een besturingsprogramma genoemd.

Er werden in de jaren 1950-1960 besturingsprogramma's ontwikkeld, die ook de invoer- en uitvoer verzorgden.

Enkele jaren later werd het mogelijk dat een computer meerdere programma's tegelijk kon uitvoeren (dat wordt multitasking genoemd), en toen moesten de besturingsprogramma's ook het geheugen beheren: waar worden de verschillende programma's in het geheugen opgeslagen. En ook de volgorde waarin de programma's of programmadelen worden uitgevoerd moest worden geregeld, dus de besturingsprogramma's werden steeds ingewikkelder.

Een besturingsprogramma regelt de reacties van het systeem als een persoon een bepaalde handeling met de computer verricht, bijvoorbeeld als hij op een bepaalde toets drukt, of met de muis klikt.
Dat kan van alles zijn, afhankelijk waar je een computersysteem voor gebruikt.
Een groot computersysteem moet er voor zorgen dat tientallen mensen tegelijk gebruik kunnen maken van de computer; ze hebben elk een eigen toetsenbord en beeldscherm, maar ze meken allemaal gebruik van dezelfde centrale computer (dat wordt een multi-user systeem genoemd).
Alles moet worden geregeld door het besturingsprogramma, en omdat dat heel veel verschillende dingen zijn bestaat een besturingsprogramma tegenwoordig uit een heleboel onderdelen.
Het wordt daarom wel een besturingssysteem genoemd, in het engels is dat operating system (OS). Ook wordt wel de term platform gebruikt.

Elk apparaat dat m.b.v. een programma werkt is voorzien van een besturingssysteem, ook bijvoorbeeld een digitale camera.

En ook mobiele telefoons werken met een besturingssysteem; tot voor kort was het mobiele besturingssysteem Symbian van Nokia verreweg het meest gebruikte.

Maar Android van Google is druk bezig de leidende positie voor besturingssystemen voor smartphones over te nemen. Android is open source en dus vrij aanpasbaar, het is gebaseerd op Linux. Veel producenten maken Android-toestellen zoals Samsung, Motorola en Sony Ericsson.

Apple is goed voor circa 16% van de mobiele telefoons die op iOS (iPhone OS) draaien en RIM heeft ongeveer evenveel BlackBerry's verkocht, ze draaien op BlackBerry OS.

Microsoft heeft met zijn Windows Mobile voor smartphones een marktaandeel van ongeveer 4%

  5.1.2 Soorten software

De eerste computers waren erg groot en duur, en er waren maar een paar. Ze werden alleen gebruikt door computerspecialisten, die veel verstand van de hardware hadden. Deze mensen moesten de programma's, die ze wilden gebruiken, zelf maken.
In de beginjaren werd bij het programmeren rekening gehouden met de hardware. Later werden programma's geschreven die in principe op elke computer konden worden uitgevoerd, ze moesten dan wel worden omgezet (vertaald) in de specifieke machinetaal van die computer.

Vanaf ongeveer 1970 kwamen er steeds meer computers en steeds meer mensen werkten er mee.
Toen werden er kant en klare software pakketten ontwikkeld die voor een groot aantal algemene toepassingen bruikbaar waren.

Zo heeft de software in een halve eeuw tijd zich ontwikkeld van vrij technisch, hardwaregeoriënteerd en gebruiksonvriendelijk, naar gebruikersgeoriënteerd. Er werden ook programma's gemaakt die technische taken van de gebruiker overnamen. En dat gaat nog steeds door.
Die programma's horen bij het besturingssysteem, het is systeemsoftware.

Het besturingssysteem treedt op als een soort tussenpersoon (ook wel interface genoemd), tussen applicaties en de hardware.
Je kunt het besturingssysteem daarom voorstellen als een soort schil om de hardware.
Denk daarbij aan een ui, die is opgebouwd uit een aantal lagen (schillen) die je er af kunt pellen.
De gebruiker is de buitenste schil. Die bedient het toepassingsprogramma, dat is de tweede laag.
De toepassing communiceert met het besturingssysteem, dat is de derde schil.
En het besturingssysteem stuurt de hardware, dat is de vierde laag.

schillen

De software wordt dus opgesplitst in systeemsoftware en applicatiesoftware (of toepassingssoftware.)

Software
  • De systeemsoftware heeft als belangrijkste taak de hardware en de verschillende gelijktijdig uitgevoerde programma's te beheren. Deze software is voor een groot gedeelte hardware georiënteerd.
    Hierbij hoort alle software die het computersysteem beheert, en ook de software die ondersteuning verleent bij ontwikkeling van programma's.
    De systeemsoftware kan worden opgedeeld in de volgende categorieën:
    • De systeembeheer programma's.
      Hieronder vallen het besturingssysteem of operating system dat de hardware en de programma's beheert, het database management systeem (DBMS), dat gegevens beheert bij grote systemen en monitoren (beheersprogramma's) voor netwerken.
    • Systeemondersteunende programma's of utilities.
      Hieronder vallen programma's die zorgen voor beveiliging, het maken van back-ups en virusbestrijding.
    • Systeemontwikkelingstools.
      Dit is software die de gebruikers helpen bij het ontwikkelen van nieuwe programma's.
      Hieronder vallen de programmeertalen (met compilers) , en CASE (Computer Aided Software Engineering) tools.
  • De applicatiesoftware bestaat uit programma's die algemene of specifieke toepassingen voor de gebruiker verrichten. Hij is minder hardware- en vooral gebruikersgeoriënteerd.
    De "gewone" gebruiker komt hier het meest mee in aanraking.

    De applicatiesoftware wordt opgedeeld in de volgende categorieën:
    • De algemene applicatiesoftware ontstond vanaf 1970 met de opkomst van de PC voor de grote massa.
      Hieronder vallen onder meer: tekstverwerkingsprogramma's,spreadsheetprogramma's, databaseprogramma's , presentatieprogramma's, grafische en tekenprogramma's, desktop publishing programma's (DTP), email programma's, browsers, enz.
      Algemene applicatiesoftware is zo gemaakt dat het grote publiek het voor de meest gebruikelijke dingen kan toepassen.
      Heel vaak worden veel van deze toepassingen geïntegreerd in de zogenaamde Office programma's of Suites. De meest bekende zijn Microsoft Office en Open Office.



    • De specifieke applicatiesoftware wordt ontwikkeld voor specifieke toepassingen voor het bedrijfsleven enz.
      Deze programma's worden vaak speciaal op maat ontwikkeld voor één gebruiker.
      Het onderscheid tussen de twee soorten applicatiesoftware vervaagt steeds meer, maar het verschil is vooral dat specifieke applicatiesoftware wordt ontwikkeld nadat nauwkeurig omschreven is wat de software moet kunnen.

  5.1.3 Typen en taken besturingssystemen

Typen besturingssystemen

Single-user, single-tasking

Dit besturingssysteem is bedoeld om het computersysteem voor één gebruiker die één taak uitvoert te beheren.
Zo'n besturingssysteem zit in veel eenvoudige computergestuurde apparaten. Bijvoorbeeld in een magnetron, en in een fietscomputertje.
In veel mobiele telefoons zit het besturingssysteem Symbian.
Verder is MSDOS een single-user, single-tasking besturingssysteem. MSDOS werd voordat Windows op de markt kwam, door bijna iedere computer gebruikt.

Single-user, multi-tasking

Dit besturingssysteem kan voor één gebruiker tegelijkertijd aan verschillende taken werken.
Dit type besturingssysteem wordt het meest gebruikt in computers voor persoonlijk gebruik.
Een gebruiker kan meer dan één programma tegelijk starten en daardoor verschillende taken tegelijkertijd activeren en wisselen tussen de uitvoering van die taken.
Voorbeelden van single-user, multi-tasking systemen zijn Windows van Microsoft en Mac OS van Apple

Multi-user

Een multi-user besturingssysteem zorgt er voor dat verschillende gebruikers tegelijkertijd allemaal hun eigen programma's kunnen uitvoeren.
Het besturingssysteem zorgt ervoor dat alle gebruikers een evenredig deel van de beschikbare tijd, geheugencapaciteit en apparatuurtoegang krijgen toegewezen.
Voorbeelden van multi-user systemen zijn Unix en Linux en VMS, waarmee wel honderd gebruikers tegelijkertijd kunnen werken met dezelfde centrale computer.

Basistaken van een besturingssysteem
Elk besturingssysteem (dat hoeft niet beslist voor een "echte" computer te zijn, het kan bijvoorbeeld ook voor een fietscomputertje of een digitale camera zijn) beschikt minimaal over de volgende basisfuncties:
  • De ingetoetste tekens of ingevoerde signalen van een invoerapparaat, zoals het toetsenbord, naar de processor sturen
  • Tekens of signalen zichtbaar maken op een beeldscherm
Voor computers komen daar nog een aantal functies bij:
  • Het besturen van randapparaten, zoals printer, monitor, enz.
  • Gegevens opslaan in en lezen uit het interne geheugen.
  • Bestanden opslaan in en lezen uit het externe geheugen en programma's, die in het externe geheugen staan, kunnen opstarten
  • Bestanden in het externe geheugen kunnen ordenen in mappen, kopiëren en verwijderen.
Bij multi-user (en multi-tasking) systemen komen daar nog een aantal bij:
  • De computer moet meerdere taken tegelijk uit kunnen voeren (dat wordt multi-tasking genoemd).
    In een computer met één processor kan dat eigenlijk niet, een processor kan maar één ding tegelijk doen. De oplossing die hiervoor bedacht is, heet timeslicing (zie verderop)
  • Iedere gebruiker moet voldoende aan bod komen.
    Als één gebruiker met een "zware" applicatie bezig is, en daardoor komen de andere gebruikers te weinig aan bod, dan is er iets mis. Het besturingssysteem moet er voor zorgen dat gebruikers niet hoeven te wachten.
  • Iedere gebruiker moet gedeelde randapparatuur, bijvoorbeeld een printer, kunnen gebruiken.
    Daarvoor wordt "spooling" gebruikt, zie verderop.
  • De gebruikers moeten geïdentificeerd kunnen worden.
    Er moet kunnen worden ingelogd m.b.v. een gebruikersnaam en een wachtwoord, en aan de hand daarvan moet worden bepaald wat de gebruiker wel en niet met de computer kan doen.
  • Gegevens moeten beveiligd kunnen worden.
    In grote systemen komen vaak belangrijke gegevens voor, waar veel gebruikers mee moeten kunnen werken.
    Deze gegevens moeten niet zomaar gewist kunnen worden, en niet elke gebruiker mag bij alle gegevens.
Grafische interface
Als je in MSDOS iets wilde moest je een commando intikken. Dat commando werd dan door MSDOS geïnterpreteerd, dat wil zeggen dat het werd ontleed en uitgevoerd (interpreteren = ontleden + uitvoeren).
Daarom wordt MSDOS wel een Command Line Interpreter genoemd. Dat geeft ontzettend veel mogelijkheden, maar dan moet je wel al die commando's kennen.
De fabrikant Apple was de eerste computerfabrikant die met een besturingssysteem op de markt kwam met een grafische interface. De Macintosh van Apple was de eerste computer waarbij er allemaal icoontjes op het scherm getoond werden, en je hoefde alleen maar op zo'n icoontje te klikken om ervoor te zorgen dat er iets gebeurde. Microsoft heeft dit afgekeken en Windows heeft ook een zogenaamde GUI, dat is de afkorting van Graphical User Interface.
Daarbij wordt ook het WYSIWYG-principe gebruikt.
WYSIWYG is de afkorting van What You See Is What You Get: de weergave op het scherm ziet er net zo uit zoals ze op papier zou worden afgedrukt.

  5.1.4 Bios, Opstarten

Opstarten
Het ROM-geheugen bevat de BIOS.
BIOS is de afkorting van Basic Input Output System, en het bevat een aantal programma's die de computer op de hardware instellen, en het zorgt ervoor dat het besturingssysteem opstart. Meestal is dit 1 MB groot.
De BIOS is dus software die verantwoordelijk is voor de besturing van schijven, toetsenbord, monitor, muis, etc. Het gedraagt zich als een brug tussen het besturingssysteem en de hardware.

De BIOS doet het volgende:

  • Als je de computer aanzet dan controleert de BIOS de computer op de aanwezigheid en de werking van de systeemonderdelen, het gebruikt hiervoor het POST-programma dat op de BIOS-chip aanwezig is.
    POST is de afkorting van Power On Self Test.
    Het bevat een aantal instructies die worden uitgevoerd bij het opstarten van de computer



    Er wordt dan gecontroleerd of alle componenten werkzaam zijn.
    Als eerste worden de onderdelen van de processor getest. Daarna wordt de videokaart getest. Als deze niet goed is wordt een waarschuwingssignaal gegeven, meestal een korte en een lange piep.
    Ook het RAM geheugen wordt getest (door op de ESC-toets te drukken kun je ervoor zorgen dat die controle wordt overgeslagen)
    Als het toetsenbord bijvoorbeeld niet is aangesloten dan hoor je een aantal piepjes, en er verschijnt ook een foutmelding op het scherm.
    De computer geeft één piepje als de POST met succes is afgesloten.

  • De POST leest ook de gegevens uit de CMOS.
    CMOS is de afkorting van Complementary Metal Oxide Semiconductor.
    CMOS is een RAM-chip waarop de data bewaard blijven met behulp van een klein oplaadbaar batterijtje.
    Het is een zeer klein geheugen van ongeveer 100 of 200 bytes, en de gegevens in dat geheugen kunnen wel gewijzigd worden. Die gegevens hebben betrekking op o.a. de harde schijven, het toetsenbord, de CPU, de waarden voor de chipset, de datum en de tijd, enz.



  • Het stelt de randapparaten in op hun startwaarden (=initialisatie).

  • Het controleert op welke schijf het startprogramma voor het besturingssysteem staat (dat staat in het zogenaamde MBR, dat is de afkorting van master boot-record).
    Dit boot-record is de allereerste sector van de harde schijf. Er staat een reeks opdrachten in die nodig is om het besturingssysteem te laden (booten). Door die opdrachten uit te voeren wordt het besturingssysteem in het intern geheugen geladen, en vanaf dat moment stopt de werking van de BIOS.

    Het opstarten wordt ook wel booten of bootstrappen genoemd. Een bootstrap is een lusje aan een laars.
    Het starten van het besturingssysteem is namelijk een merkwaardige zaak, het besturingssysteem dient er o.a. voor om programma's op te kunnen starten. Het is heel knap dat het zelf ook wordt opgestart. Dat is net zo knap als het is om, als je in een moeras zit, je aan de lussen van je laarzen omhoog te trekken uit dat moeras. Vandaar de term bootstrappen.



Setup
Een aantal gegevens van de computer, die kunnen wijzigen, worden door de fabrikant in het CMOS geprogrammeerd.
Als je bijvoorbeeld een nieuwe harde schijf in de computer zet dan kun je die gegevens aanpassen. De standaard (default) instellingen kunnen gewijzigd worden m.b.v. het SETUP programma.

Je kunt het Setup programma meestal oproepen door de [delete-toets] of de [F1-toets] in te drukken tijdens het opstarten van de PC (op de monitor is tijdens het opstarten te zien welke toets je moet gebruiken).



Je kunt bijvoorbeeld de volgende dingen aanpassen:

  • datum en tijd
  • de kenmerken van de harde schijven.
  • je kunt een wachtwoord invoeren voor het setup-programma
  • de bootvolgorde: bijvoorbeeld eerst de CDROM, dan de C-schijf, en dan de diskette. Je moet de cursor dan eerst op Advanced Bios Features zetten, en op enter drukken. Dan krijg je een venster zoals in de onderstaande figuur.



  5.1.5 Taakbeheer

Je kunt bij een multi-tasking systeem verschillende programma's tegelijk laten uitvoeren door een computer. En we hebben in het vorige hoofdstuk gezien dat een processor maar één ding tegelijk kan doen. Dat lijkt met elkaar in tegenspraak te zijn.
Eigenlijk wordt je voor de gek gehouden, want ook als er verschillende programma's draaien wordt er toch maar één proces tegelijk door de processor uitgevoerd.
De processor werkt afwisselend aan verschillende taken, maar door de hoge verwerkingssnelheid lijkt het alsof de taken tegelijk worden uitgevoerd.

Time-slicing
Als er bijvoorbeeld vier programma's A, B, C en D draaien dan is de processor gedurende een korte tijd bezig met proces A. Gedurende die tijd staan de processen B, C en D stil.
Na die korte tijd wordt proces A stilgelegd en gaat de processor bezig met proces B.
Daarna is proces C aan de beurt en daarna D.
En dan gaat de processor weer bezig met proces A, dat gaat verder vanaf het punt waar de uitvoering was gestopt. En zo gaat dat steeds verder.
Dit principe wordt time-slicing genoemd. Daarbij krijgt in principe elk proces evenveel tijd, en die tijd wordt de time-slice genoemd.
In onderstaande figuur zie je dat vier processen om en om worden uitgevoerd, elk proces krijgt telkens 50 microseconden uitvoeringstijd.
De gebruiker krijgt het idee dat de processen tegelijkertijd werken.



Het besturingssysteem beslist welk programma op welk ogenblik toegang krijgt tot de processor en voor hoelang. In feite is de processor afwisselend met het ene en het andere programma bezig.

Maar soms is het niet zo dat de processor evenveel tijd besteedt aan alle programma's die draaien.
Aan elk proces wordt een prioriteit toegekend.
De prioriteit is een getal dat gebruikt wordt om een proces meer tijd te geven dan een ander, of om het voorrang te geven op alle andere processen. Grote ingewikkelde programma's kunnen een hogere prioriteit krijgen dan standaard programma's, en daardoor krijgen ze een langere processortijd toebedeeld dan normale programma's.
Voor de processen met dezelfde prioriteit gebeurt de procesomschakeling op basis van timeslicing, elk proces krijgt dan evenveel uitvoeringstijd.
Voor processen met een verschillende prioriteit geldt er een voorrangsregel.

Het programmagedeelte van het besturingssysteem dat dit regelt wordt de scheduler genoemd. De scheduler bepaalt steeds welk proces als volgende door de processor zal worden uitgevoerd, en er wordt daarbij rekening gehouden met de prioriteit van het proces.
Bij een multi-user systeem houdt de scheduler ook bij welke gebruikers en welke terminals actief zijn.
Met een terminal wordt een combinatie van een toetsenbord en een beeldscherm bedoeld. Bij een groot bedrijf zijn er vaak een heleboel terminals op één en dezelfde computer aangesloten.

Kritieke sectie, deadlock
Het proces waar de processor op het moment aan werkt, heeft de status 'actief'. De andere processen hebben op dat moment de status 'pauze'. Deze statussen wisselen de hele tijd.
Maar soms moet een bepaalde opdracht niet geritst worden.

Stel dat je twee verschillende stukken tekst wil uitprinten en je geeft dus twee printopdrachten. Als hierbij time-slicing wordt toegepast dan wordt er om de beurt een stukje van de ene tekst en van de andere tekst geprint, en dan worden beide teksten dus door elkaar heen afgedrukt.
Bij het uitprinten van een stuk tekst mag dus nooit time-slicing worden toegepast.
We noemen zo'n opdracht die niet geritst mag worden een kritieke sectie van een programma.
Een soortgelijk probleem heb je als twee geritste programma's beide iets van een CDROM willen inlezen. Als er steeds gewisseld moet worden van de plaats op de CDROM, waarvan ingelezen moet worden, dan duurt dat inlezen bij beide processen erg lang. Het is veel efficiënter als eerst het ene gedeelte helemaal wordt ingelezen, en dan het andere gedeelte helemaal.
Er zijn dus bepaalde voorzieningen (bijvoorbeeld printer, CDROM, diskette, enz) die nooit tegelijk mogen worden toegewezen aan meerdere processen.

Voordat een kritieke sectie van een programma actief mag worden, moet eerst door het besturingssysteem worden gecontroleerd of de te gebruiken voorziening (bijvoorbeeld de printer) vrij is. Zolang dat niet zo is krijgt het proces de status 'wachten'.
Een proces kan dus in drie verschillende statussen verkeren: actief, pauze en wachten.
Bij de status wachten kan zich soms het probleem voordoen dat twee processen op elkaar aan het wachten zijn en dat de processor daardoor niks meer uitvoert. Dan loopt het systeem vast, en als dat komt doordat twee processen op elkaar wachten dan noem je dat een deadlock.

Een voorbeeld van een deadlock uit het dagelijks leven is als vier auto's tegelijk bij een kruispunt aankomen. Dan moeten ze eigenlijk allemaal wachten, want voor alle vier automobilisten komt er een auto van rechts.
Waarschijnlijk zal dan de brutaalste toch doorrijden, en dan is het probleem opgelost.
Maar waren het computerprogramma's geweest, dan waren ze op het kruispunt blijven staan tot sint-juttemis.




Interrupt Request
Soms is het gewenst dat een besturingssysteem onmiddellijk reageert op een bepaalde opdracht.
Bijvoorbeeld als er een CD in de CDROM-drive wordt gestopt is het handig als deze meteen wordt opgestart.
Of als een netwerkverbinding onverwacht wordt verbroken is het wenselijk dat het besturingssysteem direct een melding op het scherm laat verschijnen.
Of als er met de muis ergens op geklikt wordt is het handig als daar direkt op gereageerd wordt.
Zo'n opdracht, die voorrang krijgt boven de opdracht die op dat moment uitgevoerd wordt, noemen we een interrupt.
Daarvoor dient een IRQ, dat is de afkorting van interrupt-request.

IRQ (Interrupt Request) is een onderbrekingsverzoek aan de processor van de computer, die dan een actief programma onderbreekt om bijvoorbeeld te kijken waarop met de muis is geklikt.
Bij de installatie van de pc krijgt elk randapparaat een uniek IRQ-nummer (Interrupt Request number). Aan de hand van dit IRQ-nummer kan het randapparaat vragen aan de processor om een bepaalde opdracht uit te voeren. De muis kan bijvoorbeeld IRQ-nummer 12 hebben.
Als je tijdens de werking van een programma op de muis klikt dan stuurt de muis-controller een IRQ-signaal via IRQ-lijn 12, en dan weet de Interrupt-controller onmiddellijk dat het signaal van de muis komt.
Er zijn in de PC maar 16 IRQ-lijnen beschikbaar.
Als twee randapparaten hetzelfde IRQ-nummer hebben kunnen er problemen ontstaan, want als bijvoorbeeld de muis en het modem dezelfde IRQ hebben dan weet de processor bij een interrupt niet wie er aan de bel getrokken heeft.
PCI-apparaten kunnen trouwens wel hetzelfde IRQ-nummer gebruiken.
Welke IRQ-lijnen op jouw PC door welke apparaten gebruikt worden kun je op de volgende manier achterhalen:
Klik op Start → Alle Programma's → Bureau-Accessoires → Systeemwerkset → Systeeminfo.
Klik dan in het linker venster op Hardwarebronnen, en dan op IRQ's. Dan zie je zoiets als hier onder:



  5.1.6 Communicatie met randapparaten

Een belangrijke taak van het besturingssysteem is het verzorgen van de communicatie met de randapparatuur.
Er zijn verschillende soorten printers en er zijn beeldschermen in allerlei maten en soorten (LCD, TFT, CRT, Plasma).
Het besturingssysteem moet weten met welk type het te maken heeft, en moet beschikken over een programma om met dat specifieke apparaat te kunnen communiceren. Zo'n programma noemt men een stuurprogramma of driver.
Zo moet een besturingssysteem beschikken over een printerdriver, een driver voor de monitor, voor de muis, voor de harde schijf, voor de CDROM, enz.
Als je een nieuw randapparaat koopt zit er meestal een CDROM bij met de bijbehorende driver. Die moet je dan eerst installeren.
Er zijn ook een heleboel drivers in Windows ingebouwd, en eventueel kun je via Internet drivers downloaden.
De randapparaten hebben ook een stukje elektronica nodig om met de computer te kunnen communiceren. Dat noemen we de controller. Dat is vaak in het apparaat ingebouwd, zoals bij een diskettestation of printer. De controller kan ook op een insteekkaart in de computerkast zitten, bijv. de controller voor het beeldscherm.

Programma's zijn zoveel mogelijk apparaatonafhankelijk. Als je bijvoorbeeld in Word een document wilt uitprinten dan geeft Word deze opdracht door aan het besturingssysteem, en die verzorgt de uiteindelijke afdruk.

Spooling en buffering
Als een printopdracht moet worden uitgevoerd dan worden de gegevens niet rechtstreeks naar de printer gestuurd maar eerst worden ze tijdelijk ergens opgeslagen.
Een aantal jaren geleden werden de gegevens tijdelijk bewaard in een stukje van het werkgeheugen. Dat werd dan het buffergeheugen genoemd. Dat buffergeheugen was niet heel groot, zodat het gemakkelijk kon gebeuren dat je eerst een poosje moest wachten voordat je een nieuwe printopdracht kon geven. Want als het buffergeheugen vol was kon er niet meer bij.
En als je de computer uitdeed terwijl de printer nog niet klaar was met de opdracht, en daarna deed je de computer weer aan, dan begon de printer niet meteen weer te ratelen want de printopdracht in het buffergeheugen was dan verdwenen.

Tegenwoordig wordt meestal gebruik gemaakt van spooling (SPOOL is de afkorting van Simultaneous Peripheral Operation On Line). De gegevens worden dan tijdelijk bewaard op de harde schijf.

De harde schijf is meestal behoorlijk groot, zodat het niet snel zal gebeuren dat je een poosje moet wachten voordat je een nieuwe printopdracht kunt geven. Want de harde schijf zal niet snel vol raken met printopdrachten.
En als je de computer uitdoet terwijl de printer nog niet klaar is met de opdracht, en daarna doe je de computer weer aan, dan begint de printer meteen weer te ratelen want de printopdrachten staan dan nog steeds op de harde schijf.
Als je dus een verkeerde printopdracht hebt gegeven helpt het niet om de printer uit te doen en daarna weer aan. De printer zal dan gewoon weer verder gaan, hoewel er misschien wel een stukje zal worden overgeslagen want de printer zelf heeft ook een buffergeheugen en de gegevens die daarin zitten zijn wel weg als je de printer uitdoet.
Als er bij een multi-user systeem veel gebruikers tegelijk een printopdracht naar de printer sturen, dan worden de printopdrachten in een wachtrij gezet. De engelse term die daarvoor vaak gebruikt wordt is queue.
Als je dan klikt op Start → Configuratiescherm → Printers, dan verschijnt er een venstertje met één of meer printers. Als je dan op de juiste printer hebt geklikt verschijnt er een venstertje, waarin je kunt zien welke printopdrachten in de wachtrij staan. En als je rechts klikt op zo'n printopdracht dan krijg je een snelmenu, en dan kun je die printopdracht eventueel verwijderen.



Spooling kwam al voor bij de computers uit de jaren 50. Maar toen maakte men gebruik van input-spooling, om het inlezen van programma's van ponskaarten te versnellen.

Buffering komt ook nog steeds voor, namelijk bij het toetsenbord. Als je een aantal toetsen achter elkaar indrukt worden die gegevens naar de toetsenbordbuffer gestuurd. Die buffer is maar klein, die kan de gegevens van maar 20 toetsaanslagen bevatten.
Meestal is dat geen probleem, want de computer kan de toetsaanslagen veel sneller verwerken dan jij kunt typen.
Behalve als de computer druk met iets anders bezig is, bijvoorbeeld met opstarten.
Dan worden de toetsaanslagen niet direkt verwerkt, maar wel opgeslagen in de buffer. En als die buffer vol is hoor je een piepje.

API
Er kan bij het programmeren ook gebruik worden gemaakt van het besturingssysteem.
Je maakt dan gebruik van de Windows-API, dat is de afkorting van Application Programming Interface.
Die bestaat uit een aantal opdrachten, die je in je computerprogramma's mag gebruiken, en daarbij wordt dan gebruik gemaakt van zogenaamde Windows-bibliotheekbestanden.

Hierdoor kan bijvoorbeeld in een tekenprogramma een afdruk-API van Windows worden aangeroepen, zodat verder niet gedetailleerd hoeft te worden geprogrammeerd hoe de printer dat moet verwerken.
Een API vormt de toegang tot een zogenaamde bibliotheek. Een bibliotheek bestaat uit een aantal programma-onderdelen, die gebruikt kunnen worden door andere programma's, en de extensie van een bibliotheek is DLL.
Kijk maar eens in de map WINDOWS/SYSTEM32. Daar heb je een heel stel bestanden met de extensie DLL, en dat zijn dus bibliotheken.

  5.1.7 Geheugenbeheer

De processor kan nooit instructies direct vanuit het achtergrondgeheugen uitvoeren. Als het besturingssysteem de opdracht geeft om een bepaald computerprogramma ten uitvoer te brengen, moet het eerst van het achtergrondgeheugen naar het werkgeheugen gekopieerd worden.
Gegevens worden in principe alleen in het werkgeheugen bewaard gedurende de periode dat ermee gewerkt wordt. De rest bevindt zich in het achtergrondgeheugen.
Om het werkgeheugen zo goed mogelijk te gebruiken, maken de meeste besturingssystemen gebruik van een methode om het werkgeheugen schijnbaar te vergroten door middel van een virtueel geheugen, dat op de harde schijf staat; dat gedeelte wordt ook wel de swap-file genoemd.

Als je Systeeminformatie opvraagt (dat kan door te klikken op Start → Alle Programma's → Bureau-Accessoires → Systeemwerkset → Systeeminfo ) dan zie je ook hoe groot het virtueel geheugen is, en wat de naam is van de swapfile (ook wel wisselbestand genoemd).



Meestal wordt een programma, dat moet worden gestart, niet in zijn geheel naar het werkgeheugen gekopieerd. Dat gebeurt in stukken.
Het is namelijk zo dat vaak slechts een gedeelte van een programma gebruikt wordt, en dat gedeelte wordt dan meestal heel vaak herhaald. Bijvoorbeeld, als je tekst invoert bij een tekstverwerkingsprogramma, wordt steeds hetzelfde deel van het programma gebruikt: accepteren toetsaanslag, betreffende letter in het werkgeheugen plaatsen en de letter op het scherm afbeelden. De rest van het programma heb je, op dat moment, niet nodig en hoeft dus ook niet in het werkgeheugen te staan.
Als het werkgeheugen vol is en er moet een nieuw gedeelte aan toegevoegd worden, dan moet een ander gedeelte uit het werkgeheugen gehaald worden en weer in het achtergrondgeheugen (het virtueel geheugen) geplaatst worden.
Naast het programma zelf gaat het daarbij ook om alle tijdelijke gegevens die bij de uitvoering van dat programmadeel horen, zoals tussenresultaten, instellingen en dergelijke.

Vaste partitionering
Het besturingssysteem bezet een vast deel van het werkgeheugen, en de rest van het werkgeheugen is beschikbaar voor de verschillende processen van de verschillende programma's, die gestart zijn.
Om te voorkomen dat iemand al te veel geheugen voor zichzelf opeist krijgt elke gebruiker en elk programma een eigen stuk toegewezen. Een manier om het beschikbare geheugen te verdelen wordt partitioneren genoemd.
Daarbij wordt het geheugen opgedeeld in delen van gelijke grootte, bijvoorbeeld van 8 MB.



Elk programma moet het dan doen met zo'n blok van 8 MB.
Dat levert wel een aantal problemen op.
  • Als een programma dat bijvoorbeeld maar 2 MB geheugen nodig heeft verbruikt toch een heel blok van 8 MB, daarbij blijven er dus 6 MB ongebruikt. Het geheugen wordt zo niet efficiënt gebruikt.
  • Als een programma meer dan 8 MB geheugen nodig heeft dan moet eerst een gedeelte van het programma worden geladen. Als dan een module nodig is, die nog niet in het werkgeheugen staat, dan moet die eerst uit het virtuele geheugen worden gehaald, en een ander gedeelte moet uit het werkgeheugen terug naar het virtuele geheugen. Dat noem je swappen.
  • Wordt er een nieuw programma gestart, maar alle blokken zijn bezet door programma's, dan wordt een programma dat niet actief is "geswapt". Dat wordt dus naar het virtuele geheugen verplaatst, en het nieuwe programma komt in het vrijgekomen blok.
Vaste partitionering wordt vanwege deze problemen eigenlijk niet meer gebruikt.

Dynamische partitionering
Een andere manier is dynamische partitionering.
Daarbij wordt het geheugen verdeeld in een variabel aantal blokken, van variabele grootte.
De grootte wordt zo genomen dat in eerste instantie de gestartte programma's er precies inpassen.
Maar ook in dit geval krijg je problemen als een programma wordt afgesloten en een nieuw programma wordt gestart. Als het mogelijk is wordt dat nieuwe programma in het vrijgekomen blok geplaatst, maar dat past vast niet precies.
Na verloop van tijd heb je dan precies dezelfde problemen als met vaste partitionering.
Ook dynamische partitionering wordt vanwege deze problemen eigenlijk niet meer gebruikt.

Paginering
Nog een nadere manier wordt paginering genoemd.
Daarbij wordt het werkgeheugen opgedeeld in stukken van gelijke grootte, die relatief klein zijn.
De stukken van een programma, pagina's genoemd, worden dan toegewezen aan een aantal blokken.
Elke gebruiker begint bijvoorbeeld met twee blokken. Als iemand er meer nodig heeft, dan kan dat.
En als iemand er niet zo veel nodig heeft, dan komt er meer geheugen voor de andere gebruikers beschikbaar. De geheugenblokken worden ook wel frames genoemd; die hoeven niet beslist aansluitend te zijn.
Zie de figuur hieronder.
In het begin is het geheugen leeg, op het besturingssysteem na. Er zijn 15 geheugenblokken beschikbaar.
Daarna wordt A gestart, voor proces A zijn vier blokken of frames nodig.
Daarna wordt B gestart, voor proces B zijn drie frames nodig.
Dan wordt C gestart, voor proces C zijn vier frames nodig.
Vervolgens wordt B afgesloten, er komen drie frames vrij.
Tenslotte wordt D gestart, daarvoor zijn vijf frames nodig. Er worden drie frames gebruikt die zijn vrijgekomen door het afsluiten van B, en nog twee aan het eind.



Paginering is efficiënter dan partitionering, en wordt daarom tegenwoordig het meeste gebruikt.

Segmentering
Een variatie op paginering is segmentering.
Daarbij zijn de geheugenblokken niet allemaal even groot. Het lijkt op dynamische partitionering, maar bij segmentering kunnen meerdere blokken gebruikt worden, en die hoeven niet op elkaar aan te sluiten.

  5.1.8 Bestandsbeheer

De gegevens die op een harde schijf staan (of op een usb-stick, of op een ander extern geheugen) zijn anders gestructureerd dan die in het werkgeheugen.
In het werkgeheugen heeft elke byte een uniek adres en is daardoor direct te vinden en afzonderlijk uit te lezen.
Op de harde schijf worden gegevens in grotere delen bij elkaar gehouden, dat zijn de bestanden. Op een speciale plaats op de schijf houdt het besturingssysteem de inhoudsopgave van de bestanden bij. Het bestandssysteem verdeelt de harde schijf in clusters, en in de inhoudsopgave wordt van alle bestanden bijgehoudenen in welk cluster ze beginnen. Deze inhoudsopgave wordt bestandssysteem of FAT (dat is de afkorting van File Allocation Table) genoemd.
Als het besturingsprogramma een bestand moet openen leest het eerst in de FAT wat het clusternummer is van de plaats waar het bestand begint.
De leeskop van de harde schijf kan dan in één keer naar de juiste positie springen om het lezen te beginnen.

FAT16
Het FAT (File Allocation Table) bestandssysteem is ontwikkeld in 1977, toen alleen nog maar diskettes ondersteund werden.
Daarna is het bestandssysteem steeds verder verbeterd.
In 1983 werd voor het eerst een bestandssysteem geleverd dat ook harde schijven aankon. De naam van dit systeem was FAT16.
Het clusternummer, waarmee aangegeven wordt waar het bestand begint, werd m.b.v. 16 bits vastgelegd, daar komt dan ook de 16 in FAT16 vandaan. Hieruit volgt dat er maximaal 2^16-1 = 65535 clusters op de schijf aanwezig konden zijn, want 65535 is het grootste getal dat je met 16 bits kunt maken.
Verder mag een cluster maximaal 32 KB groot zijn, dus de grootste schijf die ondersteund werd was 65535 * 32 KB = 2 GB.
Een kleinere harde schijf kon ook een kleinere clustergrootte hebben. Als je bijvoorbeeld een harde schijf van 256 MB had, dan was de clustergrootte minimaal 256000 : 65000 = (afgerond) 4 KB. Voor de clustergrootte wordt altijd een macht van 2 genomen, dus 2, 4, 8, 16 of 32

Grote clusters hebben tot gevolg dat er veel ruimte verloren gaat. Is een bestand bijvoorbeeld maar 1 byte groot en de clustergrootte 16 KB, dan gaat er bijna 16 KB verloren (zie onderstaande figuur). Dit wordt in computertaal slack genoemd.



Zijn de clusters kleiner dan gaat er minder ruimte verloren. Heb je een bestand van 3 KB en heb je een clustergrootte van 32 KB dan gaat er 29 KB verloren, maar bij een clustergrootte van 4 KB heb je in dat geval maar 1 KB slack.

Fragmentatie
De figuur hieronder zie je (in het bovenste balkje) dar er eerst drie bestanden op de harde schijf zijn bewaard.
In het tweede balkje zie je dat er dan één bestand is verwijderd, zodat er een gat is ontstaan tussen het eerste en het tweede bestand.
In het derde balkje zie je dat er weer een bestand is opgeslagen, maar dat bestand is groter dan het verwijderde. Het nieuwe bestand zit voor ongeveer de helft in het gat waar eerst het blauwe bestand zat, en de andere helft is achter het groene bestand geplaatst.



Dan is er fragmentatie ontstaan, het bestand is in stukken geknipt en de verschillende stukken staan op verschillende plaatsen op de harde schijf. Om het spoor niet kwijt te raken zet het besturingssysteem aan het eind van het eerste deel een speciale notitie die aangeeft waar het volgende deel begint.
Een gevolg van deze methode is dat als de schijf ouder wordt, de schijf bestanden bevat die uit steeds kleinere fragmenten bestaan. De fragmentatie zorgt ervoor dat de leeskop van de harde schijf steeds weer moet zoeken waar het volgende gedeelte van het bestand, en daardoor treedt er vertraging op.
Daarom is het verstandig de harde schijf regelmatig te defragmenteren.
Dat kan door te klikken op Start → Alle Programma's → Bureau-Accessoires → Systeemwerkset → Schijfdefragmentatie



FAT32 en NTFS
Vanaf Windows-95 kan er gewerkt worden met FAT32.
FAT32 heeft 32 bits beschikbaar om het clusternummer in op te slaan, daardoor is het mogelijk veel grotere harde schijven te gebruiken dan bij FAT16. De harde schijven kunnen nu tot 2 TB (= 2048 GB) groot zijn.

Tegenwoordig wordt vaak van een nog ander bestandssysteem gebruik gemaakt: NTFS, dat is de afkorting van New Technology File System.
Het principe is hetzelfde als bij FAT, maar er zijn een paar verbeteringen vergeleken met FAT32.
  • NTFS beschikt over betere beveiligingsmogelijkheden dan FAT32. Er kan voor elk bestand worden aangegeven welke gebruiker een bestand mag lezen, schrijven en/of uitvoeren.
  • NTFS heeft de mogelijkheid voor bestandscompressie (FAT32 beschikt alleen over compressiemogelijkheden op schijf- of partitieniveau). Door compressie nemen bestanden minder ruimte in beslag op je schijf.
  • NTFS is minder foutgevoelig dan FAT32. Met NTFS is het daarom ook niet nodig dat scandisk wordt uitgevoerd als Windows niet goed is afgesloten.
  • Verder heeft NTFS de mogelijkheid tot bestandsencryptie (Encrypted File System of EFS). Door deze versleuteling is het voor indringers moeilijker om bestanden te lezen of te kopiëren.
Een nadeel is dat NTFS-bestanden niet toegankelijk voor oudere besturingssystemen. Als je bijvoorbeeld een MSDOS-opstartschijf hebt dan kun je na het opstarten met die schijf de NTFS-bestanden niet lezen. Maar er zijn wel programma's die dat toch wel weer mogelijk maken.

Meer bestandssystemen
Er zijn nog meer bestandssystemen. De vorige (FAT32 en NTFS) worden door Windows gebruikt.
Onder Linux worden EXT3 en REISER veel gebruikt.

Partitioneren
Partitioneren is het opdelen van een harde schijf in gedeelten, die je als schijfstation kunt gebruiken. Een gedeelte van zo'n schijf heet een partitie.
Een harde schijf heeft minimaal één partitie bij gebruik. Als er maar één partitie is dan zegt men dat de schijf niet gepartitioneerd is.
  • Je hebt drie soorten partities:
    • Primaire partitie.
      Dit is het standaard type partitie, je kunt er maximaal vier van maken per schijf.
    • Extended of uitgebreide partitie.
      Je kunt één van de primaire partities weer onderdelen in kleinere partities, maximaal 12. Je noemt die kleinere partities dan logische partities, en de grote noem je een extended of uitgebreide partitie.
    • Logische partitie.
      Als je een extended partitie hebt onderverdeeld in kleinere partities dan noemt je die kleinere partities de logische partities.
  • Je kunt dus maximaal 15 partities op één schijf hebben: drie primaire en één extended waarin 12 logische , dat is in totaal 3+12=15
  • Windows kan alleen geïnstalleerd worden op een primaire partitie.
    Linux kan zowel op een logische als een primaire partitie worden geïnstalleerd.
Je kunt gemakkelijk nieuwe partities aanmaken m.b.v. het programma Gparted.
Dat programma draait onder Linux. Daarom moet je een zogenaamd ISO-bestand van de site van Gparted downloaden, en op een CD branden. Start daarna je computer op m.b.v. die CD, dan werk je met Linux zonder dat je er veel van merkt. Met Gparted kun je partities bijmaken, maar ook partities verwijderen, partities verkleinen of vergroten.

Formatteren
Voordat een diskette of harde schijf voor de eerste keer gebruikt kan worden moet het besturingssysteem er een standaardindeling op aanbrengen. Het aanbrengen van een dergelijke structuur heet het formatteren van de schijf.
Elk type besturingssysteem gebruikt een eigen indeling.
Voordat je partities kunt gebruiken moet je ze ook formatteren, dit kan trouwens ook met Gparted.
Je kunt dan ook aangeven of het gormatteerd moet worden als fat16, fat32, ntfs, ext3 of reiser.
Je kunt ook m.b.v. Windows formatteren, maar dan kun je alleen formatteren als ntfs of fat32.

Bootmanager
De laatste stap wat de BIOS doet is het volgende:
In het MBR (Master Boot Record) wordt gelezen waar de bootsector van het besturingssysteem staat, en die wordt dan ingelezen zodat het besturingssysteem wordt gestart.
Het MBR van een schijf bevat in de meeste gevallen de partitietabel. De computer gebruikt die partitietabel om het bootrecord op de partitie, waarop het te laden besturingssysteem staat, in te lezen en uit te voeren.

Maar als er verschillende besturingssystemen op de computer staan is dat niet handig. Dan wordt er meestal gebruik gemaakt van een zogenaamde Boot Manager.
Het Master Boot Record kan namelijk worden veranderd; het kan bijvoorbeeld zo gewijzigd worden dat niet automatisch een bepaald besturingssysteem wordt opgestart, maar dat er een keuze gegeven wordt.
Dat wordt dan een Boot Manager genoemd.
Een bekend voorbeeld daarvan is GRUB, dat is de afkorting van Grand Unified Bootloader.
Bij deze bootloader kun je zelf aangeven uit welke besturingssystemen er gekozen kan worden, en van welke partitie die besturingssystemen moeten worden opgestart.

Als je eens een ander besturingssysteem wilt uitproberen dan kan dat ook d.m.v. een emulatie.
Een emulatie wil zeggen dat de omgeving en het gedrag van een besturingssysteem geïmiteerd wordt door een programma dat draait op een PC waarop al een ander besturingssysteem draait.

  5.1.9 Beveiliging

Een besturingssysteem moet ook zorgen voor beveiliging van bestanden.
Als verschillende personen gebruik maken van hetzelfde schrijfgeheugen is het handig als het besturingssysteem er voor zorgt dat iedereen alleen zijn eigen bestanden kan lezen en/of wijzigen.
Dat is het geval als je Linux of Unix gebruikt.

Permissies
Als je onder Linux of Unix de inhoud van een map in beeld hebt, dan staat bij elk bestand de zogenaamde permissies genoemd.
De permissies bestaan uit een rijtje van 10 letters en/of streepjes.
  • De eerste letter is een d als het bestand een map is, en anders is het eerste teken een streepje
  • De volgende drie letters zijn rwx, dat is de afkorting van read write execute.
    Die letters gelden voor de eigenaar. Als er rwx staat mag hij het bestand lezen, wijzigen en uitvoeren. Als het bijvoorbeeld een tekstbestand is dan kan het niet worden uitgevoerd (dat kan alleen met programma's enz) en dan staat er rw-
  • De tweede groep van drie letters gelden voor de groep van gebruikers, waar de eigenaar bij hoort.
    Als daar ook rwx staat mogen de personen van die groep het bestand ook lezen, wijzigen en uitvoeren. Als er bijvoorbeeld r-- staat dan mogen ze het bestand wel lezen maar niet wijzigen en niet uitvoeren.
  • De laatste groep van drie letters geldt voor alle andere mensen.
    Als daar ook rwx staat mogen alle mensen het bestand lezen, wijzigen en uitvoeren. Maar als het laatste groepje --- is dan mogen ze het bestand niet lezen, niet wijzigen en niet uitvoeren.
  • In onderstaand venster zie je dat de permissies voor het eerste bestand ImageButton.class -rw-rw-r-- zijn.
    Dat betekent dat het een gewoon bestand is (geen map), dat de eigenaar het mag lezen en wijzigen, de mensen uit de groep van de eigenaar mogen het ook lezen en wijzigen, en de rest mag het alleen lezen.


Gebruikerstypen en rechten
In Windows XP en Vista bestaat de mogelijkheid om er voor te zorgen dat iedere gebruiker moet inloggen met een gebruikersnaam en een wachtwoord. Je moet je dan eerst identificeren, je moet je aanmelden, zo wordt dat genoemd.
Je kunt gebruikersaccounts aanmaken; een account bestaat uit een gebruikersnaam en een wachtwoord.
Er zijn drie soorten accounts in Windows:
  • Computerbeheerder (engels: administrator)
    De beheerder van een computer heeft alle rechten over het systeem en kan andere gebruikersaccounts aanmaken.
    De beheerder kan ook bepalen welke rechten de andere gebruikers krijgen.
    Elke computer, die draait onder Windows XP of Vista, heeft minstens één beheerdersaccount.
    Als er bij het opstarten niet om een gebruikersnaam en wachtwoord wordt gevraagd fungeert waarschijnlijk iedereen, die met de computer werkt, als beheerder. Dan mag iedereen alles wat hij of zij wil met de computer doen. Dit komt omdat XP bij aanschaf met dit type account is ingesteld, en als dat niet wordt aangepast blijft het zo.
  • Gewone gebruiker.
    De gewone gebruiker heeft niet alle rechten; hij of zij kan bijvoorbeeld geen andere gebruikersaccounts aanmaken en hij of zij kan waarschijnlijk geen programma's en/of hardware installeren, en geen wijzigingen aanbrengen in het register.
  • Gast-gebruiker.
    De gast heeft de minste rechten en is bedoeld om een tijdelijke bezoeker toegang tot de computer te verlenen.
Er kan een nieuw account worden aangemaakt door te klikken op Start → Configuratiescherm → Gebruikersaccounts.
Je krijgt dan onderstaand venster in beeld.



Als je een nieuw account hebt aangemaakt is het niet direkt met een wachtwoord beveiligd. Als je dat wilt dan moet je op het nieuwe account klikken, en kiezen voor Wachtwoord instellen.

Firewall
Een firewall is software die aanvallen van hackers en virussen buiten de deur houdt.

Een firewall werpt als het ware een ondoordringbare muur rond de computer op. De firewall houdt op de achtergrond de veiligheid van de computer in de gaten en blokkeert aanvallen van buitenaf.

Een firewall kan ook een heel netwerk beveiligen. Zo'n firewall is er niet alleen als software, maar ook als een apparaat dat tussen het netwerk en het internet zit.



Een firewall voor een PC heet ook wel personal firewall en is een computerprogramma. Windows XP en Vista hebben een ingebouwde personal firewall.
Die kun je instellen door te klikken op Start → Configuratiescherm → Windows Firewall.
Je krijgt dan onderstaand venster in beeld.



Voor oudere besturingssystemen kun je een firewall downloaden, ZoneAlarm is een bekende.

De gebruiker kan zelf regels instellen en bepaalde communicatie tussen computer en het internet toestaan en andere afwijzen. Daarvoor houdt een firewall de poorten van een computer open of juist gesloten.

Een computer bevat een groot aantal poorten, alle met een nummer. Dat zijn onzichtbare onderdelen van het systeem; iedere toepassing heeft zijn eigen poortnummer. Zo gaan bijvoorbeeld alle binnenkomende internetpagina's door poortnummer 80, als je email verstuurt gaat het door poortnummer 25 en als het binnenkomt gaat het meestal via poortnummer 110.
De firewall kan bepaalde poorten sluiten en open stellen, voor inkomend of uitgaand verkeer, of beide.

Virussen, spyware, trojaans paard
Denk er om: een firewall is geen virusscanner. Een virusscanner moet je meestal zelf installeren.
Een virus is een programmaonderdeel, dat zich aan bepaalde programma's kan hechten en er na verloop van tijd voor zorgt dat de computer niet goed meer werkt.
Je kunt ook een gratis virusscanner downloaden, AVG en Avast zijn bekende gratis virusscanners.

Dan heb je ook nog spyware.
Bij bepaalde soorten gratis software, die je kunt downloaden, kan het voorkomen dat er een ongewenst programma meegeïnstalleerd wordt. Deze programma's verzamelen meestal informatie over je surfgedrag en/of tonen advertenties in je browserscherm. Of in het ergste geval verzamelt het programma bankgegevens, wachtwoorden en creditcardnummers van de computergebruiker.
Dat soort ongewenste programma's wordt spyware genoemd. Je hebt speciale anti-spyware programma's. Soms zit het in een virusscanner ingebakken.

Een Trojaans paard.
Een trojaans paard is een speciaal soort spyware. Het is een klein programma dat zich, vaak vermomd als een nuttig programma, op je harde schijf nestelt. En dat programma maakt je pc vervolgens stiekem toegankelijk voor andere gebruikers. Een kwaadwillende kan dan bijvoobeeld vanuit jouw computer spam versturen.

Je hebt ook alles-in-één pakketten, dus virusscanner, firewall, anti-spam en anti-spyware programma bij elkaar, maar daar moet je meestal wel voor betalen.

  5.1.10 Het register

In Windows kun je bij een heleboel dingen je eigen voorkeuren aangeven.
Je kunt bijvoorbeeld de resolutie van het beeldscherm aanpassen, en de snelheid van de muis.
Je kunt ook bij programma's bepaalde dingen instellen.
Je kunt in Kladblok bijvoorbeeld aangeven met welk lettertype de tekst getoond wordt.
En in Word kun je bijvoorbeeld aangeven in welke map de documenten standaard worden bewaard.
Windows houdt al die instellingen bij in een aantal bestanden, en die groep bestanden wordt het Register genoemd (engelse term daarvoor: registry).

Die instellingen kun je bekijken en eventueel veranderen. Maar daar moet je heel voorzichtig me zijn, want als er iets verkeerds gedaan wordt in het register dan werken sommige programma's misschien niet meer goed, en het kan zelfs gebeuren dat de computer helemaal niet meer wil opstarten.

De Registry editor
De Registry editor is het programma waarmee je in het register van Windows kunt bladeren, en bepaalde onderdelen kunt aanpassen.
Dat programma start je op door te klikken op Start → Uitvoeren, en dan in te tikken: regedit
Het register is opgebouwd uit onderdelen, die we sleutels noemen. Die zijn gegroepeerd in vijf hoofdsleutels. Elke subsleutel kan een bepaald gegeven en een bepaalde waarde bevatten.

Hoofdsleutels
  • De hoofdsleutels HKEY_LOCAL_MACHINE en HKEY_USERS worden de primaire sleutels genoemd.
    De andere hoofdsleutels zijn subsleutels van de twee primaire sleutels :
  • HKEY_LOCAL_MACHINE bevat de configuratiegegevens van het computersysteem, zowel hardware- als software-instellingen.
  • HKEY_USERS bevat alle informatie van de gebruikers op het computersysteem.
  • HKEY_CURRENT_USER is een deelsleutel van HKEY_USERS en bevat alle informatie van de gebruiker die op dat moment is aangemeld. Het geheel van alle waarden en gegevens in deze deelsleutel wordt het actieve gebruikersprofiel genoemd.
  • HKEY_CLASSES_ROOT is een deelsleutel van HKEY_LOCAL_MACHINE, waarin gegevens over de bestandsextensies staan (bijvoorbeeld welke toepassing automatisch moet worden gestart wanneer een bestand met een bepaalde extensie wordt geopend).
  • HKEY_CURRENT_CONFIG bevat de informatie over het hardwareprofiel dat op dat ogenblik wordt gebruikt.
Veranderingen aanbrengen in het register
Werken in het Windows-register is niet zonder risico, maar het gevaar wordt ook wel overdreven.
Toch is het verstandig, als je bepaalde dingen wilt veranderen, eerst een reservekopie van het register te maken.
Dat doe je door in het menu op Bestand → Exporteren te klikken.



Het register-venster is verdeeld in twee gedeelten. Het linker gedeelte noemt men het sleutelvenster, het rechter gedeelte heet het waardenvenster.
In het sleutelvenster zie je de hoofdsleutels, die allemaal beginnen met HKEY (handle key).
Via het register kun je instellingen wijzigen, die je normaal in Windows niet kunt wijzigen.
Enkele voorbeelden :
  • Stel dat je de naam van de Prullenbak wilt veranderen in Afval, dan lukt dat je niet vanaf het bureaublad of in de verkenner.
    Maar het kan wel via het register.
    Hiervoor moet je eerst de sleutel zoeken waarin de naam Prullenbak bewaard wordt.
    Klik in het menu op Bewerken → Zoeken, en geef aan dat je wilt zoeken naar Prullenbak.
    Als de sleutel gevonden is dubbelklik je op de naam van de sleutel (in dit geval Standaard).
    In een nieuw venstertje kun je de waarde van de sleutel aanpassen, typ het woordje Afval en klik op OK.
    De naam van de Prullenbak is dan gewijzigd, maar die wijziging is misschien pas zichtbaar nadat je de computer opnieuw hebt opgestart.

  • Sommige programma's worden automatisch opgestart als Windows opstart.
    Soms wil je dit niet, omdat het een programma is dat je niet echt nodig hebt, en het je systeem alleen maar vertraagt.
    Als je wilt voorkomen dat het automatisch opstart, dan kan dit via het register.
    Zoek naar de volgende sleutel :
    [HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run]
    Je ziet nu een lijstje met programma's die automatisch opstarten. Je kunt nu een ongewenst programma verwijderen door het aan te klikken en dan op de deletetoets te drukken.

  • Je kunt ook een nieuwe waarde toevoegen om een programma automatisch te laten opstarten. Daarvoor kies je in het menu Bewerken → Nieuw → Tekenreekswaarde. Dan kun je een naam en een waarde voor een nieuw programma ingeven. Als waarde moet je het volledige pad naar het programma opgeven (bijvoorbeeld c:\windows\calc.exe)

  • Door te klikken op Start → Uitvoeren, en dan de naam van een programma in te voeren, kun je handmatig een programma starten. Als je op het pijltje klikt in het invoervenster dan zie je in een pulldown-menu wat de laatste opdrachten zijn die zijn uitgevoerd. Wil je om de een of andere reden niet dat andere computergebruikers dat kunnen zien, dan kun je die opdrachten uit de opdrachtregel weghalen via het register.
    Zoek daarvoor de volgende sleutel op:
    [HKEY_CURRENT_USER/Software/Microsoft/Windows/ CurrentVersion/Explorer/RunMRU]
    Klik met de rechtermuisknop op een waarde, die in het rechter venster is weergegeven.
    En klik dan op Verwijderen.
    Doe dat ook met de andere waarden. En dan worden die waarden niet meer getoond.

  • Je weet waarschijnlijk dat Internet Explorer alle adressen, die je hebt ingevoerd in de adresbalk, onthoudt.
    Als je wilt dat de browser-geschiedenis wordt gewist dan kan dat door in het menu van Internet Explorer te klikken op Extra → InternetOpties, en dan op Geschiedenis wissen.
    Op die manier kun je alleen de hele geschiedenis wissen.
    Als je maar één adres wilt verwijderen, dan kan dat alleen via het register.
    Zoek daarvoor de volgende sleutel op:
    [HKEY_CURRENT_USER/Software/Microsoft/Windows/InternetExplorer/TypedURLs]
    Klik met de rechtermuisknop op een waarde, die in het rechter venster is weergegeven.
    En klik dan op Verwijderen. En dan zal die URL niet meer getoond worden.