logo

Cambridge IGCSE Computer Science revision notes

Types of software and interrupts Revision Notes

Cambridge IGCSE revision notes for Types of software and interrupts.

At a glance

revision notes

Resource type

Topic

Types of software and interrupts

CambridgeIGCSEComputer ScienceSoftware

Complete revision guide 1 of 4

Distinguishing System Software from Application Software with Examples

This note explains the fundamental differences between system software and application software, detailing their roles, characteristics, and examples to clarify their distinct purposes within a computer system.

Syllabus source

Section 3, Topic 4.1, page 19, objective 4.1.1

Open source document ↗

What you should be able to do

  • ✓Understand the primary functions of system software and application software.
  • ✓Identify examples of system software and application software.
  • ✓Explain how system software supports hardware and application software.
  • ✓Describe how application software meets specific user needs.
1

Overview of Software Types

Software is a collection of programs and data that instruct a computer to perform tasks. It broadly divides into two categories: system software and application software. Understanding the distinction between these types is essential because they serve different roles within a computer system and interact with hardware and users differently.

  • Software controls hardware and provides services to users and other software.
  • System software manages hardware and creates an environment for application software.
  • Application software enables users to perform specific tasks.
2

System Software: Purpose and Examples

System software acts as an intermediary between the computer hardware and the user or application software. Its primary role is to manage hardware resources and provide essential services that allow the computer to function efficiently and reliably.

The most critical type of system software is the operating system (OS). The OS controls hardware components such as the CPU, memory, storage devices, and input/output peripherals. It manages tasks like file management, memory allocation, and device communication.

Utility software is another category of system software designed to perform maintenance tasks that support the operating system. Examples include antivirus programs that protect against malware, disk defragmenters that optimise storage, and backup software that safeguards data.

  • Operating systems (e.g., Windows, macOS, Linux) manage hardware and provide a platform for applications.
  • Utility software (e.g., antivirus, disk cleanup tools) maintains system health and security.
  • System software runs in the background and is essential for basic computer operation.
3

Application Software: Purpose and Examples

Application software is designed to help users complete specific tasks or activities. Unlike system software, it is not essential for the computer’s basic operation but is crucial for productivity, entertainment, communication, and other user-driven functions.

Examples of application software include word processors like Microsoft Word, which allow users to create and edit text documents, and web browsers like Google Chrome, which enable users to access and navigate the internet.

Other examples include spreadsheet programs, graphic design software, games, and email clients. These programs run on top of the operating system and rely on system software to interact with hardware.

  • Word processors, spreadsheets, and web browsers serve specific user needs.
  • Games and multimedia players provide entertainment functions.
  • Application software depends on system software to operate but focuses on user tasks.
4

Key Differences Between System and Application Software

The main distinction lies in their roles and interaction with the computer system. System software manages and controls hardware, providing a stable environment for application software to run. It operates at a low level, often invisible to the user.

Application software is user-oriented and designed to perform particular tasks that meet user requirements. It operates at a higher level and requires system software to function.

System software is usually installed with the computer or operating system, while application software can be installed or removed by the user as needed.

  • System software controls hardware; application software performs user tasks.
  • System software runs continuously; application software runs when launched by the user.
  • System software is essential for computer operation; application software is optional but enhances usability.
5

How System and Application Software Work Together

System software provides the foundation that allows application software to function. For example, when a user opens a word processor, the operating system allocates memory, manages files, and handles input from the keyboard and mouse.

Without system software, application software would have no way to communicate with hardware components or manage resources efficiently.

This layered relationship ensures that users can run multiple applications simultaneously without needing to manage hardware details themselves.

  • Operating system manages resources for applications.
  • Applications rely on system software for hardware access.
  • This cooperation enables multitasking and user-friendly interfaces.

At-a-glance summary

Comparison table

AspectSystem SoftwareApplication SoftwareExample
Primary RoleManage hardware and system resourcesPerform specific user tasksOperating system vs Word processor
DependencyRuns directly on hardware or firmwareRuns on top of system softwareLinux OS vs Google Chrome
User InteractionMinimal direct interaction; runs in backgroundDirect interaction; user launches and controlsAntivirus software vs Video game
InstallationUsually pre-installed or essentialInstalled as needed by userWindows OS vs Adobe Photoshop

