Skip to main content
1 of 2
waltinator
  • 6.9k
  • 1
  • 25
  • 27

The execution contexts differ.

"User mode", where one's programs run, has all sorts of restrictions that wall it off from the Real World. The system still has code it knows h asn't been messed with by the user, and can be relied on to handle user-level faults.

"Kernel mode", where interrupt handlers and other system tasks run, has no restrictions. All the hardware/software is vulnerable to buggy programs in kernel mode. System-level programs were supposed to be written with due care, and without faults (I'm looking at YOU, CloudFlare).

When a fault occurs in kernel mode, or an interrupt in an interrupt handler, none of the rest of the system can be relied on. The system reboots to refresh the potentially corrupted software.

waltinator
  • 6.9k
  • 1
  • 25
  • 27