Chapter 13 The Function of Operating Systems

Slides:



Advertisements
Similar presentations
Buffers & Spoolers J L Martin Think about it… All I/O is relatively slow. For most of us, input by typing is painfully slow. From the CPUs point.
Advertisements

CS 149: Operating Systems February 3 Class Meeting
IT Systems Multiprocessor System EN230-1 Justin Champion C208 –
Operating Systems (CSCI2413) Lecture 4 Process Scheduling phones off (please)
FUNCTIONS OF OPERATING SYSTEMS Interfaces Memory Management Security Utility Interrupt Handling.
Chapter 6: CPU Scheduling
Chapter 4 Processor Management
1 I/O Management and Disk Scheduling Chapter Categories of I/O Devices Human readable Used to communicate with the user Printers Video display terminals.
The 4 functions of a computer are 1.Input 2.Output 3.Storage 4.Processing.
OCR GCSE Computing © Hodder Education 2013 Slide 1 OCR GCSE Computing Chapter 2: Memory.
1 Our focus  scheduling a single CPU among all the processes in the system  Key Criteria: Maximize CPU utilization Maximize throughput Minimize waiting.
Chapter 7 Operating Systems. Define the purpose and functions of an operating system. Understand the components of an operating system. Understand the.
SKILL AREA: 1.2 MAIN ELEMENTS OF A PERSONAL COMPUTER.
Memory management.
The Functions of Operating Systems Scheduling(multi-programming)
Memory Management OS Fazal Rehman Shamil. swapping Swapping concept comes in terms of process scheduling. Swapping is basically implemented by Medium.
Lecture Topics: 11/15 CPU scheduling: –Scheduling goals and algorithms.
Memory The term memory is referred to computer’s main memory, or RAM (Random Access Memory). RAM is the location where data and programs are stored (temporarily),
CPU Scheduling CS Introduction to Operating Systems.
Process Scheduling. Scheduling Strategies Scheduling strategies can broadly fall into two categories  Co-operative scheduling is where the currently.
24/06/20161 Hardware Processor components & ROM. 224/06/2016 Learning Objectives Describe the function and purpose of the control unit, memory unit and.
9691 Computing Paper 3 Section 3.1 The functions of Operating Systems.
Operating Systems c. define and explain the purpose of scheduling, job queues, priorities and how they are used to manage job throughput; d. explain how.
Chapter 13 The Function of Operating Systems
Memory Miss Elliott.
Chapter 2 Memory and process management
Process Management Process Concept Why only the global variables?
Chapter 2: Computer-System Structures
EEE Embedded Systems Design Process in Operating Systems 서강대학교 전자공학과
Component 2 6G, H, I, J, K.
Lesson Objectives Aims Key Words Interrupt, Buffer, Priority, Stack
Lesson Objectives Aims Key Words
Advanced OS Concepts (For OCR)
Operating Systems (CS 340 D)
OPERATING SYSTEMS CS3502 Fall 2017
Swapping Segmented paging allows us to have non-contiguous allocations
Virtual Memory Networks and Communication Department.
Chapter 2.2 : Process Scheduling
Introduction to Computers
Main Memory Management
Operating Systems (CS 340 D)
Chapter 6: CPU Scheduling
Process management Information maintained by OS for process management
Processor Management Damian Gordon.
CPU Scheduling Basic Concepts Scheduling Criteria
CPU Scheduling G.Anuradha
Chapter 6: CPU Scheduling
Chapter 5: CPU Scheduling
Operating System Concepts
Processor Fundamentals
Operating Systems Chapter 5: Input/Output Management
Chapter5: CPU Scheduling
Chapter 8: Memory management
Outline Module 1 and 2 dealt with processes, scheduling and synchronization Next two modules will deal with memory and storage Processes require data to.
Chapter 5: CPU Scheduling
Process Description and Control
Junior High Media Studies
Components of a CPU AS Computing - F451.
2.C Memory GCSE Computing Langley Park School for Boys.
Ainsley Smith Tel: Ex
Scheduling.
Hardware Main memory 26/04/2019.
Year 10 Computer Science Hardware - CPU and RAM.
Chapter 6: Scheduling Algorithms Dr. Amjad Ali
Processor Scheduling Damian Gordon.
Processor Management Damian Gordon.
COMP755 Advanced Operating Systems
Scheduling Computing Theory – F453.
CPU Scheduling: Basic Concepts
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

Chapter 13 The Function of Operating Systems F453 – Computing Theory Chapter 13 The Function of Operating Systems Interrupts Scheduling Memory Management Paging Segmentation Virtual memory Disk Thrashing Spooling Boot File FAT Resource used: OCR Computing Text Book, Hodder Education

Features of operating systems 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! H I S U Don’t forget: Mnemonics! – memory aids!

You’re the expert… Er.. HISSU…. What did you say H an operating system was? What are the main features of an operating system!? H I S U

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 Jobs that might use the processor a lot – such as a program to calculate a prime number or square root of something. TWO JOBS HERE ARE: I/O Bound Jobs Processor Bound Jobs

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)

Take your computing coursework 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

Take your computing coursework 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?)

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 JOB LEAVES THE SYSTEM HLS READY LLS RUNNING BLOCKED LLS JOB LEAVES THE SYSTEM

JOB ENTERS THE SYSTEM JOB LEAVES THE SYSTEM HLS READY LLS MLS RUNNING BLOCKED LLS JOB LEAVES THE SYSTEM

JOB ENTERS THE SYSTEM JOB LEAVES 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”

Memory Management So what does memory look like? 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) OS Primary Memory 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) OS Primary Memory 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) OS Primary Memory 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) OS Primary Memory 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) OS Primary Memory 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) OS Primary Memory Option 1 – does this seem like an effective use of resources? What if the next job is greater than 160k? 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?

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