Windows crashes (stops execution and displays the blue screen) for the following reasons:
A device driver or an operating system function running in kernel mode incurs an unhandled exception, such as a memory access violation (which is caused either by attempting to write to a read-only page or attempting to read an address that isn't currently mapped and therefore is not a valid memory location).
A call to a kernel support routine results in a reschedule, such as waiting for an unsignaled dispatcher object when the interrupt request level (IRQL) is DPC/dispatch level or higher. (See Chapter 3 for details on IRQLs.)
A page fault on memory backed by data in a paging file or a memory mapped file occurs at an IRQL of DPC/dispatch ...