OCR Computing for GCSE

Student notes 3
Software
System software
System software is software that is used to enable the computer to operate. It includes the
operating system and utilities.
Operating system
The operating system is a crucial piece of software in a computer system because it
provides a platform on which all other programs can run.
Common operating systems on modern desktop computers include Microsoft® Windows®,
Mac OS® and Linux®. There are, however, many more.
Functions of an operating system include:
• providing a user interface
• memory management
• peripheral management
• multi-tasking
• providing basic security
Providing a user interface
The operating system provides the basic user interface of the computer. It determines the
look and feel of the system. This is why it is often possible to tell which operating system a
computer is using after you see its user interface.
Memory management
We have seen that a program or a file needs to be loaded from secondary storage into the
RAM before it can be used. Once the operating system itself is loaded, it takes control of
how everything else gets loaded into RAM.
A special program in the operating system keeps a record of which areas of RAM have been
used and what is stored in them. When a new program or file needs to be loaded, it finds
the required amount of free space in the RAM and allocates it to the program or file.
By doing this, the operating system performs the very important job of making sure that
the programs and data in the RAM do not accidentally overwrite each other, or overwrite
the operating system.
It also makes sure that the RAM is used efficiently. This can involve moving data around
inside the RAM to create convenient large free space for new programs and data. This can
also involve managing the virtual memory. It does this by deciding which items in the RAM
are not currently needed and transfering these to secondary storage, and then retrieving
them and putting them back in the RAM when they are needed.
Page 1 of 7
OCR Computing for GCSE
© Hodder Education 2011
Continued
Peripheral management
Device drivers are special programs that are used by the operating system to control the
hardware that is connected to the computer. Each item of hardware needs a driver that is
created specifically for that operating system and that hardware. It enables the operating
system to interact correctly with that item of hardware.
When a piece of hardware is connected to a computer, the operating system detects it and
runs the device driver for that hardware. This often happens without the user realising that
the operating system has started a new program.
If, for example, the user types some text into a word processor, the operating system
uses the keyboard driver to determine which keys have been pressed. It then passes the
message that the keys have been pressed to the correct program, even if there are several
programs running in the computer.
Multi-tasking
Many operating systems allow multi-tasking. This is where the computer can run several
programs at the same time, for example listening to music while browsing the internet.
In reality, most computers can only perform one task at a time because the processor can
only fetch and execute one instruction at a time.
When the computer is multi-tasking, the operating system keeps all of the programs open
even though only one is actually being executed at a time. All the others are waiting for
their turn to be executed. The processor then gives each of the programs a turn to be
executed and swaps the turns very quickly between the programs so that it appears to the
user as if all of the programs are running at the same time.
The operating system allocates which programs have a turn to be executed and when.
It usually does so in a clever way to make sure that the whole system runs smoothly. For
example, if a user is typing into a word processor while another program is doing some
complex calculations in the background, then the operating system makes sure that the
typing is dealt with quickly so that the user does not have to wait for too long after they
have typed a character to see it appear on the screen.
Providing basic security
The operating system also provids security in several ways.
Most operating systems can require a user to log on before they use the computer. The
operating system checks whether the password was entered correctly.
Operating systems can also assign and manage user rights. This involves determining
which files and folders each user can open or edit and which programs a user can run. If
several users use the same computer, it uses this to ensure that they do not accidentally
damage each others files. In addition to the security provided by the operating system
itself, many operating systems also provide additional utilities for security such as a basic
firewall program. We look at utilities in the next section.
Page 2 of 7
OCR Computing for GCSE
© Hodder Education 2011
Continued
Utilities
Utilities are small programs that perform useful maintenance tasks, for example
maintaining security, disk organisation and system maintenance.
Utilities for security
A piece of software that most computers connected to the internet should have installed
and running is antivirus software. It is not usually part of a computer’s operating system
and so needs to be installed separately. Antivirus software searches for and destroys
computer viruses infecting the computer.
A computer virus is a program that attaches itself to files. The virus is programmed so that
when an infected file is opened, the virus spreads to other files and potentially to other
computers which the computer is connected to. The virus was created intentionally to
damage other people’s computers, and so it is often referred to as being a type of software
called malware (malicious software).
Another type of malware is spyware. Spyware is a program that runs ‘secretly’ on a
computer recording personal information, such as passwords and credit card numbers,
when a user types these in. It then sends this information to someone via the internet so
that it can be used to commit fraud. A trojan is another type of malware which appears to
be performing some innocent task, but secretly performs something more sinister, such as
allowing unauthorised people to have access to the computers and all its files. Adware is
malware that causes multiple, disruptive and sometimes offensive advertisements to pop
up on the screen.
Many antivirus programs also search for and destroy other types of malware and so are
more correctly called anti-malware programs.
A good anti-malware program should not just find and delete malware, but should try and
prevent the user from getting any malware in the first place. This can be done by scanning
any new file that is brought into the computer whether it is downloaded from the internet
or copied from a removable storage device. Emails are also often scanned because they
are provide common ways for a viruses to spread (e.g. by means of an attachment or
embedded code).
Another useful utility for security is a firewall. This is a program that monitors the traffic
between a computer and the internet and only allows connections which are authorised.
If another program, which is not authorised, is trying to access the computer, it will either
be blocked or the user will be asked for permission. A firewall can also block the channels,
called ‘ports’, through which computers communicate, only allowing those ports which are
needed by the user.
Using a firewall prevents hackers getting into the computer, and prevents programs such as
spyware and trojans from releasing details held on the computer onto the internet.
Page 3 of 7
OCR Computing for GCSE
© Hodder Education 2011
Continued
Utilities for disk management and organisation
Secondary storage, which can be internal or removable, is vital to a computer system
because this is where the programs and data are stored, allowing the system to operate
relialbly over a long period of time, even if it is turned off from time to time. There are
therefore a number of utilities which are used to ensure that the secondary storage is
working properly. This is so vital to the running of the system that these utilities often come
built in to the operating system.
Disk formating utilities prepare a disk to be used for the first time. This process is called
initialising a disk. A new disk is like a very large blank sheet of paper on which data will be
stored. When the disk is formatted the disks is organised into blocks and each block is given
an address. This is like dividing the large sheet of paper into smaller numbered squares. To
store or retrieve an item, you need to know the number of the square. During formatting,
a file allocation table is also created. This is an index that tells the operating system which
files are stored in which blocks.
Another utility which is often needed on a personal computer is one for defragmentation.
This is needed because of the way computers usually use the blocks on a disk. When a file
needs to be saved, the operating system splits the file into small pieces and puts each piece
into any free block on the disk. Although it is better for the blocks of the same file to be
next to each other, they do not have to be. After many files have been saved and deleted,
it is very likely that the files will be split across blocks in the wrong order and in different
parts of the disk. When this happens, we say that the disk is fragmented as shown below.
Representation of a section of a fragmented disk. Each
square represents one block and each colour shows the
blocks which belong to the same file.
A disk defragmenter rearranges the files on the disk by copying data from one block to
another, so that the files are saved in order in blocks which are next to each other. The
result of defragmenting the disk is shown here.
Representation of a section of a defragmented disk.
Defragmenting the disk makes the system work better because the operating system does
not have to jump between different parts of the disk to retrieve the pieces and assemble
them. It can also save files more easily because the free spaces are next to each other.
Because disk defragmenting utilities make the disk work better, they are sometimes also
called disk optimisation utilities.
Page 4 of 7
OCR Computing for GCSE
© Hodder Education 2011
Continued
Several utilities exist to let users manage their files. Usually, the files are organised in a
hierarchy of folders or directories. There is a main folder which can contain files or other
folders. These folders can, in turn, contain other files and folders and so on. The files are
not actually physically located in these folders on the disk itself: it is the file management
software that presents the files organised into folders for the convenience of the user.
Some other file management utilities use a different method of organising the files for the
user. Instead of folders, they can use other metaphors, such as a library containing shelves
with books. Some also have a very powerful search and indexing facility so that the user
can easily reorganise the files in different ways, such as by the date it was created, by the
type of file that it is or by special words or ‘tags’ associated with the file.
File management utilities allow users to perform tasks easily, such as deleting and renaming
files. This is especially useful when you want to perform these tasks with a large number of
files at the same time, because you do not need to delete or rename each file individually.
They also allow users to transfer files. Files can be transfered within the same disk (e.g. from
one folder to another). Usually this means that the file is not actually moved on the disk.
Only the entry in the file allocation table, or index, is updated to show the new ‘location’
of the file. Files can also copied or moved to another disk (which is useful, for example,
in backing up). Some utilities even allow users to manage and transfer files across the
internet, using file transfer protocol (ftp). This is an agreed set of rules for file management
on the internet which allow different utilities to access, copy, move or delete the files on
servers which can be located anywhere in the world, as long as the utility is following the
rules correctly.
Utilities for system maintenance
It is important to keep a computer system running smoothly, and there are a number of
utilities that can help with this.
System information utilities provide the user with useful information about how the
computer system is running. This can include information about the hardware that is in the
system, such as the type of processor or the number of disks that are connected. It can also
include information about how the hardware is performing, such as the temperature of the
processor, the percentage of the CPU capacity that is being used or how full the disks are.
System information utilities sometimes also perform a diagnosis. This means that they scan the
computer for common problems and report these to the users. They can also automatically
repair the problem or give instructions to the user about how to solve the problem.
A common problem with computer systems after they have been used for a while is that
they accumulate a number of files and other items that are no longer required. These
include temporary files, orphaned files and settings (files and settings which were left
behind when a program was removed from the system), very old backups etc. As these
items accumulate, they use up the computer’s resources and reduce the performance
of the system. We need a system cleanup utility to solve these problems. This scans the
computer and removes all the unwanted items.
Page 5 of 7
OCR Computing for GCSE
© Hodder Education 2011
Continued
Another system maintenance utility is a system update tool. This keeps a record of
software that is installed on a system and checks from time to time whether there is an
updated version of this software available on the internet. If an update is available, then it
is downloaded and installed. This can often be done automatically. The software updated
can be the operating system itself, a utility, an application program or a hardware driver
(softare that allows the hardware to work).
One problem with this is that a typical computer system will contain software that is
written by different companies and the updates are stored on the internet in different
formats on different companies’ servers. The software update tools, therefore, are often
built into the software itself, allowing each program to update itself. Other systems solve
this problem by having large servers called repositories where all updates for all software
are stored. A software update utility then has to check only this repository to see an update
is available.
Issues to consider when acquiring software
Custom-written and off-the-shelf software
Users who want software usually have the choice between custom-written and off-the-shelf
software.
Custom-written software is software that is produced specifically for that user. When the
user wants software, he or she asks a software developer to write the program.
Off-the-shelf software is software that has a more general purpose and is needed by many
customers. A software company identifies that this program is needed, writes the program
and then make it available, usually by selling a licence to use it. When a user wants the
software they can buy a licence, install the program and use it straight away.
The main advantage of custom-written software is that it fits the needs of the user exactly:
because it was designed for the user, it is likely to have all the functions and only the
functions that the user needs. It is also certain that it will work with the user’s existing
hardware and software because this can be included in the design of the program. If there
is ever an issue with the software, the user can usually contact the software developer to
request that the error is fixed or to add new features. However, the user needs to wait
for the software to be developed and the cost of paying someone to write the software
is usually very high compared to off-the-shelf software. For this reason, custom-written
software is mainly used only when there is no off-the-shelf software available to do exactly
what the user wants.
Off-the-shelf software has many advantages: it is readily available; the user can see the
software working and perhaps even try it before deciding to buy it; the user can also be
more confident in the software because it has been tried and tested by many other users;
the user can get recommendations and read reviews by other users. The existence of a
large group of users also has the advantage that that help, training and manuals can be
Page 6 of 7
OCR Computing for GCSE
© Hodder Education 2011
Continued
obtained from other users, not just from the developer. The large number of users also
makes the program cheaper because all the users contribute to the cost of making the
program.
Open-source and proprietary software
Another aspect to consider when getting new software is whether the software is open
source or whether it is proprietary. These terms describe the type of permission, or licence,
that the developer gives about how the software can be used.
Proprietary software is software where the user is given the program, but not the source
code. The user buys a licence, or permission, to run the software under certain conditions,
but the user does not own the software itself. The licence does not allow the user to modify
the software or to figure out how the software was made by using a special program called
a decompiler to recreate the code. Usually, the licence also forbids the user from making
copies to give to other users and may even restrict the number of computers on which
the software can be used. Software developers set these restrictions in order to protect
the copyright because the software is their intellectual property. (This is why it is called
proprietary software.)
Open-source software is software where the developer makes the source code available
with the program. The software licence allows the user to modify the software. The user
can study and then add or change some of the code if they want to improve the program
or if they want to adapt it for a particular use which the original software developer had
not thought of. The licence usually allows the user to redistribute copies of the software,
including copies that have been modified, provided that the licence is not changed.
Open-source software is usually free of charge because the licence does not allow the
developer to receive royalties. However, ‘open source’ does not necessarily the same as
free software. There are many examples of free software (also called freeware) where the
developer still claims a right to the copyright of the software. When people refer to opensource software as ‘Free’ software (usually written with a capital F) what they mean is that it
is free from the restrictions on the copyright that proprietary software has.
One advantage of open-source software is obviously that the user can adapt or improve the
code to suit their purpose. Also, the fact that several users contribute to the development
of the software means that it is possible that the overall quality will be better. Many people
support the concept of open-source software for ideological reasons (they think it is a good
idea to share intellectual property instead of trying to profit from it). As a result, they invest
a lot of effort in improving open-source software.
On the other hand, proprietary software gives software developers an incentive to produce
quality software because the developer is looking to profit from the intellectual property
rights. This can cause the user to feel more confident about the software, especially if the
software developer already has a good reputation.
Page 7 of 7
OCR Computing for GCSE
© Hodder Education 2011