Schedulering. dopsys 1

Relaterede dokumenter
Schedulering. dopsys 1

Schedulering. dopsys

Implementation af Koordinering. dopsys 1

Uniprocessor Scheduling

Processer og koordinering

1 Operativsystemer oversigt

Planen for idag. Synkroniseringsmekanismer. Krav til løsning. Kritiske regioner. Bagerens algoritme. Kritisk region via delt lager.

Processer og tråde. dopsys 1

Scheduling. Niels Olof Bouvin. Institut for Datalogi Aarhus Universitet

Sider og segmenter. dopsys 1

Sider og segmenter. dopsys 1

Principper for Samtidighed og Styresystemer

Koordinering. dopsys

Input/Output: Disk & Clock. dopsys

Processer og koordinering. dopsys 1

Deadlocks dopsys 1 onsdag den 8. december 2010

Planen for idag. Datalogi 1F Forår Hvad er en proces? Livscyklus for en proces. Hvad består en proces af?

Operativsystemer - dopsys

Operativsystemer of C Efterår 2013 Virtuel hukommelse (kap. 9)

The ADSL-optimizer: Korrekt trafikstyring på ADSL linier

Karaktergivende opgave i Styresystemer og multiprogrammering (reeksamen) 13. august 2007

Operativsystemer - dopsys. Erik Ernst

Styresystemer og tjenester

Analyse og design af Indlejrede Systemer. v/ Jens Dalsgaard Nielsen Henrik Schiøler Mads Dore alle Afdeling for Proceskontrol

Algorithms and Architectures II Jens Myrup Pedersen (JMP), Rasmus Løvenstein Olsen (RLO)

Operativsystemer. Tobias Brixen Q2-2012

Vidar Jon Bauge. Notater til Teknik. Datamatikeruddannelsen efterår 2005 Side 1 af 54

Design Systemkald. User-mode Linux, The Linux kernel/

Lageradministration Paging og segmentering

Analyse og design af Indlejrede Systemer. v/ Jens Dalsgaard Nielsen Henrik Schiøler alle Afdeling for Proceskontrol

Alternative Scheduling in Linux Alina Beygelzimer November 30, 1999

Specifikation Abstrakt OO OS-API Rev Specifikation. Abstrakt, objektorienteret operativsystem-api

Styresystemer og tjenester

Kerner med afbrydelser. Planen for i dag. Kerne med afbrydelser. Tætkoblede drivprogrammer. Uheldig rækkefølge. Synkronisering med ydre enheder

Interconnect. Front end interface

Handling Sporadic Tasks in Off- Line Scheduled Distributed Real Time Systems

Planen for idag. Opdatering af delt lager

Algoritmedesign med internetanvendelser ved Keld Helsgaun

Principper for Samtidighed og Styresystemer

Systemkald i Unix/Linux

A Profile for Safety Critical Java

FS2: Dynamic Data Replication in Free Disk Space for Improving Disk Performance and Energy Consumption

Dynamic Voltage and Frequency Management Based on Variable Update Intervals

Operativsystemer - dopsys. Erik Ernst

Routing tables Processer Tråde Hukommelse. Operativsystemer og netværk Lektion 5. I/O Linux Debian Webserver

Introduktion til datastrukturer. Philip Bille

TeleFaction Tilbage fra fremtiden!

Styresystemer og tjenester

Kernealphaerne Indhold af G1

Systemkald DM Obligatoriske opgave. Antal sider: 7 inkl. 2 bilag Afleveret: d. 18/ Afleveret af: Jacob Christiansen,

Lageret i maskinarkitekturen. Beregningsenhed, lagre (registre, RAM, disk), ydre enheder

Træning til klatring i klubben.

Ejendomsinvestering og finansiering

Lærebog. Datalogi 1F Forår Hvad sker hvornår? Kursusbøger. Planen for idag. Hvad er et operativsystem

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2

1. Forklar sammenhængen mellem sektor, spor (track) og cylinder.

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

Manual til AVG Antivirus

Morten Juul Nielsen Produktchef Microsoft Danmark

Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer

Tildel fast IP adresse til BC9xxx med BootP og oprettelse kommunikation fra TwinCat

SAS GRID MANAGER THOMAS DAMGAARD, CHEFKONSULENT, SAS INSTITUTE Copyr i g ht 2016, SAS Ins titut e Inc. All rights res er ve d.

SAS for Customer Experience Analytics

Dynamisk programmering

DM14-1. Obligatorisk opgave F.06. System Call. Jacob Aae Mikkelsen Ingen andre gruppe medlemmer. 6. marts 2005

Boligsøgning / Search for accommodation!

Algoritmer og datastrukturer Course No Cheat Sheet May 15, 2012

Tildel fast IP adresse til BC9xxx med ARP og oprettelse kommunikation fra TwinCat

Dynamisk Routing OSPF. Rasmus Elmholt V1.0

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3

Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer

Processer. DS kursusgang nr. 2: Procestræer. ps: Vis processer

