Oplossingen van de opgaven van hoofdstuk 13


  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. De drie in het boek besproken vormen zijn:
    1. RMS
    2. EDF
    3. LSF

  11. De vier taken van een devicedriver zijn:
    1. Initialisatie
    2. Herconfiguratie
    3. Aansturing
    4. Interrupt afhandeling