computer program, a series of instructions that a computer can interpret and execute; programs are also called software to distinguish them from hardware, the physical equipment used in data processing. These programming instructions cause the computer to perform arithmetic and logical operations or comparisons (and then take some additional action based on the comparison) or to input or output data in a desired sequence. In conventional computing the operations are executed sequentially; in parallel processing the operations are allocated among multiple processors, which execute them concurrently and share the results. Programs are often written as a series of subroutines, which can be used in more than one program or at more than one point in the same program.
Systems programs are those that control the operation of the computer. Chief among these is the operating system—also called the control program, executive, or supervisor—which schedules the execution of other programs, allocates system resources, and controls input and output operations. Processing programs are those whose execution is controlled by the operating system. Language translators decode source programs, written in a programming language, and produce object programs, which are in machine language and can be understood by the computer. These include assemblers, which translate symbolic languages that have a one-to-one relationship with machine language; compilers, which translate an algorithmic- or procedural-language program into a machine-language program to be executed at a later time; and interpreters, which translate source-language statements into object-language statements for immediate execution. Other processing programs are service or utility programs, such as those that "dump" computer memory to external storage for safekeeping and those that enable the programmer to "trace" program execution, and application programs, which perform business and scientific functions, such as payroll processing, accounts payable and receivable posting, word processing, and simulation of environmental conditions.
See F. Maddix and G. Morgan, Systems Software: An Introduction to Language Processors and Operating Systems (1989).