WEEK 6 Scheduling Stallings, Chapter 9 1 2 Syksy 2007, Tiina Niklander 11-1
Tbl 9.2 (alasa) When? Lng-term Accept new prcess? Enugh memry? swap? Medium-term Bring a suspended prcess back, when? Enugh free memry? MPL, multiprcessing level? Shrt-term Which prcess is switched t prcessr? I/O Service rder f I/O requests (f prcesses)? 4 Syksy 2007, Tiina Niklander 11-2
Pririties Real time prcesses OS kernel high pri 0 1 2 6 64 65 66 127 128 129 10 11 192 lw pri missile avidance prcess flight surface cntrl fixed navigatin pri lad cntrl swapper cleaner Waiting fr a lng duratin calculatr (128-140) Used a lt f CPU (f.ex. full time slice) fixed pri variable pri 5 CPU Scheduling: Algrithms examples First-Cme-First-Served Rund Rbin Virtual Rund Rbin Shrtest Prcess Next Shrtest Remaining Time Highest Respnse Rati Next Multilevel Feedback FCFS RR VRR SPN SRT HRRN feedback Fair Share Scheduling FSS 6 Syksy 2007, Tiina Niklander 11 -
Esimerkkiprsessit (Tbl 9.4 [Stal05]) Service Time = CPU:ssa kulutettu aika Esimerkeissä ei mietitä I/O:n vaikutusta 7 FCFS First Cme First Served S 6 4 5 2 4 (keskim.) cpu time fr B (Fig 9.5 [Stal05]) arrival time fr B R 7 9 12 12 keskim. 8.6 cmpletin time fr B 8 Syksy 2007, Tiina Niklander 11-4
RR Rund Rbin S 6 4 5 2 4 (keskim.) (Fig 9.5 [Stal05]) R 4 16 1 14 7 keskim. 10.8 9 RR effect f the time slice S 6 4 5 2 4 (keskim.) (Fig 9.5 [Stal05]) R 15 7 14 11 keskim. 10.0 10 Syksy 2007, Tiina Niklander 11-5
Virtual RR:n jnmalli 11 SPN Shrtest Prcess Next S 6 4 5 2 4 (keskim.) (Fig 9.5 [Stal05]) R 7 11 14 keskim. 7.6 12 Syksy 2007, Tiina Niklander 11-6
SRT Shrtest Remaining Time S 6 4 5 2 4 (keskim.) 4 2 (Fig 9.5 [Stal05]) 5 R 1 4 5 14 2 keskim. 7.2 1 HRRN Highest Respnse Rati Next S 6 4 5 2 4 (keskim.) 7 5 (Fig 9.5 [Stal05]) 2 R 7 9 14 7 keskim. 8.0 (5+2)/2 > (7+5)/5 5 time spent waiting CPU + expected service time respnse rati = ------------------------------------------------------------- expected service time 14 Syksy 2007, Tiina Niklander 11-7
Multilevel Feedback (Fig 9.10 [Stal05]) 15 S 6 4 5 2 Feedback q=1 1 2 1 2 4 5 6 1 2 4 1 2 4 5 1 2 4 (keskim.) Virhe? (Fig 9.5 [Stal05]) R 4 18 12 1 keskim. 10.0 16 Syksy 2007, Tiina Niklander 11-8
Feedback q=2 i Virhe? S R 1 2 4 6 1 2 15 4 1 2 14 5 1 2 14 2 1 2 6 (Fig 9.5 [Stal05]) 4 (keskim.) keskim. 10.6 Fig 9.5 [Stal05] 17 Yhteenvet Tbl 9. [Stal05] Syksy 2007, Tiina Niklander 11-9
Queuing systems Fig 9.2 [Stal05] See: http://williamstallings.cm/studentsupprt.html 19 Jnmallin merkinnät 20 Syksy 2007, Tiina Niklander 11-10
Käyttöasteen vaikutus R 8S 6S R = S / (1-U). U 0.5 0.75 0.875 R 2*S 4*S 8*S 4S 2S S.... Validiteettialue: λ < µ 0.25 0.5 0.75 1.0 U 21 (n pririty) HUOM: Eri kaavat estävälle ja keskeyttävälle (pririty with preemptin) (pririty) 22 Syksy 2007, Tiina Niklander 11-11
2 24 Syksy 2007, Tiina Niklander 11-12
Simulintiesimerkki HUOM: Simulinnin tulkset pätevät vain kkeillulle kurmalle. Tässä esimerkissä: Saapumistiheys ja Palveluaika Ts satunnaistettuja: Arvtaan kullekin prsessille erikseen! 50000prsessia λ = 0.8 T s = 1 ρ = λt Odtusarvja! s = 0.8 25 Tulksia Y-akseli n nrmalisitu: Kknaisaika n jaettu suritusajalla RR: pitkillä töillä vakillinen käyttäytyminen (nin 5 kertaa suritusaika) FCFS: nin 1/ töistä (Lyhyimmät) yli 10-kertainen läpimen suritusaikaan nähden 26 Syksy 2007, Tiina Niklander 11-1
27 Kertaus 28 Syksy 2007, Tiina Niklander 11-14
Imprtant themes 1/2 Structure f OS Prcess and thread PCB, TCB, executin, mde and cntext switch Memry management MMU s structure Different methds Memry allcatin, address translatin Virtual memry Paging, address translatin Page table, page fault, PTR, TLB Plicies, methds and algrithms 29 Imprtant themes 2/2 Lcality Interrupts and interrupt handling, executin cycle Multiprgramming User mde, kernel mde 0 Syksy 2007, Tiina Niklander 11-15
Other themes UNIX, Linux, Windws Histry and evlutin f OS Synkrnizatin and mutual exclusin cache Use Review Questins prvided in the bk! If yu can withut extra reading give a precise answer, then yu shuld d well in the exam. Check that yu can slve the weekly exercises, even if the numbers vary 1 Kertausta Osa2: (vanhja kalvja) 2 Syksy 2007, Tiina Niklander 11-16
Layer mdel System calls Interrupts Palvelupyynnöt Keskeytykset OS structure applicatins user shell Varushjelmat System call PROCESS MANAGEMENT RESOURCE MANAGEMENT prtectin FILSE SYSTEM MEMORY MANAGEMENT blcks I/O MANAGEMENT Laiteajurit Keskeytyskäsittely Laitehjaimet ja laitteet 4 Syksy 2007, Tiina Niklander 11-17
Executin cycle Kuva 1.7 Start Interrupt Handler 5 Interrupt handling (kuva 1.10) Bk pages 21-25 * Kernel mde vs user mde * Disabling and enabling interrupts Start Interrupt Handler * * 6 Syksy 2007, Tiina Niklander 11-18
System call: read(fd, buffer, nbytes) Tan01 1-17 7 Kernel (Fig 4.10 [Stal 05]) 8 Syksy 2007, Tiina Niklander 11-19
Prcess states Kuva.8 9 OS data structures Kuva.10 40 Syksy 2007, Tiina Niklander 11-20
Threads TCB 41 Slaris 42 Syksy 2007, Tiina Niklander 11-21
(Simple) memry management Technique Fixed partitining Dynamic partitining Buddy System Simple segmentatin Simple paging Descriptin Memry divided t static partitins at system generatin time Allcated when needed and nly the amunt requested Dynamic allcatin using fixed sizes. Prcess in ne allcated area Prcess divided t segments. Each segment allcated dynamically Memry divided t frames, prcess t pages Strengths Simple t implement, little verhead N internal fragmentatin Practically n external fragmentatin N internal fragmentatin N external fragmentatin Weaknesses Internal fragmentatin External fragmentatin and need fr cmpactin Small amunt f internal fragmentatin External fragmentatin Internl fragmentatin nly n the last page 4 Buddy System Puu Kuva 7.6 44 Syksy 2007, Tiina Niklander 11-22
Tw-level hierarchical page table Tp mst level in ne page and always in the memry 1 K entries (= 1024 = 2 10 ) 1K * 1K = 1M entries 45 Inverted page table v.2 Frame number Index f the table Nt stred in the entry j 46 Syksy 2007, Tiina Niklander 11-2
TLB and cache Kuva 8.10 47 Kuva 8.8. 48 Syksy 2007, Tiina Niklander 11-24
Cmbined segmentatin and paging Kuva 8.1 49 Krvausplitiikka 50 Syksy 2007, Tiina Niklander 11-25
Clck page replacement Fig 8.16 [Stal05] 51 Wrking set Fig 8.19 [Stal05] Syksy 2007, Tiina Niklander 11-26
2. perid Starts n Mnday 29.10 Our sessins cntinue n Thursday 1.11. Syksy 2007, Tiina Niklander 11-27