scheduling stallings, chapter 9 - cs.helsinki.fi · scheduling stallings, chapter 9 week 6 2. ......

27
Syksy 2007, Tiina Niklander Syksy 2007, Tiina Niklander 11 11 - 1 Käyttöjärjestelmät, Luento 11 1 Scheduling Stallings, Chapter 9 WEEK 6 2

Upload: doantram

Post on 23-Jul-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 11

Käyttöjärjestelmät, Luento 11

1

Scheduling

Stallings, Chapter 9

WEEK 6

2

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 22

Käyttöjärjestelmät, Luento 11

3Tbl 9.2 (alaosa)

4

When?• Long-term

• Accept new process?• Enough memory? swap?

• Medium-term• Bring a suspended process

back, when?• Enough free memory?• MPL, multiprocessing level?

• Short-term• Which process is switched to

processor?• I/O

• Service order of I/O requests(of processes) ?

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 33

Käyttöjärjestelmät, Luento 11

5

Priorities0123…63646566…127128129130131…192

Real timeprocesses

OS kernel

Used a lot of CPU(f.ex. full time slice)

Waiting for a long duration

swappercleaner

missile avoidance processflight surface control

load control

navigationfixedpri

variablepri

fixedpri

high pri

low pri

calculator (128-140)

6

CPU Scheduling:Algorithms examples• First-Come-First-Served FCFS• Round Robin RR• Virtual Round Robin VRR• Shortest Process Next SPN• Shortest Remaining Time SRT• Highest Response Ratio Next HRRN• Multilevel Feedback feedback

• Fair Share Scheduling FSS

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 44

Käyttöjärjestelmät, Luento 11

7

Esimerkkiprosessit

• Service Time = CPU:ssa kulutettu aika• Esimerkeissä ei mietitä I/O:n vaikutusta

(Tbl 9.4 [Stal05])

8

FCFS – First Come First Served

(Fig 9.5 [Stal05])

R379

1212

keskim. 8.6

oo

oo

o

S36452

4 (keskim.)arrival time for B completion time for B

cpu time for B

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 55

Käyttöjärjestelmät, Luento 11

9

RR – Round Robin

(Fig 9.5 [Stal05])

R4

161314

7

keskim. 10.8

oo

oo

o

S36452

4 (keskim.)

10

RR – effect of the time slice

(Fig 9.5 [Stal05])

R3

157

1411

keskim. 10.0

oo

oo

o

S36452

4 (keskim.)

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 66

Käyttöjärjestelmät, Luento 11

11

Virtual RR:njonomalli

12

SPN – Shortest Process Next

(Fig 9.5 [Stal05])

R37

1114

3

keskim. 7.6

oo

oo

o

S36452

4 (keskim.)

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 77

Käyttöjärjestelmät, Luento 11

13

SRT – Shortest Remaining Time

oo

oo o

R3

134

142

keskim. 7.2(Fig 9.5 [Stal05])

S36452

4 (keskim.)

45

25

14

time spent waiting CPU + expected service timeresponse ratio = -------------------------------------------------------------

expected service time

HRRN – Highest Response Ratio Next

oo

oo

o

R379

147

keskim. 8.0(Fig 9.5 [Stal05])

S364524 (keskim.)

(5+2)/2 (7+5)/5>

257

5

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 88

Käyttöjärjestelmät, Luento 11

15

Multilevel Feedback (Fig 9.10 [Stal05])

16

Feedback q=1

oo

oo

o

R4

181213

3

keskim. 10.0(Fig 9.5 [Stal05])

1 2 31 2 3 4 5 6

1 2 3 41 2 3 4 5

1 2

S364524 (keskim.)

Virhe?

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 99

Käyttöjärjestelmät, Luento 11

17

Feedback q=2i

oo

oo

o

R4

151414

6

keskim. 10.6(Fig 9.5 [Stal05])

Fig 9.5 [Stal05]

1 2 31 2 3

1 2 31 2 3

1 2

S36452

4 (keskim.)

Virhe?

Yhteenveto Tbl 9.3 [Stal05]

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 1010

Käyttöjärjestelmät, Luento 11

19

Queuing systems• See:

http://WilliamStallings.com/StudentSupport.html

Fig 9.23 [Stal05]

20

Jonomallin merkinnät

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 1111

Käyttöjärjestelmät, Luento 11

21

Käyttöasteen vaikutus

RU

8*S0.8754*S0.752*S0.5

0.50.5 0.750.75

....

....

..

0.250.25 1.01.0

SS

2S2S

4S4S

6S6S

8S8S

UU

RR

Validiteettialue:Validiteettialue:λ < µλ < µ

R = S / (1R = S / (1--U)U)

22

HUOM:Eri kaavat estävälleja keskeyttävälle

(no priority)

(priority)

(priority withpreemption)

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 1212

Käyttöjärjestelmät, Luento 11

23

24

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 1313

