Sunteți pe pagina 1din 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. 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

The bootstrap loader

1. Operating system
2. Utility software

The bootstrap loader is a small but


very important part of the OS which is
permanently stored in ROM.

3. Applications software

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

The main part of the operating


system in RAM manages the
computer and allows the user to
communicate with the hardware

1. Operating system
2. Utility software
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

Interpreting User Commands


This part of the operating system
accepts commands (from a
keyboard, mouse, etc) and passes
them to the appropriate parts of the
operating system.

Interpreting User Commands


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

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

File Management 1
This part of the OS manages file
operations and backing storage
allocation.

Interpreting User Commands


File Management
Memory Management
Input/Output Management
Managing Processes
Resource 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

File Management 2
File Management uses its index to
work out exactly where on the disk
the file is stored. e.g. Track 10,
Sector 4.

Interpreting User Commands


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

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

Memory Management 1
Memory Management decides
where programs and data are to
be placed in RAM.

Interpreting User Commands


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

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

Memory Management 2
It makes sure that programs do
not access RAM space allocated
to other programs

Interpreting User Commands


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

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

Input/Output Management 1
It is the task of Input/Output
Management to do all the actual data
transfers and issue the appropriate
control signals to the peripheral
devices.

Interpreting User Commands


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

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

Input/Output Management 2
Different types of peripheral
devices work in different ways.

Interpreting User Commands


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

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

Managing Processes 1
A process is defined as being an
instance of a sequence of code in
execution

Interpreting User Commands


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

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

Managing Processes 2
At any give time, the OS has to
decide:

Interpreting User Commands


File Management
Memory Management
Input/Output Management
Managing Processes
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

Resource Allocation
The competing processes
require access to resources.

Interpreting User Commands


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

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
A disk editor is a utility program that lets
the user read, edit, and write the low-level
raw data on a disk.

Disk editor

Defragmenter

Virus checker

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
Magnetic disks are organised so that they
store data in blocks of a fixed size.
Depending on its size, a file will typically
occupy several blocks.

Disk editor

Defragmenter

Virus checker

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
When new files are saved the blocks may
be on different parts of the disk. It then
takes longer to access these files.

Disk editor

Defragmenter

Virus checker

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
A virus is a program or programming code
that replicates by being copied or initiating
its copying to another program, computer
boot sector or document.

Disk editor

Defragmenter

Virus checker

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
The anti-virus software scans an
uninfected file and calculates a
checksum by adding up all the
binary codes in the file.

Use of checksum

Searching for virus signature

Heuristic detection

Memory resident monitoring

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 dont match then it may be that the file now
contains some virus code.

CS Topic 5 - Computer Software v2

32

Searching for virus


signature

Use of checksum

Searching for virus 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

Heuristic detection
The term heuristics comes from a
Greek word meaning to find.

Use of checksum

Searching for virus signature

Heuristic detection

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

Memory resident
monitoring
This type of anti-virus software is
loaded into RAM on start up and
remains in operation constantly for
as long as the computer is left on.

Use of checksum

Searching for virus signature

Heuristic detection

Memory resident monitoring

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

jpeg

gif

TIFF

(Joint Picture Experts Group)

JPEG is designed for compressing either full-colour or greyscale 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

gif

jpeg

gif

TIFF

(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

TIFF

jpeg

gif

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

42