Unit 4: Software 4.1 Verified

Types of software and interrupts

4 learning objectives

1. Overview

This topic introduces the different types of software that make computers useful, and how the operating system (OS) acts as the essential bridge between hardware and applications. Understanding these concepts is crucial for grasping how a computer actually works and how software interacts with hardware. Interrupts are also explored, providing a good example of how software and hardware work together to enhance computer responsiveness.

Key Definitions

  • System Software: Software that manages the computer hardware and provides a platform for application software to run.
  • Application Software: Software designed for specific tasks that users want to perform.
  • Operating System (OS): System software that manages computer hardware and software resources and provides common services for computer programs.
  • Utilities: System software that performs specific tasks related to managing and maintaining the computer system.
  • Device Driver: System software that enables the operating system to communicate with hardware devices.
  • Interrupt: A signal that temporarily suspends the currently running process to handle a higher-priority event.
  • Interrupt Service Routine (ISR): A specific block of code that handles an interrupt and determines the appropriate action to take.
  • Firmware: Permanent software programmed into read-only memory (ROM) which is non-volatile. Firmware usually holds boot-up instructions.

Core Content

A. System Software vs. Application Software

  • System Software:
    • Manages the computer hardware.
    • Provides a platform for application software.
    • Examples: Operating systems (Windows, macOS, Linux), Utilities (antivirus software, disk defragmentation tools), Device Drivers.
    • Essential for the computer to function.
  • Application Software:
    • Designed for specific user tasks.
    • Examples: Word processors, web browsers, games, spreadsheets.
    • Optional - computer can function without it, but not usefully.
Feature System Software Application Software
Purpose Manage hardware, platform for applications Perform user-specific tasks
Essential? Yes No
Examples OS, utilities, drivers Word processors, games, browsers

B. Role and Basic Functions of an Operating System

The operating system is a crucial piece of software that manages all aspects of the computer. Its key functions include:

  • Managing Files: Creating, deleting, copying, organizing, and controlling access to files and folders.
    • Example: Organising school work into folders with specific titles.
  • Handling Interrupts: Responding to hardware or software events (interrupts) that require immediate attention.
    • Example: A printer signals that it has run out of paper.
  • Providing an Interface: Enabling user interaction via a graphical user interface (GUI) or command-line interface (CLI).
    • Example: A GUI is the use of windows, icons, menus and pointers to interact with the computer.
  • Managing Peripherals and Drivers: Communicating with hardware devices through device drivers.
    • Example: Connecting a mouse and installing its drivers, so the OS knows how to communicate with it.
  • Managing Memory: Allocating RAM to programs and managing virtual memory (using hard drive space as extra RAM when needed).
    • Example: Preventing two applications from using the same memory address.
  • Managing Multitasking: Running multiple programs seemingly simultaneously by rapidly switching between them (time-slicing).
    • Example: Listening to music while browsing the internet.
  • Providing a Platform for Running Applications: Providing application programming interfaces (APIs) that applications can use to access system resources.
    • Example: Windows allows applications to perform simple tasks like opening and saving without writing their own code.
  • Providing System Security: Implementing authentication (passwords), access control (permissions), and firewalls.
    • Example: Requiring a password to log into a user account.
  • Managing User Accounts: Allowing multiple users to have separate accounts with different permissions and settings.
    • Example: A school computer has one account for admin users, and separate accounts for students and teachers.

C. Hardware, Firmware, OS, and Application Software

  • Hardware: The physical components of the computer (CPU, RAM, storage devices).
  • Firmware: Permanent software stored in ROM (BIOS/UEFI).
    • Initializes hardware during startup.
  • Operating System: Loaded by firmware from storage.
    • Manages hardware resources.
    • Provides an interface for users and applications.
  • Application Software: Runs on top of the OS.
    • Uses OS services to access hardware.
Software layers pyramid: Application Software at top, then Operating System, Firmware, and Hardware at base
Software Layers: from hardware to applications

The relationship is hierarchical: Applications depend on the OS, the OS depends on Firmware, and Firmware depends on Hardware.

D. Role and Operation of Interrupts

  • What is an Interrupt? An interrupt is a signal that causes the CPU to temporarily suspend its current task.
  • How are Interrupts Generated?
    • Hardware: Keyboard press, mouse click, printer ready, hardware error.
    • Software: Error condition (e.g., division by zero), timer, system call (request from application to OS).
  • How are Interrupts Handled?
    1. Interrupt signal sent to the CPU.
    2. CPU pauses the current process.
    3. CPU saves the state of the current process (registers, program counter) to the stack.
    4. The Interrupt Service Routine (ISR) associated with the interrupt is executed.
    5. The CPU restores the state of the interrupted process from the stack.
    6. The original process resumes execution.
  • Interrupt Priorities: If multiple interrupts occur simultaneously, they are handled based on priority levels. Higher-priority interrupts are handled first.
Interrupt handling: save state, identify source, run ISR, restore state, resume
Interrupt Handling Process

Exam Focus

  • System vs. Application Software: Be clear about the fundamental difference in purpose.
  • OS Functions: Examiners expect you to be able to describe the purpose of each function using technical terms.
  • Interrupts: Describe the ENTIRE process, not just a key press. Explain the role of the ISR and state saving/restoring. Use the correct terminology (stack, CPU state, ISR).

Common Mistakes to Avoid

  • ❌ Wrong: Interrupts happen when you press a key. ✓ Right: Interrupts are signals that cause the CPU to temporarily suspend its current task, triggered by events like a key press.
  • ❌ Wrong: An interrupt converts analogue data. ✓ Right: Interrupts are signals, analogue data conversion may generate an interrupt.
  • ❌ Wrong: Just describing a key press. ✓ Right: Explain interrupts as signals that cause the CPU to temporarily suspend its current task and execute a specific interrupt handler routine.
  • ❌ Vague Statements: Use accurate and detailed explanations with specific terms. For example, instead of saying "The computer handles interrupts", say "The CPU suspends the current process, saves its state to the stack, and executes the Interrupt Service Routine (ISR)".
  • ❌ Missing the ISR: Make sure you mention the ISR and the saving/restoring of state.

Exam Tips

  • When defining terms, provide examples.
  • Use diagrams in your answers where appropriate (even if not specifically asked for) to illustrate your understanding.
  • Practice explaining the interrupt handling process in detail.
  • Review the definitions of key terms like "operating system", "interrupt", and "ISR".

Test Your Knowledge

Ready to check what you've learned? Practice with 9 flashcards covering key definitions and concepts from Types of software and interrupts.

Study Flashcards