Käyttöjärjestelmät, Luento 11

25

Simulointiesimerkki• HUOM: Simuloinnin

tulokset pätevät vainkokeillulle kuormalle.

• Tässä esimerkissä:• Saapumistiheys ja• Palveluaika Ts

satunnaistettuja:• Arvotaan kullekin

prosessille erikseen!8.0

18.0

50000

====

s

s

TT

prosessia

λρ

λOdotusarvoja!

26

Tuloksia

• RR: pitkillä töillä vakiollinen käyttäytyminen (noin 5kertaa suoritusaika)

• FCFS: noin 1/3 töistä (Lyhyimmät) yli 10-kertainenläpimeno suoritusaikaan nähden

Y-akseli onnormalisoitu:Kokonaisaikaon jaettusuoritusajalla

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 1414

Käyttöjärjestelmät, Luento 11

27

28

Kertaus

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 1515

Käyttöjärjestelmät, Luento 11

29

Important themes 1/2• Structure of OS• Process and thread

• PCB, TCB, execution, mode and context switch• Memory management

• MMU’s structure• Different methods

• Memory allocation, address translation• Virtual memory

• Paging, address translation• Page table, page fault, PTR, TLB• Policies, methods and algorithms

30

Important themes 2/2• Locality• Interrupts and interrupt handling, execution cycle• Multiprogramming• User mode, kernel mode

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 1616

Käyttöjärjestelmät, Luento 11

31

Other themes• UNIX, Linux, Windows• History and evolution of OS• Synkronization and mutual exclusion• cache

• Use ”Review Questions” provided in the book!• If you can without extra reading give a precise answer, then

you should do well in the exam.• Check that you can solve the weekly exercises, even if

the numbers vary

32

Kertausta Osa2:(vanhoja kalvoja)

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 1717

Käyttöjärjestelmät, Luento 11

33

Layer model• System calls• Interrupts

Palvelupyynnöt

Keskeytykset

34

OS structureuser

Laiteohjaimet ja laitteet

applications Varusohjelmatshell

Laiteajurit Keskeytyskäsittely

PROCESS MANAGEMENT

I/O MANAGEMENT

MEMORY MANAGEMENTFILSE SYSTEMblocks

System call

protection

RESOURCE MANAGEMENT

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 1818

Käyttöjärjestelmät, Luento 11

35

Execution cycle Kuva 1.7

Start InterruptHandler

36

Interrupt handling (kuva 1.10)

Book pages 21-25

* Kernel mode vsuser mode

* Disabling andenabling interrupts

StartInterruptHandler

****

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 1919

Käyttöjärjestelmät, Luento 11

37

System call:read(fd, buffer, nbytes) Tan01 1-17

38

Kernel (Fig 4.10 [Stal 05])

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 2020

Käyttöjärjestelmät, Luento 11

39

Process states

Kuva 3.8Kuva 3.8

40

OS data structures Kuva 3.10Kuva 3.10

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 2121

Käyttöjärjestelmät, Luento 11

41

Threads

TCB

42

Solaris

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 2222

Käyttöjärjestelmät, Luento 11

43

(Simple) memory management

Internl fragmentationonly on the last page

No externalfragmentation

Memory divided toframes, process to pages

Simplepaging

Externalfragmentation

No internalfragmentation

Process divided tosegments. Each segmentallocated dynamically

Simplesegmentation

Small amount ofinternal fragmentation

Practically noexternalfragmentation

Dynamic allocationusing fixed sizes. Processin one allocated area

BuddySystem

Externalfragmentation andneed for compaction

No internalfragmentation

Allocated when neededand only the amountrequested

Dynamicpartitioning

Internal fragmentationSimple toimplement,little overhead

Memory divided to staticpartitions at systemgeneration time

Fixedpartitioning

WeaknessesStrengthsDescriptionTechnique

44

Buddy System

Kuva 7.6Kuva 7.6

PuuPuu

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 2323

Käyttöjärjestelmät, Luento 11

45

Two-level hierarchical page table• Top most level in one page and always in the memory

1 K entries (= 1024 = 210)

1K * 1K = 1M entries

46

Inverted page table v.2

• Frame number• Index of the table• Not stored in the entry

j

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 2424

Käyttöjärjestelmät, Luento 11

47

TLB and cache Kuva 8.10

48Kuva 8.8.Kuva 8.8.

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 2525

Käyttöjärjestelmät, Luento 11

49

Combined segmentation and pagingKuva 8.13

50

Korvauspolitiikka

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 2626

Käyttöjärjestelmät, Luento 11

51

Clock page replacement

Fig 8.16 [Stal05]

Working setFig 8.19 [Stal05]

Syksy 2007, Tiina NiklanderSyksy 2007, Tiina Niklander 1111 -- 2727

Käyttöjärjestelmät, Luento 11

2. period• Starts on Monday 29.10

• Our sessions continue on Thursday 1.11.