Veleučilište u Rijeci. Dodjela procesora (eng. CPU scheduling)

Similar documents
Chapter 6: CPU Scheduling

2/5/07 CSE 30341: Operating Systems Principles

Module 5: CPU Scheduling

CPU scheduling. CPU Scheduling

CPU Scheduling. CPU Scheduler

TDDB68 Concurrent programming and operating systems. Lecture: CPU Scheduling II

TDDI04, K. Arvidsson, IDA, Linköpings universitet CPU Scheduling. Overview: CPU Scheduling. [SGG7] Chapter 5. Basic Concepts.

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

CPU SCHEDULING RONG ZHENG

CS 550 Operating Systems Spring CPU scheduling I

CSCE 313 Introduction to Computer Systems. Instructor: Dezhen Song

TEORIJA SKUPOVA Zadaci

Projektovanje paralelnih algoritama II

CHAPTER 5 - PROCESS SCHEDULING

Process Scheduling. Process Scheduling. CPU and I/O Bursts. CPU - I/O Burst Cycle. Variations in Bursts. Histogram of CPU Burst Times

CSE 380 Computer Operating Systems

Comp 204: Computer Systems and Their Implementation. Lecture 11: Scheduling cont d

Metode praćenja planova

Mathcad sa algoritmima

Programiranje u realnom vremenu Bojan Furlan

Algoritam za množenje ulančanih matrica. Alen Kosanović Prirodoslovno-matematički fakultet Matematički odsjek

Scheduling I. Today. Next Time. ! Introduction to scheduling! Classical algorithms. ! Advanced topics on scheduling

Scheduling I. Today Introduction to scheduling Classical algorithms. Next Time Advanced topics on scheduling

LSN 15 Processor Scheduling

CS 370. FCFS, SJF and Round Robin. Yashwanth Virupaksha and Abhishek Yeluri

Termodinamika. FIZIKA PSS-GRAD 29. studenog Copyright 2015 John Wiley & Sons, Inc. All rights reserved.

Real-time operating systems course. 6 Definitions Non real-time scheduling algorithms Real-time scheduling algorithm

Last class: Today: Threads. CPU Scheduling

Scheduling. Uwe R. Zimmer & Alistair Rendell The Australian National University

Uvod u relacione baze podataka

UC Santa Barbara. Operating Systems. Christopher Kruegel Department of Computer Science UC Santa Barbara

CPU Scheduling Exercises

DISTRIBUIRANI ALGORITMI I SISTEMI

Red veze za benzen. Slika 1.

KLASIFIKACIJA NAIVNI BAJES. NIKOLA MILIKIĆ URL:

CPU Scheduling. Heechul Yun

ZANIMLJIV NAČIN IZRAČUNAVANJA NEKIH GRANIČNIH VRIJEDNOSTI FUNKCIJA. Šefket Arslanagić, Sarajevo, BiH

Simulation of Process Scheduling Algorithms

Dynamic Time Quantum based Round Robin CPU Scheduling Algorithm

Improvising Round Robin Process Scheduling through Dynamic Time Quantum Estimation

PRIPADNOST RJEŠENJA KVADRATNE JEDNAČINE DANOM INTERVALU

ODSA: A Novel Ordering Divisional Scheduling Algorithm for Modern Operating Systems

Half Life Variable Quantum Time Round Robin (HLVQTRR)

Revamped Round Robin Scheduling Algorithm

Design and Performance Evaluation of a New Proposed Shortest Remaining Burst Round Robin (SRBRR) Scheduling Algorithm

DETERMINING THE VARIABLE QUANTUM TIME (VQT) IN ROUND ROBIN AND IT S IMPORTANCE OVER AVERAGE QUANTUM TIME METHOD

Journal of Global Research in Computer Science

U člnaku se nastoji na jednostavan i sažet način bez ulaženja u egzaktne i formalizirane dokaze postići slijedeće:

February 2011 Page 23 of 93 ISSN

EXTRA THRESHOLD IN ROUND ROBIN ALGORITHM IN MULTIPROCESSOR SYSTEM

