IGCSEU4: SOFTWARE NOTES
SOFTWARE
System Software
Type of Software Description Examples/Functions
Software Type
System Control and Software designed for - Measuring temperatures
Software Measuring interfacing with sensors to - Controlling processes (e.g.,
Software measure physical adjusting pH levels by
quantities and control opening valves)
applications.
System Device Software that allows - Printers
Software Drivers hardware devices to - Memory sticks
communicate with the - Mice
operating system. - CD drives
- USB devices (e.g., cameras,
keyboards)
System Utilities Programs designed to - Anti-virus and anti-spyware
Software perform specific - File backup
maintenance tasks and - Disk repair and analysis
manage computer - File management and
resources. compression
- Security tools
- Screensavers
- Disk defragmenter
System Operating System software that - Input/output operations
Software Systems manages computer - User communication (e.g.,
hardware and software Windows)
resources and provides - Error handling
services for computer - Program loading and
programs. running
- Security management (e.g.,
user accounts, passwords)
System Compilers Programs that translate - Java
Software high-level language code - Python
into machine code so it - Visual Basic
can be executed by the - Fortran
computer. - C++
- Algol
System Linkers Programs that combine - Linking modules of code
Software one or more object files into a final program
into a single executable - Combining different object
program, allowing files into a single executable
modular programming and
IGCSEU4: SOFTWARE NOTES
integration of separate
code modules.
Application software
Type of Software Type Description Examples/Functions
Software
Application Spreadsheet Software used to organize - Use of formulas for
Software and manipulate numerical calculations
data in a grid of columns - Producing graphs
and rows. - Modelling and “what if”
calculations
Application Database Software used to organize, - Carrying out queries and
Software manipulate, and analyze producing reports
data structured in tables - Adding, deleting, and
with rows and columns. modifying data in tables
Application Apps Software for mobile - Video and music
Software devices, often downloaded streaming
from an app store, ranging - GPS navigation
from games to - Camera facilities (photos
sophisticated tools. and image manipulation)
Application Video Editing Software for manipulating - Rearranging, adding, and
Software Software and producing new videos removing video/audio
by editing and enhancing clips
video and audio clips. - Colour correction and
filters
- Creating transitions
Application Graphics Software for editing bitmap - Editing pixel-based
Software Manipulation and vector images. bitmap images
Software - Manipulating lines and
curves in vector images
Application Photo Editing Software for manipulating - Adjusting brightness,
Software Software digital photographs to contrast, color saturation
adjust appearance and - Removing “red eye”
effects. - Complex photo
manipulations (e.g.,
combining images)
Application Word Software used to create, - Creating, editing, saving,
Software Processors edit, and format text and manipulating text
documents. - Copy and paste functions
- Spell checkers and
thesaurus
- Importing photos/images
IGCSEU4: SOFTWARE NOTES
- Translation into foreign
languages
UTILITY SOFTWARE
Utility Type Description Examples/Functions
Virus Checkers Software designed to detect and - Scanning files and system
remove malicious software such as for viruses
viruses and malware. - Removing detected
threats
- Real-time protection
Defragmentation Utility that reorganizes fragmented - Reorganizing fragmented
Software data on a disk to improve access files
speed and efficiency. - Optimizing disk
performance
Disk Contents Software that analyzes and repairs - Checking disk integrity
Analysis and Repair disk errors and inconsistencies, - Repairing file system
helping to maintain disk health. errors
- Analyzing disk usage
File Compression Utilities that reduce file sizes for - Compressing files (e.g.,
and Management storage efficiency and manage files. ZIP files)
- Extracting compressed
files
- Organizing file storage
Back-Up Software Programs used to create copies of - Creating backup copies of
data to prevent loss in case of files and systems
system failure or data corruption. - Scheduling automatic
backups
- Restoring data
Security Utilities focused on protecting the - Firewalls
system from unauthorized access - Encryption tools
and vulnerabilities. - Intrusion detection
systems (IDS)
Screensavers Software that activates when the - Displaying images or
computer is idle, displaying moving animations when idle
images or patterns. - Preventing screen burn-in
IGCSEU4: SOFTWARE NOTES
OPERATING SYSTEM
Topic Description Key Points
Operating Systems Software that manages computer - Provides an environment for
hardware and provides an interface applications to run.
for users. - Hides hardware complexity.
- Examples: Windows, macOS,
Android, iOS.
- Stored on HDD/SSD or SSD.
Human Computer Interface through which users - CLI (Command Line
Interface (HCI) interact with the computer. Interface): Requires typing
commands.
- GUI (Graphical User
Interface): Uses icons and
windows.
- Post-WIMP: Touch screen
interactions.
Memory Manages RAM and data exchange - Tracks memory locations.
Management with storage devices. - Ensures memory protection.
- Prevents data loss and
application errors.
Security Protects data integrity, - Updates OS regularly.
Management confidentiality, and availability. - Ensures security software is
up-to-date.
- Manages user access and
recovery options.
- Uses firewalls and
encryption.
Hardware Manages input and output devices - Uses device drivers for
Peripheral through device drivers. communication.
Management - Manages device priorities and
queues.
- Controls printing and error
handling.
File Management Manages files and directories on - Handles file operations
storage devices. (create, open, delete, etc.).
- Maintains directory
structures.
- Controls file access and
memory allocation.
Multitasking Allows multiple processes to run - Allocates resources to
simultaneously. processes.
- Manages process priorities.
- Uses CPU time efficiently.
Management of Manages multiple user profiles and - Each user has a separate
User Accounts their data. account.
- Customizes settings and
folders.
- Admin oversees account
creation and permissions.
Running of Process of launching and managing - OS must be loaded into RAM
Applications applications. (booting).
IGCSEU4: SOFTWARE NOTES
- BIOS handles startup.
- Firmware (BIOS) stored in
EEPROM.
- BIOS settings stored in
CMOS.
INTERRUPTS
Topic Description Key Points
Interrupts Signals that prompt the - Sources of Interrupts:
microprocessor to pause its current - Timing signals.
task and address the interrupt. - I/O processes (e.g., disk drive,
printer).
- Hardware faults (e.g., paper jam).
- User actions (e.g., key presses).
- Software errors (e.g., missing files,
memory conflicts).
Interrupt The process of managing and - Identify the type of interrupt.
Handling responding to interrupts. - Determine the priority level.
- Save the state of the current task
(e.g., Program Counter and registers).
- Execute the Interrupt Service
Routine (ISR).
- Restore the state of the interrupted
task.
Buffers Memory areas that temporarily - Used to handle data between devices
store data to manage differences in with different speeds (e.g.,
processing speeds. downloading a file while playing
music).
- Prevents data loss and delays by
temporarily holding data.
Interrupts Interaction between interrupts and - Buffers allow the CPU to continue
and Buffers buffers to optimize computer processing other tasks while data is
performance. being transferred.
- Example: Printing a document while
performing other tasks.
- Avoids CPU idling and improves
efficiency.
IGCSEU4: SOFTWARE NOTES
PROGRAMMING LANGUAGES
Programming Advantages Disadvantages Examples Usage/Notes
Language
Type
High-Level - Independent - Programs can C++, - Problem-oriented
Languages of the type of be larger Delphi, - Portable across
computer being - Programs can Java, Pascal, different computer
used take longer to Python, types
- Easier to read, execute Visual Basic - Examples: Python is
write, and - May not be often used for web
understand able to make use development and data
programs of special science; C++ is used
- Quicker to hardware for system/software
write programs development.
- Easier and
quicker to
debug
- Easier to
maintain in use
Low-Level - Can make use - Takes longer to Assembly - Hardware-specific
Languages of special write and debug Language, - Used for
hardware - Programs are Machine performance-critical
- Includes more difficult to Code tasks
special understand - Example: Assembly
machine- is often used in
dependent embedded systems
instructions and low-level
- Can write hardware control.
code that
doesn’t take up
much space in
primary
memory
- Can write
code that
performs tasks
very quickly
Assembly Language Example
● Instructions: LDA First, ADD Second, STO Sum
● Notes: Requires knowledge of specific instructions; translated into machine code using an assembler.
IGCSEU4: SOFTWARE NOTES
Machine Code Example
● Binary: 0001 00010010, 0100 00010011, 0000 00011010
● Hexadecimal: 12, 13, 1A
● Notes: Difficult to understand; directly executed by the CPU.
ASSEMBLY LANGUAGE
Aspect Details
Why Use Assembly - To make use of special hardware
Language? - To access machine-dependent instructions
- To write code that is memory-efficient
- To write code that executes very quickly
Example Program Instruction
- LDA First
- ADD Second
- STO Sum
Instruction Breakdown - LDA: Load the value of the variable (First) into the accumulator
- ADD: Add the value of the variable (Second) to the value in the
accumulator
- STO: Store the result from the accumulator into the variable
(Sum)
Translation to Assembly language needs to be translated into machine code
Machine Code using an assembler before it can be run.
TRANSLATORS
Translator Function Process Example Translated
Type Program Machine
Statements Code
Compiler Translates an entire - Reads entire Sum := 0001
program written in a program FirstNumber + 00010010
SecondNumber 0100
high-level language - Translates to 00010011
(HLL) into machine machine code 0000
code all at once. - Outputs 00011010
compiled
program or
error report
Interpreter Translates and - Reads one Sum := Translated and
executes a high-level statement FirstNumber + executed line
SecondNumber
language program - Translates and by line
statement by executes
statement. - Stops
execution if an
error is found
IGCSEU4: SOFTWARE NOTES
Assembler Translates a program - Reads LDA First 0001
written in assembly assembly ADD Second 00010010
STO Sum 0100
language into instructions 00010011
machine code. - Translates to 0000
machine code 00011010
- Outputs
assembled
machine code
IDE: Integrate development environment
IDE Feature Function/Description
Code Editor Allows programmers to write and edit code directly within the
IDE, eliminating the need for a separate text editor.
Translator Provides a compiler and/or interpreter to translate the code into
machine code, enabling the program to be executed.
Runtime Environment Runs the program and allows the programmer to step through
with Debugger code line by line or set breakpoints to identify and fix logic
errors.
Error Diagnostics and Performs dynamic error checking as code is typed, alerting the
Auto-Correction programmer to potential errors and offering suggested
corrections.
Auto-Completion Offers context-sensitive prompts for variable names and reserved
words to speed up coding and reduce typing errors.
Auto-Documenter and Automatically generates documentation for the code and formats
Prettyprinting the code with color coding and proper indentation for readability.