Understand hardware management and process management
Show understanding of typical Utility Software
Understand Program Libraries including Dynamic Link Library (DLL) files
🌟 Did You Know?
System Software is designed to control and work with computer hardware. It includes the Operating System and Utility Software. Without an OS, hardware would be unusable - the OS provides the essential interface between users and the complex underlying hardware!
1. Purpose of an Operating System
An Operating System (OS) is software that provides an interface between the user and the hardware in a computer system. It hides the complexities of the hardware from the user.
📖 Why a Computer Requires an OS
Provides user interface and hides complexity of hardware from user
Hardware is unusable without an OS
Controls the overall working of the computer system
Controls all attached hardware devices and efficiently uses resources (processor, memory, I/O devices)
Provides a platform/environment on which other programs can run
Controls how hardware devices work and communicate with each other
1.1 Types of System Software
Type
Description
Examples
Operating System
Set of programs designed to run in background, giving an environment in which Application Software can be executed
Windows, macOS, Linux, Android, iOS
Utility Software
System software intended to analyze, configure, monitor, or help maintain a computer
Disk formatter, Virus checker, Defragmenter
💡 Exam Tip
When asked "Why does a computer need an OS?", always mention: Interface between user and hardware, Resource management, Platform for applications, and Hardware unusable without it.
2. User Interfaces
A user interface is how the user interacts with the operating system. The OS provides this to allow users to get software and hardware to do something useful.
2.1 Command Line Interface (CLI)
📖 Command Line Interface
Requires users to interact using text-based commands
Non-graphical method of interaction
Feedback from OS appears in text only
Requires knowledge of commands available on that particular machine
More commonly used by advanced users
Examples: MSDOS (Microsoft Disk Operating System), Raspbian (Raspberry Pi)
Memory management is a process carried out by the OS allocating main memory (RAM) between different programs that are open at the same time.
📖 Key Functions of Memory Management
Responsible for copying programs and data from secondary to primary storage as needed
Programs and data require different amounts of RAM - OS manages this process
RAM is allocated based on priority and fairness
System applications (essential) may have higher priority than user applications
OS dynamically manages memory, adjusting allocation to maintain optimal performance
Makes multitasking possible
3.1 Three Aspects of Memory Management
📝 Memory Protection
Ensures that two competing applications cannot use same memory locations at same time
Without protection: data could be lost, incorrect results, security issues, or computer crash
Prevents applications from interfering with each other
📝 Memory Organization Schemes
Single (contiguous) allocation: All memory made available to a single application
Partitioned allocation: Memory split into contiguous partitions; each partition allocated to an application
Paged memory: Similar to partitioned, but each partition is a fixed size; used by virtual memory systems
📝 Memory Usage Optimization
Determines how memory is allocated and deallocated when multiple applications run simultaneously
Decisions about which processes should be in main memory at any one time
Determines where they are stored in memory
4. File Management
File management is a process carried out by the OS creating, organising, manipulating and accessing files and folders on a computer system.
📖 Main Tasks of File Management
Defining file naming conventions (filename.docx, extensions like .pdf, .txt, .xls)
Performing specific tasks: create, open, close, delete, rename, copy, move
Maintaining Directory Structures
Ensuring Access Control mechanisms (access rights, password protection, editing permissions)
Specifying logical file storage format (such as FAT or NTFS)
Ensuring Memory Allocation for files by reading from HDD/SSD and loading into memory
Providing search facility to find specific files
5. Security Management
The function of security management is to ensure integrity, confidentiality and availability of data.
📝 How Security Management Achieves This
Carrying out OS updates as and when they become available
Ensuring antivirus software is always up-to-date
Communicating with a firewall to check all traffic to and from computer
Making use of privileges to prevent users entering 'private areas' (multi-user activity)
Maintaining Access Rights for all users
Offering ability for Recovery of data (system restore) when lost or corrupted
Helping to prevent illegal intrusion to computer system
Password-protected system accounts
Auditing (keeping logs) of files created, accessed, edited, deleted
6. Hardware Management
Hardware management involves all Input and Output peripheral devices. It is essentially control and management of queues and buffers.
📖 Functions of Hardware Management
Communicating with all input and output devices using device drivers
Translating data from a file (defined by OS) into a format that I/O device can understand
Ensuring each hardware resource has priority so it can be used and released as required
Makes Plug-and-Play (PnP) functionality possible
Automatically detecting and configuring new peripherals
6.1 Device Drivers
📖 What are Device Drivers?
A piece of software used to control a piece of hardware
Inputs/outputs require device drivers to be used by the operating system
OS has generic device drivers built in for basic compatibility
For maximum capacity, separate device driver must be downloaded from manufacturer
Device drivers are OS specific and regularly updated
6.2 Example: Printer Management
📝 How OS Manages Printing
Locates and loads the printer driver into memory
Sends data to a printer buffer ready for printing
Sends data to printer queue (if printer is busy)
Sends various control commands to printer throughout printing process
Receives and handles error messages and interrupts from printer
7. Process Management
A process is a program which is being run on a computer. Process management involves allocation of resources and permits sharing and exchange of data.
📖 Key Aspects of Process Management
Dividing time (time slicing) into small chunks and allocating them to different processes
CPU can only execute one process at a time, but can execute billions per second
OS uses a scheduling algorithm to prioritise processes
Processes are placed in queue whilst waiting to be carried out
Return to back of queue when their time is up
Goal: Share resources (CPU & main memory) efficiently
Allows all processes to be fully synchronized
📝 Scheduling and Resource Resolution
Scheduling of processes: Determines which process runs and when
Resolution of conflicts: When two processes require the same resource
Resource management aims to achieve optimum efficiency
Priority systems ensure critical processes get resources first
💡 Exam Tip
Remember: Time slicing allows multiple programs to appear to run simultaneously. Each process gets a small time slice, then returns to the queue. The CPU switches between processes so fast it appears multitasking is happening!
8. Utility Software
Utility software is a collection of tools designed to help maintain a computer system. It is designed to perform a limited number of tasks and interacts with the computer's hardware.
📖 What is Utility Software?
System software designed to analyze, configure, optimize or maintain a computer
May be provided by OS or installed as a separate entity
Usually initiated by user, but some run constantly in background (e.g., virus checkers)
Interacts with computer's secondary storage devices
Utility Software
Purpose
Disk Formatter
Prepares storage device for use by creating file system
Virus Checker
Protects computer from viruses and malicious software
Defragmentation Software
Groups fragmented files to improve HDD access speed
Disk Contents Analysis/Repair
Checks disk structure and health, fixes errors
File Compression
Reduces file size for storage or transmission
Backup Software
Creates copies of data for safety
9. Disk Formatter & Virus Checker
9.1 Disk Formatter
A disk formatter prepares a storage device for use by creating a file system and organizing the space into sectors and tracks.
📝 Tasks Performed by Disk Formatter
Removing existing data from a disk
Setting up file system based on a table of contents
Associating a file recognized by OS with specific physical part of disk
Partitioning disk into logical drives if required
📖 When is Disk Formatting Needed?
To wipe and re-initialize a disk before use
To change the file system format (e.g., FAT32, NTFS)
To remove all data and errors before installing a new OS
To reformat a corrupted USB stick to make it usable again
9.2 Virus Checker
A virus checker is a combination of software to prevent computers from being susceptible to viruses and other malicious software.
📖 Components of Virus Checking Software
Anti-virus: Detects and removes viruses
Anti-spam: Filters unwanted emails
Anti-spyware: Detects and removes spyware
📝 How Virus Checkers Work
Scans email attachments, websites, and downloaded files
Uses list of known unique malware fingerprints (signatures) to block immediately
Monitors behaviour of programs to identify suspicious activities:
• Rapid deletion/modification of files
• Attempts to access sensitive data/resources
• Communicating with known malicious servers
Performs checks for updates to ensure signature database is current
10. Defragmentation & Disk Repair
10.1 Defragmentation Software
Defragmentation software groups fragmented files back together in order to improve the access speed of a hard disk drive (HDD).
📖 Why Fragmentation Occurs
As programs and data are added to a new hard disk, they are added in order
Over time, files are deleted leaving gaps
New files fill these gaps, becoming fragmented
Logical arrangement of data in sectors doesn't allow files to be stored as contiguous entities
⚠️ Important: Magnetic Storage Only
Defragmentation can only be used on magnetic storage (HDD). It should NOT be used on SSDs as it can reduce their lifespan!
10.2 Disk Contents Analysis & Repair
📝 Disk Repair Utility Functions
Checks structure and health of disk: files, folders, sectors, file allocation table
Diagnoses and fixes errors (e.g., bad sectors, file system corruption)
Recovers lost or damaged files
Improves system performance by identifying and repairing issues
📖 Causes of Bad Sectors
Improper shutdown of computer
Defects of hard disk (surface wear, pollution, head touching surface)
A program library is a collection of pre-written code (called library routines) that programmers can reuse in their own software.
📖 What are Program Libraries?
Collections of resources used to develop software or programs
Include pre-written code and subroutines
Can perform common tasks: sorting, displaying graphics, playing sounds, managing data
Programmer can utilize pre-written subroutines in their own programs
Saves considerable development time
12.1 Advantages of Using Program Libraries
Advantage
Explanation
Saves development time
Pre-written routines can be reused; don't need to write from scratch
Promotes code reuse
Well-tested routines can be used in multiple programs
Improves reliability
Library routines are thoroughly tested and debugged
Easier maintenance
Updates to library routine benefit all programs using it
Efficient memory usage
DLLs only loaded when needed at runtime
Standardisation
Consistency in how common tasks are implemented
13. Dynamic Link Libraries (DLL)
A Dynamic Link Library (DLL) is a file that contains pre-written code that can be used by multiple programs at runtime.
📖 What Makes DLLs Different
Software being developed is not linked to library routines until actual run time
Library routines are stand-alone files only accessed as required
Routines available to several applications at the same time
Updates can be applied to each module without affecting other parts of program
13.1 DLL vs Static Libraries
Aspect
Static Library
Dynamic Link Library (DLL)
Linking Time
At compilation time
At run time
Code Location
Embedded directly in program
Separate file, loaded when needed
Program Size
Larger (includes all code)
Smaller (code separate)
Updates
Requires recompilation
Can update DLL independently
Memory Usage
Each program has own copy
Multiple programs share same DLL
Real-World Example: A payroll program may need tax rate calculations. When tax rates change yearly, if isolated to a DLL, you can update just the DLL without rebuilding the entire payroll program!
14. DLL Advantages & Disadvantages
Pros of DLL
Cons of DLL
Smaller program size - DLL files only loaded at run time
Executable code is not self-contained; all DLL files must be available
Saves memory - DLLs shared between programs
Missing .dll errors can cause software to crash
Encourages code reuse of common routines
DLL linking software needs to be available at run time
Supports modular design for easier development
Version conflicts if newer DLLs aren't compatible
Update DLL once to improve all programs using it
Program may fail if required DLL is missing
Changes to DLL don't require recompilation
Security risk - malicious/altered DLLs can compromise programs
Saves execution time and memory
Errors in DLLs can be hard to trace across multiple programs
⚠️ Important: DLL Dependencies
If a program uses DLLs, all required DLL files must be present at run time. Missing DLLs will cause error messages (e.g., "missing .dll") and the software may crash. This is why software installers often include required DLLs.
❌ Common Mistakes About DLLs
Confusing static libraries with DLLs - static are embedded at compile time!
Forgetting that DLL files must be distributed with the program
Not considering version conflicts when updating DLLs
Assuming DLLs are automatically updated - they need manual updating
💡 Exam Tip - DLL Questions
When asked about DLL advantages, always mention: smaller program size, shared memory, independent updates, and code reuse. For disadvantages: dependency issues, version conflicts, and security risks.
15. Key Takeaways
📌 Summary Points
Operating System
Purpose: Interface between user and hardware, hides complexity, manages resources
User Interfaces: CLI (text-based), GUI (visual/WIMP), Menu, Natural Language
Enables multitasking by managing multiple programs in memory
Optimizes memory usage by deciding which processes are in memory and where
5. Describe three different memory organization schemes used by an Operating System. [3 marks]
Answer:
Single (contiguous) allocation: All memory made available to a single application
Partitioned allocation: Memory split into contiguous partitions; each partition allocated to an application
Paged memory: Similar to partitioned but each partition is a fixed size; used by virtual memory systems
17. Exam-Style Questions (Part 2)
6. Explain how an Operating System manages hardware devices using device drivers. [4 marks]
Answer:
Communicates with all I/O devices using device drivers
Device driver is software that controls a specific piece of hardware
Translates data from file format to format that I/O device can understand
OS has generic drivers built in for basic compatibility
For maximum capacity, manufacturer-specific drivers can be downloaded
Ensures each hardware resource has priority for efficient usage
Manages queues and buffers for device communication
7. Draw one line from each utility software to its correct description. [4 marks]
Disk Formatter → Checks for and removes viruses
Virus Checker → Prepares disk for use by creating file system
Defragmenter → Groups fragmented files together
Backup Software → Creates copies of data for safety
Correct Matches:
Disk Formatter → Prepares disk for use by creating file system
Virus Checker → Checks for and removes viruses
Defragmenter → Groups fragmented files together
Backup Software → Creates copies of data for safety
8. Jennifer is writing a computer program for her A Level homework. Jennifer uses a program library to help her write her computer program. Describe how a program library can be used while writing a computer program. [4 marks]
Answer:
Program libraries store pre-written functions and routines
The program library can be referenced/imported into the program
The functions/routines can be called in her own program
Saves development time by reusing existing code
Library routines are thoroughly tested and debugged
Can perform common tasks: sorting, graphics, sound, data management
9. Explain the advantages and disadvantages of using Dynamic Link Libraries (DLLs). [6 marks]
Advantages:
Reduces program size - code kept separate, loaded at runtime
Saves memory - multiple programs share same DLL
Encourages code reuse of common routines
Supports modular design for easier development
Updates can be made to DLL without recompiling main program
Disadvantages:
Executable code is not self-contained; all DLLs must be available
Missing DLLs cause errors and program crashes
Version conflicts if newer DLLs aren't compatible
Security risk - malicious DLLs can compromise programs
Errors in DLLs can be hard to trace across multiple programs
10. Explain the difference between full backup and incremental backup. Give advantages of each. [4 marks]
Answer:
Full backup: All files are backed up regardless of changes
Full backup advantage: Most secure, easy to restore from single backup
Incremental backup: Only files added/modified since last backup are copied
Incremental backup advantage: Faster, uses less storage space
Full backup is slower but more reliable for complete recovery
Incremental is faster but may need multiple backups to restore
Compression: Lossy (data lost) vs Lossless (data kept)
Backup: Full (all files) vs Incremental (new/modified only)
⚠️ Critical: Defragmenter Warning
Never defragment an SSD! Defragmentation is for magnetic hard drives (HDD) only. SSDs don't have moving heads, so fragmentation doesn't slow them down. Defragmenting an SSD actually reduces its lifespan!
💡 DLLs - Key Points
Linked at runtime (not compile time)
Shared by multiple programs - saves memory
Can be updated independently - no recompilation needed
But: all DLLs must be present at runtime
Missing DLL = program crashes
❌ Common Mistakes to Avoid
Don't confuse static libraries (embedded) with DLLs (runtime)
Don't say defragmentation works on SSDs
Don't forget to mention device drivers when discussing hardware management
Don't confuse lossy (data lost) with lossless (data kept) compression
Don't forget that virus checkers use both signatures AND behavior monitoring
🧠 Backup Types Memory Trick
Full = Everything (safe but slow)
Incremental = Increases only (fast but needs multiple backups)
Think: Full = F for "Full protection", Incremental = I for "In bits and pieces"
18. Exam Success Tips (Part 3)
💡 Answer Structure Tips
For "describe" questions: Give step-by-step details of how something works
For "explain" questions: Give reasons WHY something happens or differs
For "compare" questions: Use table format, mention BOTH items for each point
For "identify" questions: Just name/list - no explanation needed
Always use technical terms: device driver, time slicing, buffer, queue, memory protection
Check mark allocations: [4 marks] = 4 distinct points needed
🌟 Quick Reference Table
Topic
Key Point
OS Purpose
Interface between user and hardware
CLI
Text-based, keyboard, advanced users
GUI
Visual (WIMP), mouse/touch, user-friendly
Memory Management
Protection, Organization, Optimization
Process Management
Time slicing, scheduling, queues
Device Driver
Software that controls hardware
DLL
Linked at runtime, shared, smaller programs
Static Library
Embedded at compile time
Defragmentation
HDD only, groups fragmented files
📌 Final Exam Reminders
Read questions carefully - note the command word (describe, explain, compare, identify)
Check mark allocations - they tell you how many points to make
Use technical vocabulary throughout your answers
Time management - don't spend too long on one question
Review your answers if time permits
For "compare" questions, make sure you discuss both items for each point