2008年9月4日星期四

ThinkUtility - Proactive Protection against BOSDs

Today, I would like to talk about Operating System crash. First, let's take a look why does system crash? WOW, it's really hard to answer the question. General speaking, the result of BSOD is because system too "sick" to continue. e.g.
 
 A device driver or an operating system function running in kernel mode incurs an unhandled exception. 
  •  A call to a kernel support routine results in a reschedule, such as waiting for an unsignaled dispacther object when the interrunpt request level(IRQL) is DPC/Dispatch level or higher.
  •  A page fault on memory backed by data in a paging file or a memory mapped file occures at an IRQL of DPC/Dispatch level or above (Which would require the memory manager to have to wait for an I/O operation to occur - and, as just stated, waits cannot occur at DPC/Dispatch level or higher because that would require a reschedule. )
  • A device dirver or operating system function explicitly crashes the system (by calling the system function keBugCheckEx) because it detects an internal condition that indicates either a corruption or some other situation that indicates the system cannot continue execution w/o risking data corruption.
  • A hardware error, such as a machine check or a nonmaskable interrupt(NMI), occurs. 
The typical problems are that
  • Unhandled exception
  • OS or driver detects severe inconsistency
  • Invalid memory references
  • Hardware error
Well, Can I do something while system crash? The answer is nothing. If you have configed  system to dump memory, you would see infamous Blue Screen Of Death. 

That's current windows solution. Can we improve it? Definitely, YES. I have developed utility as  Proactive protection method. When I got appropriate FTP website, I will share to everyone.

To be continued...

没有评论: