Tuesday, May 12, 2009

The Hardware Abstraction Layer

Cars are not all the same under the hood. Their technologies can be very different. To a driver, though, they are made to look the same. The surface a driver touches is remarkably similar from car to car. While innards may differ, the driver sees the same ignition key, brake pedal, steering wheel, accelerator, speedometer, and so on from car to car.

The driver sees an abstraction of a car.

On a desktop computer, never mind what its silicon internals are, the Windows operating system provides a large set of routines that my program can use to do its stuff. The routines look the same to a program regardless of the hardware underneath. The program is running not on a computer but on the generic idea of a computer. The actual computer runs a program that makes it look like the abstract idea of a computer.

This "hardware abstraction layer" delivers a standard view of hardware to the user.

What does it look like from the hardware's side? Suppose one inverts the function. Change "hardware" to "wetware" (humans are wetware), and change "abstraction" to "concretization". Is there a "wetware concretization layer"?

Hardware used to have to deal with peeks and pokes by geeks and nerds. Very uncomfortable, and there was no privacy. Now it is protected for the most part. Tweaks by geeks are more often intended to speed up the motherboard than to peer at the contents of a hard memory location. Hardware can just be itself.

For hardware, human interactions have normalized and are now solidified into a small, well-defined, set of tasks. The hardware has successfully made concrete the nature of the human world above it.

Hardware sees a wetware concretiziation layer.

We march to its drum.

0 Comments:

Post a Comment

<< Home