Chapter 4: Software (IGCSE Computer Science)
These notes combine everything you’ve given with the earlier notes, but rewritten to be complete,
simple, and exam‑friendly.
4.1 Types of Software (Quick Recap)
System Software
Controls how the computer works and allows applications to run.
Includes:
• Operating System (OS) – manages hardware and resources
• Utility software – maintains and protects the system (antivirus, backup)
Application Software
Programs designed to perform specific user tasks.
Examples: word processors, spreadsheets, games, browsers
4.1.3 Running of Applications
The Four Layers of a Computer System
Computers work using these layers (bottom → top):
• Hardware → Physical parts (CPU, RAM, disk, keyboard)
• Firmware → Low‑level software that controls hardware
• Operating System (OS) → Manages resources and provides a platform
• Application Software → Programs used by the user
📌 Key idea: Applications cannot run directly on hardware.
Why an Operating System Is Needed
An operating system is needed because it:
1. Provides a platform for applications
2. Manages resources (CPU time, memory, files)
1
3. Hides hardware complexity from users
4. Provides a user interface (GUI or CLI)
Boot‑up Process (Bootstrapping)
Booting up = loading the operating system into RAM when the computer is switched on.
Bootstrap loader = a small program that loads the OS into RAM.
Boot‑up sequence:
1. Power button pressed → electricity flows to motherboard
2. BIOS starts
3. BIOS runs the bootstrap loader
4. Bootstrap loader finds the OS on HDD/SSD
5. OS is loaded into RAM
6. Computer is ready to use
When a computer is switched on, the BIOS (firmware) stored in ROM runs the bootstrap loader (which
contains initial boot-up instructions), which loads the operating system into RAM.
BIOS, Firmware, EEPROM, and CMOS
BIOS (Basic Input/Output System)
Firmware that starts the computer.
BIOS functions:
• Checks hardware is working (POST)
• Identifies boot device
• Loads the bootstrap loader
• Hands control to the OS
Firmware
• Low‑level software stored on chips
• Controls hardware directly
• Acts as a bridge between OS and hardware
2
EEPROM
EEPROM (Electrically Erasable Programmable Read‑Only Memory):
• Stores the BIOS program
• Non‑volatile (data kept when power is off)
• Can be rewritten (BIOS updates)
• Located on the motherboard
CMOS
CMOS (Complementary Metal‑Oxide Semiconductor):
• Stores BIOS settings (date, time, boot order)
• Needs battery power
• Data lost if battery is removed
Exam comparison:
• EEPROM → stores BIOS software
• CMOS → stores BIOS settings
How Firmware Helps Applications Work (Example)
Saving a file in Word:
1. User clicks Save
2. Application sends request to OS
3. OS processes request
4. Firmware translates request into hardware commands
5. Hardware (disk) saves the file
📌 Without firmware, the OS cannot communicate with hardware.
4.1.4 Interrupts
What is an Interrupt?
An interrupt is a signal sent to the CPU to temporarily stop its current task and deal with something
urgent.
3
Why Interrupts Are Needed
Without interrupts:
• CPU constantly checks devices (polling)
• CPU wastes time waiting
• System is inefficient
With interrupts:
• CPU continues other tasks
• Devices alert CPU only when needed
• Allows multitasking
Interrupt Handling Process
1. Interrupt signal sent to CPU
2. CPU pauses current task
3. Current state is saved in memory
4. ISR (Interrupt Service Routine) runs
5. CPU restores saved state
6. CPU resumes original task
Sources of Interrupts
There are five main sources:
Hardware faults:
• Printer paper jam
• Overheating CPU
Timing signals:
• Clock tick
• Timer finished
Input/output devices:
• Keyboard press
• Mouse click
• Printer needs data
Software errors:
• Division by zero
4
• File not found
User interaction:
• Ctrl + Alt + Del
• Ctrl + C
Interrupt Priorities
Interrupts are handled by importance:
• Highest priority → power failure, hardware failure
• High priority → system errors, Ctrl + Alt + Del
• Medium priority → I/O devices, timing signals
• Low priority → background tasks
Buffers and Interrupts
Buffer = temporary storage area in memory used when devices work at different speeds.
Why buffers are used:
• Prevent data loss
• Allow fast and slow devices to work together
Buffers + interrupts:
• CPU does not waste time waiting
• Enables efficient multitasking
• Multiple programs can run at once
Final Exam Tips
• Learn the boot‑up sequence in order
• Be clear on BIOS vs firmware vs EEPROM vs CMOS
• Use correct terms: interrupt, ISR, buffer
• Always explain why interrupts and buffers improve efficiency