SI

4.1 Types of Software & Interrupts

Understanding system and application software, operating systems, user interfaces, firmware, and how interrupts are handled.

Learning Objectives

By the end of this lesson, you will be able to:

  • Describe the difference betweensystem softwareandapplication softwareand provide examples of each
  • Describe the role and basic functions of anoperating system, including:
    • Managing files
    • Handling interrupts
    • Providing an interface
    • Managing peripherals and drivers
    • Managing memory
    • Managing multitasking
    • Providing a platform for running applications
    • Providing system security
    • Managing user accounts
  • Understand howhardware, firmware and an operating systemare required to run applications software
  • Describe the role and operation ofinterrupts— how they are generated and handled

Key Terms

System Software

Software that provides the services the computer requires, including the operating system and utility software.

Application Software

Software chosen by a user to help them carry out a specific task (e.g. word processor, spreadsheet).

Operating System (OS)

Software that manages computer hardware and provides a platform for running applications.

Utility Software

Software designed to help maintain, enhance and troubleshoot/repair a computer system (e.g. defragmentation, backup).

Firmware

A program that provides low-level control for devices. Stored in ROM. The BIOS is an example of firmware.

Bootstrap Loader

The first program loaded into memory when a computer is turned on. Part of the BIOS.

Interrupt

A signal sent from a device or software to the microprocessor requesting its attention. Causes the CPU to temporarily stop what it is doing.

Interrupt Service Routine (ISR)

A program with instructions that need to be fetched, decoded and executed to carry out the operations of the interrupt.

Stack

A reserved area in RAM where the contents of registers are saved when an interrupt occurs, so the original task can be resumed.

Device Driver

Software that translates operating system instructions into commands that specific hardware will understand.

Multitasking

The ability to run several applications at the same time by giving each a small slice of processor time and cycling between them.

Memory Management

The OS allocating main memory (RAM) between different programs that are open at the same time.

GUI (Graphical User Interface)

A user interface using visual elements such as windows, icons, menus and pointers (WIMP).

CLI (Command Line Interface)

A user interface where users interact with the OS using text-based commands.

Natural Language Interface (NLI)

A user interface that uses the spoken word to respond to spoken or textual inputs from a user.

Defragmentation

Utility software that reorganises files on a hard disk, putting fragments of files back together to speed up file access.

File Compression

Reduces the size of a file so it takes up less space and downloads faster. Files must be extracted before they can be read.

Anti-malware

Utility software that helps keep your computer and files safe from malware including viruses, trojans, worms and spyware.

1. System Software vs Application Software

Software can be broken down into two categories:system softwareandapplication software.

Hardware
System Software
Application Software

System Software

Software essential for the operation of the computer system. It provides a platform on which other software can run.

  • Set of programs to control and manage the operation of computer hardware
  • Provides a platform on which other software can run
  • Required to allow hardware and software to run without problems
  • Provides a Human Computer Interface (HCI)
  • Controls the allocation and usage of hardware resources
Examples:
Operating SystemUtility SoftwareDevice DriversCompilersLinkers

Application Software

Software chosen by a user to help them carry out a specific task. Installed on top of system software.

  • Used to perform various applications (apps) on a computer
  • Allows a user to perform specific tasks using the computer's resources
  • May be a single program (e.g. NotePad) or a suite of programs (e.g. Microsoft Office)
  • User can execute the software as and when they require
Categories:
ProductivityCommunicationEntertainment

Utility Software

Utility software is designed to help maintain, enhance and troubleshoot/repair a computer system. It is designed to perform a limited number of tasks and interacts with the computer's hardware.

Anti-malware
Defragmentation
Backup
Compression
File Repair

Exam Tip: Don't just use brand names

Marks aren't given for brand names like "Microsoft Word" or "Google Chrome." Always use generic software types likeword processor,browser, oremail client— that's what examiners look for.

Activity 1: Software Types

  1. Describe the difference between system software and application software. [2]
  2. Give three examples of system software and three examples of application software. [6]
  3. Identify the category of software each of the following belongs to:
    • Word processor
    • Operating system
    • Defragmentation tool
    • Web browser
    • Device driver
