Good principles of software design are simply different in different environments.<p>The microwave clock knows it&#x27;s a microwave because it controls the microwave.  It would be wasteful to put extra layers of abstraction in such a small system.<p>Likewise, a system designed for radiation tolerance will expect a close coupling between software and hardware; the whole point of the software in that case <i>is</i> the hardware.