You are on page 1of 42

Computer hardware would be useless without software, the

lists of instructions which tell the hardware what to do.

Computers require various types of software to make them


useful. These can be classified as follows:

1. Operating System
2. Utility software
3. Applications software

CS Topic 5 - Computer Software v2 1


1. Operating system

2. Utility software

3. Applications software

The operating system(OS) is the piece of software required by


the computer to make sure that it works correctly and efficiently.
It manages the computer and allows the user to communicate
with the hardware.
Modern operating systems are typically stored on Hard disk
and loaded into RAM when the computer is switched on.

Storing the OS on disk means that it can be easily


updated. Windows Vista and XP are updated on a daily
basis.
CS Topic 5 - Computer Software v2 2
1. Operating system
The bootstrap loader
2. Utility software
The bootstrap loader is a small but 3. Applications software
very important part of the OS which is
permanently stored in ROM.

When the computer is first switched on the bootstrap loader


starts to run.

It checks the RAM and input/output devices to make sure


that they are working and then locates the OS on backing
storage, usually on Hard disk but could be on CD or even a
memory stick.
It then loads the OS into RAM and the OS takes over
control.
CS Topic 5 - Computer Software v2 3
1. Operating system
The main part of the operating
system in RAM manages the 2. Utility software
computer and allows the user to
communicate with the hardware 3. Applications software

It has 6 main functions:

• Interpreting User Commands


• File Management
• Memory Management
• Input/Output Management
• Managing Processes
• Resource Allocation

CS Topic 5 - Computer Software v2 4


• Interpreting User Commands
• Interpreting User Commands • File Management
• Memory Management
• Input/Output Management
This part of the operating system • Managing Processes
accepts commands (from a • Resource Allocation
keyboard, mouse, etc) and passes
them to the appropriate parts of the
operating system.

If the syntax of the command is not correct then an error


message should be displayed for the user or the command
should be ignored. e.g. clicking the left mouse button
on a blank area of the desktop.

CS Topic 5 - Computer Software v2 5



• File Management 1 •
Interpreting User Commands
File Management
• Memory Management
This part of the OS manages file • Input/Output Management
operations and backing storage • Managing Processes
• Resource Allocation
allocation.

It allocates blocks of data to particular areas on the backing


storage medium. It maintains an index of where all the user's
applications and data are stored so that they can be found
when requested.

If you give a command to load a file from disk, the Command


Interpreter will pass this instruction to File Management.

CS Topic 5 - Computer Software v2 6


• Interpreting User Commands
• File Management 2 •

File Management
Memory Management
• Input/Output Management
File Management uses its index to • Resource Allocation
• Managing Processes
work out exactly where on the disk
the file is stored. e.g. Track 10,
Sector 4.
File Management also maintains the security of the
files. Included with the file information are the access
rights for users. e.g. read only.

When a file is to be loaded, File Management will pass the


information about the physical location (e.g. Track 10,
Sector 4) to Input/Output Management.

CS Topic 5 - Computer Software v2 7


• Interpreting User Commands
• Memory Management 1 •

File Management
Memory Management
• Input/Output Management
Memory Management decides • Resource Allocation
• Managing Processes
where programs and data are to
be placed in RAM.
It checks to make sure that there is enough free space to
store the new program and data.

It allocates an area of RAM to store the program.

It allocates an area of RAM to store the data which the


program is processing. e.g. when you work with Word then
you will have a Word document which also requires RAM
space

CS Topic 5 - Computer Software v2 8


• Interpreting User Commands
• Memory Management 2 •

File Management
Memory Management
• Input/Output Management
• Resource Allocation
It makes sure that programs do • Managing Processes
not access RAM space allocated
to other programs

It frees RAM space when programs are exited.

It works with Input/Output Management to organise a Hard


Disk for virtual memory use.

CS Topic 5 - Computer Software v2 9


• Interpreting User Commands
• Input/Output Management 1 •

File Management
Memory Management
• Input/Output Management
It is the task of Input/Output • Managing Processes
Management to do all the actual data • Resource Allocation
transfers and issue the appropriate
control signals to the peripheral
devices.

When a file is to be loaded, File Management will pass the


information about the physical location (e.g. Track 10,
Sector 4) to Input/Output Management.

Input/Output Management has to send the correct signals to


the Hard Disk to tell it to access Track 10, sector 4, read the
data and send it to RAM.