CoS. Class of Service. Rasmus Elmholt V1.0

Nyeste viden om installationers påvirkning af målenøjagtigheden

Programmering 2. dprog2 E

Asymptotisk analyse af algoritmers køretider

DATALOGI 1F. Skriftlig eksamen tirsdag den 27. januar 2004

Netværksalgoritmer 1

Introduktion til datastrukturer

Programmering i C. Lektion september 2009

QoS. Quality of Service. TDC IP telefoni Scale

Evaluating Germplasm for Resistance to Reniform Nematode. D. B. Weaver and K. S. Lawrence Auburn University

Dynamisk programmering

Real-time programming safety in Java and Ada

Ole Nielsen - CEO / Owner

Lageret er hierarkisk fokus nu: disk

Programmering 2. dprog2 E

Typisk PC arkitektur. Synkronisering ved aktiv venten

ANLÆGS-DANMARK OG KOMMUNAL ORGANISERING/STYRING

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 23n log n. 4 n (log n) log n

Dynamisk programmering

Libraries i C. Thomas Bøgholm. Marts En kort introduktion. Aalborg Universitet

Dagens program. Digital formidling - med udgangspunkt i Ting. Proces og output. Projektbeskrivelserne. Walk the Talk - Formål

Rekursion og dynamisk programmering

Principper for Samtidighed og Styresystemer

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen (bemærk at log n betegner totals logaritmen): n 2 (log n) 2 2.

Noter til C# Programmering Iteration

F2 support rapport. Rapportperiode: februar 2017

BGP IOS kommandoer Programmering af Routere

Common Language Runtime. Multithreading

Transkript:

Schedulering dopsys 1

Re: Schedulering af processer.. administration af CPU-resursen. Ready List (RL) processer i ready_a, ready_s, eller running tilstand. dopsys 2

Re: Schedulering af processer.. administration af CPU-resursen. #ready_a >> #CPU => behov for scheduler Ready List (RL) processer i ready_a, ready_s, eller running tilstand. dopsys 2

Indlejret vs. autonom scheduler Indlejret (embedded): en del af hver proces, kaldes via systemkald el.lign. Autonom: selvstændig proces, evt. på egen CPU dopsys 4

Schedulering.. typisk baseret på prioriteter (statiske eller dynamiske): dopsys 5

Basal algoritmestruktur Scheduler() { do { Find highest priority ready_a process p; Find a free CPU cpu; if (cpu!= NULL) Allocate_CPU(p,cpu); } while (cpu!= NULL); do { Find highest priority ready_a process p; Find lowest priority running process q; if (Prio(p) > Prio(q)) Preempt(p,q); } while (Prio(p)> Prio(q)); if (self->status.type!= running ) Preempt(p,self); } Pointer: brug alle CPUer + lad de vigtigste processer køre NB: særlige forhold omkring self ikke vist! dopsys 6

Designvalg i schedulering Beslutningsform (Decision mode): hvornår sker aktivering? Nonpreemptive: running proces kan ikke fratages CPU en. Proces terminerer. Proces blokerer. Proces skabes, og der er en ledig CPU. Preemptive: running proces kan blive frataget CPU en (typisk timer). Proces start. Proces af-blokering. Tidskvantum for running proces er opbrugt. En ready proces med højere prioritet end en running proces. Prioritetsfunktion: tildeler prioritet til hver proces. Arbitreringsregel: valg mellem processer med samme prioritet. dopsys 7

Kvalitetsparametre A.S. Tanenbaum Modern Operating Systems, Prentice-Hall, 2nd Edition, 2001. dopsys 8

Oversigt over algoritmer dopsys 9

Oversigt over algoritmer Batch dopsys 9

Oversigt over algoritmer Batch Interaktive dopsys 9

Oversigt over algoritmer Batch Interaktive Real-tids dopsys 9

Oversigt over algoritmer Batch Interaktive Real time in system Attained service time Total service time Real-tids dopsys 9

Batch algoritmer Process arrival service p1 p2 p3 t t t+3 4 2 1 SJF Rækkefølgen er ikke ligegyldig: forskellige process turnaround tider dopsys 11

Oversigt over algoritmer Batch Interaktive Real-tids dopsys 9

Oversigt over algoritmer Batch Interaktive Real-tids External priority No. of priority levels Max time at top level dopsys 9

Round-Robin (RR).. baseret på et quantum q (tidsenheder): q tidsenheder Decision mode: preemption efter q tidsenheder. Prioritets funktion: P = 0 (alle har samme prioritet). Arbitration regel: typisk baseret på kø-struktur. Afvejning mellem responstid og context-switch overhead. Men hvordan behandles I/O bundne processer? dopsys 13

[Click] Hvordan behandles en I/O-bundet proces under RR? q tidsenheder A. Den bliver behandlet godt: kører en stor del af tiden B. Den bliver behandlet ligesom alle andre C. Den bliver behandlet skidt: kører kun lidt D. Det afhænger helt af I/O-enhedens opførsel E. Ved ikke dopsys 13

