Operating Systems
Operating Systems
5 System software
136
5.1
tasks. how these could affect the printing job.
Operating systems
Key terms
CMOS – complementary metal-oxide semiconductor. Hardware management – part of the operating system
Operating system – software that provides an that controls all input/output devices connected to
environment in which applications can run and provides a computer (made up of sub-management systems
an interface between hardware and human operators. such as printer management, secondary storage
management, and so on).
HCI – human–computer interface.
Device driver – software that communicates with the
GUI – graphical user interface.
operating system and translates data into a format
CLI – command line interface. understood by the device.
Icon – small picture or symbol used to represent, for Utility program – parts of the operating system which
example, an application on a screen. carry out certain functions, such as virus checking,
WIMP – windows, icons, menu and pointing device. defragmentation or hard disk formatting.
Post-WIMP – interfaces that go beyond WIMP and use Disk formatter – utility that prepares a disk to allow
touch screen technology rather than a pointing device. data/files to be stored and retrieved.
Pinching and rotating – actions by fingers on a touch Bad sector – a faulty sector on an HDD which can be
screen to carry out tasks such as move, enlarge, soft or hard.
reduce, and so on. Antivirus software – software that quarantines and
Memory management – part of the operating system deletes files or programs infected by a virus (or other
that controls the main memory. malware). It can be run in the background or initiated by
Memory optimisation – function of memory the user.
management that determines how memory is allocated Heuristic checking – checking of software for
and deallocated. behaviour that could indicate a possible virus.
Memory organisation – function of memory Quarantine – file or program identified as being
management that determines how much memory is infected by a virus which has been isolated by
allocated to an application. antivirus software before it is deleted at a later
Security management – part of the operating system stage.
that ensures the integrity, confidentiality and availability False positive – a file or program identified by a virus
of data. checker as being infected but the user knows this
Contiguous – items next to each other. cannot be correct.
Virtual memory systems – memory management (part Disk defragmenter – utility that reorganises the
of OS) that makes use of hardware and software to sectors on a hard disk so that files can be stored in
enable a computer to compensate for shortage of actual contiguous data blocks.
physical memory. Disk content analysis software – utility that checks
Memory protection – function of memory management disk drives for empty space and disk usage by reviewing
that ensures two competing applications cannot use files and folders.
same memory locations at the same time. Disk compression – software that compresses data
Process management – part of the operating system before storage on an HDD.
that involves allocation of resources and permits the Back-up utility – software that makes copies of files on
sharing and exchange of data. another portable storage device.
137
▲ Figure 5.1 An Acorn BBC B (left) and its cassette tape machine (right)
As the hard disk drive (HDD) was developed, operating systems were stored on
the hard disk, and start-up of the motherboard was handled by the basic input/
output system (BIOS). Initially, the BIOS was stored on a ROM chip but, in
modern computers, the BIOS contents are stored on a flash memory chip. The
BIOS configuration is stored in CMOS memory (complementary metal-oxide
semiconductor) which means it can be altered or deleted as required.
The required part of the operating system is copied into RAM – since operating
systems are now so large, it would seriously affect a computer’s performance
if it was all loaded into RAM at once. An operating system provides both the
environment in which applications can be run, and a useable interface between
humans and computer. An operating system also disguises the complexity
of computer hardware. Common examples include Microsoft Windows®, Apple
Mac OS, Google Android and IOS (Apple mobile phones and tablets).
The human–computer interface (HCI) is usually achieved through a graphical
user interface (GUI), although it is possible to use a command line interface
(CLI) if the user wishes to directly communicate with the computer.
A CLI requires a user to type instructions to choose options from menus, open
software, and so on. There are often a number of commands that need to be
typed; for example, to save or load a file. The user, therefore, has to learn a
number of commands (which must be typed exactly with no errors) just to carry
out basic operations. Furthermore, it takes time to key in commands every time
an operation has to be carried out.
138
5
computer and is not restricted to a number of pre-determined options.
For example, the following section of CLI imports data from table A into table B.
It shows how complex it is just to carry out a straightforward operation.
1. SQLPrepare(hStmt,
2. ? (SQLCHAR *) "INSERT INTO tableB SELECT * FROM tableA",
3. ? SQL_NTS):
5.1
4. ? SQLExecute(hStmt);
Operating systems
A GUI allows the user to interact with a computer (or MP3 player, gaming
device, mobile phone, and so on) using pictures or symbols (icons). For
example, the whole of the above CLI code could have been replaced by a single
Table update icon, like the one on the left.
Selecting this icon would execute all of the steps shown in the CLI without the
need to type them.
GUIs use various technologies and devices to provide the user interface.
One of the first commonly used GUI environments was known as windows,
icons, menu and pointing device (WIMP), which was developed for use on
personal computers (PCs). Here, a mouse is used to control a cursor and icons
are selected to open and run windows. Each window contains an application.
Modern computer systems allow several windows to be open at the same time.
An example is shown in Figure 5.2.
139
Memory management
Memory management, as the name suggests, is the management of a
computer’s main memory. This can be broken down into three parts: memory
optimisation, memory organisation and memory protection.
Memory optimisation
Memory optimisation is used to determine how computer memory is allocated
and deallocated when a number of applications are running simultaneously.
It also determines where they are stored in memory. It must, therefore,
keep track of all allocated memory and free memory available for use by
applications. To maintain optimisation of memory, it will also swap data to
and from the HDD or SSD.
Memory organisation
Memory organisation determines how much memory is allocated to an
application, and how the memory can be split up in the most appropriate or
efficient manner.
This can be done with the use of
» a single (contiguous) allocation, where all of the memory is made available
to a single application. This is used by MS-DOS and by embedded systems
» partitioned allocation, where the memory is split up into contiguous
partitions (or blocks) and memory management then allocates a partition
(which can vary in size) to an application
» paged memory, which is similar to partitioned allocation, but each partition
is of a fixed size. This is used by virtual memory systems
» segmented memory, which is different because memory blocks are not
contiguous – each segment of memory will be a logical grouping of data
(such as the data which may make up an array).
Memory protection
Memory protection ensures that two competing applications cannot use the
same memory locations at the same time. If this was not done, data could
be lost, applications could produce incorrect results, there could be security
issues, or the computer may crash.
Memory protection and memory organisation are different aspects of an
operating system. An operating system may use a typical type of memory
organisation (for example, it may use paging or segmentation) but it is always
important that no two applications can occupy the same part of memory.
140
5
organisation used.
Figure 5.4 shows how different applications can be kept separate from each other.
Address Memory
These boundaries mark the 0
upper limits of the operating system
addresses available to each A
application (addresses start
at 0 and end at Z); the Boundary location is at address (A+1)
5.1
boundaries (A + 1, B + 1, A+1
C + 1) are often referred to memory allocated
as a FENCE to application 1
Operating systems
B
Boundary location is at address (B+1)
A FENCE defines the B+1
memory allocated
boundary between the to application 2
operating system and the C
applications; it is not Boundary location is at address (C+1)
possible for an application
to access a memory C+1
memory allocated
location which is lower than to application 3
the FENCE address Z
Upper limit to address value (Z)
Security management
Security management is another part of a typical operating system. The
function of security management is to ensure the integrity, confidentiality and
availability of data.
This can be achieved by
» carrying out operating system updates as and when they become available
» ensuring that antivirus software (and other security software) is always up-
to-date
» communicating with, for example, a firewall to check all traffic to and from
the computer
» making use of privileges to prevent users entering ‘private areas’ on a
computer which permits multi-user activity (this is done by setting up user
accounts and making use of passwords and user IDs). This helps to ensure
the privacy of data
» maintaining access rights for all users
» offering the ability for the recovery of data (and system restore) when it has
been lost or corrupted
» helping to prevent illegal intrusion to the computer system (also ensuring
the privacy of data).
Note: many of these features are covered in more depth elsewhere in this
chapter or in other chapters.
EXTENSION ACTIVITY 5A
While working through the remainder of Chapters 5 and 6, find out all of
the methods available to ensure the security, privacy and integrity of data
and how these link into the operating system security management. It is
important to distinguish between what constitutes security, privacy and
integrity of data.
141
Hardware management
Hardware management involves all input and output peripheral devices.
5 System software
EXTENSION ACTIVITY 5B
Write down the tasks carried out by a keyboard manager when a user types
text using a word processor. Consider the use of buffers and queues in your
answer.
File management
The main tasks of file management include
» defining the file naming conventions which can be used (filename.docx,
where the extension can be .bat, .htm, .dbf, .txt, .xls, and so on)
» performing specific tasks, such as create, open, close, delete, rename, copy,
move
» maintaining the directory structures
» ensuring access control mechanisms are maintained, such as access rights to
files, password protection, making files available for editing, locking files,
and so on
» specifying the logical file storage format (such as FAT or NTFS if Windows
is being used), depending on which type of disk formatter is used
(see Section 5.1.3)
» ensuring memory allocation for a file by reading it from the HDD/SSD and
loading it into memory.
142