Why doesn't the OS crash if I dereference a null pointer?
<p>Dereferencing a null pointer results in undefined behavior. In practice it <em>usually</em> means that my program will crash. But why doesn't the OS crash? Because if my program dereferences a null pointer, and my program is run by the OS, then, according to the rules of logical transitivity, this means the OS tried to dereference a null pointer. Why doesn't the OS enter a state of "undefined behavior"?</p>