Solution:
  1. System software provides the services the computer requires [1]. Application software provides the services the user requires / is chosen by the user to carry out a specific task [1].
  2. Any three system software examples (1 mark each): operating system, utility software, device drivers, compilers, linkers. Any three application software examples (1 mark each): word processor, spreadsheet, database, photo editing software, web browser.
  3. Word processor → Application. Operating system → System. Defragmentation tool → System (Utility). Web browser → Application. Device driver → System.

Check Your Understanding: Software Types

  • [1]Software essential for the operation of the computer system
  • [1]Provides a platform on which other software can run / provides the services the computer requires
  • [1]Word processor / spreadsheet / database
  • [1]Photo editing software / web browser / video editing software
  • [1]Software designed to help maintain, enhance and troubleshoot/repair a computer system
  • [1]Designed to perform a limited number of tasks / interacts with the computer's hardware
  • [1]Reorganises files on a hard disk, putting fragments of files back together
  • [1]Reduces the movement of the read/write head across the disk surface, which speeds up file access
  • [1]SSDs have no moving parts so defragmentation is unnecessary and reduces the drive's lifespan
  • [1]Reduces the size of a file so it takes up less space and downloads faster over the internet
  • [1]Compressed files must be extracted before they can be read

2. Operating Systems

Anoperating system (OS)is software that manages computer hardware and provides a platform for running applications. It provides an interface between the user and the hardware in a computer system. It hides the complexities of the hardware from the user.

File Management

Creating, organising, manipulating and accessing files and folders

Memory Management

Allocating RAM between programs that are open at the same time

System Security

Password-protected accounts, firewall, virus scanning, file encryption

User Management

Enabling different users to log onto a computer with separate accounts

Functions of an Operating System

FunctionDescription
File ManagementCreating, organising, manipulating and accessing files and folders. Allows users to create, name, rename, copy, move, delete files/folders and control access permissions.
Handling InterruptsInterrupt events require immediate attention of the CPU. The OS handles and processes interrupts in a timely manner to maintain smooth running of the system.
User InterfaceHow the user interacts with the OS — GUI, CLI, Menu, Natural Language.
Peripheral Management & DriversManaging the way peripherals interact with software. Allocates system resources to peripherals. Makes plug-and-play possible.
Memory ManagementAllocating main memory (RAM) between different programs. Manages copying programs and data from secondary to primary storage as needed.
MultitaskingSimultaneously managing system resources to give the user the perception of using multiple programs at the same time.
Platform for Running ApplicationsProvides a platform on which application software can run by allowing software access to system resources.
System SecurityPassword-protected accounts, firewall, virus scanning and file encryption.
User ManagementEnabling different users to log onto a computer. Maintains settings for individual users and allocates access rights.

User Interfaces

GUI

Graphical User Interface — uses visual elements (windows, icons, menus, pointers).

Windows, Icons, Menus, Pointers

Examples: Windows, Android, macOS

CLI

Command Line Interface — users type text-based commands.

C:\> dir
Directory listing...
_

Examples: MS-DOS, Raspbian

Menu

Successive menus presented to the user with a single option at each stage.

Examples: Chip and pin, vending machines

NLI

Natural Language Interface — uses spoken word to respond to spoken/textual inputs.

"Hey Siri, what's the weather?"

Examples: Alexa, Google Assistant, Siri

InterfaceAdvantagesDisadvantages
CLIUses less system resources; useful for automation; commands are faster to type than navigating menusRequires users to remember commands; typing errors are common; less intuitive than GUI
GUIIntuitive and user-friendly; requires no previous knowledge; information is visual, making it easier to understandUses more system resources; can be slower to find and execute commands; frustrating for repetitive tasks
MenuSimplicity; efficiencyLimited flexibility; accessibility issues
NLICan be used by people with disabilities; intuitiveNot always reliable; privacy concerns

Memory Management & Multitasking

Memory Management

  • Allocating main memory (RAM) between different programs that are open at the same time.
  • Responsible for copying programs and data from secondary to primary storage as needed.
  • RAM is allocated based on priority and fairness — system applications may have higher priority than user applications.
  • Dynamically manages memory, adjusting allocation as needed.
  • Makes multitasking possible.

