Study resource
Hardware and software revision notes
Study Hardware and software with curriculum-aligned Revision Notes resources, practice links, and exam-focused support.
At a glance
revision notes
Resource type
Topic
Hardware and software
Revision notes
Hardware, Software and System Software
Hardware and software
Hardware is the physical part of a computer system. It includes the processor, memory and input/output (I/O) devices. Software is the set of programs and associated instructions that control or use the hardware. Hardware and software are interdependent: hardware provides the resources on which software operates, while software gives the hardware instructions and makes it useful for particular purposes.
Classification of software
System software supports the operation and management of the computer system. It provides functions needed by the computer and other software, rather than being focused only on one particular user task. Examples in this topic include operating systems, utility programs, libraries and translators.
Application software is software designed to carry out tasks for the user. The need for different types of software follows from their different purposes: system software manages or supports the computer system, whereas application software uses the available system to perform a particular application task. The attributes required of software therefore depend on what it is intended to do.
System software
An operating system (OS) provides an interface between application software and the hardware and hides the complexities of the hardware. This abstraction allows software to use computer resources without each application having to manage all hardware details directly.
The OS performs resource management. It manages hardware resources by allocating processors, memories and I/O devices among competing processes. If several processes need resources at the same time, the OS must manage their access so that the resources are allocated between them. The key reasoning is: processes compete for finite hardware resources, so the OS coordinates allocation and hides the underlying complexity.
Utility programs are system software used to support the operation and management of a computer system. Libraries provide reusable software components that other software can use. Translators convert programs from one form into another so that they can be used by the computer system. A compiler, assembler and interpreter are different types of translator.
Common errors
- Do not describe hardware and software as interchangeable: hardware is physical, whereas software consists of programs and instructions.
- Do not classify every program as application software; system software has the distinct purpose of supporting or managing the system.
- Do not reduce the OS to an interface only. Resource management is also a central role.
- Do not say that the OS removes the need for hardware. It hides hardware complexity while still managing the hardware.
- Do not confuse a translator with a library: a translator changes a program's form, while a library supplies reusable software components.
Related topics
