Transcript Document
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
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
3
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
4
• 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
5
• 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
6
• 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
7
• 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
8
• 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
9
• 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 don’t 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