CS Topic 5 - Computer Software v2 10


• Interpreting User Commands
• Input/Output Management 2 •

File Management
Memory Management
• Input/Output Management
• Managing Processes
Different types of peripheral • Resource Allocation
devices work in different ways.

Hard Disk Drives, CD Drives, DVD drives, solid state storage


devices, inkjet printers, laser printers, CRT monitors, LCD
monitors are all very different.

Input/Output Management has to know how to communicate


with each device to allow data transfer to take place.

Device manufacturers provide drivers(small programs)


which are installed and become part of Input/Output
Management. These allow communication to take place.
CS Topic 5 - Computer Software v2 11
• Interpreting User Commands
• Managing Processes 1 • File Management
• Memory Management
• Input/Output Management
A process is defined as being “ an • Managing Processes
instance of a sequence of code in • Resource Allocation
execution”

A modern OS will typically have several processes on the go


at the same time. e.g. Operating system, Microsoft Word,
printing, virus checker.

Processes have to share processor time.

The OS has to manage the processes so that they can be


carried out efficiently and effectively.

CS Topic 5 - Computer Software v2 12


• Interpreting User Commands
• Managing Processes 2 • File Management
• Memory Management
• Input/Output Management
At any give time, the OS has to • Managing Processes
decide: • Resource Allocation

• which process is to be allowed to use the processor.

• how long it should be allowed to use the processor for.

The OS keeps a note of the state of each process and


makes sure that each processor is getting its fair share of
processor time.

CS Topic 5 - Computer Software v2 13


• Interpreting User Commands
• Resource Allocation • File Management
• Memory Management
• Input/Output Management
The competing processes • Managing Processes
• Resource Allocation
require access to resources.

Resources include the processor, RAM and Input/Output


devices.

If one process is in the middle of sending data to the hard disk


then another process cannot be allowed to start sending its
data there too until the first process has completed its task.

The OS has to manage the resources by controlling how


and when the processes are to be allowed to use them.

CS Topic 5 - Computer Software v2 14


1. Operating system

2. Utility software

3. Applications software

Utility software consists of programs which are designed to help


with the maintenance of the computer and to ensure sure that it
works correctly and efficiently.

The distinction between utility software and functions of the


operating system is rather blurred as modern operating
systems are often bundled with utility software.
e.g. disk defragmenter, anti-spyware tools, firewall.

CS Topic 5 - Computer Software v2 15


1. Operating system

2. Utility software

3. Applications software

There are many types of utility software with three examples to


be looked at in the Higher course.

• Disk editor
• Defragmenter
• Virus checker

CS Topic 5 - Computer Software v2 16


• Disk Editor • Disk editor

• Defragmenter
A disk editor is a utility program that lets • Virus checker
the user read, edit, and write the low-level
raw data on a disk.
It can be used to repair/reconstruct damaged files and
directories.

This type of utility gives a user complete power over the


contents of every block on the disk and so it requires
considerable knowledge and care to use it effectively.

It would be very easy for an inexperienced user to cause


serious damage to the contents of a disk by altering bytes of
data on the disk.
CS Topic 5 - Computer Software v2 17
• Defragmenter 1 • Disk editor

• Defragmenter

Magnetic disks are organised so that they • Virus checker


store data in blocks of a fixed size.
Depending on its size, a file will typically
occupy several blocks.
Normally data is stored in consecutive blocks on the disk.

This makes sense as the Read/Write head moves to the


required track and starts to read the consecutive blocks.

After a time, the disk starts to fill up and files are edited and
deleted. The remaining free blocks are not necessarily next
to each other.

CS Topic 5 - Computer Software v2 18


• Defragmenter 2 • Disk editor

• Defragmenter

When new files are saved the blocks may • Virus checker
be on different parts of the disk. It then
takes longer to access these files.

This is called file fragmentation.

A defragmenter program is a utility which reorganises


the data on the disk so that all blocks for a file are
stored together to improve access times.

This should be done regularly to maintain hard


disk performance.

CS Topic 5 - Computer Software v2 19


• Virus Checker • Disk editor

• Defragmenter
A virus is a program or programming code • Virus checker
that replicates by being copied or initiating
its copying to another program, computer
boot sector or document.

A virus checker examines a computer system to find virus


software.

It can be set to examine any type of backing storage media,


