Chapter 7 Shells and Native Applications
I was like a boy playing on the sea-shore, and diverting myself now and then finding a smoother pebble or a prettier shell than ordinary, whilst the great ocean of truth lay all undiscovered before me.
—Sir Isaac Newton
A shell is a very convenient place to run applications, and it allows both developers and users great access to all the hardware in a platform, and all the shells/applications they are sitting upon. Many shells have significantly lower overhead to them than a modern operating system. These two features combine to make them an excellent place to develop and test new hardware and low-level drivers for that hardware, as well as a place to run diagnostics.
The common features that most shells ...