Multilevel Priority (ML)..prioritetsklasser 0..n-1: Nonpreemptive: Preemptive: FIFO indenfor hver prioritetsklasse. RR indenfor hvor prioritetsklasse. dopsys 14

[Q/A]..prioritetsklasser 0..n-1: Nonpreemptive: Preemptive: FIFO indenfor hver prioritetsklasse. RR indenfor hvor prioritetsklasse. dopsys 14

[Q/A]..prioritetsklasser 0..n-1: Nonpreemptive: Preemptive: Med statiske prioriteter - Hvordan kommer FIFO indenfor hver prioritetsklasse. disse her til at køre? RR indenfor hvor prioritetsklasse. dopsys 14

Multi-level Feedback (MLF).. ML med dynamiske prioriteter: Priority Max time New arrivals (and unblocked) Error Processes exceeding maximum time Nonpreemptive: Preemptive: FIFO indenfor hver prioritetsklasse. RR indenfor hvor prioritetsklasse. dopsys 16

Oversigt over algoritmer Batch Interaktive Real-tids dopsys 9

Oversigt over algoritmer Batch Interaktive Real-tids Period alle processer kører periodisk! dopsys 9

Real-time algoritmer: RM vs. EDF dopsys 18

Real-time algoritmer: RM vs. EDF Er RM og EDF så ikke bare lige gode? dopsys 18

Real-time algoritmer: RM vs. EDF CPU utilization: 1.5/4+3/5 = 0.975 < 1 dopsys 19

Real-time algoritmer: RM vs. EDF CPU utilization: 1.5/4+3/5 = 0.975 < 1 Nej, de er ikke lige gode: RM er ikke optimal, men det er EDF dopsys 19

[Click] CPU utilization: 1.5/4+3/5 = 0.975 < 1 A. CPU util. > 1: der kan sommetider scheduleres B. CPU util. < 1: der kan altid scheduleres C. CPU util. < 1: der kan sommetider scheduleres D. CPU util. > 1: der kan altid scheduleres E. Ved ikke dopsys 19

Schedulering i Linux 2.2.. baseret på dynamisk prioritet (goodness): Goodness New arrivals To prioritetsklasser: 1. Real-time: Statiske prioriteter, FIFO og RR processer 2. Regular: Dynamisk prioritet Realtime Regular 1000 + real-time priority (static: FIFO or RR) Goodness (if rem. quantum >0) Remaining quantum Base quantum Goodness (if rem. quantum=0) dopsys 20

spørgsmål om scheduleringsalgoritmer? dopsys 21

Prioritets-invertering.. lavprioritetsproces forhindrer proces med høj prioritet i at køre: p1: P(mutex); CS_1; V(mutex); p2: program 2 p3: P(mutex); CS_3; V(mutex); dopsys 22

Prioritets-invertering Kritiske regioner gøres nonpreemptible: Processer i kritisk region kan ikke afbrydes. Kan implementeres ved at inhibit/enable interrupts i kritisk region. Højprioritetsproces kan ikke få CPU-adgang når kritisk region udføres. Kritiske region udføres med højeste anvender-prioritet: Reducerer effekt af manglende CPU adgang for højprioritetsprocesser. Dynamic priority inheritance: Hvis proces q med lav prioritet blokerer proces p med højere prioritet sættes P(q) = P(p). Kan implementeres som en del af semafor-primitiverne. dopsys 23

Mars Pathfinder.. landede på Mars 4. juli, 1997. vxworks - real-time embedded systems OS kernel Preemptive priority scheduling. Informationsbus (delt lager) beskyttet af mutexes. System reset ifm. indsamling af meteorologisk data. dopsys 24

Processer: Mars Pathfinder Bus management task (høj prioritet / lille periode). Kommunikations task (medium priority). Data opsamlings task (lav prioritet / stor periode). Bus management task Kommunikations task Data opsamlings task Mutex ikke sat til dynamic priority inheritance! dopsys 25

Processer: Mars Pathfinder Bus management task (høj prioritet / lille periode). Kommunikations task (medium priority). Data opsamlings task (lav prioritet / stor periode). Bus management task Kommunikations task interrupt Data opsamlings task Mutex ikke sat til dynamic priority inheritance! dopsys 25

Processer: Mars Pathfinder Bus management task (høj prioritet / lille periode). Kommunikations task (medium priority). Data opsamlings task (lav prioritet / stor periode). deadline! Bus management task Kommunikations task interrupt Data opsamlings task Mutex ikke sat til dynamic priority inheritance! dopsys 25

Opsummering Scheduleringsalgoritmer: Embedded/autonomous & generel algoritmeskitse Batch: FIFO, SJF, SRT (avg. turnaround) Interactive: RR, ML, MLF Real-time: RM, EDF (CPU util., feasible/optimal) Priority Inversion: Begreb, løsninger Eksempel: Mars Pathfinder dopsys 26