Learn in your language
Skip to content
A Level · Cambridge (CIE) · 9618

5 System software and translators

Explain how operating systems coordinate hardware and compare the jobs of assemblers, compilers and interpreters.

Cambridge International AS & A Level Computer Science 9618 · 2027–2029 · Version 2 · 5

Mapped to Cambridge International AS & A Level Computer Science 9618, 2027–2029 Version 2. These original lessons and self-checks are independent study support; they are not Cambridge papers, official marks or grades. The course does not yet provide a timed four-paper simulation or a locked-down Paper 4 programming environment.

Before you begin

  • Use the 2027–2029 syllabus for your exam year. AS candidates study Sections 1–12; A Level candidates study Sections 1–20. Paper 4 uses a programming language chosen from Python, Java or Visual Basic in console mode.

Work on paper. Try each question before revealing help, and explain why your method works.

Quick readiness check

Which OS responsibility coordinates processor time among programs?

What you will learn

  • Explain the key representations, structures or processes in this syllabus section
  • Apply the method to a new computer-science example
  • Justify a design choice and check its limits

An operating system manages shared resources

The OS provides a user interface and coordinates processor time, memory, files, input/output devices and security permissions. Scheduling decides which ready process receives processor time; memory management allocates and protects working areas.

Utilities perform maintenance or support tasks such as backup, compression, file management and security checks. Device drivers let the OS communicate with specific hardware through a defined interface.

Translators produce or execute machine instructions

An assembler translates assembly language into machine code. A compiler translates a source program before execution, often producing an object or executable file. An interpreter translates and executes statements during a run.

A linker combines separately compiled modules and libraries; a loader places an executable program in memory. Translation errors and run-time errors arise at different stages. A compiler does not guarantee that a program's logic is correct.

Pause and explain

What does a linker do?

Put the idea to work

Worked example

A programmer changes one line in a large source program. Compare how an interpreter and compiler handle translation.

Show the worked solution
  1. An interpreter translates statements as the program runs.
  2. A compiler translates source code before a program is run.
  3. State the practical consequence, while recognising implementations differ.

Answer An interpreter handles translation during execution; a compiler normally creates translated code before execution.

Try a topic test

Choose Easy, Normal or Difficult. Save your answers and open worked review after finishing.

Test this topic →

From guided practice to a new situation

Write your answer and reasoning first. Use a hint only if you are stuck. The model solution is for self-checking; your written work is not automatically marked.

1 · Guided

A system has several ready processes. Explain how scheduling and the OS's process states support multitasking.

Give me a hint

Distinguish a process from its state and explain the scheduler's choice.

Compare my reasoning
  1. The OS tracks whether a process is ready, running or blocked.
  2. A scheduler selects a ready process to run.
  3. When a process waits for input/output it can be blocked so another ready process can use the CPU.

The scheduler shares CPU time among ready processes while the OS tracks and changes their states.

Look for these in your work

  • States distinguished
  • Ready process selected
  • Blocked waiting explained
2 · Independent

A project contains several compiled modules that refer to shared library routines. Which translation-stage tool combines them, and what follows before execution?

Give me a hint

Think about resolving external references after compilation.

Compare my reasoning
  1. The linker combines object modules and libraries and resolves references.
  2. The loader then places the executable program in memory.
  3. Execution begins after the program is loaded and required resources are available.

A linker combines modules and libraries; a loader places the resulting program in memory.

Look for these in your work

  • Linker role
  • Loader role
  • Sequence correct
3 · Transfer

A compiled program runs and produces a wrong total even though translation succeeds. Explain why compilation did not prevent the error.

Give me a hint

Separate syntax or translation success from the correctness of the algorithm.

Compare my reasoning
  1. Compilation checks whether source can be translated according to language rules.
  2. A logically incorrect algorithm can still be valid source code.
  3. Testing representative cases is needed to uncover the wrong result.

Compilation can succeed for a program with a logic error; testing is still required.

Look for these in your work

  • Translation limit explained
  • Logic error distinguished
  • Testing named

Common mistakes

  • Claiming a compiled program cannot contain logic errors.
  • Confusing a linker with an assembler.
  • Describing the operating system as an application used only for file storage.
Recall without your notes

What can you explain now?

Which translator converts assembly mnemonics into machine code?

Compare with the explanation

An assembler

An assembler translates assembly language; a compiler and interpreter translate high-level source in different ways.

After trying it yourself, choose your next review. This is your self-assessment.

Your review choice appears on Today. Sign in to sync it across devices.

Make it stick

How do an OS, assembler, compiler, interpreter, linker and loader contribute at different stages?

If you needed the solution, close it and solve the problem again from a blank page. A correct answer is stronger when you can explain the reason for each step.

Keep learning Computer Science

Course scope and assessment

This pathway maps the 2026 Version 2 and 2027–2029 Version 2 syllabuses, which Cambridge says have no significant changes affecting teaching. It has original teaching and guided, independent and transfer practice for all 20 syllabus sections, with topic links to the official section headings. It is mapped teaching, not proof of exam readiness or an official Cambridge grade. Paper 4 requires complete programs and testing evidence in a programming environment; the current course offers explained code and algorithm practice but does not yet provide a locked-down timed programming-paper environment, full four-paper mocks or human subject-teacher review.

StudyForA · Learn with understanding

Original teaching content and links to official sources. Check your exam year and qualification before using a resource.