I have a basic question. While in kernel mode (for example as a
result of system call), before modifying any kernel gloable data
we(kernel) disable all the interrupts that may posibally interfere
with that data.
What does it mean by "disabling the interrupt". Does it means that
interrupt can occure but it does not cause the cpu to jump on its
handler , than there must be some mechenism to "SAVE THOSE IGNORED
INTERRUPTS" and later at some point of time handle them. Otherwise
they will never be handled and that may cause problesm. For example if
some process waiting for I/O completion depends on interrupt handler
to wake it up, but if that I/O interrupt is ignored than this process
will sleep for ever.
Please let me know how "saving the ignored interrupts and later
handling them" is done. Or if it is not done at all than what
mechenism is used to prevent above problematic situation.