Season Finale: Which one is better?

LINEARNI MODELI STATISTIČKI PRAKTIKUM 2 2. VJEŽBE

Rešenja zadataka za vežbu na relacionoj algebri i relacionom računu

MATHEMATICAL ANALYSIS OF PERFORMANCE OF A VIBRATORY BOWL FEEDER FOR FEEDING BOTTLE CAPS

Kontrolni uređaji s vremenskom odgodom za rasvjetu i klimu

An Improved Round Robin Approach using Dynamic Time Quantum for Improving Average Waiting Time

Real-Time Systems. Event-Driven Scheduling

REVIEW OF GAMMA FUNCTIONS IN ACCUMULATED FATIGUE DAMAGE ASSESSMENT OF SHIP STRUCTURES

A NEW PROPOSED DYNAMIC DUAL PROCESSOR BASED CPU SCHEDULING ALGORITHM

Efficient Dual Nature Round Robin CPU Scheduling Algorithm: A Comparative Analysis

Fibonaccijev brojevni sustav

COMPARATIVE PERFORMANCE ANALYSIS OF MULTI-DYNAMIC TIME QUANTUM ROUND ROBIN (MDTQRR) ALGORITHM WITH ARRIVAL TIME

Modified Zagreb M 2 Index Comparison with the Randi} Connectivity Index for Benzenoid Systems

Real-Time Scheduling. Real Time Operating Systems and Middleware. Luca Abeni

ANALYSIS OF THE RELIABILITY OF THE "ALTERNATOR- ALTERNATOR BELT" SYSTEM

NAPREDNI FIZIČKI PRAKTIKUM 1 studij Matematika i fizika; smjer nastavnički MJERENJE MALIH OTPORA

A new Hybridized Multilevel Feedback Queue Scheduling with Intelligent Time Slice and its Performance Analysis

Sinhronizacija procesa

Real-Time Systems. Event-Driven Scheduling

Geometrijski smisao rješenja sustava od tri linearne jednadžbe s tri nepoznanice

INVESTIGATION OF UPSETTING OF CYLINDER BY CONICAL DIES

ENHANCING CPU PERFORMANCE USING SUBCONTRARY MEAN DYNAMIC ROUND ROBIN (SMDRR) SCHEDULING ALGORITHM

Scheduling IoT on to the Cloud : A New Algorithm

A NEW THREE-DIMENSIONAL CHAOTIC SYSTEM WITHOUT EQUILIBRIUM POINTS, ITS DYNAMICAL ANALYSES AND ELECTRONIC CIRCUIT APPLICATION

ALGORITAM FAKTORIZACIJE GNFS

Conditional stability of Larkin methods with non-uniform grids

Operativni sistemi 2

pretraživanje teksta Knuth-Morris-Pratt algoritam

ODREĐIVANJE DINAMIČKOG ODZIVA MEHANIČKOG SUSTAVA METODOM RUNGE-KUTTA

MREŽNI DIJAGRAMI Planiranje

Slika 1. Slika 2. Da ne bismo stalno izbacivali elemente iz skupa, mi ćemo napraviti još jedan niz markirano, gde će

NIZOVI I REDOVI FUNKCIJA

FIZIKALNA KOZMOLOGIJA VII. VRLO RANI SVEMIR & INFLACIJA

Networked Embedded Systems WS 2016/17

1.1 Algoritmi. 2 Uvod

Embedded Systems 14. Overview of embedded systems design

Metoda parcijalnih najmanjih kvadrata: Regresijski model

Computing the Signal Duration to Minimize Average Waiting Time using Round Robin Algorithm

ENHANCING THE CPU PERFORMANCE USING A MODIFIED MEAN- DEVIATION ROUND ROBIN SCHEDULING ALGORITHM FOR REAL TIME SYSTEMS.

APPROPRIATENESS OF GENETIC ALGORITHM USE FOR DISASSEMBLY SEQUENCE OPTIMIZATION

Hornerov algoritam i primjene

Fajl koji je korišćen može se naći na

ZANIMLJIVI ALGEBARSKI ZADACI SA BROJEM 2013 (Interesting algebraic problems with number 2013)