Active recall

Quick check

1. What is the main function of system software?

To manage and control computer hardware and provide a platform for application software.

2. Give two examples of application software.

Microsoft Word (word processor) and Google Chrome (web browser).

3. Why can't application software run without system software?

Because application software relies on system software to communicate with hardware and manage resources.

4. Name a type of system software other than the operating system.

Utility software, such as antivirus programs or disk defragmenters.

Complete revision guide 2 of 4

Functions and Responsibilities of an Operating System

An operating system (OS) is essential system software that manages hardware and software resources, providing a platform for application execution and ensuring efficient, secure, and user-friendly operation of a computer system. Its key functions include file management, interrupt handling, user interface provision, peripheral and driver management, memory management, multitasking support, system security, and user account management.

Syllabus source

Section 3, Topic 4.1, page 19, objective 4.1.2

Open source document ↗

What you should be able to do

  • ✓Understand the core functions of an operating system and how they support computer operation.
  • ✓Explain how the OS manages files, memory, peripherals, and user interactions.
  • ✓Describe the role of the OS in handling interrupts and multitasking.
  • ✓Recognise the importance of system security and user account management within the OS.
1

File Management

The operating system organises and controls how data is stored and retrieved on storage devices such as hard drives or SSDs. It maintains a file system that arranges data into files and directories, allowing users and applications to create, read, write, delete, and move files efficiently.

For example, when you save a document, the OS decides where on the disk to store it and keeps track of its location. Without this management, data would be stored randomly, making retrieval difficult and slow.

  • Organises data into files and directories.
  • Controls access permissions to files.
  • Manages free space on storage devices.
2

Interrupt Handling

Interrupts are signals sent to the processor to indicate that an event needs immediate attention. The operating system manages these interrupts by temporarily pausing the current process, saving its state, and executing an interrupt service routine (ISR) to address the event.

For instance, pressing a key on the keyboard generates a hardware interrupt. The OS responds by reading the key press and passing it to the active application. This mechanism allows the system to respond promptly to user inputs and hardware events without constant polling.

  • Detects and prioritises interrupts.
  • Executes appropriate interrupt service routines.
  • Ensures smooth resumption of paused processes.
3

User Interface Provision

The OS provides a user interface (UI) that enables users to interact with the computer system. This can be a command-line interface (CLI) where users type commands, or a graphical user interface (GUI) featuring windows, icons, and menus.

For example, Windows OS offers a GUI with clickable icons, while some servers use a CLI for direct command input. The UI abstracts complex hardware operations, making the system accessible to users with varying technical skills.

  • Offers CLI or GUI for user interaction.
  • Translates user commands into system actions.
  • Facilitates ease of use and accessibility.
4

Peripheral and Driver Management

Peripherals like printers, mice, and scanners require drivers—specialised software that allows the OS to communicate with hardware devices. The OS manages these drivers, ensuring that peripherals function correctly and efficiently.

For example, when you connect a USB mouse, the OS loads the appropriate driver to interpret mouse movements and button clicks, enabling interaction with the system.

The OS also manages data transfer between peripherals and the computer, handling device status and errors.

  • Loads and manages device drivers.
  • Coordinates data exchange with peripherals.
  • Handles device errors and status monitoring.
5

Memory Management and Multitasking Support

The OS allocates memory space to applications and system processes, ensuring each has enough memory to run without interfering with others. It tracks which parts of memory are in use and which are free.

Multitasking allows multiple applications to run seemingly simultaneously by rapidly switching the CPU between tasks. The OS manages this process, allocating CPU time and memory to each task fairly and efficiently.

For example, you can listen to music while browsing the internet because the OS manages resources to support both applications concurrently.

  • Allocates and tracks RAM usage.
  • Prevents memory conflicts between processes.
  • Schedules CPU time for multitasking.
6

