Cambridge International AS & A‑Level Computer Science (9618) – Operating Systems & Utility Software
Learning Objective
Show a clear understanding of why typical utility software is supplied with an operating system (OS), how it supports system reliability, performance and security, and how this topic fits into the wider Cambridge syllabus.
1. Data Representation
- Binary & Hexadecimal
- 8‑bit byte, 4‑bit nibble.
- Conversion between binary, decimal and hexadecimal (e.g.,
1010 ₂ = A₁₆ = 10₁₀).
- Two’s‑Complement Signed Integers
- Range for an n-bit word: –2ⁿ⁻¹ … 2ⁿ⁻¹‑1.
- Negation by inverting bits and adding 1.
- Floating‑Point Representation (IEEE 754)
- Sign, exponent (bias), mantissa.
- Example (single precision, 32 bits):
1 | 10000001 | 10100000000000000000000 → –10.5.
- Binary‑Coded Decimal (BCD)
- Each decimal digit stored in 4 bits (e.g., 27₁₀ → 0010 0111₂).
- Character Encoding
- ASCII – 7‑bit, 128 characters.
- Unicode – UTF‑8 variable length, supports world scripts.
- Data Compression
- Lossless (ZIP, PNG) – original data perfectly recoverable.
- Lossy (MP3, JPEG) – some information discarded for higher ratios.
2. Communication Fundamentals
- Network Topologies
- Star, Bus, Ring, Mesh – advantages, disadvantages and typical use‑cases.
- LAN vs. WAN
- LAN – limited geographic area, high speed, often Ethernet.
- WAN – large distances, lower speed, uses routers and public links.
- Client‑Server & Peer‑to‑Peer
- Centralised services (e.g., web server) vs. distributed resources (e.g., file‑sharing).
- Circuit‑Switching vs. Packet‑Switching
- Circuit‑switching – dedicated path (e.g., traditional telephone).
- Packet‑switching – data broken into packets, routed independently (e.g., Internet).
- IP Addressing
- IPv4 – 32‑bit dotted decimal, subnet mask, CIDR notation.
- IPv6 – 128‑bit hexadecimal, prefix length.
- Domain Name System (DNS) – maps domain names to IP addresses.
- Basic Network Security
- Firewalls, NAT, VPN, principle of least privilege.
- Cloud Computing (brief)
- IaaS, PaaS, SaaS – delivering resources over the Internet.
3. Hardware Overview
| Component | Function | Key Characteristics |
| CPU (Central Processing Unit) |
Executes instructions; performs arithmetic, logic, control. |
ALU, control unit, registers (ACC, PC, IR), clock speed, fetch‑decode‑execute cycle. |
| Memory |
Stores data & programmes temporarily or permanently. |
RAM (volatile), ROM/Flash (non‑volatile), cache hierarchy (L1, L2, L3). |
| I/O Devices |
Interface between user and computer. |
Keyboard, mouse, monitor, printer, network card, storage devices. |
| Bus Architecture |
Transfers data between CPU, memory and peripherals. |
Address bus, data bus, control bus; width determines performance. |
Logic Gates & Truth Tables (quick refresher)
- Basic gates: AND, OR, NOT, NAND, NOR, XOR.
- Example:
F = (A AND B) OR (NOT C) – truth table shows 8 possible input combinations.
Von Neumann Architecture
Single shared memory for instructions and data; sequential execution via the fetch‑decode‑execute cycle.
4. Processor Fundamentals
- Assembly Language Basics
- Mnemonic format (e.g.,
MOV AX, 5).
- Addressing modes: immediate, direct, indirect, indexed, based‑indexed.
- Instruction Cycle (F‑E Cycle)
- Fetch – read instruction from memory (PC points to address).
- Decode – interpret opcode and operands.
- Execute – perform operation; may involve ALU, memory access or I/O.
- Store – write result back, update PC.
- Bit‑Manipulation Techniques
- Shift left (
SHL) = multiply by 2ⁿ.
- Shift right (
SHR) = divide by 2ⁿ (unsigned).
- Masking with AND to isolate bits (e.g.,
value AND 0x0F).
- Example – Increment low‑order nibble of AL
; Assume AL = 0x9B (1001 1011₂)
AND AL, 0x0F ; isolate low nibble → 0x0B
ADD AL, 1 ; 0x0C
AND AL, 0x0F ; keep low nibble → 0x0C
5. System Software – Operating Systems
5.1 Core OS Management Tasks
- Process Management – creation, scheduling, termination, multitasking.
- Memory Management – allocation, paging, segmentation, virtual memory.
- File‑System Management – hierarchical storage, directories, permissions.
- Device Management – drivers, I/O scheduling, interrupt handling.
- Security & Protection – user authentication, access control, isolation.
5.2 Why Utility Software Is Needed
While the kernel provides the fundamental services above, many routine, maintenance‑oriented tasks are not part of the core OS. Utility software fills this gap by offering specialised tools that:
- Maintain hardware health and storage media.
- Assist users and administrators in managing files, processes and system resources.
- Protect data against loss, corruption and malicious software.
- Provide configuration, diagnostic and optimisation capabilities beyond the kernel’s basic functions.
5.3 Typical Utilities Supplied with an OS
| Utility | Primary Function | Common Examples (Windows / macOS / Linux) |
| File Manager |
Creates, moves, copies, renames, deletes files/folders; graphical view of the file system. |
Windows Explorer, Finder, GNOME Files |
| Disk Management / Partitioning Tool |
Creates, deletes, resizes partitions; formats disks; assigns drive letters or mount points. |
Disk Management, Disk Utility, GParted |
| Defragmenter / Optimiser |
Re‑arranges fragmented file fragments to improve read/write performance on magnetic drives. |
Defragment and Optimize Drives (Windows) |
| Backup & Restore |
Copies user data to secondary storage; enables recovery after hardware failure or accidental deletion. |
Windows Backup, Time Machine, Déjà Dup |
| Antivirus / Anti‑malware |
Scans for, quarantines and removes malicious code; provides real‑time protection. |
Windows Defender, XProtect (macOS) |
| Task Manager / Process Monitor |
Shows running processes, CPU/memory usage; allows termination of unresponsive programs. |
Task Manager, Activity Monitor, System Monitor |
| System Configuration (Registry / Preferences) |
Central location for adjusting OS settings, startup programmes, services. |
msconfig, System Preferences, dconf‑editor |
| Device Driver Installer |
Detects hardware and installs appropriate drivers to enable communication with the OS. |
Windows Update driver installer, automatic driver updates (macOS) |
| Disk Cleanup / Storage Analyzer |
Identifies temporary files, caches and other unnecessary data; frees disk space. |
Disk Cleanup, Storage Management |
| System Update Manager |
Downloads and installs security patches, feature updates and driver upgrades. |
Windows Update, Software Update (macOS), apt / yum (Linux) |
5.4 How Utilities Support System Reliability
Reliability, R(t), is the probability that a system performs correctly over time t. For independent components i with reliabilities Ri(t):
Rsystem(t) = ∏i=1n Ri(t)
Utility programs increase the individual Ri(t) values, thereby raising overall system reliability:
- Backup utilities raise Rstorage(t) by providing recoverable copies.
- Defragmenters & Disk Cleaners reduce read/write error probability, improving Rdisk(t).
- Antivirus tools prevent malware‑induced crashes, increasing Rsoftware(t).
- System Update Manager patches known bugs, boosting Rkernel(t).
5.5 Utility Software vs. Application Software
- Utilities usually run with elevated privileges (admin/root) to access hardware resources.
- They interact directly with OS components (file system, registry, kernel modules).
- Purpose: maintenance, diagnostics, configuration – essential for the OS to keep functioning.
- Application software (e.g., word processors, games) is aimed at end‑user productivity or entertainment and typically runs with standard user permissions.
6. Language Translators
- Assembler – one‑to‑one translation from symbolic machine instructions to object code; fast, low‑level control.
- Compiler – translates an entire high‑level programme into executable machine code before execution; performs lexical analysis, parsing, optimisation, code generation.
- Interpreter – executes high‑level code line‑by‑line, translating each statement on the fly; easier debugging, slower runtime.
- Integrated Development Environment (IDE) – combines editor, compiler/interpreter, debugger, and project management (e.g., Eclipse, Visual Studio).
Compilation Pipeline (simplified)
Source Code → Lexical Analyzer → Syntax Analyzer → Semantic Analyzer → Optimiser → Code Generator → Object Code → Linker → Executable
7. Security, Privacy & Data Integrity
- Authentication – passwords, biometrics, two‑factor authentication.
- Encryption
- Symmetric (AES, DES) – same key for encrypt/decrypt.
- Asymmetric (RSA, ECC) – public/private key pair; used for key exchange and digital signatures.
- Hash Functions – MD5, SHA‑256; produce fixed‑length digests for integrity checking.
- Firewalls & Access Control Lists (ACLs) – filter network traffic based on rule sets.
- Backup & Redundancy
- RAID levels (0, 1, 5, 6, 10) – combine multiple disks for performance or fault tolerance.
- Cloud sync, versioning, off‑site backups.
- Data Validation – input sanitisation, type checking, buffer‑overflow avoidance.
8. Ethics & Ownership
- Professional Codes of Conduct – BCS Code of Conduct, ACM Code of Ethics – responsibilities to users, employers, society.
- Intellectual Property
- Copyright, patents, trademarks.
- Open‑source licences (GPL, MIT, Apache) – rights and obligations.
- Software Licensing – proprietary vs. free‑software vs. open‑source; impact on distribution and modification.
- Data Privacy (GDPR) – lawful processing, data minimisation, user consent, right to be forgotten.
- Emerging Ethical Issues – AI bias, algorithmic transparency, digital divide.
9. Databases
- Relational Model – tables (relations), rows (records), columns (attributes).
- DBMS Functions – data definition, manipulation, security, transaction control (ACID properties).
- Entity‑Relationship (ER) Diagrams – entities, attributes, relationships, cardinalities.
- Normalization
- 1NF – eliminate repeating groups.
- 2NF – remove partial dependencies.
- 3NF – remove transitive dependencies.
- SQL – Structured Query Language
-- Create a table
CREATE TABLE Students (
StudentID INT PRIMARY KEY,
Name VARCHAR(50),
DOB DATE
);
-- Insert a record
INSERT INTO Students VALUES (1, 'Alice', '2005-04-12');
-- Retrieve data
SELECT Name FROM Students WHERE StudentID = 1;
10. Algorithm Design & Problem Solving
- Computational Thinking – abstraction, decomposition, pattern recognition, algorithmic design.
- Pseudocode Conventions – IF‑THEN‑ELSE, WHILE, FOR, clear variable names.
- Flowcharts – visual control‑flow symbols (start/end, decision, process, I/O).
- Step‑wise Refinement – break a problem into sub‑problems, solve each iteratively.
- Example – Linear Search
FOR i ← 1 TO n
IF array[i] = target THEN
RETURN i
END IF
NEXT i
RETURN -1 // not found
- Example – Bubble Sort (O(n²))
REPEAT
swapped ← FALSE
FOR i ← 1 TO n‑1
IF array[i] > array[i+1] THEN
SWAP array[i], array[i+1]
swapped ← TRUE
END IF
NEXT i
UNTIL NOT swapped
- Recursion Example – Factorial
FUNCTION fact(n)
IF n = 0 THEN
RETURN 1
ELSE
RETURN n * fact(n‑1)
END IF
END FUNCTION
11. Data Types & Data Structures
| Category | Examples | Typical Operations |
| Primitive Types |
Integer, Float, Char, Boolean |
Arithmetic, comparison, logical operators |
| Records (Structures) |
Student {ID, Name, DOB} |
Field access, assignment |
| Arrays |
int scores[10]; char grid[5][5]; |
Indexing, iteration, searching, sorting |
| Lists |
Singly‑linked, doubly‑linked |
Insertion, deletion, traversal |
| Stacks & Queues |
Push/Pop; Enqueue/Dequeue |
LIFO (stack), FIFO (queue) behaviour |
| Trees |
Binary tree, BST, AVL, heap |
Insertion, deletion, traversal (in‑order, pre‑order, post‑order) |
| Abstract Data Types (ADTs) |
Map, Set, Priority Queue |
Defined by operations rather than implementation |
12. Quick Revision Checklist
- Binary, hexadecimal, two’s‑complement, floating‑point, BCD, ASCII/Unicode.
- Network topologies, LAN/WAN, client‑server, circuit vs. packet switching, IP/DNS.
- CPU components, fetch‑decode‑execute cycle, registers, bus, logic gates.
- Assembly language basics, addressing modes, bit‑manipulation.
- OS core services (process, memory, file, device management).
- Reasons for utility software and examples of typical utilities.
- How utilities improve reliability, performance and security.
- Assembler, compiler, interpreter, IDE and the compilation pipeline.
- Authentication, encryption, hashing, firewalls, RAID, backup strategies.
- Professional ethics, IP, licences, GDPR, AI ethics.
- Relational database concepts, ER diagrams, normalization, basic SQL.
- Algorithm design techniques, pseudocode, flowcharts, recursion, sorting.
- Primitive types, arrays, records, lists, stacks, queues, trees, ADTs.