Ch 1 · 5 System Software · AS & A Level Computer Science 9618

Topic 1 of 3 in System Software, Security and Ethics — AS & A Level Computer Science 9618 — 59 lessons.

Introduction

Between the hardware and your programs sits system software: the operating system that manages everything, utilities that keep the computer healthy, libraries that save programmers work, and the translators and IDEs that turn code into running programs. (Syllabus topic 5: sections 5.1–5.2.)

Key ideas — 5.1 (a) Why an operating system?

Without an OS, every program would have to control the hardware directly. The operating system manages the hardware and software resources, provides a user interface, and provides a platform (services and an interface to the hardware) on which application software runs.

🧑‍🏫 Teacher's explanation

Imagine you are at a busy restaurant. The customers are the 'application software' (the programs you want to use), and the kitchen staff, ingredients, and tables are the 'hardware'. If every customer walked into the kitchen to cook their own meal, it would be chaos: two people might grab the same pan, someone might spill flour everywhere, and the chef wouldn't know who ordered what.

📖 Definitions

🔍 Worked example — Easy

A user attempts to open a file that is currently being edited by another program. Explain which OS management task handles this and why.

🔍 Worked example — Standard

A computer has 8GB of RAM. A user opens a video editor that requires 6GB and a web browser that requires 3GB. Explain how the OS manages this using a specific technique.

🔍 Worked example — Exam-style

A system administrator needs to ensure that only the 'Finance' group can view the 'Salaries.csv' file. Identify the OS management task and the specific mechanism used.

⚠️ Common errors

🧠 Quick check 1

🧠 Quick check 2

🎯 Exam question

(a) Identify the management task that involves allocating CPU time to various running programs. [1] (b) Explain how the operating system manages a situation where the physical RAM is full, but the user wants to open a new application. [2] [3 marks]

Key ideas — 5.1 (b) Utility software

🧑‍🏫 Teacher's explanation

Think of an Operating System (OS) as the manager of a massive, busy warehouse. The OS handles the big stuff like where the shelves go and who is allowed in. However, even a great manager needs specialized tools to keep things running smoothly. These specialized tools are called 'Utility Software'.

📖 Definitions

🔍 Worked example — Easy

A user is running out of space on their magnetic hard drive. They decide to use file compression. If a folder contains 5 files, each of size 120 MB, and the compression ratio is 4:1, what is the total size of the folder after compression?

🔍 Worked example — Standard

A disk repair utility identifies that a disk has 1000 total sectors. 50 sectors are marked as 'bad sectors' and cannot be used. How many usable sectors remain?

🔍 Worked example — Exam-style

A technician is deciding whether to use defragmentation on two different drives. Drive A is a traditional Magnetic Hard Disk Drive (HDD). Drive B is a Solid State Drive (SSD). Based on the principles of utility software, which drive requires defragmentation to improve performance, and why?

⚠️ Common errors

🧠 Quick check 1

🧠 Quick check 2

🎯 Exam question

(a) Describe the purpose of a disk defragmenter. [2] (b) Explain why a virus checker is considered a utility software. [2] [4 marks]

Key ideas — 5.1 (c) Program libraries

A program library is a collection of pre-written, pre-compiled, tested routines (functions, procedures, classes) that programmers can use in their own programs. Software under development is often constructed using existing code from libraries.

🧑‍🏫 Teacher's explanation

Imagine you are building a complex LEGO castle. Instead of manufacturing every single plastic brick from scratch (melting plastic, molding it, cooling it), you buy boxes of pre-made bricks (standard 2x4 bricks, windows, doors). These pre-made bricks are your 'program libraries'. They are already tested to ensure they fit together and don't break, saving you massive amounts of time.

📖 Definitions

🔍 Worked example — Easy

A developer is deciding whether to use a static library (where code is copied into the executable) or a DLL. If the executable size is 10 ext MB and the library size is 5 ext MB, what is the total size of the executable if the library is statically linked vs. if it is dynamically linked?

🔍 Worked example — Standard

Identify the benefit of using a DLL when three different programs (A, B, and C) all require the same 2 ext MB graphics library.

🔍 Worked example — Exam-style

A programmer uses a library for encryption. A security flaw is found in the library. The programmer used a DLL. Describe the process to fix the flaw in all programs using it.