Application Execution Platform, System Security, and User Account Management

The OS provides a platform where application software can run, offering essential services like file access and input/output operations.

It also enforces system security by controlling access to resources, preventing unauthorized use, and protecting against malware. This includes managing permissions and running security checks.

User account management allows multiple users to have personalised settings and access rights. The OS authenticates users, manages passwords, and restricts access based on user roles, enhancing security and privacy.

  • Supports application execution with system services.
  • Implements security policies and access controls.
  • Manages user authentication and permissions.

At-a-glance summary

Comparison table

FunctionDescriptionExampleExam Use
File ManagementOrganises data storage and retrievalSaving a photo in a folderExplain how files are stored and accessed
Interrupt HandlingResponds to hardware/software events promptlyKeyboard input interruptDescribe interrupt processing steps
User InterfaceAllows user interaction with the systemGraphical desktop environmentIdentify types of user interfaces
Peripheral ManagementControls external devices via driversPrinter driver installationExplain driver role in device communication
Memory ManagementAllocates RAM to processesRunning multiple apps simultaneouslyDescribe memory allocation and protection
Multitasking SupportEnables concurrent application executionListening to music while browsingExplain CPU scheduling for multitasking
System SecurityProtects system from unauthorized accessUser permissions and firewallsDescribe security measures in OS
User Account ManagementHandles user profiles and access rightsLogin authenticationExplain user authentication and access control

Active recall

Quick check

1. What role does the OS play in managing files?

It organises files into directories, controls access, and manages storage space.

2. How does the OS handle an interrupt from a keyboard?

It pauses the current process, runs an interrupt service routine to process the key press, then resumes the process.

3. Why is memory management important in multitasking?

It allocates memory to each process to prevent conflicts and ensures efficient use of RAM.

4. What is the purpose of device drivers?

They allow the OS to communicate and control hardware peripherals.

5. How does the OS support system security?

By managing user permissions, authenticating users, and controlling access to resources.

Complete revision guide 3 of 4

The Role of Hardware, Firmware, and Operating Systems in Running Application Software

Application software depends on a layered structure of hardware, firmware, and operating systems to function. This note explains how these components interact, starting from the physical hardware, through firmware including the bootloader, up to the operating system that provides the platform for applications.

Syllabus source

Section 3, Topic 4.1, page 20, objective 4.1.3

Open source document ↗

What you should be able to do

  • ✓Understand the relationship between hardware, firmware, and operating systems in software execution.
  • ✓Explain the role of firmware and the bootloader in system startup.
  • ✓Describe how the operating system manages hardware resources and provides a platform for application software.
1

Hardware: The Physical Foundation

Hardware refers to the tangible, physical components of a computer system such as the central processing unit (CPU), memory modules, storage devices, input/output peripherals, and the motherboard. These components perform the actual processing, storage, and communication tasks required by software.

Without hardware, no software can run because software instructions must be executed by physical circuits. For example, when you open a word processor, the CPU processes the instructions, the RAM temporarily holds data, and the display hardware shows the interface.

Hardware alone cannot run software directly; it requires low-level instructions and control mechanisms to initialise and manage its operation.

  • Includes CPU, memory, storage, input/output devices.
  • Executes instructions and processes data physically.
  • Cannot operate software without supporting control software.
2

Firmware: Bridging Hardware and Software

Firmware is a specialized type of software embedded directly into non-volatile memory chips on hardware components. It provides low-level control and instructions specific to the hardware.

A key example of firmware is the bootloader, which is stored in read-only memory (ROM) or flash memory on the motherboard. When the computer is powered on, the bootloader runs first, performing hardware checks and initialising devices.

The bootloader then locates and loads the operating system from storage into the computer’s main memory (RAM), handing over control to it. Without firmware, the hardware would not know how to start up or communicate with higher-level software.

  • Embedded software in non-volatile memory on hardware.
  • Includes the bootloader that starts the system.
  • Initialises hardware and loads the operating system.
3

Operating System: The Software Platform

The operating system (OS) is system software that manages hardware resources and provides services for application software.