Multitasking

  • Simultaneously managing system resources (memory, CPU) to give the perception of using multiple programs at the same time.
  • The OS splits tasks and allocates system resources based on a priority.
  • The CPU can only execute one instruction at a time, but can execute billions of them in one second.
  • This makes it appear that multiple programs are running at the same time.

Activity 2: Operating System Functions

Ella uses her computer to create artwork for a magazine. Ella makes use of system software. One type of system software is the operating system.

  1. Identify and describe two functions of an operating system. [6]
  2. Name two user interfaces and give one advantage of each. [4]
Solution:
  1. Memory management [1]:Allocates memory to programs currently in use [1]. Gets data from RAM [1]. Stores data in RAM [1].
    File management [1]:Creating/editing/renaming files [1]. Creating/editing/renaming folders [1]. Movement of files/folders [1].
  2. GUI [1]:Intuitive and user-friendly / requires no previous knowledge to use [1].
    CLI [1]:Uses less system resources / useful for automation of tasks [1].

Check Your Understanding: Operating Systems

  • [1]Software that manages computer hardware
  • [1]Provides a platform for running applications / provides an interface between the user and hardware
  • [1]Creating, organising, manipulating and accessing files and folders
  • [1]Allowing users to create, name, rename, copy, move and delete files/folders
  • [1]Controlling who can access, modify and delete files/folders (permissions) / providing a search facility
  • [1]GUI uses visual elements (windows, icons, menus, pointers)
  • [1]CLI requires users to type text-based commands
  • [1]GUI is more user-friendly but uses more resources; CLI uses fewer resources but requires users to remember commands
  • [1]Allocating main memory (RAM) between different programs that are open at the same time
  • [1]Copying programs and data from secondary to primary storage as needed
  • [1]RAM is allocated based on priority and fairness / dynamically manages memory
  • [1]Running several applications at the same time
  • [1]The OS splits tasks and allocates system resources based on priority
  • [1]The CPU executes one instruction at a time but can execute billions per second, making it appear simultaneous
  • [1]Software that translates operating system instructions into commands that specific hardware will understand
  • [1]Needed so peripherals can communicate with the operating system / computer

3. Hardware, Firmware & the Operating System

Applications are run on the operating system. The operating system is run on firmware. The bootloader (firmware) is run on the hardware.

Application Software
Operating System
Firmware (Bootloader/BIOS)
Hardware

What is Firmware?

  • Firmware is embedded directly into the hardware of a device to make them function.
  • When a computer is turned on, it explores the ROM for its initial boot-up instructions — these are contained in abootstrap loader.
  • The initial process is handled by theBIOS(Basic Input/Output System) which is known as firmware.
  • Once start-up is complete, instructions are sent to RAM to be processed by the operating system.
  • Firmware translates between the hardware and the software.

The Boot Process

  1. Power is turned on. Only data from ROM can be used at this point.
  2. POST (power-on self-test) checks that all required components are present and available.
  3. Control is passed to the bootloader program (bootstrap), which carries out checks on the hardware.
  4. The BIOS tells the computer where the storage device that holds the OS can be found.
  5. It loads part of the operating system that is needed and executes it.
  6. The OS now takes control of the computer and will load jobs into memory for processing.

PROM vs EPROM vs EEPROM — Comparison Table

This is a very important exam topic. Learn the differences between the three types of programmable read‑only memory.

