IT Systems Multiprocessor System EN230-1 Justin Champion C208 – 3273 www.staffs.ac.uk/personel/engineering_and_technology/jjc1.

Slides:



Advertisements
Similar presentations
CPU Scheduling.
Advertisements

Scheduling Criteria CPU utilization – keep the CPU as busy as possible (from 0% to 100%) Throughput – # of processes that complete their execution per.
CPU Scheduling Tanenbaum Ch 2.4 Silberchatz and Galvin Ch 5.
Chap 5 Process Scheduling. Basic Concepts Maximum CPU utilization obtained with multiprogramming CPU–I/O Burst Cycle – Process execution consists of a.
Chapter 5 CPU Scheduling. CPU Scheduling Topics: Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
CPU Scheduling CS 3100 CPU Scheduling1. Objectives To introduce CPU scheduling, which is the basis for multiprogrammed operating systems To describe various.
Scheduling in Batch Systems
Chapter 6: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Chapter 6: CPU Scheduling Basic.
IT Systems Operating System EN230-1 Justin Champion C208 –
1 Thursday, June 15, 2006 Confucius says: He who play in root, eventually kill tree.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Week 6 Operating Systems.
Chapter 5: CPU Scheduling (Continuation). 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Determining Length.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Chapter 5: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Basic Concepts Maximum CPU utilization.
Chapter 6: CPU Scheduling
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-3 CPU Scheduling Department of Computer Science and Software Engineering.
CS212: OPERATING SYSTEM Lecture 3: Process Scheduling 1.
Chapter 6 CPU SCHEDULING.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Operating Systems Process Management.
Silberschatz and Galvin  Operating System Concepts Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 5: CPU Scheduling.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Lecture 7: Scheduling preemptive/non-preemptive scheduler CPU bursts
Chapter 5: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria.
Chapter 5: Process Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Basic Concepts Maximum CPU utilization can be obtained.
1 11/29/2015 Chapter 6: CPU Scheduling l Basic Concepts l Scheduling Criteria l Scheduling Algorithms l Multiple-Processor Scheduling l Real-Time Scheduling.
Chapter 5: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Chapter 5: CPU Scheduling Basic.
Silberschatz and Galvin  Operating System Concepts Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor.
1 CS.217 Operating System By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 5 CPU Scheduling Slide 1 Chapter 5 CPU Scheduling.
6.1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
Lecture Topics: 11/15 CPU scheduling: –Scheduling goals and algorithms.
1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
CPU Scheduling Operating Systems CS 550. Last Time Deadlock Detection and Recovery Methods to handle deadlock – Ignore it! – Detect and Recover – Avoidance.
1 Uniprocessor Scheduling Chapter 3. 2 Alternating Sequence of CPU And I/O Bursts.
Chapter 4 CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
Lecture 4 CPU scheduling. Basic Concepts Single Process  one process at a time Maximum CPU utilization obtained with multiprogramming CPU idle :waiting.
CPU scheduling.  Single Process  one process at a time  Maximum CPU utilization obtained with multiprogramming  CPU idle :waiting time is wasted 2.
Basic Concepts Maximum CPU utilization obtained with multiprogramming
1 Lecture 5: CPU Scheduling Operating System Fall 2006.
CPU Scheduling Scheduling processes (or kernel-level threads) onto the cpu is one of the most important OS functions. The cpu is an expensive resource.
lecture 5: CPU Scheduling
CPU SCHEDULING.
Dan C. Marinescu Office: HEC 439 B. Office hours: M, Wd 3 – 4:30 PM.
EEE Embedded Systems Design Process in Operating Systems 서강대학교 전자공학과
Chapter 5a: CPU Scheduling
April 6, 2001 Gary Kimura Lecture #6 April 6, 2001
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Chapter 5: CPU Scheduling
Operating System Concepts
3: CPU Scheduling Basic Concepts Scheduling Criteria
Chapter5: CPU Scheduling
Chapter 5: CPU Scheduling
Chapter 6: CPU Scheduling
Outline Scheduling algorithms Multi-processor scheduling
Operating System Concepts
Chapter 6: CPU Scheduling
Lesson Objectives Aims Key Words
Chapter 5: CPU Scheduling
Operating System , Fall 2000 EA101 W 9:00-10:00 F 9:00-11:00
Shortest-Job-First (SJR) Scheduling
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Chapter 6: Scheduling Algorithms Dr. Amjad Ali
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Presentation transcript:

IT Systems Multiprocessor System EN230-1 Justin Champion C208 –

IT Systems Contents What is it What are the benefits What are the considerations Task scheduling

IT Systems Multiprocessor systems These are motherboards / Main boards which have more than one processor attached In home PC’s these are commonly 2 processors Servers can have a larger number Alternative is a distributed computation environment where a larger number of processors work on a problem These processors are connected by some method Fibre Optic Internet FireWire Special operating systems are required and special applications to make use of this type of environment