It acts as an intermediary between applications and hardware, handling tasks such as memory management, file handling, device control, and user interface provision.

Applications rely on the OS to access hardware indirectly, ensuring safe and efficient operation. For example, when a music player app wants to play sound, it requests the OS to send data to the sound card rather than controlling the hardware directly.

  • Manages hardware resources and provides services.
  • Runs on top of firmware after system startup.
  • Provides a platform for application software execution.
4

Interaction Between Components During Software Execution

When a computer powers on, the hardware is activated first. The firmware bootloader runs, performing initial checks and loading the operating system into RAM.

Once the OS is running, it manages hardware resources and provides an environment where application software can execute.

Applications do not interact directly with hardware or firmware; instead, they make requests to the OS, which translates these into hardware operations. This layered approach improves system stability and security.

  • Power on triggers hardware activation.
  • Bootloader firmware loads the operating system.
  • Operating system manages hardware and runs applications.
5

Example: Starting a Web Browser

Consider opening a web browser application: the hardware powers on and runs the bootloader firmware.

The bootloader loads the operating system, which then manages hardware like the CPU, memory, and network card.

The user launches the browser application, which requests the OS to allocate memory and access the network hardware to load web pages.

  • Bootloader initialises hardware and loads OS.
  • OS manages resources and hardware access.
  • Application runs on OS, using hardware indirectly.

At-a-glance summary

Comparison table

ComponentRoleExampleExam Use
HardwarePhysical devices executing instructionsCPU, RAM, hard driveKnow hardware is the base layer for software
FirmwareEmbedded software controlling hardware startupBootloader in ROMExplain bootloader loads OS from hardware
Operating SystemManages hardware and runs applicationsWindows, Linux, macOSDescribe OS as platform for applications
Application SoftwareUser programs running on OSWeb browser, word processorRecognise apps depend on OS and hardware

Active recall

Quick check

1. What is the role of the bootloader in a computer system?

The bootloader is firmware that runs on hardware at startup to initialise the system and load the operating system into memory.

2. Why can't application software run directly on hardware?

Because applications rely on the operating system to manage hardware resources and provide necessary services; hardware alone cannot manage these tasks.

3. How does the operating system interact with hardware?

The operating system controls hardware through firmware and device drivers, managing resources and providing an interface for applications.

4. Give an example of firmware in a computer system.

The BIOS or UEFI firmware that contains the bootloader and initialises hardware components at startup.

Complete revision guide 4 of 4

Interrupts: Function, Mechanism, and Consequences

This note explains how interrupts function within a computer system, detailing their generation, processing via interrupt service routines, and the effects they have on system operation. It distinguishes between hardware and software interrupts with examples, clarifying their role in efficient multitasking and system responsiveness.

Syllabus source

Section 3, Topic 4.1, page 20, objective 4.1.4

Open source document ↗

What you should be able to do

  • ✓Understand what interrupts are and why they are used in computer systems.
  • ✓Explain how hardware and software interrupts are generated.
  • ✓Describe the role and operation of an interrupt service routine (ISR).
  • ✓Identify the consequences of interrupts on processor operation and system behaviour.
  • ✓Distinguish between hardware and software interrupts with relevant examples.
1

Introduction to Interrupts

In a computer system, the central processing unit (CPU) typically executes instructions sequentially. However, certain events require immediate attention, such as user input or error conditions. Interrupts are signals sent to the CPU to temporarily halt its current task and address these urgent events. This mechanism allows the system to respond promptly without the CPU constantly checking (polling) for such events, improving efficiency and responsiveness.

  • Interrupts signal the CPU to pause current execution.
  • They enable immediate handling of important events.
  • They prevent wasteful continuous checking for events (polling).
2

Types and Generation of Interrupts

Interrupts are broadly categorised into hardware and software interrupts based on their origin. Hardware interrupts arise from external devices signalling the CPU, while software interrupts originate from within the running program or operating system.

Hardware interrupts are generated by physical actions or device signals. For example, pressing a key on the keyboard or moving the mouse sends a hardware interrupt to notify the CPU that input is available. Similarly, a printer signalling that it is out of paper triggers a hardware interrupt.

