Normally, BIOS is provided by the system manufacturer adhering to Microsoft’s specifications for MS-DOS and, because it’s the link between the hardware and DOS, it uses standard operating system kernels regardless of the hardware. This means that programs with the standard DOS and BIOS interfaces for their system-dependent functions can be used on every DOS machine regardless of the manufacturer. BIOS responds to interrupts generated by either hardware or software. For example, a hardware interrupt is generated when a user presses the Print Screen key—this causes BIOS to activate a routine that sends the ASCII contents of the screen to the printer.