Chapter 4
Chapter 4
Operating System
Utility Software
Utility programs perform specific tasks related to computer functions,
resources, files and security. They help to configure the system, analyse how
it is working and optimise it to improve its efficiency. Some of these utilities
include:
Security utilities:
o Anti-Virus - Scans the computer system and ensures that files are
quarantined so that they can be removed by the user
o Encryption - uses an algorithm to scramble (encrypt) a file according
to the key which is used to make the file unreadable; the key is needed
to decrypt the file back to its original form so it can be read
o Firewall - monitors network traffic and blocks unauthorised access.
Criteria is set and if the data meets the criteria it is accepted otherwise
it is rejected
o System Clean-Up Tools – to search for and remove files no longer
needed, to reduce space and speed up access to the system
o Disk Defragmentation Tools - it is used to rearrange the parts of files
on the disk drive: when a file is saved to the disk, parts of the file might
be saved in different areas of the disk, these tools try to move all the
parts to the same area for quicker access
Application Software
This is designed to carry out a specific task the user would need for
completing a variety of tasks. These are the applications that the operating
system would process and allow end users to complete their vital day to day
tasks. Examples are:
Word Processing Software
o This allows users to create written documents
o e.g. letters, reports etc
Spreadsheet Software
o This allows users to perform numerical calculations and function to
create automation for all mathematical elements
o e.g. budgeting, accounting, stock counts etc
Presentation Software
o This allows users to create interactive and multimedia presentations to
show to an audience
o e.g. sales pitches, launching of products etc
Multimedia Software
o This is used to create multimedia and interactive content for a number
of purposes, it explores text, audio, images, video, sound and
animations
o e.g. image manipulation, editing a video etc
Web Browsers
o This allows the user to access the internet and use the world wide web
Exam Tip
Make sure you use the names given above and not brand names e.g.
Microsofts this will cut you marks
Distribution Methods
Freeware software is where:
The user is not allowed to access the source code so, they cannot tailor the
software to their needs or fix any bugs in it
The software is still covered by copyright and the user must get the owner’s
permission to do anything beyond using it
The user can access the source code so, they can tailor the software to their
needs and fix any bugs in it
The source code could be studied for educational purposes
The user can redistribute the software but this must be done under the same
terms as the original software
Gives a trial version of the software for a limited time with limited features free
of charge
Requires the user has to pay fee if the full version is needed
Is protected by copyright
Is a type of software licence
Accessibility of software
Age appropriation
Copyright
Distribution of malware
Environmental impact of distribution media e.g. CDs
Following guidelines of professional bodies e.g. ACM/IEEE/BCS
Intellectual property theft
Offensive materials
Plagiarism
Privacy of data
Security of software
Exam Tip
Make sure you apply your answer to the context given in the question
o The file manager controls all of the different files on the system, e.g. text
files, graphic files, and program files. It controls file permissions such as the
user's ability to see or open a file, write a file or delete a file.It helps
to organise and control files so that they are as easy to use as possible for
the user. It can help to protect the user from accidental mistakes too
Handling Interrupts:
o An interrupt is a signal from a device or software to the processor. This
will stop the processor temporarily from fulfilling this request immediately,
some examples could be:
o Software errors - e.g. files not found, or software not responding
o The user initiating Ctrl Alt Delete to lock, log off etc
o Files stop copying as the name of the file is already in the folder
o Once this interrupt is received by the CPU it either carries on or completes
the action desired
o Whenever an interrupt is initiated the status of this task is saved to
the interrupt service routine.
o Once the interruption has been completed the system continues back to
normal before the interruption even happened
Providing an Interface:
o Users must interact with the operating system through a user interface. The
user interface is a system which converts what the user inputs to a form that
the computer can understand and vice versa
o Many computer or database operating systems use complex programming
languages which are not easy to use
o A user interface is created to allow easier control of the operating system by
the system user. A good interface should be easy to use
o e.g.: consistent menu structures; consistent operations from actions like
clicking the right mouse button
Managing Peripherals and Drivers:
o The overall intention of this is to handle all the devices that are connected to
the computer system. This includes input devices such as a keyboard and
mouse, it also includes output devices such as a monitor and printer
o It communicates with the devices through software called drivers. These
translate the instructions by the device manager into one the devices can
understand Peripherals like a mouse, keyboard and printer all need drivers so
that they can communicate with the software
Managing Memory:
o Memory management is in charge of the RAM. Programs
use RAM throughout their operation. Some programs will be large and
complex and use the RAM extensively whereas some are very small
programs and won’t use it as much
o Memory management checks all requests from programs are valid and
allocates accordingly. It will deallocate space and swap out data to virtual
memory. It will ensure overall that different programs can be open at the
same time
Manage Multitasking:
o Multitasking allows for software tasks to be completed at the same time to
ensure multiple elements can be completed immediately, it uses a system
called time slicing which splits different tasks into small segments
o They can all be run one after the other, giving the element of multiple tasks
being completed at the same time, instead of waiting for one operation to
complete before moving on to the next task
o
Creating/Deleting users for the system
Providing access level rights, e.g. administrator rights over installing,
modifying a system or accessing files or folders. This is compared to
standard rights of just accessing and using software/files on the
system.
Auditing - this is keeping a log of file edits, deleted files, creation of
files etc
Protecting from threats, viruses, worms, malware or remote hacker
attacks
Security updates to fix patches in the operating system
o This process is in between the Operating System and Hardware
o When a computer initially first loads up, it has to explore the ROM for its initial
boot-up instructions These are contained in a Bootstrap loader
o The initial process is handled by the basic input/output system (BIOS)
which is known as firmware. This will provide some low-level control for all
devices
o Once complete these are sent to RAM to be processed by the operating
system
o Overall this creates an extra layer which is to ensure that initially the
hardware devices e.g. keyboard are available and can be communicated
directly with the operating system
E.g. - If you were to type on a word processing document, this would talk with the
operating system initially to request the key presses. It would send it to the firmware
to check whether the keyboard is available. Once the connection is established with
the hardware it communicates directly with the keyboard back through firmware, the
key instructions are passed up to the operating system and finally displayed on the
word processing software
Exam Tip
Ensure you have the understanding of how the four areas work together. An exam
question would focus on how these four key areas would communicate.
Interrupts
We know that computers use the fetch-decode execute cycle within the CPU to run
instructions over and over. However, while this is occurring other devices may need
to signal to the CPU to tell it to stop temporarily (interrupt) so that it can do the
dedicated specific task
E.g. a user has initiated ctrl alt delete to run task manager or a user wants a
document printing
Interrupts will need to ensure that the CPU can stop executing its current program
to run code for the overall interruption. Interrupts need to be added to an area
called the interrupt service routine
o Hardware Interrupt - this is caused by a hardware device such as a
hardware failure e.g.
pressing a key on the keyboard
moving the mouse
o Software Interrupt - this occurs when an application stops or requests
services from the OS e.g.
a program is not responding
division by zero
two processes trying to access the same memory location
However, the CPU currently contains registers that are holding data currently being
handled: These include:
o Program Counter - The location of the next instruction which will need to be
fetched
o Current Instruction Register - holds the current instruction being executed
o Memory Address Register - stores the location of where the data is being
stored in RAM or where in RAM the data will be sent
o Memory Data Register - stores the actual data from the location in
the RAM or that will be sent to RAM
The interrupt service routine is simply added to a particular area where a certain
set of instructions are sent that will need to be fetched, decoded and executed to
complete the commands of the interrupt
As a result, it’s clear that the current registers will need to be changed at this point to
accommodate the interrupt
The interrupt will be executed instead of the original instructions
When the interrupt is received the current values that were held in the registers are
copied back to the RAM in an area known as a stack
These values are pushed onto the stack and are added to the top of the stack
frame, which will save them for later retrieval when the interrupt is complete
There is a possibility that an interrupt can also be interrupted which is known as a
division by zero. Due to the system in RAM with stack frames, the
current interrupt would be moved to the bottom of the stack frame to complete the
main interrupt initially
Exam Tip
Focus on the interrupt service routine and its importance with sending the
instructions to a stack frame to process the interrupted instruction, the previous
instructions can be accessed at the top of the stack frame to continue processing
afterwards.
There are common interrupt priorities for different categories, these are:
Hardware
User
Software
Timer
Input/output devices
o Signaling of data transfer been completed
o Printer ink supply notifications
o Input devices not responding
Advantages Disadvantages
It gives programmers complete control over the system Difficult to write and understand
components so it can control hardware components.
Efficient code can be written for the processor so it will Machine dependent and cannot be added
occupy less memory and execute faster to different specification machines
They provide direct manipulation of hardware which means More prone to errors
it will be more efficient
Communicates directly with hardware Knowledge of computer architecture is
key to program effectively
It is easier to read and write and the programmer The user is not able to directly manipulate the
is less likely to make mistakes hardware
Needs to be translated to machine code before
It is easier to debug so it will save time
running
The code is portable so can be used on any
The program may be less efficient
computer
One line of code can perform multiple
commands
Exam Tip
You will be asked about the advantages and disadvantages of high or low level
languages or you will be asked to compare and contrast between the two types of
language
Assembly Language
The first languages were actually direct machine language, where programmers had
to program it with direct binary numbers of 1’s and 0’s. It was quite clear to see that
this method was incredibly difficult to program, which allowed the introduction of
Assembly languages
This is used rather than binary code which allowed continuation of working directly
with the hardware but removed an element of complexity
A mnemonic is received by the computer and it is looked up within a specific table
An assembler is needed here to check the word so that it can be converted into
machine code
If a match from the word is found e.g. STO the word is replaced with the relevant
binary code to match that sequence
Exam Tip
A question will focus more directly on how the assembler converts to work with the
hardware. You must focus on mnemonics being converted from a table and into the
corresponding binary code
Compilers & Interpreters
Programmers will write program source code using high-level languages e.g.
Python, Java, C# etc. As programmers, we can understand source code as it is
descriptive, easy to read, maintain and debug. However this is not good for the
hardware as it needs to be converted into binary to allow the hardware to understand
and execute it, this is known as machine code. For this to work it needs to pass
through a translator first. There are two types of translators - a compiler and an
interpreter
Compiler
This method will translate a program into machine code. Compilers convert the
source code in one go into an executable file ready for distribution. This method is
used mainly when a program is finished with no syntax or logical errors
Compiling may take time to be processed, however, this can be used over without
needing to be recompiled every time, bearing in mind that the program contains no
errors
Error reports are produced after a program has been translated. Common errors in
code will allow the computer to crash and not respond, it’s important to be aware that
if there are errors the source code must be changed to compile again
Interpreter
This is the method that directly sends the source code to the machine code. This will
translate each line of code individually, if an error occurs the program will stop and an
error message will occur. Once the error message is fixed, the program can carry on
running from where the error occurred
Exam Tip
You will need to have a good understanding of the difference between a compiler
and an interpreter. You will need to focus on features of compilers and interpreters or
focusing on an overall comparison between the two
Although both translators find errors in code, they do not debug the errors - this is
done by the programmer
Advantages Disadvantages
Run quickly as the program as the Due to all code being compiled at the same time there must be
source code has been stored to be enough memory space to handle this, if not and virtual
translated memory is used it can be much slower
Compilers optimise the code, this code
If there are errors in the code the compiler will not identify
will run quicker and take up less
directly where the error lies, making it difficult to debug
memory space
Original source code will not be seen,
which is ideal for programmers to stop It is designed solely for one specific processor
work being copied
If the program is changed it must be recompiled
Interpreter
Advantages Disadvantages
IDE
An integrated development environment (IDE) is software that consolidates basic
tools required to write and test software to make a programmer's journey effective
and useful, this will ensure they have key features to improve programming code and
ensure it does as instructed. Some features are:
Basic code formatting - changing the font, size of the font, making text bold etc
Coloured keywords in source code - e.g. Python code print, input etc turn purple, if
turns orange. This makes it easy to see keywords
Code Editing - this will allow users to write and manipulate source code, it includes
features such as auto-completion and auto-correction of code, bracket matching,
syntax checks etc
Commenting code - this allows sections of code to be commented out easily to stop
it from being run or as comments on what the program is doing
Identifying errors - highlight particular areas of code or provide direct error
messages where the error may have appeared e.g. indentation errors etc
Run-Time environment - to allow the program to run and see its corresponding
output
Debugger - this will identify and remedy errors within the source code. This can
provide a step through command also which provides step by step instructions and
shows what is happening to the code line by line. This method is amazing for
catching logical errors
Libraries - extra modules that are not included in the main programming language
e.g. math in Python for extra mathematical commands
Graphical User Interface Builder - will create a graphical design rather than
working with source code
Translator - which compiles or interprets the code
Exam Tip