Introduction to Computer Science
Topic 5:
System Software
© NCC Education Limited
Systems Software Topic 5 - 5.2
Scope and Coverage
This topic will cover:
System software
Operating systems
User Interfaces
Features of interfaces
Utility Software
Systems Software Topic 5 - 5.3
Learning Outcomes
By the end of this topic students will be able to:
1. Describe the purpose and functions of an operating system
2. Define the term ‘user interface’ and describe a range of types of
interface including graphical user interface, mobile user interface and
a command line interface
3. Describe the features of types of interfaces
4. Describe how the operating system manages memory, peripherals,
users and files including the use of paging, device drivers, access
levels and auditing
5. Describe a range of utility software and their role in maintaining
computer systems including defragmentation, backups, encryption
and compression
Systems Software Topic 5 - 5.4
The Unit Roadmap
• There are 12 • Introduction to Computer Systems
• CPU and Primary Memory
lessons/topics in this
• Secondary Storage
unit. • Application Software
• The topic for today is • System Software
System Software. • Data Representation – Numbers and
• In the next topic, you Text
• Data Representation – Images and
will look at Data Sound
Representation. • Logic Gates
• Computer Networks
• Network Security
• Computer Ethics
• Summary and Exam Preparation
Systems Software Topic 5 - 5.5
A Definition of System Software
• As we discussed in Lecture One, a computer needs system
software to be able to perform its essential tasks such as,
input, process, storage and output.
• Software such as Operating Systems (OS), utilities and
drivers enable a computer to undertake numerous essential
tasks
5.1 Operating Systems
Systems Software Topic 5 - 5.7
The Purpose of Operating System Software
• It operates and controls the computer’s
hardware.
• It provides a platform for the use of
application software.
• It can offers an interface between the
computer and a user.
• It acts as an interface between a user and a
computer.
Systems Software Topic 5 - 5.8
Roles of an Operating System
• Manages memory, e.g. allocates memory to tasks
• Manages processes, e.g. input, output, the movement of
data to and from a hard disk
• Recognises and manages external devices, e.g. memory
sticks, printers
• Manages files and folders
• Handles errors and problems and informs users
• Helps to protect a computer system’s security
• Loads and runs application software
• Enables application software to communicate with system
hardware
Systems Software Topic 5 - 5.9
Operating System Categories
• An operating system can support a single user
• An operating system can support multiple users, for example, on a
network
• An operating system can manage and control computer systems that
use one processor
• An operating system that manages and controls a computer system that
uses multi-processors is described as a multiprocessing operating
system
• An operating system allows more than one program to run at the same
time is described as a multitasking operating system
• An operating system that enables different parts of a single program to
run at the same time is described as a multithreading operating
system
• An operating system that responds to input instantly is described as a
real-time operating system
Systems Software Topic 5 - 5.10
Commonly used Operating Systems
• Commonly used operating systems include:
• Windows
• OS X
• Linux
• Android
• iOS
Systems Software Topic 5 - 5.11
Examples of Operating Systems
Systems Software Topic 5 - 5.12
Functions of an OS
There are many functions of an operating system but at
this level there are FIVE you should know about:
1. Managing Processes
2. Managing Memory and Paging
3. Managing Peripherals
4. Auditing
5. Access Levels
Systems Software Topic 5 - 5.13
Managing Processes
A running program is called a process.
• A computer system typically has lots of
processes that can run at any one time.
• The Operating System manages the scheduling
and protection of the processes
• To make the best use of resources
• To respond to high priority events
• To provide users with ‘fair’ access to resources.
Systems Software Topic 5 - 5.14
Managing Memory
• Computers typically have a memory hierarchy that includes
various levels of storage, such as registers, cache, RAM and
the hard drives.
• The OS manages these different levels of memory to
optimize performance.
• Each memory space has its own logical address space. The
OS is responsible for mapping these logical addresses to
physical addresses in the computer's memory.
• When a process is created, the OS allocates a portion of the
available memory for its execution.
Systems Software Topic 5 - 5.15
Paging
• Paging is a memory management scheme used by operating
systems.
• It handles the virtual memory of a computer.
• It is a technique that allows the physical memory (RAM) to
be divided into fixed-size blocks called "frames“.
• The goal of paging is to efficiently manage memory, enabling
the execution of processes that may not entirely fit into
physical memory.
• It enables processes to access more memory than is
physically available.
Systems Software Topic 5 - 5.16
Managing Peripherals
• The OS handles communication between the
computer's central processing unit (CPU) and
various external devices.
• The OS facilitates communication with peripherals
through device drivers and interrupt handling.
Systems Software Topic 5 - 5.17
Device Drivers
• Device drivers are software components that act as
intermediaries between the OS and peripherals.
• They provide a standardized interface for the OS to
communicate with different types of devices.
• When a new peripheral is added to the system, the
appropriate device driver must be installed to enable
communication.
Systems Software Topic 5 - 5.18
Driver Software
• Provides an interface to hardware and enables
operating systems and hardware devices to
communicate.
• Controls a hardware device.
• Hardware might not function correctly if the
incorrect driver software is installed.
• Regular updates help to resolve hardware
problems and improve performance of devices/
computer systems.
Systems Software Topic 5 - 5.19
Driver Software
• Driver software can be used for many hardware devices, for
example:
• Printers
• Cameras
Modern operating systems support Plug and Play, a
technology that allows the automatic detection and
configuration of new hardware peripherals without the need
for manual intervention.
Systems Software Topic 5 - 5.20
Interrupt Handling
• Peripherals often use interrupts to signal the CPU that they
require attention.
• The OS manages interrupts by assigning priorities and
associating them with specific device drivers.
• When an interrupt occurs, the OS interrupts the normal
execution of the CPU to handle the request from the
peripheral.
• For example, if a printer is low on ink/toner it will signal to the
OS that may send instructions to the CPU to display a
warning to the user on the screen.
Systems Software Topic 5 - 5.21
Auditing
• The OS maintains logs that record various
system events, including user logins, file
accesses, system calls, and administrative
actions.
• These logs are essential for auditing and
investigating security incidents.
Systems Software Topic 5 - 5.22
Access Levels
• The OS typically requires users to authenticate themselves
through a login process.
• This involves providing a valid username and password or
other forms of authentication like biometrics.
• Each user is assigned a user account with specific access
privileges.
• The OS maintains a user database that includes information
about each user, their associated group memberships, and
access rights.
5.2 Software Interfaces
Systems Software Topic 5 - 5.24
Types of Operating System Interfaces
• An operating system’s interface is what is used by a user to
communicate and provide commands to a computer system
• Types include:
• Graphical User Interface (GUI)
• Touch User Interface (Menu Driven/WIMP)
• Voice recognition
• Command Line Interface (CLI)/Command Driven
• Augmented Reality Interface (AR)
Systems Software Topic 5 - 5.25
Graphical User Interface (GUI)
• Easy to use
• The main features are the use of :
• Windows
• Icons
• Menus
• Pointers
(WIMP)
Systems Software Topic 5 - 5.26
Graphical User Interface
Advantages:
• User-Friendly: GUIs are visually intuitive and easy to
use, making them accessible for a wide range of
users.
• Multitasking: Users can easily perform multiple tasks
simultaneously through graphical elements like
windows and icons.
• Widespread Adoption: GUIs are the most common
interface type, used in operating systems,
applications, and websites.
Systems Software Topic 5 - 5.27
Graphical User Interface
Disadvantages:
• Resource Intensive: GUIs can consume more
system resources compared to text-based interfaces.
• Learning Curve: Users may need some time to
familiarize themselves with the graphical elements and
functionalities.
Systems Software Topic 5 - 5.28
Touch User Interface
• Commonly used on tablets and mobile phones
• The main features are:
• the use of fingers and/or pointing devices
• Icons, documents, images can be pinched to enlarge or
decrease the view
• Pages can be swiped and scrolled
• Objects such as images can be rotated
Systems Software Topic 5 - 5.29
Touch User Interface
Advantages:
• Gesture Support: Supports gestures for tasks like
zooming, swiping, and rotating, enhancing user
experience.
• Portability: Common on mobile devices, making
interfaces portable and convenient.
Systems Software Topic 5 - 5.30
Touch User Interface
Disadvantages:
• Limited Precision: Touchscreens may lack the precision
of other input methods.
• Hygiene: Screens can accumulate fingerprints and
smudges, affecting visibility and cleanliness
• Learning Curve: Younger or older users may need time to
adapt to touch gestures.
Systems Software Topic 5 - 5.31
Voice Recognition
• A user communicates with a computer system
by speech.
• Can be used to convert speech into text
• Can be used to communicate with an intelligent
personal assistant or smart speaker system, e.g.
Alexa, Siri,
Systems Software Topic 5 - 5.32
Voice recognition
Advantages:
• Hands-Free Operation: Users can interact with devices
or applications without using their hands, enhancing
accessibility.
• Natural Interaction: Mimics natural human
communication, making it user-friendly for various
demographics.
• Multitasking: Allows users to perform tasks while
engaged in other activities.
Systems Software Topic 5 - 5.33
Voice recognition
Disadvantages:
• Recognition Challenges: Voice recognition may struggle
with accents, background noise, or variations in speech
patterns.
• Privacy: Concerns about privacy arise as voice
commands are processed and stored by the system.
Systems Software Topic 5 - 5.34
Command Line Interface (CLI)
• A user communicates with the computer by
typing commands.
• More than 270 commands are available and
include ‘format’, ‘copy’ and ‘del’
• Only a keyboard is used.
Systems Software Topic 5 - 5.35
Command Line Interface
Advantages:
• Efficiency: CLI can be more efficient for experienced
users who prefer keyboard commands for quick
navigation and execution.
• Scripting and Automation: CLI is powerful for scripting
and automating repetitive tasks.
• Resource Efficiency: Consumes fewer system
resources compared to GUIs.
Systems Software Topic 5 - 5.36
Command Line Interface
Disadvantages:
• Steep Learning Curve: CLI requires users to memorize
commands which can be challenging for beginners.
• Less Intuitive: Users may find it less intuitive, especially
those used to graphical interfaces.
Systems Software Topic 5 - 5.37
Augmented Reality (AR)
• Augmented Reality (AR) is a technology that overlays
computer-generated content onto the user's view of
the real world.
• It enhances the user's perception of the physical
environment by blending virtual elements with the
real-world environment in real-time.
• Popularized by games like Pokémon GO, AR
enhances gaming experiences by placing virtual
objects or characters in the real world
Systems Software Topic 5 - 5.38
Augmented Reality (AR)
.
• AR and VR are being
used in educational and
training applications
• They provide interactive
learning experiences,
such as overlaying
information on textbooks
or creating immersive
simulations for nurses
dealing with patients, or
pilots learning to land a
plane.
Systems Software Topic 5 - 5.39
Augmented Reality (AR)
Advantages:
• Enhanced User Experience: Integrates digital
information with the user's real-world environment,
providing an immersive experience.
• Hands-Free Interaction: Enables interaction without
physical devices through gestures and voice
commands.
Systems Software Topic 5 - 5.40
Augmented Reality (AR)
Disadvantages:
• Technical Challenges: Implementation may require
advanced hardware and face technical challenges.
• Expensive Hardware: Equipment is currently costly
5.3 Utility Software
Systems Software Topic 5 - 5.42
Utility Software
• Utility Software helps to:
• Maintain a computer system
• Secure a computer system
• Analyse a computer system
• Optimise a computer system
Systems Software Topic 5 - 5.43
Examples of Utility Software
• Anti-virus utilities
• Back-up utilities
• Data compression utilities
• Back-up utilities
• Disk cleaners
• Disk compression utilities
• Disk fragmenters
• Archive utilities
• File managers
• Cryptographic utilities
Systems Software Topic 5 - 5.44
Defragmentation
• As more and more files are written and deleted from the hard drive,
individual file parts are written in different segments.
• Defragmentation software takes the fragmented files and rearranges the
segments so that they run contiguously. This decreases read/write time,
thereby speeding up computer performance.
Before defragmentation After defragmentation
Systems Software Topic 5 - 5.45
Backup software
• Data loss can occur due to user mistakes, network disruptions, or
malicious hacking activities.
• To mitigate the risk of data loss, it is advisable to create regular copies of
the data, commonly known as backups. These backups can encompass
all files on a computer or be selectively chosen by the user.
• Network administrators employ backup software to routinely create
backups of all files within a network.
• This utlity software is programmed to automatically initiate backups at
scheduled times, often during quiet periods like evenings.
• The backups are typically stored on high-capacity secondary storage
devices or in the cloud.
Systems Software Topic 5 - 5.46
Compression
• Compression software diminishes the size of a file saved on
secondary storage.
• Reduced file sizes simplify the transmission process across
a network, as fewer packets need to be sent.
• Additionally, the smaller size allows for the storage of more
files within a given storage area.
• You will learn about different types of compression in
Chapter 7.
Systems Software Topic 5 - 5.47
Encryption
Encryption software disguises data transmissions so that it
cannot be understood by anyone but its intended recipient.
Encryption requires the use of a key and an encryption
algorithm.
The key is secret as to how the message has been disguised.
Systems Software Topic 5 - 5.48
Encryption in use
Today, most communications sent via the internet are encrypted
in some way:
• purchases made online are encrypted to try to prevent theft
of credit card details
• tools enable a user to encrypt a document, such as a
spreadsheet, before sending it to a colleague via the internet
• satellite TV transmissions are encrypted to prevent users
who are not subscribed from watching TV shows
End of lecture notes
Any Questions?
Systems Software Topic 5 - 5.50
Do You Know This?
• The "hamburger" icon, consisting of three
horizontal lines, has become a widely recognized
symbol for a hidden menu.
• Its origin is often attributed to designer Norm Cox,
who created it for the Xerox "Star" personal
workstation in the 1980s.
Systems Software Topic 5 - 5.51
Topic 5 Exam questions / Quiz
1. State three purposes of an Operating System
2. Describe a Command Line Interface
3. What is a device driver
4. State two examples of utility software that support
the management of memory
5. What is encryption?
Systems Software Topic 5 - 5.52
Topic Summary
You should now know how to:
1. Describe the purpose and functions of an operating system
2. Define the term ‘user interface’ and describe a range of types of
interface including graphical user interface, mobile user interface and
a command line interface
3. Describe the features of types of interfaces
4. Describe how the operating system manages memory, peripherals,
users and files including the use of paging, device drivers, access
levels and auditing
5. Describe a range of utility software and their role in maintaining
computer systems including defragmentation, backups, encryption
and compression
Systems Software Topic 5 - 5.53
References
• [Link]
ision/4
Topic 5 – Systems Software
Any Questions?