IT Systems Multi Processor systems Increased CPU Power A large number of applications are using increased processing power Graphics Programs Computer Aided Design Mathematical programs Compression algorithms Processor 1 Processor 2

IT Systems Multi Processor systems As the operating systems schedules this system The applications do not need to know anything about the multi processors If the applications do know about it they can make better use of the technology

IT Systems CPU Scheduling Last week we discussed about swapping a process Using the Operating System it swaps processes in and out of memory quickly to give the effect of Multitasking Each time we swap another program into the processor CPU time is wasted getting the values from that have been stored previously By adding multiprocessors (X) the work which can be done concurrently is increased by X So 2 processors, 2 tasks can be done at once.

IT Systems Symmetric Multi-Processing (SMP) Each of the processors are treated as an individual The Kernel will transfer the process to the first available processor Windows 2000 and XP use this technology Both of the processors share all resources Memory Hard disk’s I/O bus The more processors the likely increase in Deadlock or Live lock

IT Systems Asymmetric Processing One of the processors is intended for the Operating system The other processors will be dedicated to applications This form of use of multi processors is not widely used It is inefficient use of the CPU power SMP is the commonly used technology

IT Systems Kernel task scheduling Also know as the “Short term Scheduler” Takes a process from a queue of waiting processes and allow this access to the CPU Two basic types Pre-emptive None pre-emptive

IT Systems Kernel task scheduling None pre-emptive A tasks is allowed to continue until it completes Or A process can not continue due to a resource not being available A resource could be memory or a hard disc or other I/O Suitability These are not suited for modern operating systems The end user would have to wait for each task to finish in turn The OS can only really work on one task at a time This is suitable for certain environments where you do not want the processor doing multiple tasks This scheduling in the OS is relatively straight forward to program

IT Systems Kernel task scheduling Pre-emptive Allows the current processor to be interrupted in what it is currently doing Interruption could come from A waiting process A timer interrupt A software/hardware interrupt Kernel use of the CPU must not be interrupted to prevent errors in data being stored This method is used in modern multitasking operating systems A urgent task can operate on the CPU, when an interrupt occurs

IT Systems Pre-emptive Scheduling Methods Round Robin (RR) Shortest Remaining Time (SRT) Priority Scheduling Queuing

IT Systems Round Robin Define an amount of time that a process can run for Get the first process off the queue and load the details Allow to run If the process finishes in the time then get another process If it does not then After the time slot it will be put to the back of the queue and wait until asked again If it requires resources which are blocked, it will also be put back onto the queue Round Robin concerns Allocating enough time to each process Without priority a background task would be given an equal amount of time to the foreground tasks

IT Systems Round Robin Time allocation Enough time must be given to each process to get work done Time allocated can not be too long as this will slow down the work of the processor Issues need considering around the use of I/O in a process as this may effect the amount of time allocated to the process The process may never get the work completed, because the CPU time out happens before a device can respond A:\ floppy drive in Windows

IT Systems Shortest Remaining Time The processes are put into a queue The process which has the shortest remaining time will get the highest priority This process will then be selected when the processor requests the next task Problems Difficult to predict how long a process will run for Long processes will have to wait longer or the processor Although long processes will become short ones with time

IT Systems Priority Scheduling Each process is given a priority This priority can be set up based on a number of factors Device sending the process Money Person sending process The process with the highest priority is selected for the processor Potentially there is the possibility of starvation taking place This is where a process can not get access to the CPU and resources Avoidance Ageing can be added to the algorithm As a process gets older the priority is increased until a point where it is the highest priority and is run

IT Systems Microsoft Windows Uses the priority scheduling of a task The smallest task in Windows is referred to as a Thread To prevent starvation in Windows if a process has not had the processor for more than 3 seconds it is given the highest priority A time frame in Windows is 20, 40 and 60 Ms depending on what type of task it is

IT Systems Multiple Queues used in Unix It is possible to have multiple levels of queuing and processing Each of the queues using a different method to prioritise The actual method depend on the priority of the tasks For example Queue 1 – uses Round Robin Queue 2 – uses shortest Remaining time To control both queues a priority based scheme is used This means that a priority can be issued to each queue Consider this as foreground and background tasks

IT Systems Multiple Queues used in Unix Foreground = 80% of time Background = 20 % of time Using priority mostly the foreground will run unless th ageing process gives a higher priority to a task in the background Normally the background will only run if the foreground list is empty. In this respect it will give the best experience to the end user

IT Systems Multi-processors Programs DO NOT run twice as fast The task scheduler now just has multiple processors to issue work to The programs will run slightly faster as they do not have to be swapped as often, so they get the processor for longer Software needs to be written that takes account of multi processors Very little of this software exist at the moment

IT Systems Conclusion Multiprocessor systems Scheduling on a Operating system Round Robin Priority

IT Systems Summary of what we have discussed