scheduling stallings, chapter 9 - cs.helsinki.fi · scheduling stallings, chapter 9 week 6 2. ......
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]