System software is a type of computer program that is designed to run a computer’s hardware and application programs. If we think of the computer system as a layered model, the system software is the interface between the hardware and user applications.
The operating system (OS) is the best-known example of system software. The OS manages all the other programs in a computer.
System software refers to the operating system and all utility programs that manage computer resources at a low level. Software is generally divided into systems software and applications software. Applications software comprises programs designed for an end user, such as word processors, database systems, and spreadsheet programs. Systems software includes compilers, loaders, linkers, and debuggers.
System software and application programs are the two main types of computer software. Unlike system software, an application program (often just called an application or app) performs a particular function for the user. Examples (among many possibilities) include web-browsers, email clients, word processors and spreadsheets.
Other examples of system software and what each does:
- The BIOS (basic input/output system) gets the computer system started after you turn it on and manages the data flow between the operating system and attached devices such as the hard disk, video adapter, keyboard, mouse, and printer.
- The boot program loads the operating system into the computer’s main memory or random access memory (RAM).
- An assembler takes basic computer instructions and converts them into a pattern of bits that the computer’s processor can use to perform its basic operations.
- A device driver controls a particular type of device that is attached to your computer, such as a keyboard or a mouse. The driver program converts the more general input/output instructions of the operating system to messages that the device type can understand.
- According to some definitions, system software also includes system utilities, such as the disk defragmenter and System Restore, and development tools such as compilersand debuggers.
One can easily understand softwares, specially system softwares through the following onion peel diagram: