F453_Chapter_13_Function_of_Operating_systems

advertisement
F453 – Computing Theory
Chapter 13
The Function of Operating Systems
Resource used: OCR Computing Text Book, Hodder Education
Features of operating systems
H 
I

I

S

U 
Hardware resources (Provide and Manage) – such as
the management of memory and the jobs passing
through it
Interface – provide an interface between the user and
machine
Interface – provide an interface between applications
software and the machine. (software and hardware)
Security – provide it for the data on the system
particularly when there are lots of users.
Utility Software– provide this so that maintainence can
be done!
Don’t forget: Mnemonics! – memory aids!
You’re the expert…
H
I
I
S
U
What did you say
an operating system
was? What are the
main features of an
operating system!?
Er..
HISSU….
Moving on…

INTERRUPT HANDLING
Interrupt Handling



Remember our friend the
Processor? (brain of the
computer)
It normally functions
SERIALLY – that is an
instruction is collected, acted
upon, next instruction…
This continues while the
processor is operating or the
set of instructions is
completed.
Interrupt Handling


That’s all well and good
– if things run smoothly,
but often you are going
to get something causing
the processor to stop
what it is doing and do
something else
It is the INTERRUPT
that asks for this to
happen….
Types of Interrupt 



Hardware interrupt – (the buffer that is being used to
transfer data from primary memory to secondary
storage has been emptied and needs to be refilled so
that data transfer can continue)
Software interrupts (such as the interrupt caused to the
flow of a program by a call to an external device)
EACH INTERRUPT IS GIVEN A PRIORITY – if
two occur you need to know which is more important.
Example of most important
interrupt

An interruption to power supply! (this is given
the highest priority of all!)
So what happens when an interrupt
occurs – What’s the process?


Interrupt - process





Interrupt is stored with all other jobs that the processor
has to do (including current running task)
Interrupt given a priority, as is the current job,
according to importance
All jobs are stored – but also stored in order of priority!
Processor finishes an instruction – it checks list for
stuff to be done
As long as job it is doing is at the top of the list –It will
continue with next instruction, but if an interrupt has
gone to top of list, the processor will STOP the job its
doing!
It can’t just stop




It’s like when you’ve been working all night on
an essay.
In the morning there’s a fire….you need to rush
out of the house.
An important interrupt no doubt but…
Will you press save?
*maybe not!
Processor does save when it is
interrupted



It can’t waste all the processing its done
So it stores the contents of all the special
registers so that when it goes back to the job it
can load the special register with these contents
again and carry on from where it left off.
These values are stored in a STACK (we’ll do
more on these soon)
So special registers emptied

The new job then (the interrupt) can be loaded
into the special registers and proccessed until it
is completeed.
Scheduling, Job Queues and
Priorities
Life requires Schedules, Priorities and Queues. Without them, things would not function.

What are your priorities?

Physical
Spiritual
Mental
Emotional



Scheduling



Take the exampe of a multi operating
system….there are a number of jobs that must
be in the memory in order of the OS to switch
from one job to the other
This in turns means the OS must have a set of
rules that it can use in order to determine the
order in which the jobs should be handled
The use of this set of rules is known as job
scheduling
So what’s scheduling?

The use of a set of rules to determine the order
that jobs should be handled is called Scheduling
What’s scheduling?????



Set of rules
These set of rules determine the order in which
jobs should be handled.
Use of these rules is called job scheduling!
More about the rules…



The rules used will be largely decided by the
importance applied to the different jobs to be
carried out
This concept of “importance” implies that the
jobs can be arranged into some sort of order
and the OS can then follow this order of jobs
HOW IS THE ORDER OF JOBS
DECIDED!?!?!??
How do you order jobs in your brain?

Jobs that require physical
strength – (interfacing with
physical external objects…?)

Jobs that require emotional
strength (things that require
processing and brain powre)
Two types of jobs! (for a processor!)

Jobs that required printers and peripherals a lot
– such as a job that needs you to print gas bills
I/O Bound Jobs

Jobs that might use the processor a lot – such as
a program to calculate a prime number or square
root of something.
Processor Bound Jobs

TWO JOBS HERE ARE:
Which ones are given a higher
prioity?

I/O bound jobs or

Processor bound jobs??
I/O Bound jobs!
Why do you think this is?
Exam paper Practice!

