* Hardware Abstraction, which allows programs to make use of hardware without having to know about the specifics of any given hardware device. It is responsible for displaying the graphics on screen and outputting sound to the speakers, controlling input from the mouse and keyboard, and allowing [[hardware]] to work properly. Usually this is implemented in the [[BIOS]] or a separate HAL (Hardware Abstraction Layer). | * Hardware Abstraction, which allows programs to make use of hardware without having to know about the specifics of any given hardware device. It is responsible for displaying the graphics on screen and outputting sound to the speakers, controlling input from the mouse and keyboard, and allowing [[hardware]] to work properly. Usually this is implemented in the [[BIOS]] or a separate HAL (Hardware Abstraction Layer). |