FeaturePROM
Programmable ROM
EPROM
Erasable Programmable ROM
EEPROM
Electrically Erasable PROM
How is it programmed?Once
  • Blank when initially manufactured
  • Can be purchased and codedoncewith a special tool known as a programmer
  • This process is calledburningthe PROM
  • Many times
  • Can be rewrittenmany times
  • Requires a special tool that emits a certain frequency ofUV lightto erase
  • Many times
  • Can be rewrittenmany times
  • Erased and rewritten usingelectricity(voltage)
  • No specialist equipment required to change contents
  • Method of erasureN/A
  • Cannot be erased
  • If different contents are needed, the chip must be replaced
  • UV Light
  • Erased usingultraviolet light
  • Must beremoved from the deviceto be erased / reprogrammed
  • The entire chip must be completely erased before rewriting
  • Electrical
  • Erased usingelectricity(voltage)
  • Chip can remainin circuitwhile contents are changed
  • Can change aspecific portionwithout erasing the whole chip
  • Rewriting capabilityNone
  • Cannot be reprogrammed or rewritten
  • Once burned, contents are permanent
  • Yes — UV
  • Can be erased and rewritten
  • But must be removed from the device
  • Yes — Electrical
  • Can be erased and rewritten
  • Without removing it from the device
  • Typical use in a computer
  • Mobile phones
  • RFID tags
  • Simple electronic toys with fixed functionality
  • Applications under development
  • Where firmware may need occasional updates
  • Embedded systems for firmware updates
  • BIOS storage (stored on EEPROM)
  • Mobile phones that need occasional software updates
  • Advantage
  • Cheap to mass-produce once the design is final
  • Contents are permanent and secure
  • Can be reused — more flexible than PROM
  • Suitable for development work
  • Can be updated without removing from the device
  • No additional equipment needed for updates
  • Enables firmware updates by non-technical users
  • Disadvantage
  • If contents need to change, the chip must be replaced
  • No flexibility once programmed
  • Must be removed from the device to erase / reprogram
  • Must be entirely erased before rewriting
  • Requires a UV eraser tool
  • More expensive than PROM / EPROM
  • Still used as read-only in normal operation
  • Key fact for examsBurned once
  • PROM=ProgrammedOnce
  • UV erasure
  • EPROM=Erasable withUVlight
  • Electrical erasure
  • EEPROM=ElectricallyErasable
  • Quick Memory Aid

    • PROMProgrammedOnce (burned once by the manufacturer or user with a special tool).
    • EPROMErasable withUVlight (must be removed from the device to erase).
    • EEPROMElectricallyErasable (can be updated while still in the circuit).

    Activity 3: PROM, EPROM & EEPROM

    1. Describe the difference between PROM and EPROM. [2]
    2. Describe the difference between EPROM and EEPROM. [2]
    3. Explain which type of ROM would be most suitable for:
      • A mobile phone that needs occasional software updates [1]
      • A simple electronic toy with fixed functionality [1]
    Solution:
    1. PROM can be programmed once and cannot be erased [1]. EPROM can be erased and rewritten using UV light [1].
    2. EPROM is erased using UV light and must be removed from the device [1]. EEPROM is erased electrically and can remain in the circuit [1].
    3. Mobile phone →EEPROM(allows firmware updates without removing the chip). Simple toy →PROM(fixed functionality, no updates needed, cheapest option).

    Check Your Understanding: Firmware & ROM

    • [1]A program that provides low-level control for devices
    • [1]Embedded directly into the hardware / stored in ROM
    • [1]Basic Input/Output System — tells the computer where the storage device holding the OS can be found
    • [1]Stored in EEPROM (Electrically Erasable Programmable ROM)
    • [1]PROM can be programmed once / cannot be erased
    • [1]EPROM can be erased and rewritten using UV light
    • [1]EPROM is erased using UV light and must be removed from the device
    • [1]EEPROM is erased electrically and can remain in the circuit / can change a specific portion
    • [1]Handles the start-up of the computer's motherboard
    • [1]Tells the computer where the storage device that holds the OS can be found
    • [1]Loads the part of the operating system that is needed and executes it
    • [1]EEPROM — it can be erased and rewritten electrically without removing the chip from the device, allowing firmware updates

    4. Interrupts

    Aninterruptis a signal sent from a device or from software to the microprocessor. This will cause the microprocessor to temporarily stop what it is doing so that it can service the interrupt.

    How Interrupts are Generated

    • Timing signal— a signal from the system clock
    • Input/output process— e.g. a disk drive or printer requiring more data
    • Hardware fault— e.g. a paper jam in the printer
    • User interaction— e.g. the user presses a key on the keyboard (such as Ctrl+Alt+Del)
    • Software errors— e.g. an .exe file that cannot be found, two processes trying to access the same memory location, or an attempt to divide by zero

    Types of Interrupt

    HardwarePower supply failure, power/reset button pressed, power-down command
    UserMoving the mouse, clicking/tapping an icon, keyboard presses
    SoftwareIllegal instruction encountered, arithmetic overflow, new login request
    TimerData-logging program reading a sensor every second, screen recording
    I/OBuffer nearly empty, completion of data transfer, printer ink notification

    How Interrupts are Handled

    1. An interrupt signal is received from a device or software.
    2. The microprocessor either carries on with what it was doing or stops to service the device or program that caused the interrupt.
    3. The computer identifies the interrupt type and establishes the level of interrupt priority.
    4. The status of the current task being run is saved — the contents of the Program Counter (PC) and other registers are copied to a reserved area in RAM called astack.
    5. TheInterrupt Service Routine (ISR)is executed by loading the start address into the Program Counter (PC).
    6. Once the interrupt has been fully serviced, the status of the interrupted task is reinstated (the contents of all the saved registers are retrieved from the stack) and the process continues.

    Exam Tip: Don't say the CPU "loses" data

    Students sometimes say the CPU "loses" or "replaces" data when an interrupt occurs. This is wrong. The CPUcopiesregister values to a stack so the original task can be resumed later.

    Benefits of Interrupts

    • Interrupts allow computers to carry out many tasks or to have several windows open at the same time.
    • Example: Downloading a file from the internet at the same time as listening to music.
    • Interrupts allow these two functions to co-exist simultaneously.

    Abufferis a memory area that stores data temporarily. Buffers are used when downloading a movie from the internet to compensate for the difference between download speeds and the data requirements of the receiving device. Without buffers, the movie would frequently 'freeze'.

    Interactive Interrupt Priority Demo

    Click "Generate Interrupts" to simulate interrupts arriving and being prioritized by the CPU.

    PC
    IR
    STACK

    Activity 4: Interrupts

    1. Describe the purpose of an interrupt in a computer system. [4]
    2. Give two examples of hardware interrupts and two examples of software interrupts. [4]
    3. Describe how an interrupt is handled by the CPU. [5]
    Solution:
    1. Any four from: Used to attend to certain tasks/issues [1]. Used to make sure vital tasks are dealt with immediately [1]. The signal tells the CPU that its attention is required [1]. A signal sent from a device or software [1]. Causes the OS/current process to pause [1]. After the interrupt is serviced, the previous process is continued [1].
    2. Hardware [2]:Power button pressed, moving the mouse, keyboard presses, paper jam.Software [2]:Division by zero, two processes trying to access the same memory location, program not responding.
    3. Interrupt signal received [1]. Computer identifies interrupt type and priority level [1]. Status of current task saved — contents of PC and other registers copied to stack [1]. ISR executed by loading start address into PC [1]. Once serviced, status of interrupted task is reinstated and process continues [1].

    Check Your Understanding: Interrupts

    • [1]A signal sent from a device or software to the microprocessor
    • [1]Causes the microprocessor to temporarily stop what it is doing so it can service the interrupt
    • [1]Power button pressed / power supply failure
    • [1]Moving the mouse / keyboard presses / paper jam in printer
    • [1]Division by zero
    • [1]Two processes trying to access the same memory location / program not responding
    • [1]The contents of the Program Counter (PC)
    • [1]The contents of other registers
    • [1]A program with instructions that need to be fetched, decoded and executed to carry out the operations of the interrupt
    • [1]The start address of the ISR is loaded into the Program Counter (PC) to execute it
    • [1]Interrupts allow the CPU to switch between tasks — responding to one task, then returning to another
    • [1]This enables multiple programs to appear to run at the same time (e.g. downloading a file while listening to music)

    Key Takeaways

    • System softwareprovides the services the computer requires — includes the operating system and utility software.
    • Application softwareprovides the services the user requires — chosen by the user to carry out specific tasks.
    • Utility softwaremaintains, enhances and troubleshoots the computer — includes anti-malware, defragmentation, backup, compression and file repair.
    • Anoperating systemmanages hardware and provides a platform for applications. Key functions: file management, interrupt handling, user interface, peripheral/driver management, memory management, multitasking, platform for applications, system security, user account management.
    • User interfacesinclude GUI (visual elements), CLI (text commands), Menu (successive menus) and NLI (natural language).
    • Firmwareis a program that provides low-level control for devices — stored in ROM. The BIOS is an example of firmware.
    • Theboot process: POST → bootloader → BIOS → loads OS → OS takes control.
    • PROM— Programmed Once;EPROM— Erasable with UV light;EEPROM— Electrically Erasable.
    • Interruptsare signals that cause the CPU to stop what it is doing to service a higher-priority task.
    • Interrupts can be generated byhardware(e.g. keyboard, mouse),software(e.g. division by zero),timersorI/O devices.
    • When an interrupt occurs, thecontents of registers are saved to the stack, theISRis executed, and then the original task is resumed.
    • Interrupts enablemultitasking— allowing multiple programs to run at the same time.

    Question Bank

    • [1]System software provides the services the computer requires
    • [1]Application software provides the services the user requires
    • [1]System software includes operating system and utility software
    • [1]Application software is chosen by the user to carry out a specific task

    Memory management [3]:

    • Allocates memory to programs currently in use [1]
    • Gets data from RAM [1]
    • Stores data in RAM [1]

    File management [3]:

    • Creating/editing/renaming files [1]
    • Creating/editing/renaming folders [1]
    • Movement of files/folders [1]
    • [1]Used to attend to certain tasks/issues
    • [1]Used to make sure vital tasks are dealt with immediately
    • [1]The signal tells the CPU that its attention is required
    • [1]A signal that can be sent from a device or from software
    • [1]Interrupt signal received
    • [1]Computer identifies interrupt type and priority level
    • [1]Status of current task saved — contents of PC and other registers copied to stack
    • [1]Interrupt Service Routine (ISR) executed by loading start address into PC
    • [1]Once serviced, status of interrupted task is reinstated and process continues
    • [1]Handles the start-up of the computer's motherboard
    • [1]Tells the computer where the storage device that holds the OS can be found
    • [1]Loads part of the operating system that is needed
    • [1]Executes the operating system
    • [1]GUI uses visual elements; CLI uses text-based commands
    • [1]GUI is intuitive and user-friendly; CLI requires users to remember commands
    • [1]GUI uses more system resources; CLI uses fewer system resources
    • [1]GUI is better for general users; CLI is better for advanced users / automation
    • [1]Firmware is a program that provides low-level control for devices
    • [1]Firmware is embedded directly into hardware / stored in ROM
    • [1]An operating system is stored on secondary storage (HDD/SSD) and runs on top of firmware

    Hardware [2]:

    • [1]Power button pressed / power supply failure
    • [1]Moving the mouse / keyboard presses / paper jam in printer

    Software [2]:

    • [1]Division by zero
    • [1]Two processes trying to access the same memory location / program not responding
    • [1]Allocating main memory (RAM) between different programs that are open at the same time
    • [1]Copying programs and data from secondary to primary storage as needed
    • [1]RAM is allocated based on priority and fairness / dynamically manages memory
    • [1]Reorganises files on a hard disk, putting fragments of files back together
    • [1]Reduces the movement of the read/write head across the disk surface, which speeds up file access
    • [1]Software designed to help maintain, enhance and troubleshoot/repair a computer system
    • [1]Designed to perform a limited number of tasks / interacts with the computer's hardware
    • [1]Anti-malware / defragmentation
    • [1]Backup / compression / file repair
    • [1]The contents of the Program Counter (PC)
    • [1]The contents of other registers
    • [1]So the original task can be resumed after the interrupt is serviced
    • [1]Power is turned on — only data from ROM can be used
    • [1]POST checks that all required components are present
    • [1]Control is passed to the bootloader (bootstrap)
    • [1]BIOS tells the computer where the storage device holding the OS can be found
    • [1]OS is loaded and executed / OS takes control
    • [1]Software that translates operating system instructions into commands that specific hardware will understand
    • [1]Needed so peripherals can communicate with the operating system
    • [1]Each peripheral needs a device driver / many are built into the operating system
    • [1]EPROM is erased using UV light and must be removed from the device
    • [1]EEPROM is erased electrically and does not need to be removed
    • [1]EEPROM can change a specific portion without erasing the whole chip / EEPROM is used for BIOS storage