CPU-Scheduling. Fag: Operativsystemer

Like dokumenter
Scheduling og prosesshåndtering

En prosess kan sees på som et stykke arbeid som skal utføres på datamaskinen. Ofte vil det være flere prosesser/tråder på datamaskinen samtidig.

Samtidige prosesser. Prosessor modus. Hvordan kan OS effektivt kontrollere brukerprosesser? Hvordan kan OS. kontrollere brukerprosesser?

TOD063 Datastrukturer og algoritmer

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først

Fakultet for informasjonsteknologi,

Real-time Operativsystem

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer

UNIVERSITETET I OSLO

Operativsystemet Internt

HØGSKOLEN I SØR-TRØNDELAG

Prosesstabeller (PCB - Prosess Control Block) Se på PD: kommandoene ps og top Bakgrunnsprosesser Opprettelse av prosesser:

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først

Definisjon av prosess

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først

Det matematisk-naturvitenskapelige fakultet

INF Algoritmer og datastrukturer

Singletasking OS. Device minne Skjerm minne. Brukerprogram. Brukerdata/heap. Stack. Basis for flerprosess-systemer.

HØGSKOLEN I SØR-TRØNDELAG

Eksamen DAT 103. Oppgave 2. Kandidatnr.: 145 1) B 2) B 3) A 4) A 5) D 6) C 7) B 8) A 9) A 10) D

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer

INF2270. Input / Output (I/O)

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

Definisjon av prosess

INF2270. Input / Output (I/O)

INF Algoritmer og datastrukturer

Oppgave 2: Gå til roten (/) av systemet. Finn minst tre forskjellige måter å gå tilbake til hjemmekatalogen din på.

INF Algoritmer og datastrukturer

DAT kandidatnummer: 142

Concurrency. Lars Vidar Magnusson. September 20, Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17

Eksempler på ikke-blokkerende systemkall:

oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO

Fakultet for informasjonsteknologi,

TDT4258 Eksamen vår 2013

Oppgave 8.1 fra COD2e

Dagens program. Sanntidsprogrammering med Linux. Embedded Linux: Begrensninger. Hvorfor Linux?

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:

Fakultet for informasjonsteknologi, Kontinuasjonsløsning på TDT4155 Datamaskiner og operativsystemer

Kommersiell Unix Linux og frie Unix kloner

Eksamensoppgave i TDT4186 Operativsystemer

GetMutex(lock) { while(testandset(lock)) {} } En context switch kan ikke ødelegge siden testen og endringen av lock skjer i samme instruksjon.

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4186 Operativsystemer August 2005,

Vranglås (Deadlocks) Fag: Operativsystemer

Det matematisk-naturvitenskapelige fakultet

IN Algoritmer og datastrukturer

P1 P2 P3 P1 P2 P3 P1 P2. OS gjør Contex Switch fra P1 til P2

UNIVERSITETET I OSLO

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

1. Introduksjon til operativsystemer

Heap* En heap er et komplett binært tre: En heap er også et monotont binært tre:

Introduksjon til kurset og dets innhold

Grunnleggende Datastrukturer

Front page. OS - Memory management. INF Introduksjon til operativsystemer og datakommunikasjon Digital eksamen

Fakultet for informasjonsteknologi,

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

IT1101 Informatikk basisfag, dobbeltime 18/9. Kommunikasjon med perifere enheter. Kontrollere. Kontrollere (2) I/O-instruksjoner

Oppsummering av digitalteknikkdelen

Heap og prioritetskø. Marjory the Trash Heap fra Fraggle Rock

Innhold. Innledning til Input/Output. Ulike typer Input/Output. Input/Output internt i datamaskinen. Input/Output mellom datamaskiner

Oversikt. Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 1 UNIX. 2 Linux. 3 Process. 4 Process models

LØSNINGSFORSLAG. EKSAMEN I Sanntidssystemer Fagkode: STE6221

Side om side. Trettende forelesning

DBS21 Samtidighetskontrollteknikker

LØSNINGSFORSLAG TIL EKSAMEN I STE6221 Sanntidssystemer

Lars Vidar Magnusson. October 11, Lars Vidar Magnusson () Forelesning i Operativsystemer October 11, / 28

Resymé: I denne leksjonen vil du få en oversikt over hva et operativsystem er for noe, hvordan det er bygget opp og hvordan det virker.

LØSNINGSFORSLAG. EKSAMEN I Sanntidssystemer Fagkode: STE6221

Oppgave 1 - Linux kommandolinje (%)

- analyse og implementasjon

UNIVERSITETET I OSLO