Remember the mark scheme is a good way to
memorise answers! (in a concise manner)
From Spec Paper f453 (Q1)
Answers!
Scheduling/Round Robin Scheduling
Answers!
If you had loads of things to do, you
might develop an unconscious algo
in your head…



First Watch GLEE
Then Bully little Brother
Then do computing coursework (if time left)
Parts to focus on: Write-up
+ Coding
Take your computing coursework




Do first come, first served – as in what you’ve been
asked to do – you do
Do a bit of everything – equal amounts of time spent
on write-up and programming
Do the shortest bit first (as in do login screen, then
move on to sorting algorithm – leave write-up for last,
as its longest!)
Devise a system where you spend some time on the
write-up but an alarm goes off if you spend too much
time on it, and then move on to another job. Multi-level
and complex
Scheduling Algorithims






Some examples of Scheduling Algorithims:
FCFS
RR
SJF
SRT
MFQ – Multilevel feedback queues – a very complex algorithm
involving a number of queues set up according to rules and
acting like a set of league tables. As jobs are given lots of
peripheral time, they drop Down the league table, some getting
relegated. When a job is finished it leaves the system another job
can then get promoted. In this way JOBS CANNOT SPEND
TOO MUCH TIME MONOPOLISING THE PROCESSOR
Scheduling Algorithims






Some examples of Scheduling Algorithims:
FCFS
RR
SJF
SRT –Shortest Remaining Time – similar to SJF – jobs
will obviously get shorter and hence nearer the top of
the queue as they are processed. Jobs are returned to
the queue when they have to stop for some reason like
waiting for some input from a keyboard. The major
problem with this scheduling algorithm is…..?
MFQ
LONGER JOBS MAY NEVER GET STARTED!
Scheduling Algorithims






Some examples of Scheduling Algorithims:
FCFS
RR
SJF –Shortest Job first. When new jobs are added it is
important to make sure they are placed in the right
place in the queue by the OS making an estimate of the
length of time required to carry out the task
SRT
MFQ
Scheduling Algorithims






Some examples of Scheduling Algorithims:
FCFS
RR – Round Robin! The concept of every user
getting a small amount of time with the processor
betfore it goes on to the next user. (used in Multi-access
OS’s) It uses time slices of various lengths to ensure
that all jobs get a share of processor time!
SJF
SRT
MFQ
Scheduling Algorithims






Some examples of Scheduling Algorithims:
FCFS: First Come, First Served
RR
SJF
SRT
MFQ
Parts to focus on: Write-up
+ Coding
Take your computing coursework




You do what you’ve been asked to do – in the order
you are given it!
Do a bit of everything – equal amounts of time spent
on write-up and programming
Do the shortest bit first (as in do login screen, then
move on to sorting algorithm – leave write-up for last,
as its longest!)
Devise a system where you spend some time on the
write-up but an alarm goes off if you spend too much
time on it, and then move on to another job. Multi-level
and complex
Poor example perhaps – but can you match the types of Scheduling Algorithms
to the examples provided above?
So what is the purpose of
Scheduling?

It is used in order to try and maximise the use of the
computer and all its peripherals. It should do this while
being “fair” to all the user and ensuring that there is a
reasonable response time for all!

It should ensure, above all, that the algorithm is robust
so that the system will not fail either through
ovberloading or by becoming blocked!!
So Scheduling prevents

(or should prevent)

OVERLOADING of system
BLOCKAGE of System

Looking more closely at the
processor and the ability of a
computer to have a number of jobs
in different stages of
processing…….
We need to know how a processor treats jobs…!
How does a processor treat jobs!
Any job can be one of three states:

Think of your coursework projects!!!
Jose’s coursework
project is
READY!
Any job can be one of three states:

Think of your coursework projects!!!
Napoleons
coursework is
RUNNING
(getting there)
Any job can be one of three states:

Think of your coursework projects!!!
Darwin’s
coursework project
is – incomplete. His
brain is incapable of
completing it!
BLOCKED!
Jobs can be in three states



READY
RUNNING
BLOCKED
JOB ENTERS THE SYSTEM
READY
RUNNING
BLOCKED
JOB LEAVES THE SYSTEM
Three cool things you need to know
about

There is an important thing in the processor that
controls jobs around the processor is is called
the:

