Hoofdstuk 6
6
6.1
Besturingssystemen
Besturingssystemen
1 WAT IS EEN OPERATING SYSTEM? Een computer zonder besturingssysteem is slechts een systeemkast gevuld met onderdelen verbonden door kabels. Je kunt daar niets mee beginnen. De keuze voor een juist OS (Operating System) is dan ook erg belangrijk, vaak nog belangrijker dan een keuze maken uit het grote aanbod van toepassingsprogramma‟s. Als je niet tevreden bent over je zojuist aangeschafte tekstverwerker, kun je zonder problemen overstappen op een andere. Dat is met een besturingsysteem veel lastiger. 1.1 DEFINITIE Volgens Encarta 2001 is het besturingsysteem de software die verantwoordelijk is voor het toewijzen en gebruik van hardware zoals CPU, geheugen, harde schijf en randapparatuur. Het is het fundament voor applicaties.
Applicatie
Applicatie
Applicatie
Operating System
Hardware Het eerste deel van de definitie betekent in de dagelijkse praktijk dat het OS onder meer input verwerkt van toetsenbord en muis en output verstuurt naar monitor en printer. Het houdt bij welke bestanden en mappen op de harde schijf staan en zorgt voor het juist functioneren van de randapparatuur. Dit is een belangrijke taak, omdat programma‟s vragen om verwerkingskracht van de CPU, input van toetsenbord en muis vraagt om bandbreedte en bestanden moeten worden opgeslagen op de harde schijf of diskette. Het besturingsysteem moet al dit verkeer als een soort luchtverkeersleider in goede banen leiden en ervoor zorgen dat de capaciteit van het computersysteem optimaal wordt gebruikt. Het tweede deel van de definitie betekent dat het OS moet zorgen voor een stabiel platform waarop de applicaties gebruik kunnen maken van de onderliggende hardware, zonder dat een programmeur elk aspect van die hardware in een applicatie hoeft te verwerken. Zonder besturingssysteem zou een programmeur steeds moeten definiëren hoe een applicatie tekst of afbeeldingen op het scherm zet, data naar de printer stuurt of hoe bestanden geopend of opgeslagen worden. Voor een programmeur is het uiterst belangrijk om gebruik te kunnen maken van een consistente API (Application Program Interface). In dat geval is hij ervan verzekerd dat een applicatie ook werkt als de hardware wordt aangepast of uitgebreid en zelfs op een ander type computer. Een besturingssysteem is echter niet alleen een uitkomst voor programmeurs, maar ook voor jou om zonder
ENIGMA
6.2
Informatieboek
problemen een grote verscheidenheid van applicaties te kunnen gebruiken en bijvoorbeeld gemakkelijk bestanden te kunnen kopiëren of wissen. opdracht 1-6
1.2 SOORTEN OS Als het OS geschikt is voor multitasking, zorgt het er voor dat verschillende programma‟s tegelijk kunnen worden gebruikt zonder elkaar te storen. Je kunt in dat geval een groot bestand downloaden en ondertussen bijvoorbeeld gaan tekstverwerken. Besturingssystemen voor mainframes en minicomputers, zijn in staat honderden gebruikers gelijktijdig te laten werken: multi-user. In dat geval is het uiterst belangrijk dat onbevoegde gebruikers geen toegang krijgen en moet het OS ook de toegangsrechten en de beveiliging regelen. Dat geldt ook voor netwerkbesturingssystemen die voor servers in bedrijven en scholen gebruikt worden zoals Windows 2003 Server, Novell Netware en Mac OS X Server. Met een van deze netwerkbesturingssystemen kan een server bijvoorbeeld gebruikt worden om gemeenschappelijk bestanden en printers te delen. Je kunt servers ook inzetten als mailserver, webserver of als proxyserver om één internetverbinding beschikbaar te stellen voor meerdere gebruikers van het netwerk. Besturingssystemen die multiprocessing ondersteunen, zoals UNIX, Mac OS X of Windows XP, stellen de gebruiker in staat meerdere CPU‟s te gebruiken voor hetzelfde programma. Bij een ingewikkelde bewerking van bijvoorbeeld een videofragment of een 3D afbeelding wordt de taak verdeeld over twee of meer CPU‟s. Dit wordt ook parallel processing genoemd. In de praktijk blijkt het erg moeilijk een programma zo te ontwerpen dat de CPU‟s verschillende delen van het programma kunnen uitvoeren zonder elkaar te hinderen. Het gelijktijdig actief zijn van verschillende onderdelen van het programma wordt multithreading genoemd. Je kunt bijvoorbeeld met Windows Verkenner een groot bestand uit een map naar een andere kopiëren. Zolang die kopieeractie aan de gang is, kun je in een andere map een bestandsnaam wijzigen of een paar bestanden wissen. opdracht 7-11
2 BASISFUNCTIES VAN EEN OS De meest gebruikte besturingssystemen voor desktop en notebook computers zijn de verschillende versies van Windows en Mac OS. Deze verschillen iets van elkaar op het gebied van gebruikers interface, maar bieden dezelfde basisfuncties: Processorbesturing Geheugenbeheer Besturing van randapparatuur Applicatie-interface Gebruikersinterface
2.1 PROCESSORBESTURING Zolang er één applicatie wordt gebruikt, hoeft het OS alleen maar de applicatie te laten beginnen en eindigen. Dat proces wordt slechts onderbroken door Interrupt Requests (IRQ‟s), bijvoorbeeld om input van de gebruiker te verwerken of een dringend hardwareprobleem af te handelen. Je kunt een IRQ beschouwen als een signaal dat apparaat verstuurt om de aandacht te trekken van de CPU. In feite is een interrupt (letterlijk onderbreking) een verzoek om aandacht van een hardwarecomponent aan een andere. Copyright © 2007 - 2011
ENIGMA-online
Hoofdstuk 6
Besturingssystemen
In het geval van een processor, reageert deze door een interrupt service routine (ISR) uit te voeren. Deze ISR wordt best zo kort mogelijk gehouden, zodat de processor ook aan het hoofdprogramma toekomt en klaar is om nieuwe interrupts af te handelen. Veel digitale systemen (zoals een personal computer) zijn interrupt-gebaseerd: Wanneer bijvoorbeeld een toets wordt ingedrukt op een toetsenbord, dan genereert dit een interrupt die er uiteindelijk voor gaat zorgen dat een bepaalde letter op het scherm wordt getoond of een bepaalde opdracht wordt uitgevoerd. Een netwerkinterface genereert bij het binnenkomen van nieuwe data interrupts aan de processor om aan te duiden dat nieuwe data beschikbaar zijn.
6.3 Interrupt service routine Een interrupt service routine (ISR), ook wel interrupt handler genoemd, is een event-handler die wordt uitgevoerd doordat er een interrupt is gestuurd naar de CPU. De verwerking gaat als volgt: Een apparaat stuurt een signaal via de bus naar de CPU. Wanneer de CPU de interrupt kan verwerken stuurt hij een bevestiging terug. Vervolgens verstuurt het apparaat een code om zich te identificeren: de interruptvector. De CPU slaat de interruptvector op in het interrupt register. Voordat de ISR uitgevoerd kan worden slaat de CPU de programcounter op. De CPU zoekt een nieuwe programcounter door de interruptvector te gebruiken als een index voor een tabel die zich in het geheugen bevindt: de interrupt table. De programcounter die gevonden wordt wijst naar het begin van de ISR voor het apparaat dat de interrupt veroorzaakt. De ISR slaat als eerste de registers van de CPU op in de interruptstack (een speciaal deel van het werkgeheugen). Dit proces wordt context switching genoemd. Vervolgens wordt de programmacode van de betreffende ISR uitgevoerd tot de opdracht RETURN FROM INTERRUPT. Daarmee wordt de ISR afgesloten en de CPU krijgt weer de toestand zoals die was voor het het uitvoeren van de ISR.
Vooral bij multitasking is de rol die het OS speelt cruciaal. Elke applicatie die wordt gestart, moet genoeg processortijd en capaciteit krijgen om probleemloos te kunnen werken. Om die werklast eerlijk over de verschillende applicaties te verdelen, wordt een applicatie vaak verdeeld in processen of threads. Als je aan het tekstverwerken bent, is wat je op het scherm ziet slechts een deel van de processen die worden gestart zodra je dubbelklikt op het icoon van Word. In deze tekstverwerker wordt standaard elk woord dat je intypt, gecontroleerd aan de hand van de spelling- en grammaticacontrole, een proces dat zich grotendeels op de achtergrond afspeelt. Het besturingsysteem kent een prioriteit toe aan de actieve processen. IRQ‟s van bepaalde apparaten worden soms genegeerd om een proces ongestoord te kunnen afwerken. Sommige IRQ‟s, bijvoorbeeld van de harde schijf, zijn zo belangrijk dat die altijd voorrang krijgen. Een proces kan weer onderverdeeld worden in een aantal samenwerkende threads, bijvoorbeeld een thread om foutmeldingen af te handelen en een thread om een waarschuwing voor de gebruiker op het scherm te zetten. Bij multitasking lijkt het voor de gebruiker of alle applicaties die gestart zijn gelijktijdig hun werk doen, maar de CPU kan maar één taak tegelijk afhandelen. Daarom moet het OS steeds wisselen tussen de actieve processen, vaak in onderdelen van een seconde. Het besturingssysteem wijst een proces een bepaalde processortijd toe. Zodra die tijd verstreken is, wordt de inhoud van de registers naar het werkgeheugen gekopieerd. Het lopende adres van het proces wordt in een door het OS beheerde queue (wachtrij) gezet. Daarna vult het OS de registers met de data van het volgende proces en worden van dat proces een aantal processor cycli d.w.z. instructies verwerkt. Als ook die tijd om is, wordt opnieuw de inhoud van de registers naar het werkgeheugen geschreven enz. Alle informatie die nodig is om een proces te kunnen doorstarten wordt opgeslagen in een procescontroleblok. Daarin staat een identificatienummer om het proces te onderscheiden van andere, de prioriteit van een proces, verwijzingen naar plaatsen in de programmacode, een lijst met openstaande bestanden en de status van alle benodigde randapparatuur. Het zijn in feite deze blokken die in de genoemde queue worden gezet. Wanneer een proces een randapparaat moet gebruiken, bijvoorbeeld de printer, controleert het OS eerst of een ander proces die al gebruikt. Als dat zo is, wordt het verzoek in een bij dat apparaat behorende queue geplaatst totdat het apparaat vrij is. Het OS vult de wachttijd door een ander proces door te starten dat op de CPU wacht.
ENIGMA
6.4
Informatieboek
We bekijken het volgende voorbeeld. Stel dat er twee applicaties draaien: A en B. De CPU voert de instructies van programma A uit. Op een bepaald moment wordt er data weggeschreven naar de harde schijf. In plaats van de CPU te laten wachten totdat alle data is weggeschreven, is het effectiever om de processor nu de instructies van programma B te laten uitvoeren. Om te kunnen switchen moet het volgende gebeuren: Het adres van de instructie die volgt na het datatransport staat in de programcounter. Dit adres moet bewaard worden. Vervolgens moet het adres waar programma B mee verder gaat in de programcounter geplaatst worden. Ook moet de inhoud van alle andere registers ook bewaard worden, omdat hij hoort bij programma A. De inhoud van alle andere registers van programma B moet worden teruggezet. We moeten de complete processor context van programma A opslaan en de processor context van B terugzetten. Het wisselen tussen twee processen, waarbij de status van het proces wordt bewaard, wordt context switching genoemd. programma A
operating system
save registers A selecteer programma B restore registers B
save registers B selecteer programma A restore registers A
Opdracht 12, 22
Copyright © 2007 - 2011
ENIGMA-online
programma B
Hoofdstuk 6
6.5
Besturingssystemen
2.2 GEHEUGENBEHEER Het OS moet een paar belangrijke taken vervullen bij het beheer van het geheugen. Elk actief proces moet voldoende geheugen toegewezen krijgen om te kunnen functioneren en een proces mag de overige actieve processen die in een ander geheugengebied staan niet hinderen. Bovendien moet de beschikbare geheugenruimte zo efficiënt mogelijk verdeeld worden over de verschillende processen. Daarbij doet het volgende probleem zich voor. Ieder programma doet een eigen beroep op het geheugen en heeft eigen verwijzingen naar geheugenadressen. Andere programma‟s mogen daar geen veranderingen in aanbrengen. Een opdracht als LOAD 100, r9 verwijst naar een bepaalde geheugenplaats in het werkgeheugen. Maar het is de vraag of het programma die geheugenplaats wel toegewezen krijgt door het operating system. De oplossing voor dit probleem is dat geheugenadressen in programma‟s door het besturingssysteem niet als absolute adressen maar relatieve adressen worden beschouwd. Dit vereist een aanpassing aan de hardware zodat die het verschil kent tussen absolute adressen en relatieve adressen. Ieder programma krijgt een basisadres toegewezen, het absolute startadres van het programma. Het basisadres wordt bewaard in het basisregister. Programma A krijgt bijvoorbeeld als basisadres 2000 toegewezen en programma B 12000. Vanaf dat punt worden het programma in het geheugen geladen. In de hardware is een functie ABS ingebouwd die een relatief adres ar omzet in een absoluut adres aa:
ABS(ar) = ar + basisadres aa = ABS(ar) Behalve een absoluut startadres krijgt een programma ook een absoluut eindadres toegewezen. Dit adres wordt opgeslagen in het limietregister. Hiermee wordt de maximum geheugenruimte die een programma krijgt toegewezen bepaald. Wanneer een programma probeert data of een subroutine te adresseren die buiten de grenzen van zijn geheugen valt zal de instructie niet worden uitgevoerd en er zal een foutmelding gegenereerd worden. In het volgende voorbeeld wordt een waarde uit register r9, de waarde 12, weggeschreven naar geheugenplaats 100.
200 0 210 0 220 0 230 0
0 100 200 300
12 <
=
limietregister
>
= 100 0
LOAD 100, r9
+
2000
basisregister
foutmelding
500
5000
ENIGMA
6.6
Informatieboek
Dit gaat als volgt: In de instructie LOAD 100, r9 is het adres 100 een relatief geheugenadres. Voordat de instructie kan worden uitgevoerd moet bij het relatieve adres het adres uit het basisregister worden opgeteld om er een absoluut adres van te maken: 100 + 2000 = 2100. Vervolgens checkt het system of het verkregen absolute adres binnen de grenzen van het toegekende geheugen valt. Is dat het geval dan wordt de instructie uitgevoerd en anders wordt er een foutmelding gegenereerd. Onder Windows krijgt elk proces zijn eigen beschermde geheugenruimte toegewezen, maar als daarvan niet genoeg beschikbaar is, wordt een deel van de harde schijf gebruikt als virtueel geheugen (de „swap file‟). Daarin wordt programmacode of data uit het werkgeheugen opgeslagen die al een tijdje niet gebruikt is. Zodra een proces programmacode of data uit de swap file nodig heeft, wordt daarvoor werkgeheugen vrijgemaakt en wordt de inhoud van een ander proces naar de swap file gekopieerd. Het nadeel van een swap file is dat de harde schijf veel langzamer is dan het werkgeheugen, zodat het proces langer moet wachten voor het verder kan gaan. Onder Mac OS wordt aan een applicatie een maximale geheugenruimte toegewezen en die kun je binnen bepaalde grenzen verminderen om meer ruimte vrij te maken voor een andere applicatie die je tegelijkertijd zou willen gebruiken. Opdracht 13
2.3 BESTURING VAN DE RANDAPPARATUUR Bijna alle hardware die niet op het moederbord te vinden is, wordt door het OS bestuurd met behulp van drivers. Je kunt een driver beschouwen als een soort brug tussen de elektrische signalen van de randapparaten en de programmacode van de applicaties en het OS. Om een voorbeeld te geven: een driver voor de harde schijf zet de data die door het OS als een bestand wordt gedefinieerd om in een serie bits en schrijft die op een lege plaats op de harde schijf. Fabrikanten van randapparatuur brengen regelmatig nieuwe drivers of updates van bestaande drivers op de markt om problemen met de aansturing op te lossen of te voorkomen. Het grote voordeel van het gebruik van drivers is dat je in veel gevallen gemakkelijk een extra randapparaat kunt aansluiten zonder dat het OS handmatig moet worden aangepast. Vooral bij een Plug-and-Play apparaat, is het meestal een kwestie van het apparaat aansluiten, de driver installeren en soms Windows opnieuw starten. Bij het Mac OS wordt er in de systeemmap een extensie (uitbreiding) geplaatst om een nieuw apparaat aan te sturen. Fabrikanten van randapparaten leveren drivers voor verschillende besturingssystemen, maar als er voor het OS dat jij gebruikt nog geen driver beschikbaar is, heb je een probleem. Het apparaat werkt dan helemaal niet, niet goed of wordt in een aantal gevallen zelfs niet herkend. Om de input van bijvoorbeeld het toetsenbord of een seriële poort te verwerken, wordt vaak een buffer of een queue gebruikt. Dat is vooral belangrijk bij multitasking als er een aantal processen actief is en de CPU druk bezig is die te verwerken. De input van het apparaat wordt aanvankelijk in zo‟n buffer geplaatst. Vervolgens plaatst het OS de gebufferde input op een geschikt moment in het werkgeheugen van het proces dat erop staat te wachten en start het proces door. Op die manier kan bijvoorbeeld het downloaden van een bestand vanaf het Internet verwerkt worden terwijl de CPU druk bezig is een vloeiende overgang tussen twee videofragmenten te berekenen. 2.4 APPLICATIE-INTERFACE Drivers zorgen ervoor dat applicaties gebruik kunnen maken van alle randapparatuur, zonder daarbij rekening te hoeven houden met allerlei specifiek technische details. Bovendien is het voor de programmeur van een applicatie niet nodig om te weten hoe bijvoorbeeld de harde schijf in een systeem wordt aangestuurd. Hij kan daarvoor gebruik Copyright © 2007 - 2011
ENIGMA-online
Hoofdstuk 6
Besturingssystemen
6.7
maken van een API (Application Program Interface). Laten we ervan uitgaan dat er zo‟n API een „methode‟ bevat met de naam MaakBestand om bestanden op te slaan. De programmeur hoeft dan alleen maar in de programmacode iets op te nemen als:
MaakBestand [“naam-van-het-bestand”] Het OS, bijvoorbeeld Windows XP of Windows Vista controleert eerst of je in de bestandsnaam geen tekens zet die niet gebruikt mogen worden, zoals: ? / \ : * > < “ ; . en dat je niet probeert een read-only bestand te overschrijven. Er wordt ook nog gecontroleerd of je in de map waar je het bestand wilt opslaan wel schrijfrechten hebt. Vervolgens wordt de harde schijf benaderd, in veel gevallen via de driver voor het betreffende merk en wordt een vrije plaats gezocht. Windows schrijft dan in de FAT (File Allocation Table) de begin en eindpositie van het bestand, de bestandsnaam, de datum en tijd. Er wordt ook opgeslagen aan welke applicatie het bestand gekoppeld is en welke gebruikers recht hebben om het bestand op te vragen of te wijzigen. Dankzij deze API hoeft de programmeur geen rekening te houden met allerlei merken en types harde schijven, diskettes, memorycards, CD- en DVD-recorders. Het OS neemt met behulp van de drivers voor deze apparaten die taak van hem over. Opdracht 14
2.5 GEBRUIKERSINTERFACE Als je al zo lang een PC gebruikt, dat je nog weet wat een DOS prompt is, weet je ook dat het OS tegenwoordig een heel stuk gebruiksvriendelijker is. MS-DOS had tot en met versie 6 een command-line interface. Dit betekende dat je op een zwart scherm allerlei commando‟s moest intypen om bestanden te kopiëren en te verwijderen, mappen aan te maken en applicaties te starten. Toepassingsprogramma‟s in die tijd maakten veelvuldig gebruik van de functietoetsen op het toetsenbord, maar bijna elk programma had zijn eigen set functietoetsen en er was voor de gebruiker vaak weinig logica in te ontdekken. Tegenwoordig kun je als OS voor een desktop computer een keuze maken uit de verschillende versies van Windows, Mac OS en Linux. Al deze besturingssystemen werken met een GUI (Graphical User Interface) en je kunt zeer verhitte discussies uitlokken door op een of ander feestje een kritische opmerking over een van deze drie te maken. Windows heeft verreweg het grootste marktaandeel, maar het Mac OS heeft van de drie de oudste rechten op de grafische gebruikers interface.
Gebruikersinterface Mac OS X
ENIGMA
6.8
Informatieboek
Unix en Linux hadden lange tijd voornamelijk een command-line interface en op tekst gebaseerde gebruikersinterfaces, maar dankzij X-Windows, Gnome en KDE kun je nu ook bij die besturingsystemen gebruik maken van een GUI. Een GUI zorgt voor een duidelijke en overzichtelijke structuur in de interactie tussen de gebruiker en het OS. Je moet je wel realiseren dat een GUI een soort schil is rond het besturingssysteem. De eigenlijke kern van het OS, het besturen van het computersysteem zoals eerder hier beschreven, wordt verricht door de kernel. Dit deel van het OS wordt als eerste in het werkgeheugen geladen en blijft daar zolang de computer niet wordt uitgeschakeld. Daarom is het belangrijk dat de kernel zo klein mogelijk is, maar groot genoeg om de essentiële taken van een besturingssysteem te kunnen uitvoeren. De belangrijkste vernieuwingen van een OS liggen dan ook vaak niet in het herschrijven van de kernel, maar in het aanpassen en verbeteren van de user interface en het toevoegen van allerlei utilities. Opdracht 15-21, 23-41
3 BIOS EN OPSTARTEN
3.1 BIOS Een besturingssysteem op een Intel computer werkt nauw samen met het BIOS en gebruikt drivers voor de randapparatuur. Het BIOS (Basic Input Output System) fungeert als een eerste brug tussen de hardware, de CPU en het OS. In het BIOS staan gegevens over de harde schijf, het diskettestation, seriële en parallelle poorten, de grootte van het werkgeheugen enz. Deze gegevens worden opgeslagen in EEPROM (Electrically Erasable Programmable Read-Only Memory) chips, die de gegevens ook vasthouden als de PC uitstaat. Het voordeel van het gebruik van EEPROM chips, ook wel Flashgeheugen genoemd, is dat het BIOS softwarematig kan worden bijgewerkt. Het BIOS wordt alleen gebruikt computers met Windows als OS en CPU‟s van Intel of AMD. Macintosh computers hebben geen BIOS zoals “Wintel” computers. Bij een Mac kunnen de instellingen, bijvoorbeeld datum, tijd en bootvolgorde worden aangepast met behulp van Regelpanelen in het OS. Die instellingen worden opgeslagen in het PRAM (Parameter RAM), een chip op het moederbord van een Mac die door een kleine batterij van spanning wordt voorzien. Het Mac OS werkt daarnaast ook met extensies (uitbreidingen) die in de systeemmap worden geplaatst. Je kunt de extensies vergelijken met de drivers voor Intel computers en net als bij deze moet voor elk nieuw apparaat een extensie beschikbaar zijn, anders is het niet te gebruiken. Voor computers die met Unix of Linux werken, fungeert de kernel van het OS als bemiddelaar tussen de hardware en de applicaties. De driver voor een of ander nieuw apparaat kan bij die besturingssystemen ook als aparte module in het werkgeheugen worden geladen.
Copyright © 2007 - 2011
ENIGMA-online
Hoofdstuk 6
Besturingssystemen
6.9
Naast het BIOS hebben „Wintel‟ computers drivers nodig voor de aangesloten randapparatuur. Die drivers worden in veel gevallen geladen door het OS bij het opstarten. Drivers zijn nodig om bijvoorbeeld een geluidskaart, een DVD-speler of printer aan te sturen. Zonder drivers zou het BIOS of het OS de gegevens moeten bevatten van alle randapparatuur die je ooit aan je computer zou willen koppelen. Het feit dat bij Wintel computers het BIOS en bij de Mac de PRAM wordt gebruikt, is niet een gevolg van de keuze voor een of andere CPU of OS, maar wordt door de architectuur van deze machines bepaald. Het is in beide gevallen een oplossing voor een algemeen probleem: hoe wordt het OS geladen en hoe kan dat zo efficiënt mogelijk? Je zou het hele besturingssysteem in ROM kunnen zetten, zoals bij PDA‟s en smartphones gebeurt of bit voor bit intypen, maar dat laatste kun je toch niet bepaald efficiënt noemen! In veel gevallen staat het OS op een permanent medium zoals een harde schijf, een CDROM of een diskette, maar bij het opstarten is het OS nog niet geladen en datzelfde OS is nodig om de inhoud van een disk te lezen. Die hele situatie doet denken aan de onfortuinlijke Baron Von Münchhausen die zich aan de lussen van zijn laarzen (bootstraps) uit het moeras trok. In het Engels bestaat nog steeds de uitdrukking: “to pull yourself up by your bootstraps.” En dat is precies wat er bij het opstarten van een computer gebeurt. Opdracht 42-45
3.2 OPSTARTEN Bij het opstarten van een „Wintel‟ PC wordt allereerst een elektrisch signaal gestuurd langs een vooraf ingeprogrammeerde weg naar de CPU. Dat signaal verwijdert de eventueel aanwezige resten van een vorige sessie uit de registers. Bovendien wordt met dit signaal de program counter op de hexadecimale waarde F000 ingesteld. Daarna moet de CPU het boot programma verwerken. Dat programma wordt bewaard in de ROM (ReadOnly Memory) chip op het moederbord die het BIOS bevat. De instructies in het boot programma zorgen ervoor dat de CPU signalen over de bus verzendt om te controleren of alle componenten correct functioneren. Tijdens deze POST (Power-On Self Test), hoor je een paar piepjes, zie je op de monitor de eerste tekst verschijnen en knipperen op het toetsenbord een paar lichtjes als teken dat bijvoorbeeld de videokaart, het geheugen en het toetsenbord probleemloos lijken te werken. Daarna zorgen de instructies in de ROM ervoor dat de harde schijf wordt geactiveerd. Op het eerste spoor van de harde schijf staat een klein programma, de „bootstrap loader‟, die ervoor zorgt dat het OS in het werkgeheugen wordt geladen. Het besturingssysteem laadt de benodigde drivers voor de randapparatuur en pas als alles geladen is, kun je met de computer werken en applicaties starten. Zodra een Macintosh computer wordt opgestart, wordt als eerste de BootROM firmware geactiveerd. Deze heeft twee taken: het initialiseren van de hardware en het kiezen van het OS dat geladen moet worden. Tijdens de POST wordt een deel van de hardware geïnitialiseerd en wordt gecontroleerd of er voldoende RAM geheugen beschikbaar is en of dit goed functioneert. Daarna wordt de rest van de hardware geïnitialiseerd en wordt het OS geladen vanaf disk. Opdracht 46-54
ENIGMA
6.10
Informatieboek
4 GEBRUIKERS EN TOEGANGSRECHTEN
4.1 GEBRUIKERS Zolang je als enige een PC gebruikt, is er niets aan de hand. Het kan een probleem worden als meerdere mensen dezelfde computer moeten delen. De standaardinstelling is dat alle gebruikers dezelfde voorkeuren en bureaubladinstellingen delen. Dat is in de praktijk vaak niet handig, omdat je soms met veel moeite een perfecte persoonlijke gebruikersomgeving hebt ingesteld die door de volgende gebruiker weer ongedaan wordt gemaakt. Al onder Windows 98 was het daarom mogelijk om gebruikersprofielen te maken. Bij het opnieuw starten van Windows wordt dan een naam en wachtwoord gevraagd om je bij Windows als gebruiker aan te melden. Al je persoonlijke instellingen, wel of geen spellingcontrole in Word, het lijstje met Favorieten, de achtergrond van het bureaublad enz. worden nu bijgehouden en als je je de volgende keer weer aanmeldt indien nodig teruggezet. Een nadeel was dat deze profielen makkelijk te omzeilen waren. Windows XP heeft een veel betere beveiliging, die komt uit de Windows NT-familie. Er wordt gebruik gemaakt van gebruikersaccounts en je kunt alleen gebruik maken van het systeem als je correct inlogt. In Windows Vista is de beveiliging van het systeem van gebruikersaccounts verbeterd.
4.2 TOEGANGSRECHTEN Je kunt hiermee echter niet voorkomen dat een volgende gebruiker belangrijke bestanden wijzigt of wist. Daarvoor heb je bijvoorbeeld Windows XP of Linux nodig. Bij het installeren van die besturingssystemen wordt een „administrator‟ of „root‟ aangemaakt, een gebruiker met alle rechten. Die kan dan andere gebruikers toegang verlenen tot het systeem en belangrijke mappen of bestanden beveiligen. De beveiliging kan bestaan uit het verlenen van „filescan‟ rechten waarbij andere gebruikers bestanden wel kunnen openen, maar niet wijzigen. Het is zelfs mogelijk om mappen of bestanden ontoegankelijk te maken, zodat ze niet geopend kunnen worden.
Copyright © 2007 - 2011
ENIGMA-online
Hoofdstuk 6
Besturingssystemen
6.11
4.3 TOEGANGSRECHTEN IN EEN NETWERK In een netwerk kan de beheerder, de administrator, ook gebruikers aanmaken en toegangsrechten verlenen op de mappen en bestanden op de netwerkserver. Dat is vooral belangrijk als meerdere personen gebruik maken van hetzelfde bestand. In het databasebestand van een schooladministratie moeten sommige gebruikers alleen maar leesrechten krijgen en anderen het volledige beheer. Als er meerdere personen gelijktijdig gebruik moeten maken van een record, moet het beheer zeer goed geregeld worden. In een dergelijke multi-user situatie moet er geregeld zijn dat twee of meer gebruikers wel gelijktijdig een record kunnen inzien, maar niet gelijktijdig kunnen wijzigen. Als ze dat toch proberen, verschijnt er een foutmelding zoals “Dit record wordt momenteel elders gemuteerd. Aanbrengen van wijzigingen is nu niet mogelijk”. Opdracht 55-60