A concept for hardware modularisation
Today's computers have a big case where you can put PCI and AGP expansions into it. The drivers are very complex and for every component there are different drivers. External expansions e.g. USB have got the base of device types, so there are no problems connecting a mouse to any usb-able computer.Device drivers
There are many standards for devices like OpenGL for graphics. Why don't use such commands for gerneric device drivers? For example: You have a graphics card, so this card has the id 0x0042 and the revision 1.2 - then any computer which can use id 0x0042 in revision 1.2 can use this card as graphics adapter without any further drivers. It does not matter if it is a Windows ode Linux PC, an Apple, or even a professional workstation.Connecting the devices
The best way in cost and effectivity would be a bus system. Most expansions are based on busses like USB, PCI, AGP, FireWire. There are to ways for different purposes.- Stacked Boxes You have boxes for central unit, graphics adapter, sound system, hard disks, optical drives, and so on. The central unit, which homes the CPU, RAM and bus controllers just has USB and power connectors. On the top of the box is a broadband bus connector with integrated power supply. Now you can put a box, eg. a graphics adapter, on the top of the central unit. The expansion boxes do have these broadband connectors at the top and the buttom of the case. Just stack and play.
- Hot-Plug Boxes The concept is like the one of stacked boxes, but the broadband connector is on the back of the box. These boxes are put on a backplane. So you can put and remove boxes in a chain of devices without breaking the connection of the other boxes. Extension or replacement are made as easy as possible.