Given the following sequence of events (Interrupt requests IRQi), show which services routines the CPU is executing for times 0 to 100 ms. Consider that each IRQi- Interrupt service routine takes 20 ms to complete.
Time Action
0 ms Start of main program
10 ms IRQ0 Interrupt request 0 is coming
20 ms IRQ1 Interrupt request 1 is coming
45 ms IRQ2 Interrupt request 2 is coming
60 ms IRQ3 Interrupt request 3 is coming
80 ms 1RQ1 Interrupt request 1 is coming
IRQ n has the lowest priority; IRQ 0 has the highest priority
Obs:
If IRQi is coming in the period of execution of IRQj and j has higher priority, then IRQi is postponed until IRQj is finished.
If IRQi is coming in the period of execution of IRQj and i has higher priority, then IRQi is started and IRQj is temporally suspended until IRQi is finished.