Skip to main content
Engineering LibreTexts

20.5: Exercises

  • Page ID
    19992
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Below are some quiz questions and suggested projects based on this chapter.

    Quiz Questions

    Below are some quiz questions based on this chapter.

    1) What is the operating system responsible for? Name some of the resources.

    2) What is an interrupt?

    3) What is an exception?

    4) What is an ISR and what is it for?

    5) Where (name of the data structure) does the operating system obtain the address when an interrupt occurs and what is contained in it?

    6) When an interrupt occurs, how is the appropriate offset into the IDT calculated?

    7) What is the difference between the iret and ret instructions?

    8) Why does the OS use the interrupt mechanism instead of just performing a standard call.

    9) What is meant by asynchronously occurring interrupts?

    10) What is meant by synchronously occurring interrupts?

    11) When an interrupt occurs, the rip and rFlags registers are pushed on the stack. Much like the call statement, the rip register is pushed to save the return address. Explain why is the rFlag register pushed on the stack.

    12) Name two hardware interrupts.

    13) List one way for a program to generate an exception.

    14) What is the difference between a maskable and non-maskable interrupt?

    Suggested Projects

    Below are some suggested projects based on this chapter.

    1) Write a program to obtain and list the contents of the IDT. This will require an integer to ASCII/Hex program in order to display the applicable addresses in hex. Use the debugger as necessary to debug the program. When working, execute the program without the debugger to display results.


    This page titled 20.5: Exercises is shared under a CC BY-NC-SA license and was authored, remixed, and/or curated by Ed Jorgensen.

    • Was this article helpful?