Zbirka ispitnih zadataka iz Baza Podataka 1 Ispiti i kolokvijumi u periodu

Osobine metode rezolucije: zaustavlja se, pouzdanost i kompletnost. Iskazna logika 4

An Algorithm for Computation of Bond Contributions of the Wiener Index

Task Models and Scheduling

process arrival time CPU burst time priority p1 0ms 25ms 3 p2 1ms 9ms 1 p3 20ms 14ms 4 p4 32ms 4ms 2

The Prediction of. Key words: LD converter, slopping, acoustic pressure, Fourier transformation, prediction, evaluation

Transcription:

Veleučilište u Rijeci Dodjela procesora (eng. CPU scheduling)

Pojmovi Program Statični niz instrukcija Proces Program u izvođenju Dretva (thread) Niz instrukcija koje se izvode Po potrebi dretve dijelimo na manje dijelove koje nazivamo nit (fiber) OperacijskiSustavi ú stranica2

Višezadaćnost Radi ostvarenja višezadaćnosti mora postojati mogućnost da se raspodijeli vrijeme procesora među zadaćama koje se izvršavaju u danom vremenu pomoć algoritmi dodjele vremena Kod jednoprocesorskog sustava samo jedan proces može biti aktivan, dok drugi procesi prihvaćeni na obradu su u različitim stanjima (pripravan, čeka i sl.). Cilj višeprocesnog sustava je praktički uvjek zaposliti procesor obradom korisničkih procesa. Aktivan proces se izvodi sve do trenutka kada mora čekati na neki događaj (ulazno/izlaznu operaciju, poruku od nekog drugog procesa ili ga jednostavno suspendira sistemski sat). OperacijskiSustavi ú stranica3

Raspoređivanje Bez prekidanja procesa bez pretpražnjenja (eng. nonpreemptive scheduling) procesor se može oduzeti samo od procesa koji je završio aktivnost ili čeka na neki resurs Sa prekidom procesa sa pretpražnjenjem (eng. preemptive scheduling) procesor se može oduzeti procesu koji nije završio aktivnost i nije blokiran hardwareska metoda sata (timer) OperacijskiSustavi ú stranica4

Procesorski i O/I ciklusi Učinkovitost algoritma za dodjelu procesora zasnovana je na sljedećem svojstvu procesa: proces koji se izvodi sastoji se od dijela proračuna (CPU burst ili CPU cycle), a potom ulazno/izlazne operacije. Ovi ciklusi se izmjenjuju do završetka procesa. load store add store read from file čekaj na U/I load increment index load write to file čekaj na U/I load sub store add store read from file čekaj na U/I proračun U/I ciklus proračun U/I ciklus proračun U/I ciklus OperacijskiSustavi ú stranica5

Kriteriji dodjele procesora Prije nego se pristupi odabiru algoritma za odabir procesa iz reda pripravnih koji će dobiti procesor na korištenje prvo je potrebno odrediti kriterije na osnovi kojih će se uspoređivati različiti algoritmi: 1.Iskoritivost procesora (CPU utilization). Namjera je svih projektanata operacijskih sustava držati procesor što je moguće više zaposlenim. Iskoristivost procesora je između 0 i 100%. U realnim sustavima ona varira između 40% kod slabije opterećenih sustava do 90% kod jako opterećenih računarskih sustava. 2.Propusnost (Throughput). Procesor dok je zaposlen izvodi proračun. Jedna od mjera zaposlenosti procesora je i broj procesa koje on obradi u jedinici vremena. Za napomenuti je da kada se obrađuju relativno dugi procesi propusnost može biti svega jedan proces svakih desetak minuta, a za kratke procese propusnost može iznositi i desetak procesa u sekundi. OperacijskiSustavi ú stranica6

