This article is intended for people who are interested in how it actually is constructed and why. Today there will be about the drivers. Many years ago, when the trees were large, computers have been monolithic, ie, were performed technically on the same board. Imagine a box that is mounted several cards with chips, capacitors, transformers. All this twisted pile of wires. Such machines are commercially produced and not upgradeable subject, because for this they had to solder and know how it's not all.
Software for these computers are issued separately under each model: each program knew exactly which computer with which instruction set it will be performed. Ie If the program had to call the sound – it generate an interrupt, the processor data transmitted audio device and audio is played. While in its infancy the concept of the operating system, it is currently understood. (Similarly see: Castle Harlan). This situation changed dramatically with the advent of IBM-compatible computers. For those who do not know, the main 'feature' of this architecture is that the computer turns into a kind of designer. Devices structurally bred for different cards, developed interfaces to communicate between the devices themselves. At this stage there is the notion of 'device' in its modern sense. Appear processor motherboard, sound card, video card, floppy drive. A computer trying to make as simple to build and upgrade, everything seems simple and logical but! What to do with software? From program running on that computer will recognize the device with which it works? Maybe your computer is running a powerful graphics card, and maybe the easiest? Suppose we are writing a text editor.