Oplossingen van de opgaven van hoofdstuk 11


  1. Een operating system heeft de volgende taken:

  2. Een process is een programma in uitvoering. Multitasking is te realiseren door processen telken een korte tijd te geven om te te runnen en aldus de CPU-tijd over de beschikbare processen te verdelen.

  3. Als er een garantie moet zijn dat een operating system binnen zekere tijd op een gebeurtenis reageert, dan is een real-time operating system nodig.

  4. Bij paging wordt het geheugenbeheer ten behoeve van processen gedaan op basis van vaste stukken geheugen, de zogenoemde pages. Een process bestaat uit een of meer pages en toewijzing van geheugen vind plaats op basis van pages. Als een process actief is (running), worden de bijbehorende pages door de MMU naar de juiste adressen gemapped. Paging biedt de mogelijkheid van virtueel geheuegen. Van een process hoeven niet alle pages echt in het werkgeheugen aanwezig te zijn. Op deze wijze is het mogelijk processen te runnen die niet in het geheugen zouden passen als ze in hun geheel geladen moeten worden.
  5. In onderstaande figuur is de optelling van het Codesegment register (CS) en de Program Counter (PC of IP genoemd) in zijn werk gaat. Het resultaat is een twintig bits adres.

  6. User-mode is een werktoestand van de CPU waarin niet alle instructies mogelijk zijn. In kernel-mode mogen alle instructies uitgevoerd worden. Dit is nodig om een goede bescherming tussen gebruikers en hun processen te bewerkstelligen. Userprocessen draaien in user-mode. Na een systeemreset of startup verkeert de CPU in kernel-mode. Met een speciale code kan de CPU overgaan in user-mode. Is een CPU eenmaal in user-mode dan kan alleen een exception de CPU weer in kernel-mode brengen. In de praktijk betekent dit meestal dat de kernel de exception afhandelt, waardoor de user niet direct vat heeft op de acties die in kernel-mode worden uitgevoerd.

  7. Bij een pre-emptive scheduler zal een process als gevolg van een hardware timer interrupt afgebroken worden en de scheduler kiest een nieuw process. Bij een non-pre-emptive scheduler geeft een process zelf aan wanneer het tijdelijk afstand wil doen van de CPU. Aan de laatste benadering kleeft het grote nadeel dat van elk programma verwacht wordt dat het zich netjes gedraagt en andere processen ook tijd gunt. Een enkel asociaal process kan alle CPU-tijd opslokken. Ook een programmafout in een toepassing kan het hele systeem ophangen.

  8. Bij het client-server model hanteert men de volgende benadering: Een server stelt diensten aan een client (klant) beschikbaar. En client kan van deze diensten gebruik maken. Tussen client en server vindt een uitwisseling van berichten plaats op het moment dat de client een van de diensten van de server wil gebruiken.

  9. Porcessen kennen een aantal mogelijkheden om data uit te wisselen:

  10. Windows NT is een multitasking operating system dat met een uitbreiding ook multiuser kan zijn. Gebruikers dienen in te loggen en krijgen een door de systeembeheerder aantal rechten. De GUI lijkt sterk op die van Windows 95.

  11. Unix is een multitasking, multiuser operating system dat oorspronkelijk tekst georienteerd was. Later zijn eem meer GUI's voor ontwikkeld, waarvan het X-Window-system het meest gebruikt wordt.

  12. Het X-Window-system is een grafische user interface ofwel GUI. Het wordt veel als GUI voor unix-systemen toegepast. Er is een duidelijke scheiding tussen applicatie en grafische weergave aangebracht. Het systeem dat voor de grafische weergave en de user interface in de vorm van een toetsenbord en muis zorgt noemt men de X-server. De applicatie die grafische output levert is een X-client. De communicatie tussen Client en Server is vastgelegd in het X-protocol. Deze aanpak is erg flexibel en laat zich eenvoudig in een netwerk omgeving inzetten. Voor X-servers bestaat een aantal kant en klare oplossingen in de vorm van een X-terminal. Zo'n X-terminal is enigszins te vergelijken met een netwerk computer, maar het grote verschil zit hem in het feit dat de CPU in een X-terminal uitsluitend voor het functioneren van de X-server wordt ingezet, terwijl bij een netwerk computer de locale CPU wel degelijk voor applicaties ingezet kan worden.