Besturingssysteem en hardware

Welk verloop van de verwerking is juist wanneer de CPU een interrupt accepteert?

  1. AHet lopende programma wordt weggegooid en opnieuw vanaf het begin uitgevoerd
  2. BNa uitvoering van de interrupthandler wordt niet naar het oorspronkelijke programma teruggekeerd, maar wordt het volgende programma gestart
  3. CDe huidige positie en toestand worden opgeslagen, de interrupthandler wordt uitgevoerd en daarna wordt naar de opgeslagen positie teruggekeerd
Antwoord en toelichting tonen

Antwoord: C. De huidige positie en toestand worden opgeslagen, de interrupthandler wordt uitgevoerd en daarna wordt naar de opgeslagen positie teruggekeerd

Na het accepteren van een interrupt slaat de CPU het adres van de volgende uit te voeren instructie en toestand zoals de werkingsmodus op en gaat naar de interrupthandler die bijvoorbeeld door de interruptvectortabel wordt aangewezen. De handler slaat de benodigde registers op, voert de verwerking uit, herstelt de toestand en hervat het onderbroken programma op de plaats van onderbreking. Het programma wordt niet weggegooid of opnieuw gestart. Na de handler kan wel naar een ander proces worden overgeschakeld, maar dat is een beslissing van het besturingssysteem.

Verloop van een interruptafhandeling ① Apparaat vraagt interrupt (IRQ) Bv. timer, RX klaar ② Huidige instructie afmaken Geen stop halverwege ③ PC en status opslaan Retouradres + modus ④ Vectortabel raadplegen Nr. → handleradres ⑤ Handler (ISR) uitvoeren Registers ook bewaren ⑥ Interruptbron wissen Anders opnieuw IRQ ⑦ Status herstellen, terug Returninstr. (bv. mret) Apparaat CPU (automatisch) Software CPU Uitvoering hervat na de onderbroken instructie
Verloop van een interruptafhandeling · Bekijken in het figurenoverzicht
Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Besturingssysteem en hardware

  1. Wat is de juiste rol van de interruptvectortabel?
  2. Waarop moet worden gelet bij het tijdelijk uitschakelen (maskeren) van interrupts tijdens een kritieke bewerking?
  3. Wat is de juiste reden dat de verwerking van een interrupthandler wordt gesplitst in een kort deel dat direct wordt uitgevoerd en een rest die later in een gewone context wordt uitgevoerd?
  4. Wat is de juiste rol van de paginatabel?
  5. In welk geval treedt een paginafout op?

Vergelijkingen bij dit onderwerp