THE SCHEDULER!
The Scheduler is made up of:

THE HIGH LEVEL SCHEDULER
THE LOW LEVEL SCHEDULER

And the Medium Level Scheduler…

The SCHEDULER!

The part of the OS that controls jobs around the
processor is called the SCHEDULER

There are a number of tasks that have to be done and
they are carried out by different parts of the scheduler.

When a job wants to be processed it must enter the
system and be placed in a queue of jobs waiting for
processing called the READY QUEUE
High Level Scheduler

This is the thing that loads the job into the
Ready queue
HLS = Loads job into Ready queue 
Low level scheduler

When the job that is currently running has had
to stop then the job at the top of the ready
queue is loaded into the processor and is run.

THIS IS DONE BY THE LOW LEVEL
SCHEDULER (LLS)

Jobs may leave the “running” state for one of
three reasons
Three states



Ready
Running
Blocked
(can you think of three reasons that jobs might leave the running state?)
3+1 reasons
Reasons (for jobs leaving running state)



Job may have finished running in which case it will
leave the system
Job may require services of a peripheral (like some
printing to be carried out, in which case it will be placed
in the blocked queue to await servicing)
Job has had long enough and it has to give up its place
so that the other jobs get a chance…There have to be
rules for this to happen, obvious example multi-access
system where each user gets a time slice. When time
slice is ended, job is returned to ready queue to wait its
next turn!
Another reason a job might be stopped from running – is if a higher priority interrupt comes along!
Three parts of scheduler

HLS
LLS

Now the third part: MEDIUM LEVEL SCHEDULER

It controls the movement of jobs between the
PRIMARY MEMORY AND SECONDARY
STORAGE

Note



Difference between Primary and
Secondary Memory
What is the difference between primary memory and secondary memory?
In: Science, Computer Viruses, Data Storage Devices [Edit categories]
Crucial Memory Upgrades
100% Compatible Computer Memory Upgrades. Free Lifetime Warranty!
www.Crucial.com/Computer_Memory






[Improve]
There are two types of memories: Primary and Secondary.
The primary memory or the main memory is part of the main computer system. The processor or the CPU directly
stores and retrieves information from it. This memory is accessed by CPU, in random fashion. That means any location
of this memory can be accessed by the CPU to either read information from it, or to store information in it.
o The primary memory itself is implemented by two types of memory technologies. The first is called Random Access Memory
(RAM) and the other is read only memory (ROM). A more appropriate name for RAM is RWM (Read Write Memory), the CPU
can write and read information from any primary memory location implemented using RAM. The other part of primary memory
is implemented using ROM which stands for Read Only Memory.
Primary memory is much faster and also it is more cost effective. But the secondary memory is much slower and also less costly. It
stores the data permanently unless it is erased. The secondary memory is usually available in the form of floppy disk storage
media, hard disk, CD, DVD, Pen drive (i.e. Mass storage devices), memory chips. A 5 and1/4 inch floppy disk typically stores 1.44
mb of data. The data on the floppy disk is organized in terms of tracks and sectors. Hard disk can have large capacity something
like 80-300 GB's or higher. Hard disk itself is made up of, large number of platters. Hard disk is usually much faster compared to
floppy disk. CD can store up to 750 mb of data. Information on CD ROM is organized in terms of a spiral track. A DVD is
digital Versatile Disk and can store 4.6 Gigabyte of information. All these CD disk are usually write ones and read many times (if
the disk is not multisession and re writable). So are the DVDs.
JOB ENTERS THE SYSTEM
HLS
READY
LLS
RUNNING
BLOCKED
LLS
JOB LEAVES THE SYSTEM
JOB ENTERS THE SYSTEM
HLS
READY
LLS
MLS
RUNNING
BLOCKED
LLS
JOB LEAVES THE SYSTEM
JOB ENTERS THE SYSTEM
HLS
READY
LLS
MLS
RUNNING
BLOCKED
LLS
JOB LEAVES THE SYSTEM
MLS – A Pre-emptive scheduler. It is allowed to move jobs out of the running state and
Into the ready queue. If the job that is running state can only be moved out of it because it has
Finished proicessing or because it needs some I/O then that thin arrow can be removed and the
Scheduler is said to be NON-PRE-EMPTIVE!
Memory Management

