1. Software designed to control the hardware of a specific data-processing system in order to allow users and application programs to employ it easily.