check email attachments and files downloaded from the internet.

A good virus checker will constantly work in the background


checking for signs of virus activity.

CS Topic 5 - Computer Software v2 20


• file virus
• boot sector virus
• macro virus
Viruses can be classified by the type
of file which they infect.

• file virus
A file virus attaches itself to an executable file (program
which you can run). e.g. Word, Photoshop, FIFA09.

• boot sector virus


A boot sector virus infects the system files that your
computer uses when the bootstrap loader begins to
load in the operating system from disk.

CS Topic 5 - Computer Software v2 21


• file virus

• boot sector virus

• macro virus

What is a macro ?
A macro is a saved sequence of commands or keyboard
strokes that can be stored and then recalled. It makes use
of the programming language which is contained in some
applications. e.g. Visual Basic for Applications (VBA)

These applications allow you to embed a macro in a


document and have the macro execute each time the
document is opened.

CS Topic 5 - Computer Software v2 22


• file virus

• boot sector virus

• macro virus

• macro virus
A macro virus contains instructions which may damage a
document or other software.
It causes a sequence of actions to be performed automatically
when the application is started or something else triggers it.
Once a macro virus gets onto your machine, it can embed
itself in all future documents you create with the application.

This is how a macro virus spreads.


CS Topic 5 - Computer Software v2 23
• replication

• camouflage
• watching

• delivery
• replication
A virus makes copies of itself into other program files.

• camouflage
Virus program writers can have fake code within the program
to prevent virus checkers from spotting the patterns of
instructions which are commonly used in virus programs.

CS Topic 5 - Computer Software v2 24


• replication

• camouflage
• watching

• delivery
• watching
Some virus programs remain dormant in a computer until a
particular event triggers them into action. This can be a
certain date, time or the running of a specific application.
• delivery
This is the term used for when the virus executes and carries
out its intended actions.

CS Topic 5 - Computer Software v2 25


Are viruses, worms and trojan horses all the same?
NO
A virus is a program or programming code that replicates
itself into another program or document.

A virus cannot be spread without a human action, (such as


running an infected program) to keep it going.

CS Topic 5 - Computer Software v2 26


Are viruses, worms and trojan horses all the same?

NO
Worms spread from computer to computer and, unlike a virus,
have the ability to travel without any help from a person

A worm does not alter files but resides in active memory and
replicates. Worms use parts of an operating system that are
automatic and usually invisible to the user.

CS Topic 5 - Computer Software v2 27


Are viruses, worms and trojan horses all the same?

NO
Due to the copying nature of a worm and its ability to travel
across networks the end result in most cases is that the worm
consumes too much system memory (or network bandwidth).

This causes Web servers, network servers, and individual


computers to stop responding and networks grind to a halt.

CS Topic 5 - Computer Software v2 28


Are viruses, worms and trojan horses all the same?

NO
Trojan horses do not reproduce by infecting other files
nor do they self-replicate.

At first glance they will appear to be useful software but will


actually do damage once installed or run on your computer.
The user is tricked into opening them because they appear to
be receiving legitimate software or files from a legitimate
source.
CS Topic 5 - Computer Software v2 29
Are viruses, worms and trojan horses all the same?

NO
Some Trojans are designed to be more annoying than
malicious (like changing your desktop, adding silly active
desktop icons) or they can cause serious damage by deleting
files and destroying information on your system.

Trojans can also create a backdoor on your computer that


gives malicious users access to your system, allowing
confidential or personal information to be compromised.

CS Topic 5 - Computer Software v2 30


Anti-virus software use various techniques to detect viruses.
Four techniques are covered in the Higher course:

• Use of checksum
• Searching for Virus signature
• Heuristic detection
• Memory resident monitoring

CS Topic 5 - Computer Software v2 31


• Use of checksum
• Use of checksum
• Searching for virus signature
The anti-virus software scans an • Heuristic detection
uninfected file and calculates a • Memory resident monitoring
checksum by adding up all the
binary codes in the file.

Whenever the file is to be used, the anti-virus software adds up


all the binary codes again and the checksum should match the
earlier checksum.

If the checksums don’t match then it may be that the file now
contains some virus code.

CS Topic 5 - Computer Software v2 32


• Use of checksum
• Searching for virus
• Searching for virus signature
signature
• Heuristic detection
A known virus will contain a • Memory resident monitoring
sequence of particular lines of code.

This sequence is known as its virus signature.


Anti-virus software keeps a database of known virus signatures
and refers to this when looking for viruses.
When it finds a macro, program or boot sector file with code
matching one of the known virus signatures then it has
found a virus.
The virus signature database has to be updated regularly to
make this effective.
CS Topic 5 - Computer Software v2 33
• Use of checksum
• Heuristic detection
• Searching for virus signature
The term heuristics comes from a • Heuristic detection
Greek word meaning ”to find”. • Memory resident monitoring

This technique involves using knowledge gained from what


existing viruses are like and how they act and using this past
knowledge when looking for new viruses.

It will look for certain “behaviour” in code e.g.


Code triggered by date or time events, code that searches
for .exe files(programs), code that tries to write to disk in an
unusual way.

Heuristic detection makes intelligent guesses about what


files contain viruses.
CS Topic 5 - Computer Software v2 34
• Use of checksum
• Memory resident
• Searching for virus signature
monitoring
• Heuristic detection
This type of anti-virus software is • Memory resident monitoring
loaded into RAM on start up and
remains in operation constantly for
as long as the computer is left on.
It monitors all computer activity and checks programs for
infection when they are about to run.

It checks all programs and files being loaded, modified, copied


or decompressed to look for suspicious signs or activity.

This slows down system performance but can be very


effective at preventing the spread of viruses.
CS Topic 5 - Computer Software v2 35
There are many standard file formats for graphic files. Each
has its own advantages and disadvantages and users
should choose formats carefully depending on the purpose
for the graphic file.

Compression
Graphics files, particularly bit-mapped graphics, can
generate very large file sizes.

It is possible to analyse the data in the file and cut down on


the data which needs to be stored. This is known as
compression.
CS Topic 5 - Computer Software v2 36
Compression saves disk space but affects system
performance as saving and loading takes longer due to the
extra processing involved.

Lossless Compression
This technique manages to cut down on the amount of data
which needs to be stored but does not actually lose any of
the data. This means that the quality of the image is not
affected.
Lossy Compression
This technique cuts down on the amount of data which
needs to be stored by discarding some of the data. This
means that the quality of the image is affected.
CS Topic 5 - Computer Software v2 37
• jpeg
• gif
• TIFF
jpeg (Joint Picture Experts Group)
JPEG is designed for compressing either full-colour or grey-
scale images of natural, real-world scenes. It works well on
photographs, naturalistic artwork, and similar material; not so
well on lettering, simple cartoons, or line drawings

It allows you to save graphics using 24 bit depth allowing 16


million colours.

It uses lossy compression and the user can decide between


quality and file size depending on the intended use.

CS Topic 5 - Computer Software v2 38


• jpeg
• gif
• TIFF
Advantages of using JPEG
• JPEG is a common standard and so it is understood by
many applications
• JPEG images can be compressed by varying amounts to
make the file size smaller
• JPEG allows 24 bit colour(True Colour) and so it is good for
photographs
Disadvantage of using JPEG
• JPEG uses lossy compression so the quality of the original
image suffers.
CS Topic 5 - Computer Software v2 39
• jpeg
• gif
• TIFF
gif (graphics interchange format)

GIF is normally used for diagrams, buttons, etc. which have a


small number of colours. It can also be used for simple
animations.

It only allows you to save graphics using 8 bit depth allowing


256 colours.

It uses lossless compression and so retains quality but it


cannot achieve as big a reduction in file size as jpeg can.

CS Topic 5 - Computer Software v2 40


• jpeg
• gif
• TIFF
TIFF (Tagged Image File Format)

TIFF is is an industry standard file format developed for the


purpose of storing high-resolution bit-mapped, grey-scale,
and colour images.

It allows you to save graphics using up to 32 bit depth


allowing 4 thousand million colours.

It can use either lossy or lossless or no compression and is


often used with lossless or no compression when file quality is
to be maintained. This, of course, leads to large file sizes.
CS Topic 5 - Computer Software v2 41
When choosing software it is important to examine the
system requirements to make sure that the software will
run on the hardware.
System requirements will typically include details on:
Memory
i.e. how much RAM is required for the software.

Storage Requirements
i.e. how much Hard Disk space is required for the software.

OS compatibility
i.e. which operating system it requires.
CS Topic 5 - Computer Software v2

You might also like