Types of Software and
Interrupt
System software and
application software
All computers begin life as a group of connected
hardware items. Without software, the hardware
items would be useless.
Figure 4.1 summarises the hierarchy of
software and hardware.
You will notice from Figure 4.1 that there are two
types of software: system software and application
software:
General features of system software
» 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.
General features of application
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 (for example, NotePad)
or a suite of programs (for example, Microsoft
Office)
» user can execute the software as and when they
require.
Examples of typical
application software
APPLICATION SOFTWARE: these are programs that
allow the user to do specific tasks. Examples include:
Examples of typical
system software
SYSTEM SOFTWARE: these are programs that allow the
hardware to run properly and allow the user to
communicate with the computer
Examples include:
Utility software (utilities)
• Computer users are provided with a number of
utility programs (often simply referred to as
utilities) that are part of the system software.
• Utility programs are often initiated by the user,
but some, notably virus checkers, often just run
in the background without the need for any user
input.
Utility programs offered by most
computer system software include:
» virus checkers
» defragmentation software
» disk contents analysis and repair
» file compression and file management
» back-up software
» security
» screensavers.
Virus checkers (anti-virus software)
• Any computer (including mobile phones and tablets) can be
subject to a virus attack.
• Operating systems offer virus checkers, but these must be kept
thoroughly up to date and should run in the background to
maintain their ability to guard against being infected by such
malware.
• There are many ways to help prevent viruses (such as
being careful when downloading material from the internet,
not opening files or websites given in emails from unknown
senders or by not using non-original software).
• However, virus checkers still afford the best defense against
such malware.
Microsoft Defender Kaspersky
Running anti-virus software in the background on
a computer will constantly check for virus attacks.
Although various types of anti-virus software work
in different ways they all have the following
common features:
• they check software or files before they are run
or loaded on a computer
• anti-virus software compares a possible virus
against a database of known
viruses
• they carry out heuristic checking – this is the checking of software
for types of behaviour that could indicate a possible virus; this is
useful if software is infected by a virus not yet on the database
• any possible files or programs which are infected are put into
quarantine which:
– allows the virus to be automatically deleted, or
– allows the user to make the decision about deletion (it is possible
that the user knows that the file or program is not infected by a
virus – this is known as a false positive and is one of the drawbacks
of anti-virus software)
• anti-virus software needs to be kept up to date since new viruses
are constantly being discovered
• full system checks need to be carried out once a week, for example,
since some viruses lie dormant and would only be picked up by this
full system scan.
Defragmentation software
• As a HDD becomes full, blocks used for files will
become scattered all over the disk surface (in
potentially different sectors and tracks as well as
different surfaces).
• This will happen because files will become
deleted, partially-deleted, extended and so on
over time.
• The consequence of this is slower data access
time; the HDD read-write head will now require
several movements just to find and retrieve the
data making up the required file.
• It would obviously be advantageous if files
could be stored in contiguous sectors
considerably reducing HDD head movements.
(Note that due to the different operation of
SSDs when accessing data, this is not a
problem when using solid state devices.)
Consider the following scenario using a disk with
12 (numbered 0 to 11) sectors per surface:
In this example we have three files (1, 2 and 3)
stored on track 8 of a disk surface covering all 12
sectors:
This obviously allows for much faster data access and
retrieval since the HDD will now require fewer read-write
head movements to access and read files 1 and 3. Track
11 would be empty after the defragmentation process.
Back-up software
While it is sensible to take manual back-ups using,
for example, a memory stick or portable HDD, it is
also good practice to use the operating system
back-up utility. This utility will:
• allow a schedule for backing up files to be made
• only carry out a back-up procedure if there
have been any changes made to a file.
For total security there should be
three versions of a file:
1 the current (working) version stored on the
internal HDD or SSD
2 a locally backed up copy of the file (stored on a
portable SSD, for example)
3 a remote back-up version stored well away
from the computer (for example, using cloud
storage).
The Microsoft Windows environment
offers the following facilities using the
back-up utility:
• restore data, files or the computer from the back-up
(useful if there has been a problem and files have been
lost and need to be recovered)
• create a restore point (this is basically a kind of ‘time
machine’ where your computer can be restored to its
state at this earlier point in time; this can be very useful
if a very important file has been deleted and can’t be
recovered by any of the other utilities)
• options of where to save back-up files; this can be set up
from the utility to ensure files are automatically backed
up to a chosen device.
Windows uses File History, which takes snapshots
of files and stores them on an external HDD at
regular intervals. Over a period of time, File History
builds up a vast library of past versions of files –
this allows a user to choose which version
of the file they want to use.
File History defaults to backing up every hour and
retains past versions of files for ever unless the
user changes the settings
Mac OS offers the Time Machine back-up utility.
This erases the contents of a selected drive and
replaces them with the contents from the back-up.
To use this facility, it is necessary to have an
external HDD or SSD (connected via USB port) and
ensure that the Time Machine utility is installed
and activated on the selected computer. Time
machine will automatically:
» back-up every hour
» do daily back-ups for the past month, and
» weekly back-ups for all the previous months.
Security software
Security software is an overarching utility that:
» manages access control and user accounts (using user
IDs and passwords)
» links into other utility software, such as virus checkers
and spyware checkers
» protects network interfaces (for example, through the
use of firewalls)
» uses encryption and decryption to ensure any
intercepted data is meaningless without a decryption key
» oversees the updating of software (does the update
request come from a legitimate source, for example).
Screensavers
Screensavers are programs that supply moving and
still images on the monitor screen after a period of
inactivity by the computer.
They were originally developed to protect older CRT
(cathode ray tube) monitors which would suffer
from ‘phosphor burn’ if the same screen image
remained for any length of time. With modern LCD
and OLED screens, this problem no longer exists;
consequently, screensavers are now mostly just a way
of customizing a device.
However, many screensavers are also used as part
of the computer’s security system. If a computer is
unused for five minutes, for example, and hasn’t
been logged out, this will trigger the screensaver
to be loaded.
The computer user will then be automatically
logged out and a screensaver will indicate that the
computer is now locked. This gives an extra layer
of security for computers used in an office
environment, for example.
Some screensavers are often used to activate
useful background tasks that can
only go on when the computer is in an ‘idle’ state.
For example:
» virus scans
» distributed computing applications – these allow
apps to use the computer’s resources only when it
is idle (for example, an online gaming app).
Device drivers
Device drivers are software that communicate
with the operating system and translate data into a
format understood by a hardware peripheral
device.
Without device drivers, a hardware device would
be unable to work with a computer – a message
such as ‘device not recognized’ would appear on
the screen.
As soon as a device is plugged into a USB port (for example, a
memory stick, printer or camera), the operating system looks for
the appropriate device driver.
All USB device drivers contain a collection of information about
devices called descriptors; this allows the USB bus to ask a newly
connected device what it is.
Descriptors include vendor id (VID), product id (PID) and unique
serial numbers. If a device has no serial number associated with it,
the operating system will treat the device as new every time it is
plugged into a USB port.
Serial numbers must be unique since this could prove rather
interesting if two different devices with the same serial number
were plugged into a computer at the same time.