What you'll learn
This revision guide covers the essential software concepts you need for your Pearson Edexcel International IGCSE Computer Science examination. You will understand the distinction between system and application software, explore the functions of operating systems, and learn about utility programs that maintain computer systems. These foundational concepts appear regularly in both short-answer and extended-response exam questions.
Key terms and definitions
System software — Programs that manage and control computer hardware, providing a platform for application software to run
Application software — Programs designed to perform specific tasks for end users, such as word processing or web browsing
Operating system (OS) — System software that manages hardware resources, provides a user interface, and enables other programs to run
Utility software — System programs that perform maintenance tasks to keep the computer system running efficiently
User interface — The means by which a user interacts with a computer system, including graphical (GUI) and command-line (CLI) interfaces
Device driver — Software that enables the operating system to communicate with and control specific hardware devices
File management — The organization, storage, retrieval, naming, and manipulation of files on a computer system
Memory management — The process by which the operating system allocates and deallocates memory to running programs
Core concepts
Types of software
Software falls into two main categories: system software and application software. Understanding the distinction is fundamental to IGCSE Computer Science.
System software includes:
- Operating systems (Windows, macOS, Linux, Android, iOS)
- Utility programs (antivirus, disk defragmenters, backup software)
- Device drivers (printer drivers, graphics card drivers)
- Programming language translators (compilers, interpreters, assemblers)
Application software includes:
- General purpose software: word processors (Microsoft Word), spreadsheets (Excel), databases (Access), presentation software (PowerPoint), web browsers (Chrome, Firefox)
- Special purpose software: stock control systems, payroll systems, booking systems designed for specific organizational needs
- Bespoke software: custom-built programs created for a particular client or organization
The key difference: system software manages the computer itself, whilst application software performs tasks for users.
Operating system functions
The operating system is the most important system software. It acts as an intermediary between hardware and application software, performing several critical functions.
Memory management ensures efficient use of RAM:
- Allocates memory space to programs when they are opened
- Deallocates memory when programs close to free up resources
- Manages virtual memory by using hard disk space when RAM is full
- Prevents programs from accessing memory allocated to other programs
Processor management (also called process management):
- Determines which program receives processor time
- Allocates processor time to multiple programs through multitasking
- Uses scheduling algorithms to prioritize tasks
- Handles interrupts from hardware devices and software requests
File management provides organization for stored data:
- Creates, deletes, moves, and renames files and folders
- Maintains directory structures (hierarchical file systems)
- Controls file access permissions and security
- Tracks file locations on storage devices
- Manages file extensions to identify file types
Input/output management:
- Controls data transfer between computer and peripherals
- Manages print queues for multiple print jobs
- Handles data from keyboards, mice, and other input devices
- Sends output to screens, printers, and speakers
Security management:
- User authentication through passwords and user accounts
- Access rights controlling which users can access specific files
- Encryption of sensitive data
- Audit logs tracking system access and changes
User interfaces
Operating systems provide interfaces for users to interact with the computer system. The two main types have different strengths.
Graphical User Interface (GUI):
- Uses windows, icons, menus, and pointers (WIMP)
- Controlled by mouse, touch, or trackpad
- Intuitive for beginners with visual cues
- Examples: Windows 11, macOS, Ubuntu Desktop
Advantages:
- Easy to learn and use
- Suitable for users with limited technical knowledge
- Multitasking through multiple windows
- Visual feedback helps prevent errors
Disadvantages:
- Requires more system resources (memory and processing power)
- Slower for experienced users performing repetitive tasks
- Difficult to automate tasks
Command-Line Interface (CLI):
- Text-based interaction through typed commands
- User must memorize command syntax
- Examples: Windows Command Prompt, Linux Terminal, macOS Terminal
Advantages:
- Uses fewer system resources
- Faster for experienced users
- Precise control over system functions
- Easy to automate through scripts
- Can be accessed remotely with minimal bandwidth
Disadvantages:
- Steep learning curve
- Easy to make critical errors through typos
- Not intuitive for beginners
- No visual cues or guidance
Utility software
Utility programs maintain and optimize computer systems. These are system software but distinct from the operating system itself.
Antivirus software:
- Scans files and programs for known malware signatures
- Monitors system behavior for suspicious activity
- Quarantines infected files
- Updates virus definitions regularly from online databases
- Examples: Norton, McAfee, Windows Defender
Disk defragmentation utilities:
- Reorganizes fragmented files on hard disk drives (HDDs)
- Places file segments contiguously for faster access
- Reduces read/write head movement
- Not necessary for solid-state drives (SSDs)
Backup software:
- Creates copies of files to prevent data loss
- Full backup: copies all selected files
- Incremental backup: copies only files changed since last backup
- Scheduled automatic backups reduce human error
- Examples: Time Machine (macOS), File History (Windows)
Compression utilities:
- Reduces file size for storage or transmission
- Lossless compression (ZIP, RAR): original can be perfectly restored
- Lossy compression (JPEG, MP3): some data permanently removed
- Particularly useful for email attachments and cloud storage
Disk cleanup utilities:
- Removes temporary files, cache, and unnecessary system files
- Frees up storage space
- Can delete browser history and cookies
- Examples: Windows Disk Cleanup, CCleaner
Encryption software:
- Converts data into coded form to prevent unauthorized access
- Requires decryption key to read the data
- Protects sensitive information during storage or transmission
- Examples: BitLocker, FileVault
Device drivers
Device drivers are specialized programs that enable the operating system to communicate with hardware devices. Each hardware component requires its own driver.
Functions of device drivers:
- Translate operating system commands into device-specific instructions
- Handle data transfer between device and computer
- Report device status back to the operating system
- Manage device-specific features (printer resolution, monitor refresh rate)
Common devices requiring drivers:
- Printers and scanners
- Graphics cards and monitors
- Network adapters
- Sound cards and audio devices
- Keyboards and mice (though basic drivers are built into the OS)
Driver updates:
- Manufacturers release updated drivers to fix bugs or add features
- Outdated drivers can cause hardware malfunctions
- Operating systems often update drivers automatically
- Manual installation may be required for specialized hardware
Proprietary vs open-source software
Software can be categorized by licensing and availability of source code.
Proprietary software (closed-source):
- Source code is kept secret by the copyright holder
- Users must purchase licenses
- Copying and modifying prohibited
- Examples: Microsoft Office, Adobe Photoshop, macOS
Advantages:
- Professional support and documentation
- Regular updates and patches
- Guaranteed compatibility testing
- Legal accountability for faults
Disadvantages:
- Can be expensive
- Cannot customize to specific needs
- Dependent on vendor for updates
- May contain unnecessary features
Open-source software:
- Source code is freely available to view, modify, and distribute
- Often free to use
- Community-driven development
- Examples: Linux, LibreOffice, GIMP, Firefox
Advantages:
- No licensing costs
- Can be customized for specific requirements
- Community provides support and improvements
- Transparent code (can verify security)
Disadvantages:
- May lack professional support
- Documentation may be incomplete
- Updates depend on community volunteers
- Less user-friendly for non-technical users
Worked examples
Example 1: Identifying software types (4 marks)
Question: Classify each of the following as either system software or application software. Give a reason for each classification.
- (a) Web browser
- (b) Device driver
Answer: (a) Application software [1 mark] because it performs a specific task for the end user (accessing websites) [1 mark]
(b) System software [1 mark] because it enables the operating system to control hardware devices [1 mark]
Example 2: Operating system functions (6 marks)
Question: A school network has 30 computers running simultaneously with multiple programs open on each.
Describe how the operating system manages: (a) Memory when multiple programs are running [3 marks] (b) File access for different users [3 marks]
Answer: (a) The operating system allocates specific areas of RAM to each program [1 mark]. When RAM becomes full, it uses virtual memory by temporarily moving data to the hard disk [1 mark]. When programs close, the OS deallocates that memory space making it available for other programs [1 mark].
(b) The operating system maintains user accounts with different access rights [1 mark]. It uses permissions to control which users can read, write, or execute specific files [1 mark]. It authenticates users through passwords before allowing access to restricted files [1 mark].
Example 3: Utility software comparison (6 marks)
Question: A company stores sensitive customer data and needs to protect against data loss and unauthorized access.
Explain how the following utilities would help: (a) Backup software [3 marks] (b) Encryption software [3 marks]
Answer: (a) Backup software creates copies of important files [1 mark]. If the original data is corrupted, deleted, or lost through hardware failure, the backup can be restored [1 mark]. It can be scheduled to run automatically (e.g., daily) ensuring recent versions are always saved [1 mark].
(b) Encryption software converts data into coded form that cannot be read without the decryption key [1 mark]. This prevents unauthorized users from understanding the data even if they gain access to the files [1 mark]. It protects customer information both when stored on the system and when transmitted across networks [1 mark].
Common mistakes and how to avoid them
Confusing system and application software: Remember that system software manages the computer itself, whilst application software performs tasks for users. Device drivers and utilities are system software, not applications.
Vague descriptions of OS functions: Use specific terminology. Don't just say "manages memory" — explain that it allocates and deallocates memory to programs, or uses virtual memory when RAM is full.
Mixing up GUI and CLI advantages: GUIs are easier to use but require more resources. CLIs are faster for experts but have a steep learning curve. Don't reverse these characteristics.
Incomplete utility software explanations: When describing utilities like antivirus or backup software, explain what they do, how they work, and why they're beneficial — not just one of these.
Forgetting context in extended answers: Questions often include scenarios (schools, businesses). Apply your answer to the specific context given for full marks.
Confusing defragmentation with all storage types: Defragmentation only benefits traditional hard disk drives (HDDs), not solid-state drives (SSDs). Make this distinction clear.
Exam technique for "Computer Systems: Software"
Command words matter: "State" requires a brief answer (1-2 words), "Describe" needs detail about how something works, "Explain" requires reasoning or justification with linking words like "because," "therefore," "which means."
Mark allocation guides detail: A 3-mark question needs three distinct points. If you only write one sentence for a 4-mark question, you're likely missing marks. Count your points against the marks available.
Use examples strategically: Named examples (Windows, Linux, Chrome) demonstrate knowledge but only use them when the question asks for examples or when they strengthen your explanation.
Compare systematically: When comparing GUIs and CLIs or proprietary versus open-source software, structure your answer clearly — state advantages of one, then disadvantages, using parallel examples where possible.
Quick revision summary
Software divides into system software (manages hardware and provides platform for programs) and application software (performs user tasks). Operating systems handle memory management, processor scheduling, file organization, input/output control, and security. Users interact through GUIs (visual, easy to use, resource-intensive) or CLIs (text-based, powerful, steep learning curve). Utility programs maintain systems through antivirus protection, defragmentation, backups, and compression. Device drivers enable hardware communication. Proprietary software offers support but costs money; open-source software is customizable and free but may lack professional support.