Operating Systems & the Wider Computer Science Syllabus (Cambridge IGCSE / A‑Level)
Learning Objective
Describe the ways in which the user interface (UI) hides the complexities of the hardware from the user.
1. Information Representation
- Binary (base‑2) – the native language of computers. Example:
1010₂ = 10₁₀.
- Hexadecimal (base‑16) – shorthand for binary groups of four bits. Example:
0xA = 1010₂.
- Binary prefixes – IEC prefixes used for memory sizes:
1 KiB = 2¹⁰ B, 1 MiB = 2²⁰ B, 1 GiB = 2³⁰ B (distinguish from decimal kB, MB, GB).
- Two’s‑complement signed numbers
- Positive numbers: same as unsigned binary.
- Negative numbers: invert all bits and add 1.
- Example – 8‑bit representation of –13:
13 = 0000 1101 → invert = 1111 0010 → add 1 = 1111 0011
- Overflow occurs when the sign bit changes incorrectly during addition.
- BCD (Binary‑Coded Decimal) – each decimal digit stored in a 4‑bit nibble (e.g., 27 →
0010 0111).
- Character sets
- ASCII – 7‑bit, 128 characters.
- Unicode – UTF‑8, UTF‑16; maps numbers to a vast range of symbols.
- Floating‑point (A‑Level)
- IEEE‑754 single precision (32‑bit): 1 sign, 8 exponent, 23 mantissa.
- Example:
−6.5 → sign = 1, exponent = 130 (bias = 127), mantissa = 010 1000…
- Key ideas – normalised form, bias, rounding errors.
- Conversions & overflow – practice converting between bases and recognising when a value exceeds the range of a given number of bits.
2. Communication (Networks & the Internet)
| Concept | Key Points |
| Network topologies | Star, bus, ring, mesh, hybrid – affect cabling, fault tolerance and scalability. |
| LAN vs. WAN | LAN: limited area, high speed, low latency (e.g., Ethernet, Wi‑Fi). WAN: large geographic area, uses public infrastructure, lower speed, higher latency. |
| Thin‑client vs. thick‑client | Thin‑client – minimal processing, relies on server (e.g., web‑based apps). Thick‑client – most processing done locally (e.g., desktop software). |
| Wired vs. wireless | Wired (Ethernet) – stable, secure, higher bandwidth. Wireless (Wi‑Fi, Bluetooth) – flexible, easier to deploy, more vulnerable to interference and eavesdropping. |
| OSI & TCP/IP models | 7‑layer OSI vs. 4‑layer TCP/IP. UI tools (browsers, email clients) operate at the application layer, shielding users from lower‑layer protocols. |
| Ethernet & CSMA/CD | Carrier‑Sense Multiple Access with Collision Detection – devices listen before transmitting; if a collision occurs they wait a random back‑off time. |
| IP addressing | IPv4 (32‑bit) vs. IPv6 (128‑bit); subnet masks, CIDR notation. |
| DNS | Translates domain names to IP addresses – users type www.example.com, not numbers. |
| Client‑server & cloud | Requests sent from a client UI to a server; cloud services abstract the physical servers and storage. |
3. Hardware Overview
- CPU – registers, ALU, control unit; executes instructions fetched from memory.
- Memory hierarchy
- Registers & cache – fastest, smallest.
- RAM – volatile main memory.
- ROM/Flash – non‑volatile firmware.
- Secondary storage – HDD, SSD, optical media.
- Peripheral devices – keyboards, mice, touchscreens, printers, scanners, VR headsets, external drives. Each requires a driver that translates OS calls into device‑specific signals.
- Logic‑gate symbols & truth tables – the hardware section links to the logic‑circuit topic; basic gates (AND, OR, NOT, NAND, NOR, XOR) are the building blocks of CPUs and other digital circuits.
- Embedded systems – specialised computers (e.g., micro‑controllers) with limited UI, often programmed directly in assembly.
4. Processor Fundamentals
5. System Software – OS Functions & UI Abstraction
5.1 Core OS Responsibilities (AO1)
| Service | What It Does |
| Process Management | Creates, schedules, and terminates processes; provides multitasking. |
| Memory Management | Allocates RAM, implements virtual memory, handles paging and swapping. |
| File‑System Management | Organises data into files/folders; abstracts block storage. |
| Device Management | Loads drivers, mediates I/O requests, supports plug‑and‑play. |
| Security & Protection | Authentication, access control, encryption services. |
| User Interface Services | Provides CLI or GUI, translates user actions into system calls. |
5.2 How the UI Hides Hardware Complexity (AO2)
- Standardised Input/Output APIs
- System calls such as
read(), write(), open() present keystrokes, mouse clicks, or touch events as simple objects.
- The user never sees scan‑codes, voltage levels or debounce logic.
- File‑System Presentation
- Files appear as named objects in folders; “copy”, “delete”, “rename” are translated by the OS into block‑level reads/writes, allocation‑table updates and cache management.
- Disk geometry (cylinders, heads, sectors) is completely hidden.
- Process & Window Management
- Each running program is shown as a window or tab. The scheduler, context switches, and CPU registers operate behind the scenes.
- Actions like “Close”, “Minimise” or “Refresh” hide process IDs, priority queues and signal handling.
- Virtual Memory & Address Translation
- Applications see a contiguous logical address space (e.g., 0 – 4 GB). The MMU and OS page tables map these to physical RAM or swap space.
- Fragmentation, page faults and frame allocation are invisible to the user.
- Device Drivers Encapsulated by Icons & Dialogues
- Printing: clicking “Print” opens a generic dialog; the OS selects the correct driver, formats the data (PCL, PostScript) and handles the USB/parallel/network connection.
- Plug‑and‑Play: inserting a USB stick automatically mounts it and displays an icon – no need to configure IRQs or DMA channels.
- Error Messages & Help Systems
- Low‑level error codes (e.g.,
0xC0000005) are converted into user‑friendly messages such as “File could not be saved – disk is full”.
- Context‑sensitive help points to the relevant UI element rather than to registers or bus signals.
- Resource Monitoring Tools
- Task Manager, Activity Monitor, or “System Settings” display CPU usage, memory consumption and battery level as percentages or graphs.
- Underlying counters, interrupts and clock cycles are abstracted away.
5.3 CLI vs. GUI – Comparative View (AO3)
| Aspect | Command‑Line Interface (CLI) | Graphical User Interface (GUI) |
| Interaction | Typed commands (e.g., copy file1.txt D:\) | Point‑and‑click, drag‑and‑drop, menus |
| Abstraction level | Lower – often requires knowledge of device names, flags, and syntax | Higher – actions represented by icons and dialogs |
| Visibility of hardware | Occasional exposure (e.g., specifying /dev/sda1) | Generally hidden; devices accessed through generic dialogs |
| Learning curve | Steeper for beginners | More intuitive for most users |
| Portability | Commands may differ between OS families (Windows vs. Unix) | GUI toolkits (Qt, JavaFX, HTML/CSS) aim for cross‑platform consistency |
5.4 Why Hiding Complexity Matters (AO2)
- Reduces user errors caused by misunderstanding hardware limits.
- Allows users to focus on problem‑solving rather than technical details.
- Facilitates software portability across diverse hardware platforms.
- Improves accessibility for users with varying abilities (screen‑readers, touch interfaces).
- Enables rapid development – programmers can rely on high‑level APIs instead of writing device‑specific code.
6. Security, Privacy & Data Integrity
- Threats – malware, phishing, denial‑of‑service attacks.
- Authentication – passwords, biometrics, two‑factor authentication.
- Encryption
- Symmetric – AES, DES.
- Asymmetric – RSA, ECC.
- Hashing – SHA‑256, MD5 (for integrity only).
- Integrity checks – parity bits, checksums, CRC, digital signatures.
- Access control models
- Discretionary (DAC) – owner decides permissions.
- Mandatory (MAC) – system enforces policies.
7. Ethics & Ownership
- Professional codes of conduct (BCS, ACM).
- Intellectual property – copyright, patents, licences (GPL, MIT, proprietary).
- Data protection – GDPR principles: lawfulness, purpose limitation, data minimisation, accuracy, storage limitation, integrity, confidentiality, accountability.
- Emerging issues – AI bias, autonomous systems, sustainability, digital divide.
8. Databases
9. Algorithm Design & Problem‑Solving
- Pseudocode & flowcharts – clear, language‑independent representations.
- Stepwise refinement – breaking a problem into smaller, manageable sub‑problems.
- Common techniques – iteration, selection, recursion, divide‑and‑conquer.
- Complexity analysis (AO3) – Big‑O notation for time and space (e.g., O(n), O(log n), O(n²)).
10. Data Structures
| Structure | Key Operations | Typical Use‑Case |
| Array | Indexing, traversal | Fixed‑size collections, matrix calculations |
| Linked List | Insert/delete at ends or middle | Dynamic data where size changes frequently |
| Stack | Push, pop (LIFO) | Expression evaluation, back‑tracking |
| Queue | Enqueue, dequeue (FIFO) | Print spooling, task scheduling |
| Tree (binary, BST) | Insert, search, traverse | Hierarchical data, searching |
| Hash Table | Insert, lookup, delete (average O(1)) | Symbol tables, caching |
11. Programming Concepts
- Variables, data types, scope, and lifetime.
- Control structures –
if/else, switch, loops (for, while).
- Procedural abstraction – functions/sub‑routines with parameters and return values.
- Object‑Oriented basics – classes, objects, inheritance, encapsulation.
- Exception handling –
try/catch blocks to manage runtime errors.
12. Software Development Lifecycle (SDLC)
- Analysis – gather requirements, feasibility study.
- Design – system architecture, UI mock‑ups, data models.
- Implementation – coding, use of IDEs, version control (Git).
- Testing – unit, integration, system, acceptance; black‑box vs. white‑box.
- Deployment & Maintenance – release, updates, bug‑fixes, documentation.
13‑20. A‑Level Extensions (selected highlights)
- 13. Advanced Data Structures – balanced trees (AVL, Red‑Black), graphs, adjacency matrices/lists.
- 14. Advanced Algorithms – Dijkstra’s shortest‑path, Kruskal’s MST, dynamic programming (e.g., Fibonacci, knapsack).
- 15. Functional Programming Concepts – pure functions, higher‑order functions, immutability.
- 16. Concurrency & Parallelism – threads, processes, synchronization (semaphores, monitors), race conditions, deadlock avoidance.
- 17. Network Security – firewalls, VPNs, public‑key infrastructure, SSL/TLS.
- 18. Machine Learning Basics – supervised vs. unsupervised learning, simple linear regression, decision trees.
- 19. Human‑Computer Interaction (HCI) – usability principles, accessibility standards, UI design patterns.
- 20. Emerging Technologies – Internet of Things, cloud computing models (IaaS, PaaS, SaaS), blockchain fundamentals.