Home Notes Papers

Types of software and interrupts

Paper 1Paper 2

This section is examined in Paper 1 and Paper 2.

The Software Hierarchy: Hardware, Firmware, OS, and Applications

To understand how a computer works, you must view software as a layered hierarchy. Each layer depends on the one below it to function. This addresses Learning Objective 3: understanding how hardware, firmware, and an OS are required to run application software.

  1. Hardware is the physical machinery (CPU, RAM, I/O devices). It cannot do anything without instructions.
  2. Firmware is permanent software stored in ROM/EEPROM. It is the lowest level of software. Its primary role is to initialize the hardware and provide a basic platform for the Operating System to load.
  3. Operating System (OS) sits on top of firmware. It manages hardware resources and provides services to other software.
  4. Application Software sits at the top. It performs tasks for the user but cannot run directly on hardware. It relies entirely on the OS to access hardware resources.
The Dependency Chain for Running an Application:

When you double-click an application (e.g., a word processor):

  1. Firmware (BIOS/UEFI) detects the storage device and loads the Operating System into RAM.
  2. The Operating System initializes drivers and manages memory.
  3. The Application Software requests services from the OS (e.g., 'allocate memory', 'write to screen').
  4. The OS translates these requests into hardware signals via device drivers.

Key Insight: Application software does not talk directly to hardware. It talks to the OS. The OS talks to the hardware. Without firmware, the OS wouldn't load. Without the OS, the application couldn't run.

System Software vs. Application Software
Learning Objective 1: Describe the difference between system software and application software.

System Software is designed to run the computer's hardware and application programs. It provides a platform for other software to run. It is essential for the computer to function.

Application Software is designed to help the user perform specific tasks. It runs on top of the system software.

Application Software
The End User
Performs specific tasks for the user (e.g., word processing, browsing).
Requires System Software (OS) to run.
Word Processors (Microsoft Word), Web Browsers (Chrome), Games, Spreadsheets.
Note on Utility Software: Utilities are a type of system software. They maintain the computer's infrastructure (e.g., cleaning up files, securing data) but do not perform end-user tasks like writing documents.
Firmware

Learning Objective 3 (continued): Understanding the role of firmware.

Firmware is software that is permanently programmed into read-only memory (ROM) or flash memory. It contains low-level instructions that control specific hardware devices.

Key Characteristics:

  • Permanent: It does not change frequently (unlike application software).
  • Low-Level: It interacts directly with hardware components.
  • Bootstrapping: Its most critical role is to initialize the hardware and load the Operating System into RAM when the computer is switched on.
Operating System (OS)

Learning Objective 2: Describe the role and basic functions of an operating system.

The Operating System is the most important system software. It acts as an intermediary between the user/applications and the computer hardware.

Core Functions (Memorize these for 'Describe' questions):

  1. Memory Management: Allocates and deallocates memory to processes; ensures processes don't overwrite each other's data.
  2. Processor Scheduling: Decides which process gets CPU time and for how long.
  3. File Management: Organizes, stores, retrieves, and names files on storage devices.
  4. Device Management (I/O): Controls communication between the computer and peripheral devices via drivers.
  5. Security/Access Control: Manages user permissions and protects system resources.
Interrupts

Learning Objective 4: Describe the role and operation of interrupts.

An interrupt is a signal sent to the processor indicating that an event needs immediate attention. It temporarily stops the current process so the CPU can handle the urgent event.

Types of Interrupts:

  1. Hardware Interrupts: Generated by external hardware devices (e.g., keyboard press, mouse click, network packet arrival). These are asynchronous (unpredictable timing).
  2. Software Interrupts (Traps/Exceptions): Generated by software errors (e.g., division by zero) or system calls (application requesting OS service).

The Interrupt Cycle:

  1. The device sends an interrupt signal to the CPU.
  2. The CPU finishes the current instruction (to ensure data integrity).
  3. The CPU saves its current state (program counter and registers) onto the stack.
  4. The CPU jumps to a specific memory address containing the Interrupt Service Routine (ISR) or Interrupt Handler.
  5. The ISR handles the event (e.g., reads the key pressed).
  6. The CPU restores its saved state and resumes the previous process.
How an Application Runs: A Step-by-Step Dependency
Scenario: You open a web browser.

  1. Power On: The CPU executes code from Firmware (BIOS).
  2. Boot: Firmware initializes RAM and finds the OS on the hard drive, loading it into RAM.
  3. OS Ready: The Operating System takes control, managing memory and drivers.
  4. User Action: You click the browser icon.
  5. Application Load: The OS allocates a block of RAM for the browser process.
  6. Execution: The browser runs. When it needs to display a webpage, it sends a request to the OS (System Call).
  7. Hardware Interaction: The OS uses the graphics driver (part of system software) to send signals to the monitor (hardware).

