01000001 00101101 01001100 01100101 01110110 01100101 01101100 00100000 01000011 01101111 01101101
1.2.1 Systems Software
01110000 01110101 01110100 01100101 01110010 00100000 01010011 01100011 01101001 01100101 01101110
01100011 01100101 01000001 00101101 01001100 01100101 01110110 01100101 01101100 00100000 01000011
01101111 01101101 01110000 01110101 01110100 01100101 01110010 00100000 01010011 01100011 01101001
Specification & Learning Objectives
A Level Specification point description
1.2.1a The need for, function and purposes of operating systems
1.2.1b Memory management (paging, segmentation and virtual memory)
1.2.1c Interrupts, the role of interrupts and Interrupt Service Routines (ISR), role within the fetch decode execute cycle
1.2.1d Scheduling: round robin, first come first served, multi-level feedback queues, shortest job first and shortest remaining time
1.2.1e Distributed, embedded, multi-tasking, multi-user and real time operating systems
1.2.1f BIOS
1.2.1g Device drivers
Virtual machines, any instance where software is used to take on the function of a machine including executing intermediate code or running an
1.2.1h
operating system within another
Key question: Why do computers need an
01000001 00101101 01001100 01100101 01110110 01100101 01101100 00100000 01000011 01101111 01101101
01110000 01110101 01110100 01100101 01110010 00100000 01010011 01100011 01101001 01100101 01101110
operating system like Windows/Linux/MacOS?
01100011 01100101 01000001 00101101 01001100 01100101 01110110 01100101 01101100 00100000 01000011
01101111 01101101 01110000 01110101 01110100 01100101 01110010 00100000 01010011 01100011 01101001
An operating system is the most important software that runs on a computer. It
manages the computer's memory and processes, as well as all of its software
and hardware. It also allows you to communicate with the computer without
knowing how to speak the computer's language. Without an operating system,
a computer is useless
Your computer's operating system (OS) manages all of the
software and hardware on the computer. Most of the time,
there are several different computer programs running at the
same time, and they all need to access your computer's central
processing unit (CPU), memory, and storage. The operating
system coordinates all of this to make sure each program gets
what it needs.
01000001 00101101 01001100 01100101 01110110 01100101 01101100 00100000 01000011 01101111 01101101
Key question: How does a computer handle running
01110000 01110101 01110100 01100101 01110010 00100000 01010011 01100011 01101001 01100101 01101110
out of memory and why does it slow down?
01100011 01100101 01000001 00101101 01001100 01100101 01110110 01100101 01101100 00100000 01000011
01101111 01101101 01110000 01110101 01110100 01100101 01110010 00100000 01010011 01100011 01101001
When a computer runs out of memory, RAM is full virtual memory is used so the programs not
currently needed are swapped into virtual memory then swapped back out when their in use
again, this slows down as your swapping continuously between virtual memory and ram and this
can cause disk thrashing
Key question: What causes an interrupt to the
01000001 00101101 01001100 01100101 01110110 01100101 01101100 00100000 01000011 01101111 01101101
01110000 01110101 01110100 01100101 01110010 00100000 01010011 01100011 01101001 01100101 01101110
CPU and how is it handled?
01100011 01100101 01000001 00101101 01001100 01100101 01110110 01100101 01101100 00100000 01000011
01101111 01101101 01110000 01110101 01110100 01100101 01110010 00100000 01010011 01100011 01101001
to allocate time to processes that are deemed urgent, devices
use interrupts. An interrupt is a signal that is sent to the
processor to request immediate attention. When the processor
receives this request, it suspends what it is doing and runs the
process associated with the interrupt.
The processor can be interrupted for a number of reasons,
including:
A hardware device has signaled that it has data to process
A hardware device has completed a task that it was asked to do
A software process needs a service to be provided or OS
function to be performed
An allotted amount of time has expired and an action needs to
be performed
A hardware failure has occurred and needs to be addressed
01000001 00101101 01001100 01100101 01110110 01100101 01101100 00100000 01000011 01101111 01101101
Key question: From all the open programs in memory,
01110000 01110101 01110100 01100101 01110010 00100000 01010011 01100011 01101001 01100101 01101110
how does the CPU decide which process to execute?
01100011 01100101 01000001 00101101 01001100 01100101 01110110 01100101 01101100 00100000 01000011
01101111 01101101 01110000 01110101 01110100 01100101 01110010 00100000 01010011 01100011 01101001
They decide by using scheduling as a scheduler manages which process to execute next and the length of time the next proce
can execute for, there are many different types of scheduling for eg first come first serve
Key question: What are the features of
01000001 00101101 01001100 01100101 01110110 01100101 01101100 00100000 01000011 01101111 01101101
01110000 01110101 01110100 01100101 01110010 00100000 01010011 01100011 01101001 01100101 01101110
different types of operating system?
01100011 01100101 01000001 00101101 01001100 01100101 01110110 01100101 01101100 00100000 01000011
01101111 01101101 01110000 01110101 01110100 01100101 01110010 00100000 01010011 01100011 01101001
•Provides a platform for running applications.
•Handles memory management and CPU scheduling.
•Provides file system abstraction.
•Provides networking support.
•Provides security features.
•Provides user interface.
•Provides utilities and system services.
•Supports application development.
01000001 00101101 01001100 01100101 01110110 01100101 01101100 00100000 01000011 01101111 01101101
Key question: What is a virtual machine?
01110000 01110101 01110100 01100101 01110010 00100000 01010011 01100011 01101001 01100101 01101110
01100011 01100101 01000001 00101101 01001100 01100101 01110110 01100101 01101100 00100000 01000011
01101111 01101101 01110000 01110101 01110100 01100101 01110010 00100000 01010011 01100011 01101001
We can use software to emulate the other computer system so
that our computer can behave like that system. This emulation
is known as a virtual machine. The process of creating and
running a virtual machine is known as virtualisation.
01000001 00101101 01001100 01100101 01110110 01100101 01101100 00100000 01000011 01101111 01101101
Typical exam questions
01110000 01110101 01110100 01100101 01110010 00100000 01010011 01100011 01101001 01100101 01101110
01100011 01100101 01000001 00101101 01001100 01100101 01110110 01100101 01101100 00100000 01000011
01101111 01101101 01110000 01110101 01110100 01100101 01110010 00100000 01010011 01100011 01101001
1. Explain the purpose and role of the BIOS. [3]
2. BIOS identifies, configures, tests and connects computer hardware to the OS immediately after a computer is turned on. The combination of
these steps is called the boot process.
2. Explain two similarities and two differences between segmentation and paging. [2]
In paging they are split up physically whereas in segmentation they are split up logically,in paging hteya rea ll equal sizes and in segmentation they
don’t have to both techniques involve splitting up primary memory into smaller sections. Both techniques try to make maximum use of RAM.
3. Explain why interrupts are used in a computer system. [2]
Interrupts are used in a computer system because they are a signal that is sent to the processor to request immediate attention for items that
require time-sensitive attention.
4. Describe three functions of an operating system. [3]
5. An operating system has three main functions: (1) manage the computer's resources, such as the central processing unit, memory, disk drives,
and printers, (2) establish a user interface, and (3) execute and provide services for applications software.
Assessment Target: Overall grade:
Minimum expectations & learning outcomes
Appropriate terminology and key words should be used throughout.
You must include a table which clearly shows the advantages & disadvantages of paging vs segmentation.
You must demonstrate (e.g. via a diagram) how / when an interrupt is checked for during the fetch-decode-execute cycle.
You must include a comparison of the key features of the various scheduling algorithms.
Answer the exam questions.
Feedback
Breadth Depth Presentation Understanding
All Link/Create new material Excellent Excellent
Most Explain/Compare/Contrast Good Good
Some Describe/Identify Fair Fair
Few Little shown Poor Poor
Comment & action Student response
01000001 00101101 01001100 01100101 01110110 01100101 01101100 00100000 01000011 01101111 01101101
01110000 01110101 01110100 01100101 01110010 00100000 01010011 01100011 01101001 01100101 01101110
01100011 01100101 01000001 00101101 01001100 01100101 01110110 01100101 01101100 00100000 01000011
01101111 01101101 01110000 01110101 01110100 01100101 01110010 00100000 01010011 01100011 01101001
Reflection & Revision checklist
Confidence Clarification
Candidates need to have an understanding of why an operating system is required, along with the different tasks it performs within a computer system
(e.g. resource management, file management, interrupt handling, security, providing a platform for software to run, providing a user interface and
providing utilities).
Candidates need to understand how operating systems manage memory. They need to understand the need for, purpose and function of paging to
divide memory into usable fixed-size pages and how this aids in the transfer of memory for example virtual memory.
Candidates need to understand what is meant by segmentation and how memory is divided into segments to allow access to memory.
Candidates need to understand what is meant by virtual memory and why this is needed in a computer system.
Candidates need to understand how paging is used in virtual memory, and the benefits and drawbacks of having and using virtual memory in a
computer system.
Candidates need to understand the purpose of interrupts within a computer system, why an interrupt might be generated and what happens within
the CPU and memory in order to call an interrupt service routine.
Candidates need to understand the need for scheduling of tasks by an operating system and the benefits that scheduling brings.
Candidates need to understand that there are different scheduling algorithms, with each having benefits and drawbacks for tasks with specific
characteristics.
Candidates need to understand how the following scheduling algorithms work; round robin, first come first served, multi-level feedback queue,
shortest job first and shortest remaining time.
Candidates need to understand the different (and often overlapping) classifications of operating systems (distributed, embedded, multi-tasking, multi-
user and real time), including the key features of each. They should be able to recommend (and justify) a type of operating system for a given scenario.
Candidates need to understand the role of the BIOS in a computer system, and the steps that the BIOS goes through to start a computer.
Candidates need to understand what is meant by ‘device drivers’ and why they are needed for communication between hardware and the operating
system.
Candidates should be able to describe what is meant by a virtual machine, how they can be used to execute intermediate code, how they can be used
to run a software driven machine inside a physical machine and the benefits and drawbacks of each approach.