Software is classified into two broad categories: system software and application software. Understanding this distinction is essential for OCR H446.
| Category | Purpose | Examples |
|---|---|---|
| System software | Manages and controls the hardware and provides a platform for application software to run | Operating systems, device drivers, utility programs, translators (compilers, assemblers, interpreters) |
| Application software | Designed to help users perform specific tasks | Word processors, web browsers, database software, games, photo editors |
The OS is the most fundamental piece of system software. It manages hardware resources and provides services for application programs. Covered in detail in 1.2.1.
Utility programs perform specific maintenance or support tasks for the computer system. They are distinct from the OS itself but are considered system software because they help maintain and configure the computer.
Collections of precompiled routines (functions) that programs can call. Libraries enable code reuse and avoid duplicating effort. Dynamic Link Libraries (DLLs) on Windows are a key example — multiple programs can share one library file loaded into memory, saving RAM.
Translators convert programs written in one programming language into another (typically machine code). The main types — compilers, interpreters, and assemblers — are covered in detail in 1.2.4c.
Application software helps users carry out specific tasks. There are two main sub-categories:
Not designed for one specific task — flexible enough for many uses in many contexts.
Designed for one specific task or for a particular organisation. Can be bought off-the-shelf or custom-developed.
| Factor | Off-the-shelf | Bespoke (custom) |
|---|---|---|
| Cost | Cheaper upfront — development costs shared across many users | More expensive — development cost borne by one client |
| Development time | Immediately available | Takes time to develop and test |
| Fit to requirements | May not exactly match needs; compromise required | Precisely tailored to exact requirements |
| Support/updates | Ongoing support from vendor; regular updates | Support depends on developer contract |
| Security | Widely used, so vulnerabilities are more widely known | Less widely used, less of a target for attackers |
| Testing | Extensively tested across many users | Only tested for the specific client's use cases |
(Covered in detail in 1.2.2b, but a brief overview here.)
Open source: source code is publicly available; anyone can view, modify, and redistribute. Examples: Linux, Firefox, LibreOffice, Python.
Proprietary (closed source): source code is not publicly available; use is governed by a licence agreement. Examples: Windows, Microsoft Office, Adobe Photoshop.
8 questions · 20 marks · instantly marked
| Term | Definition |
|---|