INF1020 Algoritmer og datastrukturer. Dagens plan

Forelesning ISA-nivået Kap 5.1

Dijkstras algoritme. Her finnes det også (minst) en riktig rekkefølge for Relax, men den må vi oppdage litt etter hvert.

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen

INF2810: Funksjonell Programmering. Muterbare data

... Dagens plan. Prioritetskø ADT

Threads Threads (tråder) threads vs prosesser threads vs prosesser Definisjoner av

Høgskolen i Molde Institutt for Informatikk Eksamen in240: Operativsystemer Høsten 2002 SVARFORSLAG:

Alle enheter som skal sende datapakker fra forskjellige strømmer inn på samme link må forholde seg til hvordan strømmene skal prioriteres.

INF Algoritmer og datastrukturer

UNIVERSITETET I OSLO

Ny/utsatt EKSAMEN. Dato: 6. januar 2017 Eksamenstid: 09:00 13:00

Prioritetskøer. Prioritetskøer. Binære heaper (vanligst) Prioritetskøer

Minnehåndtering i operativsystemer

6105 Windows Server og datanett Jon Kvisli, HSN Skriveradministrasjon - 1. Utskrift i nettverk

Løsningsforslag til eksamen i INF103

Minnehåndtering i operativsystemer

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Enkle datastrukturer. Lars Greger Nordland Hagen. Introduksjon til øvingsopplegget og gjennomgang av python

Løsningsforslag for TDT4186 Operativsystemer

Operativsystemer: Litt IT- og Linux-historie

Grunnleggende Grafalgoritmer

Kort notat om parallellstyring IN147

kan adressere et større område som RAM enn det som faktisk er tilgjengelig. Siden data kan plasseres i RAM og/eller på harddisken brukes begrepet

Tillatte hjelpemidler: ingen hjelpemidler er tillatt. Faglærer kommer til eksamenslokalet noe tid etter at eksamen har startet.

Eksamen i tdt4120 Algoritmer og datastrukturer

Ikke pensum! Plan for dagen. Resource Management Kontekst: Bloom (1979) Kap. 11: Resource control (utvalg)

Transkript:

CPU-Scheduling Fag: Operativsystemer 1

Innhold: Scheduling (tidsplanlegger) Prosesstilstander, bakgrunn, begreper Kriterier for scheduling rettferdighet, - utnyttelse Responstid Throughput (antal prosesser ferdig per tidsenhet) Turnaround (tidsbruk per prosess) Algoritmer: Round Robin First-Come-First-Served (minner om FIFO) Shortest Job First (SJF) Prioritetsscheduling Scheduling operativsystemer 2

Oversikt fra andre tilstander fra kjørende tilstand p1 p2 Prosessdeskriptorer p6 Ny prosess til cpu-kø p3 cpu-kø p 4 p 2 p 9 p 5 p 3 dispatcher context switcher cpu scheduler Scheduling operativsystemer 3

Kjøreskjema fratatt cpu ny prosess cpu-kø scheduler cpu ferdig Har fått ressurs ressursadministrator ber om ressurs, f,eks i/o ressurser Scheduling operativsystemer 4

Tidslinje avbrudd fra i/o-enhet tidkvant utløper P1 P2 P3 prosess gjør i/o-kall kontekstskifte Scheduling operativsystemer 5

Bakgrunn En prosess kan være i en av flere tilstander Flere prosesser som konkurerer om å få kjøre på CPUen kun 1 kjørende Kjørende Kø: Suspendert Klar Scheduling = hvordan ordne køen (scheduler=tidsplanlegger) Scheduling operativsystemer 6

Noen scheduling-begreper Total CPU-tid: hvor lang tid bruker prosessen CPU? Ventetid/responstid: Hvor lang tid må prosess første gang stå i CPU-kø? Omløpstid: Tid fra start til slutt, både kjøring og kø-venting. Gjennomstrømning: Antall prosesser gjennom systemet i en tidsperiode Scheduling operativsystemer 7

Non-preemptive cpu-scheduling Prosessene beholder CPU så lenge de vil eller til tidskvant er oppbrukt Trenger ikke bruke mer tid enn nødvendig på kontekstskifter first-come-first-served: Enkel. Kan medføre betydelig venting. Hvordan? shortest job next: jobb med kortest kjøretid får kjøre først. Forutsetter kjente kjøretider. Passer satsvise (natt)jobber. Snittid vil bli liten Prioritet: ekstern (betaling) og intern (historikk). Kan få starvation Scheduling operativsystemer 8