What does memory actually look like?
In our brains…

Still a wonderful mystery…

Making some breakthroughs in understanding
it…
Computer Memory
We take memory for granted





We can remember each others names
We can remember that we have to wake up in
the morning and brush our teeth
We remember that we have a test to study for
Or which bus to take
Or what to do if the bus doesn’t arrive…
BUT FOR A COMPUTER – MEMORY MANAGEMENT IS NOT AUTOMATIC

A bunch of circuits……..!

So we need

“Memory Management”
An entire field of study: constantly evolving, growing, gaining pace, revolutionising…
Memory Management


So what does memory look like?
It contains the OS…it has lots of jobs in it.
What Memory looks like…
FREE SPACE (35K)
______________________________________
 JOB B (25K)
______________________________________
 JOB D (10K)
______________________________________
 JOB A (40K)
______________________________________
 JOB C(50K)
______________________________________

Primary Memory
OS
______________________________________

The diagram above shows the state of memory if it contains jobs A B C and D to be processed
And the OS. Imagine that the maximum size of the memory available to the jobs is 160K. The four
Jobs that are there have been loaded by the MLS. Now, imagine that the job with the next highest
Priority is JOB E and that is of Size 40K. There is only 35K of free space sot he job will have to wait
What Memory looks like…
FREE SPACE (35K)
______________________________________
 JOB B (25K)
______________________________________
 JOB D (10K)
______________________________________
 JOB A (40K)
______________________________________
 JOB C(50K)
______________________________________

Primary Memory
OS
______________________________________

The various jobs now take their turn in the running state until one of them leaves the system! Then
The space in the memory can be used for something else. If the job that is finished is Job C, will
There be a problem?
No, because there is ample space!
What Memory looks like…
FREE SPACE (35K)
______________________________________
 JOB B (25K)
______________________________________
 JOB D (10K)
______________________________________
 JOB A (40K)
______________________________________
 JOB C(50K)
______________________________________

Primary Memory
OS
______________________________________

If the job that is finished is Job B –is there a problem?
Still no problem because there is now plenty of space when B’s space is added to the free space
above it.
What Memory looks like…
FREE SPACE (35K)
______________________________________
 JOB B (25K)
______________________________________
 JOB D (10K)
______________________________________
 JOB A (40K)
______________________________________
 JOB C(50K)
______________________________________

OS
______________________________________

Primary Memory
Three things might
happen. We have three
options. Let’s examine
them…think about
which is most efficient
Finally, what happens if the job to finish is JOB D? – What might happen?
1. Neither of the gaps is big enough so we wait until a gap appears that is big enough!
What Memory looks like…
FREE SPACE (35K)
______________________________________
 JOB B (25K)
______________________________________
 JOB D (10K)
______________________________________
 JOB A (40K)
______________________________________
 JOB C(50K)
______________________________________

Primary Memory
OS
______________________________________

Finally, what happens if the job to finish is JOB D? – What might happen?
2. Part of Job E is put in the free space area and the rest is put in where Job D used to be, leaving
some of the space as the free space
What Memory looks like…
FREE SPACE (35K)
______________________________________
 JOB B (25K)
______________________________________
 JOB D (10K)
______________________________________
 JOB A (40K)
______________________________________
 JOB C(50K)
______________________________________

Primary Memory
OS
______________________________________

Finally, what happens if the job to finish is JOB D? – What might happen?
3.. Or – Job B could be moved down to Job A – which would have the effect of making the free
space big enough for Job E…
What Memory looks like…
FREE SPACE (35K)
______________________________________
 JOB B (25K)
______________________________________
 JOB D (10K)
______________________________________
 JOB A (40K)
______________________________________
 JOB C(50K)
______________________________________

Primary Memory
Option 1 – does this
seem like an
effective use of
resources? What if
the next job is
greater than 160k?
OS
______________________________________

Finally, what happens if the job to finish is JOB D? – What might happen?
1. Neither of the gaps is big enough so we wait until a gap appears that is big enough!
Is Option 2 any better?
Which of the three options is best?



Option 1
Option 2
Option 3
We are about to learn about:



Segmentation
Paging
(so before we look at the options and analyse
them)…exam question/answers
Answers
For the rest of this chapter – easiest
to go through past papers
#1
answers
Download