Software interrupts occur due to specific conditions detected during program execution. For instance, attempting to divide a number by zero causes a software interrupt because it is an illegal operation. Another example is when two processes try to access the same memory location simultaneously, causing a conflict that triggers a software interrupt to handle the situation safely.

  • Hardware interrupts come from external devices (e.g., keyboard, mouse).
  • Software interrupts result from program conditions or errors (e.g., division by zero).
  • Both types signal the CPU to handle events immediately.
3

Interrupt Service Routine (ISR) and Processing

When an interrupt occurs, the CPU must temporarily stop its current task to address the interrupt. It does this by saving its current state, including the program counter and registers, so it can resume later without loss of data or progress.

The CPU then transfers control to a special program called the interrupt service routine (ISR). The ISR contains instructions to handle the specific interrupt, such as reading input data from a keyboard buffer or managing an error condition.

After the ISR completes its task, the CPU restores its saved state and continues executing the original program as if uninterrupted. This process ensures that interrupts are handled efficiently without corrupting ongoing operations.

  • CPU saves current state when interrupt occurs.
  • Control passes to the interrupt service routine (ISR).
  • ISR handles the interrupt-specific task.
  • CPU restores state and resumes original program after ISR.
4

Consequences of Interrupts

Interrupts allow a computer system to be responsive and multitask effectively by dealing with events as they happen. However, they also introduce complexity in managing the CPU state and ensuring data integrity.

Frequent interrupts can slow down overall system performance because the CPU spends time switching contexts between tasks. Therefore, operating systems prioritise interrupts and may disable lower priority interrupts temporarily to manage system load.

If interrupts are not handled correctly, they can cause errors such as data corruption or system crashes. For example, if the CPU fails to save its state properly before an interrupt, the original program may resume incorrectly.

  • Enable responsiveness and multitasking.
  • Context switching adds overhead and can reduce performance.
  • Improper handling can cause errors or crashes.
  • Operating systems prioritise and manage interrupts carefully.
5

Summary and Practical Examples

To illustrate, consider typing on a keyboard: each key press generates a hardware interrupt, prompting the CPU to run an ISR that reads the key and stores it in a buffer. Meanwhile, the CPU may be running a word processor application, which is temporarily paused but resumes seamlessly after the ISR.

In software, if a program attempts to divide by zero, a software interrupt triggers an ISR that might display an error message and halt the faulty operation, preventing the program from crashing unexpectedly.

Understanding interrupts is essential for grasping how operating systems manage hardware and software events efficiently, ensuring smooth and reliable computer operation.

  • Keyboard input triggers hardware interrupts handled by ISRs.
  • Division by zero triggers software interrupts for error handling.
  • Interrupts enable smooth multitasking and error management.

At-a-glance summary

Comparison table

StepDetailExampleExam Use
Interrupt GenerationSignal sent to CPU from hardware or software eventKey press triggers hardware interruptExplain source of interrupt with example
CPU ResponseCPU saves current state and stops current taskCPU saves registers and program counterDescribe CPU actions on interrupt
ISR ExecutionCPU runs interrupt service routine to handle eventISR reads keyboard bufferOutline ISR role and function
Resume OperationCPU restores saved state and continues original taskWord processor resumes after key press ISRExplain how CPU resumes after interrupt

Active recall

Quick check

1. What is the main purpose of an interrupt in a computer system?

To signal the CPU to temporarily stop its current task and handle an urgent event immediately.

2. Give one example each of a hardware and a software interrupt.

Hardware interrupt: key press on a keyboard; Software interrupt: division by zero error.

3. What does the CPU do immediately after receiving an interrupt?

It saves its current state (registers and program counter) before running the interrupt service routine.

4. What is the role of an interrupt service routine (ISR)?

To execute specific instructions to handle the interrupt event and resolve it.

5. Name one consequence of interrupts on system operation.

They enable multitasking and responsiveness but can cause overhead that reduces performance if too frequent.

Revision hubs

Keep studying from the right hub