⚠️ Common errors

🧠 Quick check 1

🧠 Quick check 2

🎯 Exam question

(a) State one benefit to the developer of using existing code from program libraries. [1] (b) The developer decides to use Dynamic Link Libraries (DLLs) for the audio processing component. Explain two advantages of using DLLs instead of static linking. [4] [5 marks]

Key ideas — 5.2 (a) Translators

Partial compilation and interpretation: some languages use both. Java source code is compiled into bytecode (an intermediate code), which is then interpreted (or just-in-time compiled) by the Java Virtual Machine on each computer. This makes the compiled bytecode portable to any platform with a JVM, while running faster than pure interpretation.

🧑‍🏫 Teacher's explanation

Imagine you are reading a book written in French, but you only speak English. If you use a compiler, you would hand the whole book to a professional translator who gives you a complete English version. You can then read that English version very quickly without needing the translator ever again. However, if you make a typo in the French version, you have to pay the translator to redo the whole book.

📖 Definitions

🔍 Worked example — Easy

A programmer is writing a script that will be used only once to automate a simple file cleanup task. Which translator (compiler or interpreter) is most appropriate, and why?

🔍 Worked example — Standard

Compare the execution speed of a program compiled with a compiler versus a program interpreted by an interpreter.

🔍 Worked example — Exam-style

A Java program is compiled into bytecode. Explain why this approach is used instead of compiling directly to machine code for a specific CPU.

⚠️ Common errors

🧠 Quick check 1

🧠 Quick check 2

🎯 Exam question

Key ideas — 5.2 (b) IDE features

🧑‍🏫 Teacher's explanation

Imagine you are writing a complex essay. If you only had a blank piece of paper and a pen, you would have to manually check every comma, remember every chapter title, and manually re-read the whole thing every time you made a mistake. An Integrated Development Environment (IDE) is like a high-tech word processor specifically designed for programmers. It doesn't just let you type; it helps you write better.

📖 Definitions

🔍 Worked example — Easy

A programmer is using an IDE to write a loop. They type 'FOR i <- 1 TO 10' and then press the spacebar. Describe the 'coding' feature that assists them here.

🔍 Worked example — Standard

A programmer notices a red squiggly line under the word 'WHILE' in their code before they have even clicked 'Run'. Identify the IDE feature and explain its purpose.

🔍 Worked example — Exam-style

A programmer is debugging a loop where the variable x is becoming an incorrect value. They want to pause the program exactly when x reaches 5 to inspect the state of the system. Describe the specific debugging tools they should use.

⚠️ Common errors

🧠 Quick check 1

🧠 Quick check 2

🎯 Exam question

(a) Identify one feature used for the 'presentation' of code. [1] (b) Describe how 'single stepping' assists a programmer during the debugging process. [2] [3 marks]

Worked example

Over time, files are saved in blocks scattered across the disk (fragmented), so the read/write head must move to many locations to read one file. Defragmentation moves the blocks of each file next to each other (contiguous), so the head moves less and the file is read faster.

🔍 Worked example — Easy

A file is split into 3 fragments located at sectors 10, 50, and 100 on a hard disk. Explain the state of the disk before and after defragmentation.

🔍 Worked example — Standard

Compare the performance of reading a 10 ext MB file that is fragmented across 5 different physical locations versus a file that is stored contiguously.

🔍 Worked example — Exam-style

A student claims that defragmentation is necessary for Solid State Drives (SSDs). Evaluate this claim based on the mechanics of disk access.

⚠️ Common errors

Common mistakes

Practice

Answers: (1) Any two: allocating memory to processes; freeing memory when a process ends; memory protection between processes; managing virtual memory/paging. (2) Backup: copies data so it can be restored after loss or corruption; disk repair: finds bad sectors and fixes file system errors. (3) Smaller executables; one copy shared in memory by several programs; can be updated without recompiling programs. (4) An interpreter reports each error as it is reached and lets parts of the program be tested immediately; a compiler produces a fast executable that can be distributed without the source code or a translator. (5) Any two: single stepping; breakpoints; a report/watch window showing variable values.

Summary

All chapters in System Software, Security and Ethics

  1. 5 System Software
  2. 6 Security, Privacy and Data Integrity
  3. 7 Ethics and Ownership