Chapter 4 Software
Chapter 4 Software
Chapter 4 Software
62)7:$5(
3$*(
3$*(
Software
Syllabus
4.1 Types of Software & Interrupts
1 Describe the difference between system x System software provides the services that
software and application software and the computer requires, including operating
provide examples of each system and utility software
x Application software provides the services
that the user requires
2 Describe the role and basic functions of an x Including:
operating system Managing files
Handling interrupts
Providing an interface
Managing peripherals and drivers
Managing memory
Managing multitasking
Pr rov
ovidininng a Pla
Providing atfor
or
or
orm
Platform for running
fo runnning
runn
ru
applications
app
ap
ppl
pl cat
plic atio
ions
io n
Providing system security
Ma Managing
Mana
nagi
na ging
gi ng uuser accounts
s r ac
se acco
c unnts
co
3 U nd rssttan
nder
nd
Understandand ho
and how
w hardware,
ha
ha ffirmware
irmware andd x Applications are run on the operating
an operating
ope
pe
p erarati required
atitiinng system are requ
q ired to run system
applications software x The operating system is run on the firmware
x The bootloader (firmware) is run on the
hardware
4 Describe the role and operation of x Including:
interrupts How an interrupt is generated
How it is handled using an interrupt service
routine
What happens as a result of the interrupts
x Software interrupts include division by zero
and two processes trying to access the same
memory location
x Hardware interrupts include pressing a key
on the keyboard and moving the mouse
3$*(
Operating
System
System Utility
S ftwa
So ware
wa re
Software Prog
gra
ram
Programsms
Device Drivers
Software
So
oftwa
wa
are SSpreadsheet
Sp reead
adsh
sh
heeet
Word Spread
Application Database
Software
Internet
Browser
Games
Software
System Software
System software is software designed to provide a platform for other software.
• Operating System
Types of System • Utility Software
Software • Device Driver
3$*(
Features
 Set of programs to control and manage the operation of computer hardware
 Platform on which other software can run
 Required to allow hardware and software to run without problems
 Human Computer Interface (HCI)
 Controls the allocation and usage of hardware resources.
Application Software
Computer program designed to carry out a sp specific
ecific task other than one relating to the
operation of the computer itself, typically to be used by end-users.
Features
 Perform various applications (Apps) on a computer
 User Friendly
 May be a single program (for example, Paint) or a suite of programs (for example,
Microsoft Office Suite)
 User can execute the software as and when they require
3$*(
Utility Software
Utility Programs, part of a System Software, contains number of utility programs.
These are often initiated by users and just run in background without the need of any user
input. Utility Programs often offered by most computer system software includes:
Antivirus Software’s
Any device can bee a victim viictim of
of virus attack. Operating systems offer virus checkers, but these
must be kept p thoroughly
tho
horo
rouuug
ghly upup to date
dat andand should
sho
houl run
ulld ru i tthe
un in background
he bac
a kg
ac k ro
oun
und to m maintain
ainnt
ntai
ain their
ab
bilit
iillitity
ity to
ability og uaard
guardda gainst be
against eing iinfected
being nffec
ecte
te
ed by
y ssuch
uch ma
uc alw
war
are.
e RRunning
malware. un ing an
unni
un nti-viruss so
anti-virus oft
ftwware
wa
software e iinn the
background
back kgr rouund on
grou on a computerr will will constantly check for virus attacks.
Defragmentation Software
Since HDD becomes full, blocks used for files will become scattered all over the disk surface.
This will happen because files will become partially deleted, extended and so on overtime.
The consequence of this is slower data access time; the HDD read write head will now require
several moments just to find and retrieve the data in making up the required file. It would
obviously be advantageous if files could be stored in contagious sectors considerably
reducing HDD head movements.
Consider the following scenarios disk with 12 sectors i.e. 0 – 11 per surface:
3$*(
In this example we have three files (1, 2 and 3) stored on track 8 of a disk surface covering
all of 12 sectors:
If this continues, the files just become more and more scattered throughout the disk surfaces.
It is possible for sectors 4, 5 and 6 (on track 8) to eventually become used if the disk starts
to fill up and it has to use up whatever space is available. A disk defragmenter will
rearrange the blocks of data to store files in contagious sectors wherever possible. After
defragmentation track 8 would now become:
3$*(
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
Backup Software
While it is sensible to take manual back-ups using, for example, a memory stick or portable
HDD, it is also a 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 backup procedure if there have been any changes made to a file.
Th
he Microsoft
The Micr
Mi
Micr
cros
ros
osof
o t Wi
Wind
nd
dows environment
Windows envi
vviiironm
men
ent offers
offfe
ferrs the
thee following
folllow
winng facilities
fa
fac
aci
cilititiies using
usiing
g the
thhe back-up
bac
ack-up
up
p utility:
utility:
 RRes
Restore
o e data,
estor
stor dat
da ta, files or the
ata
ta, he computer from the back-up (useful if there has been a problem
he
a nd
andd fi
ffiles
fil
ile
les ha
les hhave
ve been los
ve st and
lost d nneedeed
ee d too b
bee re
reco
cove
co veere
red)
recovered) d
d)
 CCreate
Crrea
eatee a rrestore
estore point ((this
this iiss ba
basically
b sicall kind
i lllly a ki d off ''time
ind machine'
time ma where
chhine'' whe
h re your computer
ca
can
an be
be restored to its sta tta
ate at this earlier point in time; this can be very useful if a very
state
important file has beenn d deleted
eleted and can't be recovered by any of the other utilities)
 Options of where to save ve back-up files; this can be set up from the utility to ensure files
ve
are automatically backed e up to a chosen device.
Security Software
 Security software is an over-arching utility that: for more information on encryption and
decryption.
 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).
3$*(
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.
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:
 Scans for virus
 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 by a hardware peripheral device. Without device drivers, a
hardware device would be e uunable
nable to work with a computer - a message such as ‘device not
recognized’ would ap pp
peear
appearar onon the screen. As soon as a device is plugged into a USB port
(for example, a m memory
mory sstick,
emo tick, printer or camera), the operating system looks for the
appropriate
approp device
priate de
d viice
c d driver.
river..
Operating
O peerating SSystem
ystem
Operating
Op perat
errattinng System
Sy em
em provides
providees both
bootthh the
thee eenvironment
nvviirronm
nmen
e t in
en in w
which
hhiichh a
applications
pp pliica
catitit on
o s ca
cann be
b rrun
unn aand
n a
nd
uuseable
sea b e iinterface
abl nte
erf ace betweenn hhumans
rfac
ac umans a and
nd computer.
d compute Ann operati
t r. A operating system
titing syste also
t m al disguises
lso d isguis
i es the
comp
mple
mple
mp lexi
exi
xity
complexity ity of computer software
sofftware and hardware. Common examples of operating systems
include: Microsoft Windows,
Windowss, Apple Mac OS, Google Android and Apple IOS (the latter two
being used primarily on tabl b ets and smartphones).
tablets
3$*(
Most computers store the operating system on a hard disk drive (HDD) or solid state drive
(SSD) since they tend to be very large programs.
GUI allows the user to interact with a computer (or MP3 player, gaming device, mobile
phone, etc.) using pictures or symbols (icons) rather than having to type in a number of
commands.
3$*(
GUIs use various technologies and devices to provide the user interface. One of the most
common is WIMP (windows icons menu and pointing device), which was developed for use
on personal computers (PC).
Technological Devices increasingly use touch screens and use post-WIMP interactions. With
this system, fingers are in contact with the screen allowing actions such as pinching and
rotating, which would be difficult to do using a single pointer and a device such as a mouse.
GUI Vs. CLI
Interface Advantages Disadvantages
User
Userr is iinn direct communication user needs to learn a number off
with
w
wit
wiith the ccomputer
omppute
pu ter
er commands
co
comm
ommmandss to carry
carry o
ca out
ut ba
b
basic
asic
operations
o perat
erattio
er onss
User is no
not
ot restricted to a number All commands need to be typed in
Co
Command
omm
m anandd of pre-de
pre-determined
etermi
m ne
min d op
opti
options
tition
onss
on which
whic
wh i h takes
ic taakees time
tiime aand
nd can
can
a be
be error
e ro
error
Linee IInterface
nt rfa
nt
nter face
ce prone
(CLI)
(C
CLI
LI)) It is pos
possible
ssible to alter computer Each command must be typed in
configuration
configurat
attion settings
a using the correct format, spelling, and
so on
small amount
am
mount of computer
memory
user doesn't need to learn any Type of interface uses up
commands considerably more computer memory
than a CLI interface
Graphical More user-friendly User is limited to the icons provided
User Interface on the screen
(GUI) Pointing device (such as a mouse) Needs an operating system, such as
is used to click on an icon to Windows, to operate, which uses up
launch the application this is considerable memory.
simpler than typing in commands
or a touch screen can be used
where applications are chosen
by simply touching the icon on the
screen
3$*(
File Management
 )ile naming conventions which can be used i.e. filename.docx
 Specific tasks
 Directory structures
 Access Control Mechanisms are maintained
 Memory Allocation
Multitasking
It allows a computer to carry out multiple tasks/processes at a time, sharing resources under
the control of OS. For smoothly running all processes OS monitors status of each process.
 Specific time limit
 Interruption
 Priority
Using multitasking managem
eemment, main memory, HDD/SSD and virtual memory are better
management,
managed making the most
mos
osst eeffective
ffective use of CPU time.
Interrupt
Interrupt is a signal sent from a device or from software to the microprocessor. This will
cause the microprocessor to temporarily stop what it is doing so that it can service the
interrupt. Interrupts can be caused by:
 Timing signal
 Input/output process
 Hardware fault
 User interaction
 Software err
rroors
rr
errors
Onnce
ce the
Once thhee interrupt
inter
err
er
rrupt p signal iss recei
pt eive
eivedd, tthe
d,
received, hhe
em icro
ic oproc
ocesssor ei
oces
microprocessor ithherr ccarries
either a riiess oonn wi
ar w thh w
with hatt itt was
ha
what
doin
ng or stops
doing pss ttoo service thtthe
he device or program that caused the interrupt. The computer
nee
eds to
ed
needs o iidentify
dennttifyy tthe
de he interrup
up ty
upt
up
interrupt ype
p a
type andnd
da lsso establish
also est
s ab
a liish
s the
thee level
lev
evele ooff in
el nteerr
r up
interruptuptt prrio
iori
rity
ri
priority.y.
3$*(
Buffers
Temporary storage/memory that holds data being transferred between devices often used
to compensate for different speeds of devices examples printer, disk, etc.
3$*(
Assembly
Asse
embly LLanguages
anguages
Assemb
Assembly
A mb blyy llanguage
angu
anguuage consistss ooff English like symbolic codes known as mnemonics. It is a second
gen nerattitionn ooff lan
generation la
anguage. Th
language. TThey
hey represent common strings of machine codes. A language
translator,
tran
tr annslat
a slat
sl o , Assembler,
ator
or Asse
As se
emmb used
bler, is ussed tto convert
o co
conv
nver
nv source
ertt so
er sour ccode
urrce co de ooff As
Assembly
Asse
semb
semblly
mb ly llanguage
angu
an guag
gu agee pr
ag program
prog
ogra
og ram
ra iinto
m in to
obbjeect
object c ccode
odde ofof machine language.
la
annguage. Though Assembly languages are easier than machine
a
language but they are high highly
hlyy detailed and cryptic. So programmers seldom write programs
in Assembly language. Instead Instea
ead programmers use Assembly languages to fine-tune important
ea
parts of programs written inn a high-level language.
Translators
Programs are written by humans in a form that people who are trained as computer
programmers can understand. In order to be used by a computer, programs need to be
translated into the binary instructions, machine code, that the computer understands. Humans
find it very difficult to read binary, but computers can only perform operations written in
binary.
3$*(
A program must be translated into binary before a computer can use it; this is done by a
utility program called a translator.
Interpreters
An interpreter is a computer program that reads a statement from a program written in a
high-level language, translates it, performs the action specified and then does the same with
the next statement and so on.
Assemblers
An assembler is a computer program that translates a program written in an assembly
language into machine code so that it can be directly used by a computer to perform a
required task. Once a program is assembled the machine code can be used again and
again to perform the same task without re-assembly.
Translators
Most IDEs usually provide a translator, this can be a compiler and/or an interpreter, to
enable the program to be executed.
3$*(
Runtime Environment
A debugger is a program that runs the program under development and allows the
programmer to step through the program a line at a time (single stepping) or to set a
breakpoint to stop the execution of the program at a certain point in the source code.
Error Di
Di
Diagnostics Detection
& Detect
tio
ion
Dynamic error checking finds
dss possible errors as the program code is being typed, alerts the
d
programmer at the time andnd provides a suggested correction. Many errors can therefore
nd
during
be found and corrected duri ing program writing and editing before the program is run.
Auto Completion
Code editors can offer context-sensitive prompts with text completion for variable names
and reserved words.
3$*(