← 💻 Computer Science

Cambridge IGCSE 0478 · Topic 4 of 10

Software

The difference between system and application software, what an operating system does, interrupts, programming languages, translators and IDEs.

📌 Key points

  1. System software manages the computer and provides a platform for other programs, e.g. the operating system and utility software (anti-virus, defragmentation, backup, compression); application software lets the user carry out tasks, e.g. a word processor, spreadsheet or web browser.
  2. Functions of an operating system: managing files, handling interrupts, providing a user interface, managing peripherals and drivers, managing memory, managing multitasking, providing a platform to run applications, providing security and managing user accounts.
  3. Software is layered: the hardware runs firmware (e.g. the bootloader stored in ROM), the firmware loads the operating system, and applications run on the operating system.
  4. An interrupt is a signal from a hardware device (e.g. a key press, printer out of paper) or software (e.g. division by zero) asking for the CPU's attention; the current task is paused, an interrupt service routine handles it, then the task resumes.
  5. High-level languages are close to English, easier to read, write and debug, and portable between different computers; one statement becomes many machine code instructions.
  6. Low-level languages are machine code (binary) and assembly language (mnemonics such as LDA, ADD); they are specific to one type of CPU but give direct control of hardware and can be very efficient. Assembly language is translated by an assembler.
  7. A compiler translates the whole program in one go into an executable file; errors are reported after translation, the program then runs without the compiler, and the source code does not need to be shared.
  8. An interpreter translates and runs the program one line at a time and stops at the first error, which helps debugging during development; the interpreter is needed every time the program runs.
  9. An IDE (integrated development environment) provides a code editor, a run-time environment, a translator, error diagnostics, auto-completion, auto-correction and prettyprint (colour-coding and indenting code).

📖 Key terms

Operating system
System software that manages the hardware and resources and provides a platform for applications.
Utility software
System software that maintains or protects the computer, e.g. anti-virus or defragmentation.
Firmware
Software stored permanently in ROM that controls hardware, such as the bootloader.
Interrupt
A signal sent to the CPU from hardware or software to say that something needs attention.
Compiler
Translates a whole high-level program into machine code at once, producing an executable file.
Interpreter
Translates and executes a high-level program one line at a time.
Assembler
Translates assembly language into machine code.

✏️ Worked example

A programmer uses an interpreter while writing a game, then a compiler when it is finished. Explain why.

  1. While writing, the interpreter runs the code line by line and stops at the first error.
  2. This shows exactly where the error is, so it can be fixed and the code re-run straight away.
  3. When finished, the compiler translates the whole program into an executable file.
  4. Users can run the executable without needing a translator, and it usually runs faster.
  5. The source code is not given away, so it cannot easily be copied or changed.
💡 Exam tip

For "compare compiler and interpreter" questions, write matching pairs: "A compiler … whereas an interpreter …". Single facts about only one translator usually earn fewer marks.

Test yourself8 questions from a bank of 15. A new mix every time.
Start the quiz →

It’s bedtime! 😴

It’s late, and even Numo is getting sleepy. The best thing you can do for your learning now is… go to sleep!

✨ Sleep helps you

  • 🧠 remember what you learned today: your brain saves it while you sleep
  • 🌱 grow and stay healthy
  • ⚡ wake up with energy, ready to learn and play
  • 😊 feel happy and calm

🦉 Going to bed late can make you

  • 😩 tired and sleepy at school tomorrow
  • 🤯 find it harder to focus and to remember
  • 😠 grumpy and easily upset
  • 🤧 catch colds more easily

Children your age need 9 to 12 hours of sleep every night. Numo will be right here tomorrow!