Preemptive cpu-scheduling Kjørende prosess kan bli avbrutt Snakker ikke om I/O-avbrudd, men om at andre prosesser skal kunne snike i køen Prioritet avgjør dette Sikrer rask responstid Gir også rettferdig fordeling av CPU-tid Scheduling operativsystemer 9

Teknikker for preemptive scheduling Round-robin vanlig metode fordeler CPU-tid likt mellom alle prosesser må velge lengde for tidskvant: Administrasjon vs responstid Fler-nivå CPU-køer interaktive prosesser er i/o-bundne. Lite CPU-tid, mye I/O. CPU-bundne prosesser: Værmelding, regne ut primtall Fler-nivå er en metode for å ta hensyn til dette Scheduling operativsystemer 10

Ready kø PCB #1 PCB #2 hode hale Generell egenskap ved prosesser: Korte CPU-tidsbruk avbrutt av venting på I/O Scheduling operativsystemer 11

Prioritet Økende prioritet køer prioritet 4 prioritet 3 prioritet 2 prioritet 1 prosesser i klar-tilstand p4 p6 p2 p7 p8 p1 p3 Scheduling operativsystemer 12

Tidslinje avbrudd fra i/o-enhet tidkvant utløper P1 P2 P3 prosess gjør i/o-kall kontekstskifte Scheduling operativsystemer 13

Køer fratatt cpu ny prosess cpu-kø scheduler cpu ferdig Har fått ressurs ressursadministrator ber om ressurs, f,eks i/o ressurser Scheduling operativsystemer 14

Oversikt scheduler fra andre tilstander fra kjørende tilstand p1 p2 Prosessdeskriptorer p6 Ny prosess til cpu-kø p3 cpu-kø p 4 p 2 p 9 p 5 p 3 dispatcher context switcher cpu scheduler Scheduling operativsystemer 15

Preemptiv scheduling Det å suspendere en prosess som logisk kjører fordi den venter på f. eks. I/O eller har brukt opp sin tidskvantum. Hvis ikke -> non-preemptiv Scheduling operativsystemer 16

Kriterier for scheduling Rettferdighet: Alle prosesser skal få tilgang CPU-utnyttelsesgrad (% av CPU) Responstid (interaktive brukere) Throughput: Antall prosesser ferdig per tidsenhet Turnaround time: Total tidsbruk for at en prosess skal gjøre seg ferdig (start -> mål) Scheduling operativsystemer 17

Introduction to Scheduling Scheduling Algorithm Goals Scheduling operativsystemer 18

Round Robin scheduling Spesielt for tidsdelte system hver prosess får tildelt et tidskvantum ready kø ordnes som en FIFO-kø prosesser som har brukt opp tidskvantum eller må vente på I/O blir lagt bakerst i køen 1. kjører kø. A B C D 2. kjører kø. B C D A Scheduling operativsystemer 19

Lengde av tidskvantum Prosessen P 1 24 tidsbruk P 2 3 P 3 7 P 1 P 2 P 3 P 1 P 3 P 1 P 1 P 1 5 3 5 5 2 5 Optimalt kvantum? Scheduling operativsystemer 20

Prioritets-scheduling Setter prioritet på prosessen I/O-bundne -> høy prioritet CPU-bundne -> lav prioritet Gruppene prosesserer i klassen System pros. I/O batch stud. Prioritet 4 Prioritet 3 Prioritet 2 Prioritet 1 Kjører ferdig høyere prioritetsklasse før vi går til neste Scheduling operativsystemer 21

Prioritets-schedulings problem Starvation (sultefôring) Prosess i en kø med lavere prioritet får ikke kjøre Løsning: Aging (aldring) -> høyner prioritet etter som tiden går Scheduling operativsystemer 22

Forskjellige tidskvantum Metode med flere køer med forskjellige tidskvantum: Kø 1 kvant 8 Kø 2: kvant 16 Kø 3: kvant 32 Scheduling operativsystemer 23

Shortest job first (SJF) Prosessen P 1 6 P 2 8 P 3 7 P 4 3 tid P 4 P 2 P 3 P 2 0 3 9 16 24 Turnaround tid = (3+9+16+24)/4=13 Vente tid = (0+3+9+16)/4=7 I mange sammenhenger er SJF optimal Problem: forutsi tidsforbruk Også kalt: shortest job next (SJN) Scheduling operativsystemer 24

Sammenligning Prosessene P1,P2,P3,P4,P5 ankommer på tidspunktene 0,2,4,6,8 Scheduling operativsystemer 25

Neste leksjon: Minne Klikk her for å se på neste leksjon: Minneadminisatrasjon. Scheduling operativsystemer 26