Besturingssysteem en hardware

Waarom wordt bij terugkeer naar het oorspronkelijke programma na afhandeling van een interrupt of exception een speciale terugkeerinstructie (zoals sret en mret van RISC-V) gebruikt in plaats van een gewone terugkeerinstructie van een functie?

  1. AOmdat een speciale instructie een kortere instructielengte heeft
  2. BOmdat naast het terugkeeradres ook de modus en de interrupttoestand worden hersteld
  3. COmdat de handler met een gewone terugkeerinstructie het terugkeeradres niet kent
Antwoord en toelichting tonen

Antwoord: B. Omdat naast het terugkeeradres ook de modus en de interrupttoestand worden hersteld

Wanneer een exception of interrupt optreedt, slaat de CPU naast het terugkeeradres ook de tot dan toe geldende werkingsmodus en of interrupts waren toegestaan op in speciale registers en gaat naar de bevoorrechte modus. Bij terugkeer moeten die tegelijk worden hersteld en moet naar de gebruikersmodus worden teruggegaan voordat naar de oorspronkelijke instructie wordt gegaan; anders blijft de uitvoering met privileges doorgaan. Een speciale terugkeerinstructie voert dit ondeelbaar in één instructie uit. Het gaat niet om de instructielengte, en het terugkeeradres is bekend uit het opgeslagen register.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Besturingssysteem en hardware

  1. Welke factor is in een systeem waarin realtime gedrag vereist is het meest geschikt als oorzaak van een grotere interruptlatentie (de tijd van het optreden van een interrupt tot het begin van de handler)?
  2. Welke uitleg over NMI (non-maskable interrupt) is juist?
  3. Welke verwerking is juist nodig in een systeem met meerdere cores wanneer het besturingssysteem de paginatabelingang van een pagina wijzigt en de koppeling ongedaan maakt?
  4. Wat gebeurt er in het algemeen wanneer een programma een adres benadert dat het besturingssysteem niet heeft toegewezen?
  5. Welke uitleg is juist over wat er gebeurt bij het lezen van de inhoud van een bestand met een mechanisme dat een bestand aan geheugen koppelt (zoals mmap)?

Vergelijkingen bij dit onderwerp