Why this matters: If you remove the OS, the application has no way to ask for memory or talk to the screen. If you remove Firmware, the OS never loads, so nothing happens.

Interrupt Handling in Practice
Scenario: You are typing a document. The CPU is processing the text.

  1. Event: You press the 'A' key on the keyboard.
  2. Interrupt: The keyboard controller sends a hardware interrupt to the CPU.
  3. Pause: The CPU pauses the word processor task.
  4. Handler: The CPU executes the keyboard driver's Interrupt Service Routine (ISR).
  5. Action: The ISR reads the scan code for 'A' from the keyboard buffer and places it in RAM.
  6. Resume: The CPU restores the word processor's state and continues typing.

Result: You can type while other processes run in the background because interrupts allow the CPU to multitask efficiently without constantly polling (checking) every device.

⚠︎ Confusing Software Types and Roles
Mistake 1: Listing Functions as Examples.
Error: Giving 'Memory Management' as an example of system software.
Correction: 'Memory management' is a function of the OS. An example of system software is 'Windows 10' or 'Defragmentation Utility'.

Mistake 2: Confusing Firmware with Hardware.
Error: Saying firmware is a physical chip.
Correction: Firmware is software (instructions) stored on a chip (ROM/Flash). It is not the hardware itself.

Mistake 3: Confusing Devices with Interrupts.
Error: Saying 'Keyboard' is an example of an interrupt.
Correction: The keyboard is the device. The interrupt is the signal sent by the keyboard when a key is pressed. Be precise: 'A hardware interrupt generated by the keyboard.'

Mistake 4: Misidentifying Malware.
Error: Calling 'Phishing' malware.
Correction: Phishing is a social engineering attack (fraudulent email). Malware is malicious software (e.g., Virus, Worm, Ransomware). A virus replicates itself; a worm replicates over a network.

Describing the Role of an Operating System
When to use: When asked to 'Describe the role of the OS' or 'Explain how the OS manages memory'.

Why examiners accept this: Examiners look for specific technical verbs like allocate, deallocation, schedule, and manage. Vague phrases like 'helps the computer' are not enough.

Correct Usage Example:
Question: Describe how the OS manages memory. [3 marks]
Answer: The OS allocates blocks of RAM to running processes when they start. It deallocates (frees) this memory when the process terminates. It also tracks which memory locations are in use to prevent two processes from overwriting each other's data.

Key Phrase: 'Allocates and deallocates memory' is a standard markscheme phrase for memory management.

When to use: When asked to 'Describe the difference between system and application software'.

Why examiners accept this: The key distinction is who benefits. System software benefits the computer's operation; application software benefits the user's task.

Correct Usage Example:
Question: State one difference between system and application software. [1 mark]
Answer: System software provides services to the computer hardware and other software, whereas application software performs specific tasks for the end-user.

Key Phrase: 'Provides services to the computer' vs 'Performs tasks for the user'.

When to use: When asked to 'Describe the purpose of firmware'.

Why examiners accept this: Firmware is often misunderstood as just 'boot software'. You must mention its role in providing a platform for the OS and controlling hardware.

Correct Usage Example:
Question: State the purpose of firmware. [1 mark]
Answer: Firmware provides the initial instructions to boot up the computer and loads the operating system into RAM. It also allows the hardware to be controlled by providing a basic interface for the OS.

Key Phrase: 'Loads the operating system' or 'Provides a platform for the OS'.

Past Paper Style Questions
Q:
Describe the difference between system software and application software. [2]
A:
  1. System software manages/maintains the hardware/software infrastructure. (1)
  2. Application software allows the user to perform specific tasks. (1)
Q:
State two examples of system software. [2]
A:
  1. Operating System (e.g., Windows, Linux). (1)
  2. Utility Software (e.g., Defragmenter, Antivirus) OR Device Drivers. (1)
Q:
Describe the role of an operating system in managing memory. [3]
A:
  1. The OS allocates memory to processes when they start. (1)
  2. It deallocates (frees) memory when processes finish. (1)
  3. It ensures that two processes do not access the same memory location simultaneously (prevents overlap/corruption). (1)
Q:
What is meant by firmware? [1]
A:
Permanent instructions/software programmed into/stored in ROM/Flash memory that allow hardware to be controlled or provide a platform for the OS.
Q:
Describe the purpose of an interrupt. [1]
A:
To indicate that something requires the immediate attention of the processor/OS/CPU, causing it to pause its current task.
Q:
State one difference between a hardware interrupt and a software interrupt. [1]
A:
Hardware interrupts are generated by external devices (e.g., keyboard), whereas software interrupts are generated by the CPU due to an error or system call.
Beta v0.7.8 Free while we're in beta — it transitions to paid post launch. Thank you for supporting us at this stage!