CH 4
CH 4
FS
03 AH
34 N
54 SH
97 A
14 IH
9 D
IGCSE CS
Software
D
Definition of a Software
14 IH
97 A
9
A set of instructions written in a programming
54 SH
language that performs one or more tasks to
34 N
tell the computer what to do.
03 A
H
FS
A
D
Classification of Software
14 IH
97 A
9
54 SH
System Software Application Software
34 N
H03 A
FS
A
System Software
Definition Example
D
• Basic Input Output System (BIOS) - installed
A variety of programs that a
14 I
in ROM. Enables all of the attached
H
computer needs to function. components to initialise. Known as firmware.
97 A
9
• Operating System - MAC, Windows, Android,
54 SH
iOS.
Function
• Device Driver (Part of the OS or Installed
34 N
• Allows software and manually) - A software that enables
03 A
hardwares to communicate with the
hardware to run without
H
operating system (Plug and play).
problems.
FS
• Compilers - Translate high-level
• Provides a human computer
programming language into machine code.
A
interface. • Utilities Software - Built into the operating
• Control the allocation and system to carry out a specific task.
usage of hardware resources.
Examples of utilities software (1)
D
Virus Checker - Anti Virus Software • How they work
14 IH
⚬ The software is constantly
97 A
running in the background
9
54 SH
⚬ Check software of files before
they are run or loaded
34 N
⚬ Compare a possible virus
03 A
against a database of known
H
FS viruses
⚬ Any possible files or
programs which are infected
A
Defragmentation Software - When HDD becomes full, blocks used for files will
D
be scattered all over the disk surface. Data accessing will be faster if files could
14 I
be stored in contiguous sectors to reduce HDD head movements.
H
97 A
9
54 SH
data data data
34 N
data
H03 A
data data FS
A
Examples of utilities software (3)
D
Device Driver with the OS and translate
14 IH
data into a format
97 A
understood by a hardware
9
54 SH
device (middle man)
• Without device drivers, a
hardware device would be
34 N
unable to work with a
03 A
computer
H
FS • As soon as a device is
plugged into a USB port, the
A
OS looks for appropriate
device driver
Examples of utilities software (4)
D
system back-up utility
Backup Software
14 I
• Allow a schedule for backing up files to be
H
made
97 A
9
54 SH
• Total security
⚬ Working version stored in SSD/HDD
34 N
⚬ Locally backup stored in removable
03 A
SSD/HDD
H
FS ⚬ Cloud Storage
• OS
A
⚬ Windows - File History
⚬ MacOS - TimeMachine
Application Software
Definition Examples
D
Software that a user needs • Word Processor
14 IH
to make use of the • Spreadsheet
97 A
9
computer system • Database
54 SH
• Video Editing Software
Features • Apps
34 N
• Music and video
03 A
• Used to perform various
H
applications (apps) on a FS streaming
computer • GPS
• Allows a user to perform • Camera facility
A
D
System Software - The Application Software -
14 I
Manager The Independent
H
97 A
9
54 SH
Responsible for managing the Allows the user to perform
hardware and other software in a different tasks using the
computer
34 N
computer
H 03 A
Eg. BIOS, OS, Device Driver,
FS Eg. Word Document, Spreadsheet,
Utilities Video Editing Software, Games
A
Chapter 4.2
Operating
System
D
14 IH
97 A
9
IGCSE Computer Science
54 SH
34 N
03 A
H
FS
A
About the Operating System
• It is a system software
D
• OS has the privilege of managing other
14 IH
programs
97 A
9
• It is the first program to be launched (by
54 SH
the BIOS) when a computer is turned on
• OS is an intermediaries between software
34 N
programs and hardware peripherals
03 A
(Driver)
H
• Stored within the SSD/HDD, loaded into
FS
RAM when a particular action needs to be
A
carried out
Main function of the operating system
D
Enable computer system to function correctly
14 IH
97 A
9
54 SH
Allow users to communicate with computer
systems
34 N
H03 A
FS
A
7 Main Functions Of
The Operating System
D
14 IH
97 A
9
54 SH
34 N
03 A
H
FS
A
HCI
D
The OS provides an interface which allow the user to communicate with
14 IH
the computer.
97 A
9
3 types of HCI
54 SH
34 N
Command Line Graphical User Voice Command
03 A
Interface Interface Interface
H
• User needs to learn a
FS • Interaction using • Smart Speaker (Google
number of commands pictures of symbol Home and Amazon
• Direct communication (instead of command) Alexa)
A
with the computer and • WIMP (Windows Icon • Virtual Assistant (Siri)
is not restricted to a Menu and Pointing
number of Device)
predetermined options • Phones touch screen
(pinch and rotate)
HCI
D
14 IH
Command Line Graphical User
97 A
Interface Interface
9
54 SH
• The user is in direct communication with the • It is more user-friendly; icons are used to
computer represent applications
34 N
• Uses a small amount of computer memory • The user doesn’t need to learn any
03 A
commands
H
• Need to learn a lot of commands • Use up more computer memory than CLI
FS
• Each command must be typed in correctly in • The user is limited to icons provided on the
A
terms of format and spelling screen
HCI MM
Memory Management
D
14 IH
VON NEUMANN ARCHITECTURE CONTROL BUS
DATA BUS
97 A
ADDRESS BUS
9
Central Processing Unit (CPU)
When a program is
54 SH
MAR
CU
34 N
MDR
03 A
ALU ACC
Secondary Storage
H
FS
into the Primary RAM,
Input Memory Unit (RAM) Output
A
Load executable code
when needed but who does it????
Secondary Storage
(HDD, SSD, Removable Disk, CD)
HCI MM
Memory Management
D
14 IH
VON NEUMANN ARCHITECTURE CONTROL BUS
97 A
ADDRESS BUS
9
Central Processing Unit (CPU)
• Track of all the memory locations
54 SH
CU
MAR
• Carries out memory protection to
ensure that two competing
PC
34 N
MDR
03 A
ALU ACC
memory locations at the same
H
time
• Make sure enough hardware is
Input
FS
Memory Unit (RAM) Output
allocated to perform the necessary
A
process
Load executable code
when needed
Secondary Storage
(HDD, SSD, Removable Disk, CD)
HCI MM MT
D
carry out more than 1 task at a time
14 IH
97 A
9
54 SH
Pre-emptive multitasking
34 N
Sharing hardware resources
specific time limit
03 A
• Each of the processes will share the • The process can be interrupted while it is
H
hardware resources under the control
running
FS
of the operating system software.
• The process is given a priority so it can have
A
resources according to its priority (the risk
here is that a low priority process could be
starved of resources)
HCI MM MT HPM
Hardware Peripheral
Management
D
14 IH
Meaning of peripheral devices Roles of the OS: Carry out Hardware Management
97 A
9
54 SH
• Use device driver
⚬ Communicates with all input and
output devices
34 N
⚬ Take data from a file (defined by the
03 A
operating system) and translates it into
H
FS a format that the input/output device
can understand
A
• Ensures each hardware resource has a
priority so that they can be used and
released as required
HCI MM MT HPM UAM
User Account
Management
D
14 IH
A computer can have more than one user to
97 A
9
log into the account. Eg.
54 SH
It is therefore
important that users’
34 N
data is stored in
03 A
separate parts of the
H
FS memory for security
reasons.
A
HCI MM MT HPM UAM
User Account
Management
D
14 IH
97 A
9
54 SH
Role of an administrator
34 N
accounts
03 A
• The administrator can create accounts, delete
H
user accounts and restrict user account
FS
activity (create, edit and delete file)
A
HCI MM MT HPM UAM FM
File management
D
14 IH
Main tasks of file management include:
97 A
9
• file naming conventions which can be used
54 SH
i.e. filename.docx (where the extension can
be .bat, .htm, .dbf, .txt, .xls, etc.)
34 N
• performing specific tasks (for example, create,
03 A
open, close, delete, rename, copy, and move)
H
• maintaining the directory structures
FS
• ensuring memory allocation for a file by
A
reading it from the HDD/SSD and loading it
into memory.
HCI MM MT HPM UAM FM SEC
Security Management
- covered more in depth in chapter 5
D
14 IH
Main tasks of security management include:
97 A
9
54 SH
• Ensures that anti virus software (and other security software) is always up to
date, preserving the integrity, security and privacy of data
34 N
• Maintains access rights for all users
03 A
• Communicates with a firewall to check all traffic to and from the computer
H
• By offering the ability for the recovery of data when it has been lost or
FS
corrupted (eg. Apple Time Machine)
A
Human Computer Interface
Memory Management
D
7 Main
14 IH
Multitasking
97 A
Functions Of
9
54 SH
Hardware Peripheral Management
The Operating
34 N
User Account Management System
H03 A
File Management FS
A
Security Management
Human Computer Interface
Memory Management
D
14 IH
Multitasking
97 A
9
7 functions of the OS:
54 SH
Hardware Peripheral Management
HMM, How U Feeling Son?
34 N
User Account Management
H03 A
File Management FS
A
Security Management
A
FS
03 AH
34 N
54 SH
97 A
14 IH
9 D
EXAM QUESTION
A
FS
03 AH
34 N
54 SH
97 A
14 IH
9 D
EXAM QUESTION
D
14 I
Chapter 4.3
H
97 A
9
54 SH
Running of
34 N
Application
03 A
H
FS
A
Introducing BIOS (Basic Input/Output System)
• Known as firmware (a tangible
electronic component with
embedded software
D
instructions, such as a BIOS)
14 IH
• The BIOS settings are stored on
97 A
9
a CMOS chip (complementary
54 SH
metal-oxide-semiconductor)
⚬ BIOS settings would be reset
34 N
if the battery was removed or
03 A
disconnected
H
FS • Responsible for booting up the
computer by loading part of the
A
operating system from
secondary storage into RAM
Application Software Running Sequence
D
14 I
working fine takes over
H
97 A
9
54 SH
Firmware Operating Application
Hardware
(BIOS) System Software
34 N
H03 A
Loads the
FS BIOS
BIOS loads the
A
program operating
located in system
the ROM
D
14 IH
Chapter 4.4: Software
97 A
INTERRUPT
9
54 SH
34 N
03 A
H
FS IGCSE CS
A
DEFINITION OF
INTERRUPT
D
14 IH
97 A
9
54 SH
AN INTERRUPT IS WHERE A SIGNAL IS SENT FROM A
34 N
DEVICE OR A PROGRAM TO THE OPERATING SYSTEM
03 A
THAT CAUSES A TEMPERORY STOP.
H
FS
A
EXAMPLES OF AN INTERRUPT :
YOU TRY
D
14 IH
97 A
9
54 SH
Try to create two Try to perform
34 N
03 A
folders that have 5/0 in your
H
the same name
FS calculator
A
OTHER EXAMPLES OF AN
INTERRUPT
D
14 IH
A hardware fault Software error
97 A
9
(Printer out of
54 SH
ink, paper jam)
34 N
03 A
H
FS
A
A timing signal
FUNCTION OF AN INTERRUPT
D
14 IH
97 A
9
54 SH
CAUSE THE CURRENT PROGRAM TO TEMPERORILY
34 N
STOP WHAT IT IS DOING SO THAT THE OS CAN
03 A
SERVICE THE INTERRUPT
H
FS
A
FLOW
D
14 IH
97 A
9
Part of the Interrupt
54 SH
Service Routine
Upon completing a fetch-
The interrupt The interrupt decode-execute cycle, the
is collected CPU checks the priority of
34 N
Device sends is being
XX by an the next interrupt to see if it
an interrupt assigned a
03 A
has a higher priority than
signal interrupt place in a
the current task being
H
handler
FS queue processed.
D
14 IH
97 A
9
Part of the Interrupt
54 SH
Service Routine
Upon completing a fetch-
The interrupt The interrupt decode-execute cycle, the
CPU checks the priority of
34 N
Device sends is collected is being
XX the next interrupt to see if it
an interrupt by an assigned a
03 A
has a higher priority than
signal interrupt place in a
the current task being
H
handler queue processed.
FS
No, it has lower
Before After
A
priority
1 I1 1 XX
Eg.Divide by 0, keyboard key It leaves the
pressed, printer error, mouse 2 I2 2 I1 interrupt in the
interrupt queue and
movement
3 3 I2 carries on
processing
Priority is decided by the Operating System
FLOW
D
14 IH
97 A
9
54 SH
Part of the Interrupt
Service Routine
Upon completing a fetch-
The interrupt The interrupt decode-execute cycle, the
CPU checks the priority of
Device sends is collected is being
34 N
XX
an interrupt by an assigned a
the next interrupt to see if it
has a higher priority than
The process happens so quickly that it is impossible
signal interrupt place in a
the current task being
handler queue
for the user to notice that the operating system has
03 A
processed.
Before After
Yes, the interrupt has No, it has lower
been interrupted temperorily.
H
higher priority priority
1 I1 1 XX
Eg.Divide by 0, keyboard key The CPU stops what It leaves the
pressed, printer error, mouse 2 I2 2 I1 FS it is doing and interrupt in the
movement fetches the interrupt interrupt queue and
3 3 I2 to the CPU to be carries on
processed processing
Priority is decided by the Operating System
A
• Division by • Press of a
D
14 I
zero key on a
H
97 A
• Processes keyboard
9
54 SH
attempt to • click of a
34 N
access the mouse
03 A
same button
H
FS
memory
A
location
A
FS
03 AH
34 N
54 SH
97 A
14 IH
9 D
EXAM QUESTION
A
FS
03 AH
34 N
54 SH
97 A
14 IH
9 D
EXAM QUESTION
A
FS
03 AH
34 N
54 SH
97 A
14 IH
9 D
EXAM QUESTION
A
FS
03 AH
34 N
54 SH
97 A
14 IH
9 D
EXAM QUESTION
Chapter 4.4
D
TYPES OF PROGRAMMING
14 IH
97 A
LANGUAGES
9
54 SH
IGCSE Computer Science
34 N
H03 A
FS assembly language
A
RECAP
Definition of a Software
D
14 IH
A set of instructions written in a programming
97 A
9
language that performs one or more tasks to
54 SH
tell the computer what to do.
34 N
03 A
H
FS
A
Codes written in any language needs to be translated to machine code before it can be understood by a
computer.
D
Programming Languages Machine Code
14 IH
97 A
9
0101010100101001001001
54 SH
0101010100100101001001
10101010001011010101010
10101010100101010101010
34 N
Translators 0101010100101001001001
03 A
0101010100100101001001
10101010001011010101010
H
FS 10101010100101010101010
0101010100101001001001
0101010100100101001001
A
10101010001011010101010
10101010100101010101010
Why does programmers have to code using programming
language instead of machine code
D
Programming Languages Machine Code
14 IH
97 A
9
0101010100101001001001
54 SH
0101010100100101001001
10101010001011010101010
10101010100101010101010
34 N
0101010100101001001001
03 A
0101010100100101001001
10101010001011010101010
H
FS 10101010100101010101010
0101010100101001001001
0101010100100101001001
A
10101010001011010101010
10101010100101010101010
High-Level Programming Languages
D
• Contains English-like words and
14 IH
terms that we use in communication
and are easier for programmers to
97 A
9
understand
54 SH
• Enable a programmer to focus on the
problem to be solved and require no
34 N
knowledge of the hardware and
03 A
instruction set of the computer that
H
FS will use the program.
A
Lets try to create 2 mini software (Very
mini) in Python
D
• Ask a user for his/her name, then,
14 I
print out a message to greet the user
H
97 A
(eg. Hello, XXX)
9
54 SH
• Ask a user for 2 numbers (integers),
then, print out the result of the first
34 N
number minus the second number.
H03 A
FS
A
Low-Level Programming Languages (1)
D
Machine Code
14 IH
0101010100101001001001
97 A
9
0101010100100101001001
54 SH
10101010001011010101010
10101010100101010101010
0101010100101001001001 It is impossible to code in
34 N
0101010100100101001001
10101010001011010101010 machine code
03 A
10101010100101010101010
H
0101010100101001001001
FS
0101010100100101001001
10101010001011010101010
A
10101010100101010101010
Low-Level Programming Languages (2)
D
14 IH
Assembly Language (eg. MIPS) Illustration of how it works
97 A
9
54 SH
a0 2
a1 3
34 N
03 A
t0
H
FS
A
Low-Level Programming Languages (2)
D
14 IH
Assembly Language (eg. MIPS) Properties of assembly language
97 A
• A type of programming
9
54 SH
that sits just above
machine code and is low-
level language that use
34 N
mnemonics for its
03 A
instructions and
commands.
H
FS • Mnemonic
⚬ LW - Load Word
⚬ INP - Input
A
⚬ RET - Return
MEMORISE A FEW !
Low-Level Programming Languages (2)
D
14 IH
Assembly Language (eg. MIPS) Why we use assembly language
97 A
9
54 SH
• To make use of special
hardware
• Write code that doesn’t
34 N
take up much space in
03 A
primary memory
• Write code that performs a
H
FS task very quickly
A
0101010100101001001001
0101010100100101001001
10101010001011010101010
10101010100101010101010
0101010100101001001001
D
14 I
Hardware Able to directly mainpulate
Inefficient in hardware usage
H
computer hardware
97 A
9
54 SH
Easier to read and write by More challenging to read and
Ease write codes
programmers
34 N
H 03 A
Takes up a little space in the
Takes up a lot of memory due Memory
FS primary memory
to layers of abstraction
A
97 A
TRANSLATOR
9
54 SH
34 N
IGCSE CS
03 A
H
FS
A
Programming Languages Machine Code
D
14 IH
0101010100101001001001
0101010100100101001001
97 A
10101010001011010101010
9
54 SH
10101010100101010101010
Translators 0101010100101001001001
0101010100100101001001
34 N
10101010001011010101010
10101010100101010101010
03 A
0101010100101001001001
H
FS 0101010100100101001001
10101010001011010101010
10101010100101010101010
A
Different programming
languages need a different
translator to be converted
into machine code
Machine Code
D
14 IH
0101010100101001001001
0101010100100101001001
97 A
10101010001011010101010
9
10101010100101010101010
54 SH
0101010100101001001001
Translators 0101010100100101001001
10101010001011010101010
10101010100101010101010
34 N
0101010100101001001001
03 A
0101010100100101001001
10101010001011010101010
H
10101010100101010101010
FS
A
• Interpreter (Python)
D
• Compiler (C)
14 I
• Assembler (Assembly Language)
H
97 A
9
54 SH
Main functions
34 N
• Translate codes written in various programming
03 A
languages to binary.
H
• Report errors in the code to the programmer.
FS
A
Interpreter
• Interpret the code line by line in a program
• Interpreter stop the execution of the code when it
D
detects an error (Compiler waits until the end of the
14 IH
execution process before reporting errors)
97 A
9
54 SH
• Will not produce an executable file at the end of the
process
34 N
03 A
H
FS
A
Python Javascript
Interpreter
D
14 IH
97 A
9
54 SH
34 N
Python
H03 A
FS
A
D
perform a required task. An executable file will be produced
14 I
• A report of errors is produced at the end of the translation
H
• Once a program is compiled the machine code can be used again and again
97 A
9
54 SH
to perform the same task without re-compilation
34 N
Compile
H 03 A
FS
A
Running the
compiled code
C Programming Language
Assembler
• Translate a program written in an assembly language into machine code
D
• Once a program is assembled the machine code can be used again and again
14 I
to perform the same task without re-assembly.
H
97 A
9
54 SH
34 N
H03 A
FS Assembler
A
Compare and contrast the 3 translators
D
Compile Interprete Assemble
14 IH
r r r
97 A
9
Does not produce executable Produce executable
54 SH
Produce executable
file file file
34 N
programming language programming language programming language
03 A
into machine code one line at a time into machine code
H
FS
Compiled program is run Interpreted program Assembled program is run
without the compiler cannot run without the without the assembler
A
interpreter
Interpreter Compiler
Easier for beginners as errors are A compiled program is
D
easily identified executed in a shorter time
14 IH
Easier and quicker to debug and
97 A
9
test programs during
54 SH
It takes a longer time to
development
write, test and debug
34 N
programs during
development
03 A
Programs can take longer to
H
execute FS
A
D
14 IH
97 A
9
54 SH
Integrated
34 N
03 A
Development
H Environment (IDE)
FS
A
Integrated Development
Environment (IDE)
• An IDE is an application that
D
programmers use to test
14 IH
and develop new software
97 A
9
• An IDE allows a programmer
54 SH
to write code in various
34 N
programming language and
03 A
smulate the running of the
H
code
FS
• Eg. PythonIDE, Sublime
A
D
14 I
Auto
H
Code Run-time
completion Translator
97 A
Editor Environment
9
- common - compiler,
54 SH
- contains - with
function interpreter
shell debugger
/syntax
34 N
03 A
Prettyprint Error
H
Auto
Correction - colour Diagnostic
FS
- bracket scheme, - pinpoints
A
matching indentation error
A
FS
03 AH
34 N
54 SH
97 A
14 IH
9 D
EXAM QUESTION
A
FS
03 AH
34 N
54 SH
97 A
14 IH
9 D
EXAM QUESTION
A
FS
03 AH
34 N
54 SH
97 A
14 IH
9 D
EXAM QUESTION
A
FS
03 AH
34 N
54 SH
97 A
14 IH
9 D
EXAM QUESTION
A
FS
03 AH
34 N
54 SH
97 A
14 IH
9 D
EXAM QUESTION
A
FS
03 AH
34 N
54 SH
97 A
14 IH
9 D
EXAM QUESTION
A
FS
03 AH
34 N
54 SH
97 A
14 IH
9 D
EXAM QUESTION
A
FS
03 AH
34 N
54 SH
97 A
14 IH
9 D
EXAM QUESTION