Kriteriji dodjele procesora (2) 3. Vrijeme proračuna (Turnaround time). S aspekta svakog procesa značajna je karakteristika koliko je vremena potrebno procesoru da obradi taj proces. Tako se vremenski interval od trenutka prihvaćanja procesa na obradu do trenutka završetka njegove obrade naziva vrijeme proračuna. Ono je suma vremena potrebnog da proces bude prihvaćen na obradu, vremena potrošenog za proračune i ulazno izlazne operacije i vremena provedenog u čekanju. 4. Vrijeme čekanja (Waiting time). Algoritmi za dodjelu procesora ne utječu na vrijeme potrebno za proračun i objavljenje ulazno/izlaznih operacija. Oni jednostavno utječu samo na vrijeme koje proces provodi u redu pripravnih procesa. Zato se vrijeme čekanja definira kao ukupno vrijeme koje proces provede u redu pripravnih procesa. OperacijskiSustavi ú stranica7

Kriteriji dodjele procesora (3) 5. Vrijeme odziva (Response time). Kod interaktivnih sustava vrijeme odziva možda i ne predstavlja najbolji kriterij za vrednovanje algoritama za dodjelu procesora. Obično proces nakon kraćeg izvođenja daje korisniku neke međurezultate koje korisnik analizira dok procesor nastavlja obradu, zatim korisnik unosi neke podatke s kojima utječe na daljini tijek obrade, dobiva nove međurezultate itd. Očito je da je korisniku značajno da proces u što kraćem vremenu prikaže prve rezultate obrade pa se i zato definira vrijeme odziva kao vrijeme proteklo od trenutka kada je korisnik započeo proces do trenutka kada je proces dao prve rezultate. Ovo je znatno bolji kriterij za vrednovanje algoritama dodjele procesora od vremena odziva koje je obično limitirano brzinom ulazno/izlaznih uređaja. Cilj: optimizacija sustava - postići maksimalnu iskoristivost procesora i propusnost uz što kraće vrijeme proračuna, vrijeme čekanja i vrijeme odziva OperacijskiSustavi ú stranica8

Algoritmi za dodjelu procesora 1. FCFS (First Come First Served) Najjednostavniji algoritam - odabere se prvi proces iz reda pripravnih procesa te se njemu dodjeli procesor. Novi proces smješta se na kraj reda (tail), a procesor uzima proces na izvršavanje sa glave reda (head). Primjer: proces potrebno vrijeme obrade P 1 24 P 2 3 P 3 3 OperacijskiSustavi ú stranica9

FCFS (First Come First Served) P 1, P 2, P 3 P 1 0 24 27 30 Prosječno vrijeme čekanja iznosi (0 + 24 + 27)/3 = 17 jedinica vremena P 2 P 3 P 2, P 3, P 1 P 2 P 3 P 1 0 3 6 30 Prosječno vrijeme čekanja iznosi (0 + 3 + 6)/3 = 3 jedinica vremena OperacijskiSustavi ú stranica10

Algoritmi za dodjelu procesora 2. SJF (Shortest Job First) procesor se dodjeljuje onom procesu koji ima najkraći sljedeći interval proračuna Ukoliko dva procesa imaju jednak sljedeći interval proračuna odabir između njih dva se izvodi prema FCFS algoritmu Primjer: proces potrebno vrijeme obrade P1 6 P2 8 P3 7 P4 3 OperacijskiSustavi ú stranica11

SJF (Shortest Job First) P 4 P 1 P 3 P 2 0 3 9 16 24 SJF (0 + 3 + 9 + 16)/4 = 7 P 1 P 2 P 3 P 4 FCFS (0 + 6 + 14 +21)/4 = 10.25 0 6 14 21 24 najvjerojatnije optimalni algoritam sa stajališta minimalnog vremena čekanja. u praksi nemoguće implementirati. Razlog je nemogućnost poznavanja dužine sljedećeg intervala proračuna trajanje procesa OperacijskiSustavi ú stranica12

Procjena dužine sljedećeg intervala proračuna Za procjenu dužine sljedećeg intervala proračuna obično se koristi eksponencijalna razdioba od prethodnih mjerenih intervala proračuna. Neka je t n trajanje n-tog intervala proračuna, τ n+1 procijenjeno trajanje n+1 intervala, a α konstanta, 0 α 1, tada je: trajanje proračuna t n 6 4 6 4 13 13 13... procjena τ n 10 8 6 6 5 9 11 12... 14 τ n + 1 = α tn + 1 α) ( τ n trajanje proračuna 12 10 8 6 4 stvarno procjena 2 0 vrijeme OperacijskiSustavi ú stranica13

SJF (Shortest Job First) bez pretpražnjenja Primjer: Proces Vrijeme nailaska Vrijeme izvršavanja P 1 0.0 7 P 2 2.0 4 P 3 4.0 1 P 4 5.0 4 SJF (nonpreemptive) P 1 P 3 P 2 P 4 0 3 7 8 12 16 Prosječno vrijeme čekanja = (0 + 6 + 3 + 7)/4 = 4 OperacijskiSustavi ú stranica14

SJF (Shortest Job First) sa pretpražnjenjem Proces Vrijeme nailaska Vrijeme izvršavanja P 1 0.0 7 P 2 2.0 4 P 3 4.0 1 P 4 5.0 4 SJF (preemptive) P 1 P 2 P 3 P 2 P 4 P 1 0 2 4 5 7 11 16 Prosječno vrijeme čekanja = (9 + 1 + 0 +2)/4 = 3 OperacijskiSustavi ú stranica15

SJF - Dodjela procesora prema prioritetima (Priority Scheduling) Kod SJF prioriteti se dodjeljuju na osnovi procijenjene dužine sljedećeg intervala proračuna duži procesi imaju manji prioritet i obrnuto Primjer: proces vrijeme proračuna prioritet P 1 10 3 P 2 1 1 P 3 2 3 P 4 1 4 P 5 5 2 0 P 2 1 P 5 P 1 P 3 P 4 6 16 18 19 OperacijskiSustavi ú stranica16

SJF - Dodjela procesora prema prioritetima (Priority Scheduling) Problem: Ukoliko je u sustavu stalno prisutan veći broj procesa s većim prioritetom oni će praktički uvijek dobivati procesor na korištenje dok procesi s manjim prioritetom neće dobiti priliku za korištenjem procesora. Tako mogu procesi s najmanjim prioritetom beskonačno čekati. Ovaj efekt primijećen je opterećenim u računarskim sustavima i nazvan je izgladnjivanje (starvation). Postoje neprovjereni podaci da su u procesu 1973. godine iskopčanja računarskog sustava IBM 7094 na MIT otkriveni procesi započeti 1967. godine.!!! Rješenje: u starenju procesa (aging). Prioritet procesa tijekom njegovog boravka u redu pripravnih procesa raste. Tako npr. svakih 15 minuta prioritet svih procesa koji nisu u tom intervalu dobili pravo korištenja procesora povećava se za jedan. U ovu svrhu potrebno je deskriptoru procesora dodati jedno polje u koje se upisuje da li je proces bio aktiviran u prethodnom vremenskom intervalu. OperacijskiSustavi ú stranica17

Round-Robin (RR) algoritam razvijen za sustave s vremenskom podjelom poslova (time sharing). U osnovi zasnovan je na algoritmu FCFS ali je dodano vremensko ograničenje u korištenju procesorskog vremena. U ovakvim računarskim sustavima definira se kvant vremena (vremenski interval obično između 10 do 100 ms). Procesor se dodjeljuje svakom procesu iz reda pripravnih maksimalno za jedan vremenski kvant. Ukoliko proces u dodijeljenom mu vremenskom intervalu završio obradu ili zatražio ulazno/izlaznu operaciju, oduzelo bi mu se pravo korištenja procesora i stavlja ga se na kraj reda pripravnih procesa. OperacijskiSustavi ú stranica18

Round-Robin (RR) algoritam (2) Primjer: Proces Vrijeme izvođenja Vremenski kvant P 1 53 20 P 2 17 P 3 68 P 4 24 P 1 P 2 P 3 P 4 P 1 P 3 P 4 P 1 P 3 P 3 0 20 37 57 77 97 117 121 134 154 162 Najbolje vrijeme odaziva, veće srednje vrijeme završetka procesa Pretpostavlja se da dispečer trenutno izmjenjuje kontekst OperacijskiSustavi ú stranica19

Round-Robin (RR) algoritam (3) Potreban sklopovski prekid u redovitim vremenskim intervalima (timer) Kako ispravno odrediti vremenski interval prekida: a) Ako je prevelik vrijeme odziva je loše b) Ako je premali iskoristivost je mala (vrijeme konteksta je postaje sve utjecajnije) Prednosti RR algoritma: a) Osigurana pravednost b) Uz pravilno osiguranu duljinu vremenskog intervala moguće je iskorištenje do maksimalno 90% vremena procesora Nedostatak je ako poslovi imaju približno isto vrijeme za izvršavanje tada vrijeme izmjene postaje veliko i postavlja se upitno smisao korištenja strategije (rijetki uglavnom industrijski primjeri) OperacijskiSustavi ú stranica20

Round-Robin (RR) algoritam (4) Ostvarujemo balans takav da se 10% vremena troši na zamjenu konteksta Na Windows XP operacijskom sustavu vremenski interval je 20 ms buduci da je cilj osigurati što bolji odziv korisniku preko sučelja. Na Windows 2000 operacijskom sustavu vremenski interval je 120 ms buduci da nam je cilj što više vremena dati serverskim aplikacijama kako bi ubrzali odgovor poslužitelja. izmjena konteksta P 1 P 2 12.1 0 7 P 1 P 2 P 1 P 2 P 1 P 2 P 1 P 2 P 1 P 2 P 1 P 1 0 1 2.1 3.2 4.3 5.4 6.5 7.6 8.7 9.8 10.9 12 13.1 OperacijskiSustavi ú stranica21

Dodjela procesora s više redova pripravnih procesa U svakom većem računarskom sustavu istovremeno se izvode različiti procesi više redova pripravnih procesa npr. interaktivni i pozadinski procesi Svaki red ima različite algoritme za dodjelu procesora ili neki koriste iste algoritme ali s različitim parametrima. Npr. dva ili više redova mogu koristiti RR algoritam ali s različitim vremenskim kvantom. Redovi su poredani prema prioritetima najveći prioritet sistemski procesi interaktivni procesi interaktivno editiranje teksta grupna obrada C P U najmanji prioritet studentski procesi OperacijskiSustavi ú stranica22

Windows XP Windows XP uses a priority-based preemptive scheduling algorithm. The dispatcher uses a 32-level priority scheme to determine the order of thread execution, divided into two classes - variable class from 1 to 15 and real-time class from 16 to 31, ( plus a thread at priority 0 managing memory. ) There is also a special idle thread that is scheduled when no other threads are ready. Win XP identifies 7 priority classes ( rows on the table below ), and 6 relative priorities within each class ( columns. ) Processes are also each given a base priority within their priority class. When variable class processes consume their entire time quanta, then their priority gets lowered, but not below their base priority. Processes in the foreground ( active window ) have their scheduling quanta multiplied by 3, to give better response to interactive processes OperacijskiSustavi in the foreground. ú stranica23

Solaris OS OperacijskiSustavi ú stranica24

LINUX Modern Linux scheduling provides improved support for SMP systems, and a scheduling algorithm that runs in O(1) time as the number of processes increases. The Linux scheduler is a preemptive priority-based algorithm with two priority ranges - Real time from 0 to 99 and a nice range from 100 to 140. Unlike Solaris or XP, Linux assigns longer time quantums to higher priority tasks. OperacijskiSustavi ú stranica25

Višeprocesorski sustavi Dodjela procesora je kompleksnija potrebna sinhronizacija procesora Simetrično komunikacija između procesora Asimetrično master/slave procesori OperacijskiSustavi ú stranica26

Sustavi u realnom vremenu (eng. realtime systems) Hard (engl. embedded computing) izvršavanje u intervalu proces sa informacijom za koje vrijeme mora biti obavljen Soft - kritični zadaci dobivaju prioritet nad drugim zadacima na Slici interval odaziva OperacijskiSustavi ú stranica27