Qua n ly tie n tr nh
This presentation is the property of its rightful owner.
Sponsored Links
1 / 58

Quaûn lyù tieán trình PowerPoint PPT Presentation


  • 112 Views
  • Uploaded on
  • Presentation posted in: General

Quaûn lyù tieán trình. Muïc tieâu. Moâ hình Tieán trình Traïng thaùi tieán trình Thoâng tin quaûn lyù tieán trình Quaù trình ñieàu phoái tieán trình Caùc thuaät toaùn ñieàu phoái. Job 1. CPU. CPU. Job 1. CPU. IO. CPU. IO. Job 2. CPU. IO. CPU. CPU. Ña nhieäm vaø ña chöông ???.

Download Presentation

Quaûn lyù tieán trình

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Qua n ly tie n tr nh

Quaûnlyùtieántrình


Mu c tie u

Muïctieâu

  • MoâhìnhTieántrình

  • Traïngthaùitieántrình

  • Thoângtin quaûnlyùtieántrình

  • Quaùtrìnhñieàuphoáitieántrình

  • Caùcthuaättoaùnñieàuphoái

Trần Hạnh Nhi


A nhie m va a ch ng

Job 1

CPU

CPU

Job 1

CPU

IO

CPU

IO

Job 2

CPU

IO

CPU

CPU

Ñanhieämvaøñachöông ???

  • Vìsaomuoánxöûlyùñoàngthôøinhieàucoângvieäctreânmaùytính ?

IO

CPU

IO

Trần Hạnh Nhi

 Xöûlyùñoàngthôøiñeåtaênghieäusuaátsöûduïng CPU


A nhie m va a ch ng1

1

2

x = a * b

y = c * d

3

Ñanhieämvaøñachöông ???

  • Vìsaomuoánxöûlyùñoàngthôøinhieàucoângvieäctreânmaùytính ?

Job : kq = a*b + c*d;

Xöûùlyùñoànghaønh

Xöùlyùtuaàntöï

CPU #2

CPU #1

CPU #1

Trần Hạnh Nhi

x = a * b

y = c *d

kq = x+y

kq = x+y

 Xöûlyùñoàngthôøiñeåtaêngtoácñoäxöûlyù


A nhie m va a ch ng2

Ñanhieämvaøñachöông

  • Multitasking (ñanhieäm): chopheùpnhieàutaùcvuï/ coângvieäcñöôïcxöûlyùñoàngthôøi

    • Ngöôøiduøngluoânmongmuoán 1 HÑH ñanhieäm

    • Nhöng: Maùytínhthöôøngchæcoù 1 CPU?

  • Multiprogramming (ñachöông): kyõthuaätchopheùpnhieàuchöôngtrìnhñöôïcthöïchieänñoàngthôøi (treân 1 CPU)

    • Giaûlaäpnhieàu CPU aûotöø 1 CPU thaätñeåchopheùpthihaønhnhieàuchöôngtrìnhñoàngthôøi.

    • AÛohoaùbaèngcaùchnaøo? Xaâydöïngcaùcthuaättoaùnñeåluaânchuyeån CPU giöõacaùcchöôngtrìnhöùngduïng.

Trần Hạnh Nhi


X ly o ng ha nh nh ng kho kha n

Excel

Visual C++

CDplayer

Winword

Xöûlyùñoànghaønh, nhöõngkhoùkhaên ?

  • Taøinguyeângiôùihaïn, öùngduïng “voâhaïn”

  • Nhieàuhoaïtñoängñanxen

  • ??? Phaânchiataøinguyeân ?

  • ??? Chiaseûtaøinguyeân ?

  • ??? Baûoveä?

Trần Hạnh Nhi

HÑH : “Giaûiquyeátnhieàucoângvieäcñoàngthôøi, ñaâucoùdeã!”


Gia i pha p

Giaûiphaùp

Winword

  • “Chiañeåtrò”, coâlaäpcaùchoaïtñoäng.

  • Moãithôøiñieåmchægiaûiquyeát 1 yeâucaàu.

  • Aûohoaùtaøinguyeân: bieánítthaønhnhieàu

CDPlayer

Excel

Trần Hạnh Nhi

Visual C ++

HÑH: “Ai cuõngcoùphaànkhiñeánlöôïtmaø!”


Gia i pha p1

Giaûiphaùp

Trần Hạnh Nhi

CPU


Kha i nie m tie n tr nh process

Khaùinieämtieántrình (Process)

  • Tieántrìnhlaømoätchöôngtrìnhñangtrongquaùtrìnhthöïchieän

  • Moãitieántrìnhsôûhöõu

    • Moät CPU (aûo) rieâng

    • Moätkhoânggiannhôùrieâng

    • Chieámgiöõ 1 soátaøinguyeâncuûaheäthoáng

  • Vd: Moätchöôngtrình Word coùtheåñöôïcchaïy 2 laànseõtaïora 2 tieántrìnhkhaùcnhau:

    • Microsoft Word – [Bai tap1.doc]

    • Microsoft Word – [Bai tap2.doc]

Trần Hạnh Nhi


Hai pha n cu a tie n tr nh

Haiphaàncuûatieántrình

Doøngxöûlyù

P1

int a;

P2

int a;

Trần Hạnh Nhi

Khoânggianñòachæ


Tra ng tha i tie n tr nh

running

ready

  • Rs

     CPU

  • Rs

     CPU

blocked

 Rs

 CPU

Traïngthaùitieántrình?

  • Taïi 1 thôøiñieåm, tieántrìnhôûmoättrongcaùctraïngthaùisau:

Nhaän CPU

Trần Hạnh Nhi

Traû CPU

ChôøR

Nhaän R


Kho i qua n ly tie n tr nh

pid

State

(State, details)

Context

(IP, Mem, Files…)

Relatives

( Dad, children)

Scheduling statistic

Khoáiquaûnlyùtieántrình

  • Địnhdanh (Process ID)

  • Trạngthaùitiếntrình

  • Ngữcảnhtiếntrình

    • Trạngthaùi CPU

    • Bộxửlyù (chomaùynhiều CPU)

    • Bộnhớchính

    • Taøinguyeânsửdụng/tạolập

  • Thoâng tin giaotiếp

    • Tiếntrình cha, tiếntrình con

    • Độưutieâên

  • Thoâng tin thốngkeâ

    • Thôøigiansöûduïng CPU

    • Thôøigianchôø

Trần Hạnh Nhi

Process control Block

PCB


Kho i qua n ly tie n tr nh v du

Khoáiquaûnlyùtieántrình – Víduï

  • typedefstructmachpcb {

  • char mpcb_frame[REGOFF];

  • structregsmpcb_regs; // user's saved registers

  • structrwindowmpcb_wbuf[MAXWIN]; //user window save buffer

  • char *mpcb_spbuf[MAXWIN]; //sp's for each wbuf

  • intmpcb_wbcnt; //number of saved windows in pcb_wbuf

  • struct v9_fpu *mpcb_fpu; // fpu state

  • structfqmpcb_fpu_q[MAXFPQ]; // fpu exception queue

  • intmpcb_flags; // various state flags

  • intmpcb_wocnt; // window overflow count

  • intmpcb_wucnt; // window underflow count

  • kthread_t *mpcb_thread; // associated thread

  • } machpcb_t;

Trần Hạnh Nhi

Khoáiquaûnlyùtieántrìnhcuûa HÑH MachOS


Ca c thao ta c tre n tie n tr nh

Caùcthaotaùctreântieántrình

  • Taïolaäptieántrình

  • Keátthuùctieántrình

  • Thayñoåitraïngthaùitieántrình :

    • Assign()

    • Block()

    • Awake()

    • Suspend()

    • Resume()

Trần Hạnh Nhi


Ta o la p tie n tr nh

Taïolaäptieántrình

  • Caùc tình huoáng :

    • Khôûi ñoäng batch job

    • User logs on

    • Kích hoaït 1 service (print...)

    • Process goïi haøm taïo moät tieán trình khaùc

  • Caùc tieán trình coù theå taïo tieán trình con, hình thaønh caây tieán trình trong heä thoáng

  • Caùc tieán trình môùi ñöôïc taïo coù theå thöøa höôûng taøi nguyeân töø cha, hay ñöôïc caáp taøi nguyeân môùi

Trần Hạnh Nhi


Ke t thu c tie n tr nh

Keátthuùctieántrình

  • Tình huoáng :

    • Tieán trình xöû lyù xong leänh cuoái cuøng hay goïi exit ()

    • Keát thuùc Batch job , Halt instruction

    • User logs off

    • Do loãi chöông trình

  • Moät tieán trình coù theå keát thuùc 1 tieán trình khaùc neáu coù ID (ñònh danh) cuûa tieán trình kia.

    • Ví duï: kill –-s SIGKILL 1234: huyû tieán trình coù ID laø 1234

Trần Hạnh Nhi


Mo h nh a tie n tr nh multiprocesses

Moâhìnhñatieántrình (MultiProcesses)

  • Heä thoáng laø moät taäp caùc tieán trình hoaït ñoäng ñoàng thôøi

  • Caùc tieán trình ñoäc laäp vôùi nhau => khoâng coù söï trao ñoåi thoâng tin hieån nhieân..

Excel

Trần Hạnh Nhi

winword

Visual C

CDplayer

OS


V du mo h nh a tie n tr nh

Víduïmoâhìnhñatieántrình

  • Giôø thi lyù thuyeát moân Heä Ñieàu haønh

    • Moãi sinh vieân laø moät tieán trình :

      • Cuøng laøm baøi => Hoaït ñoäng ñoàng haønh

      • Coù baøi thi , buùt, giaáy…rieâng => Taøi nguyeân rieâng bieät

      • Ñoäc laäp => Khoâng trao ñoåi (veà nguyeân taéc)

  • Thöïc haønh moân Heä Ñieàu haønh

    • 2 sinh vieân/nhoùm

    • Hôïp taùc ñoàng haønh

    • Nhu caàu trao ñoåi

    • Duøng taøi nguyeân chung

Trần Hạnh Nhi


Mo h nh a tie u tr nh multithreads

alta vista

Moâhìnhñatieåutrình (MultiThreads)

  • Nhieàu tình huoáng caàn coù nhieàu doøng xöû lyù ñoàng thôøi cuøng hoaït ñoäng trong moät khoâng gian ñòa chæ => cuøng chia seû taøi nguyeân (server, OS, caùc chöông trình tính toaùn song song : nhaân ma traän…)

  • Khaùi nieäm môùi : tieåu trình (thread)

Trần Hạnh Nhi


V du mo h nh a tie u tr nh

VíduïMoâhìnhñatieåutrình

  • Thöïc haønh moân Heä Ñieàu haønh

    • Moãi nhoùm 2 sinh vieân laø moät tieán trình :

    • Moãi sinh vieân laø moät tieåu trình

      • Cuøng laøm baøi => Hoaït ñoäng ñoàng haønh

      • Coùù baøi thöïc haønh chung => Taøi nguyeân chung

      • Trao ñoåi vôùi nhau

Trần Hạnh Nhi


Tie u tr nh vs tie n tr nh

TieåutrìnhvsTieántrình

  • Tieåutrình : 1 doøngxöûlyù

  • Tieántrình :

    • 1 khoânggianñòachæ

    • 1 hoaëcnhieàutieåutrình

  • Caùctieántrìnhlaøñoäclaäp

  • Caùctieåutrìnhtrongcuøng 1 tieántrìnhkhoângcoùsöïbaûoveälaãnnhau (caànthieát ? ).

P1

T2

T1

T3

Trần Hạnh Nhi

int a;


Tie u tr nh ha t nha n kernel thread

Tieåutrìnhhaïtnhaân (Kernel thread)

  • Khaùi nieäm tieåu trình ñöôïc xaây döïng beân trong haït nhaân

  • Ñôn vò xöû lyù laø tieåu trình

  • Ví duï :

    • Windows 95/98/NT/2000

    • Solaris, Tru64 UNIX, BeOS, Linux

T1

T2

User mode

System call

Kernel mode

Kernel Thread

Trần Hạnh Nhi


Pha n chia cpu

CPU

Phaânchia CPU ?

  • 1 CPU vaätlyù : laømtheánaøoñeåtaïoaûogiaùcmoãitieántrìnhsôûhöõu CPU rieângcuûamình ?

     Luaânchuyeån CPU giöõacaùctieántrình

  • 2 thaønhphaànñaûmnhieämvaitroøñieàuphoái:

    • Scheduler choïn 1 tieántrình

    • Dispatcher chuyeån CPU cho

      tieántrìnhñöôïcchoïn

Trần Hạnh Nhi


Ca c danh sa ch tie n tr nh

P1

P5

P4

P7

P2

R1

P10

R2

P3

R3

P6

Caùcdanhsaùchtieántrình

Ready List

Waiting Lists

Trần Hạnh Nhi


Scheduler nhie m vu

Scheduler - Nhieämvuï

  • Ra quyeátñònhchoïnmoättieántrìnhñeåcaápphaùt CPU :

    • ÖÙngcöûvieân = {Caùctieántrình ready list}

    • 0 tieántrình : CPU raûnhroãi (idle)!

    • 1 tieántrình : khoângcaànsuynghónhieàu, ñuùngkhoâng ?

    • >1 : choïnaibaâygiôø ?  Caàncoùthuaättoaùnñieàuphoái

Trần Hạnh Nhi


Dispatcher nhie m vu

Dispatcher - Nhieämvuï

  • NhieämvuïcuûaDispatcher: Chuyeånñoåingöõcaûnh

  • Xeùtvíduï

    • Tieántrình A ñangduøng CPU 1 chuùtthìbò HÑH thuhoài CPU

    • HÑH caáp CPU cho B duøng 1 chuùt, HÑH thuhoàilaïi CPU.

    • HÑH caáp CPU trôûlaïicho A.

       Giaùtròcaùcthanhghigiöõanhöõnglaànchuyeånñoåi CPU ?

  • Kòchbaûn :

    • Löungöõcaûnhtieántrìnhhieänhaønh

    • Naïpngöõcaûnhtieántrìnhñöôïcchoïnkeátieáp

Trần Hạnh Nhi


Qua n ly tie n tr nh

Trần Hạnh Nhi


Dispatcher tha o lua n

Dispatcher - Thaûoluaän

  • Baûnthaân HÑH cuõnglaø 1 phaànmeàm, nghóalaøcuõngsöûduïng CPU ñeåcoùtheåchaïyñöôïc.

  • Caâuhoûi: Khitieántrình A ñangchieám CPU, laømtheánaøo HÑH coùtheåthuhoài CPU laïiñöôïc ? (vìluùcnaøy HÑH khoânggiöõ CPU)

    • EÙpbuoäc NSD thænhthoaûngtraû CPU laïicho HÑH ? Coùkhaûthi ?

    • Maùytínhphaûicoù 2 CPU, 1 daønhrieângcho HÑH ?

    • HÑH söûduïngngaétñoànghoà (ngaétñieàuphoái) ñeåkieåmsoaùtheäthoáng

      • Moãikhicoùngaétñoànghoà, HÑH kieåmtraxemcoùcaànthuhoài CPU töø 1 tieántrìnhnaøoñoùlaïi hay khoâng ?

      • HÑH chæthuhoài CPU khicoùngaétñoànghoàphaùtsinh.

      • Khoaûngthôøigiangiöõa 2 laànngaétñieàuphoáigoïilaøchukyøñoànghoà (toáithieåulaø 18.2 laàn / giaây)

Trần Hạnh Nhi


L a cho n tie n tr nh

Löïachoïntieántrình ?

  • Taùc vuï cuûa Scheduler

  • Muïc tieâu ?

    • Söû duïng CPU hieäu quaû

    • Ñaûm baûo taát caû caùc tieán trình ñeàu tieán trieån xöû lyù

  • Tieâu chuaån löïa choïn ?

    • Taát caû caùc tieán trình ñeàu nhö nhau ?

    • Ñeà xuaát moät ñoä öu tieân cho moãi tieán trình ?

  • Thôøi ñieåm löïa choïn ? (Thôøi ñieåm kích hoaït Scheduler())

Trần Hạnh Nhi


Mu c tie u ie u pho i

Muïctieâuñieàuphoái

  • Hieäuquûa (Efficiency)

    • Thôøigian

      • Ñaùùpöùng (Response time)

      • Hoaøntaát (Turnaround Time = Tquit -Tarrive):

      • Chôø (Waiting Time = T in Ready ) :

    • Thoânglöôïng (Throughput = # jobs/s )

      • HieäusuaátTaøinguyeân

      • Chi phíchuyeånñoåi

  • Coângbaèng ( Fairness): Taátcaûcaùctieántrìnhñeàucoùcôhoäinhaän CPU

Trần Hạnh Nhi


Hai nguye n ta c ie u pho i cpu

Ñoäcquyeàn

while (true){save statePcurScheduler.NextP() Pnextload statepnextresumePnextwait forPnext}

Khoângñoäcquyeàn

while (true){interruptPcursave statePcurScheduler.NextP() Pnextload statepnextresumePnext}

Hainguyeântaécñieàuphoái CPU

Trần Hạnh Nhi


Th i ie m ra quye t nh ie u pho i

Thôøiñieåmraquyeátñònhñieàuphoái

  • Ñieàuphoáiñoäcquyeàn (non-preemptivescheduling):tieántrìnhñöôïcchoïncoùquyeànñoäcchieám CPU

    • CaùcthôøiñieåmkíchhoaïtScheduler

      • P curkeátthuùc

      • P cur : running ->blocked

  • Ñieàuphoáikhoângñoäcquyeàn (preemptivescheduling):tieántrìnhñöôïcchoïncoùtheåbòcöôùp CPU bôûitieántrìnhcoùñoäöutieâncaohôn

    • CaùcthôøiñieåmkíchhoaïtScheduler

      • P curkeátthuùc

      • P cur : Running -> Blocked

      • Q : Blocked / New -> Ready

Trần Hạnh Nhi


A nh gia chie n l c ie u pho i

Ñaùnhgiaùchieánlöôïcñieàuphoái

  • Söû duïng 2 ñaïi löôïng ño :

    • Turn- around time = Tquit –Tarrive: töø luùc vaøo HT ñeán khi hoaøn taát

    • Waiting time = T in Ready

  • Xeùt tröôøng hôïp trung bình

    • N tieán trình

    • Avg Turn- around time = (ΣTurn- around time Pi )/N

    • Avg Waiting time = (ΣWaiting time Pi )/N

Trần Hạnh Nhi


Ca c chie n l c ie u pho i

Caùcchieánlöôïcñieàuphoái

  • FIFO (FCFS)

  • Xoay vòng (Round Robin)

  • Theo độ ưu tiên

  • Công việc ngắn nhất (SJF)

  • Nhiều mức độ ưu tiên

Trần Hạnh Nhi


Fcfs first comes first served

Ready List

CPU

Ready List

CPU

C

B

Ready List

CPU

C

FCFS (First comes first served)

  • Tieántrìnhvaøo RL laâunhaátñöôïcchoïntröôùc

  • Theo thứtựvaøo RL

  • Độcquyền

C

B

A

Trần Hạnh Nhi


Minh ho a fcfs

Minh hoïa FCFS

AvgWT = (23+25)/3 = 16

Trần Hạnh Nhi

P1

P2

P3

0

24

27

24: P1 kếtthúc P2 dùng CPU

0: P1 vào RL P1 dùng CPU

1: P2 vào RL

27: P2 kếtthúc P3 dùng CPU

2: P3 vào RL


Nha n xe t fcfs

Nhaänxeùt FCFS

  • Ñôngiaûn

  • Chòuñöïnghieäntöôïngtíchluõythôøigianchôø

    • Tieántrìnhcoùthôøigianxöûlyùngaénñôïitieántrìnhcoùthôøigianxöûlyùdaøi

       Öutieântieántrìnhcpu-bounded

  • Coùtheåxaûyratìnhtraïngñoäcchieám CPU

Trần Hạnh Nhi


Ie u pho i round robin rr

Ready List

Ready List

Ready List

CPU

CPU

CPU

Ñieàuphoái Round Robin (RR)

  • Ñieàuphoáitheonguyeântaéc FCFS

  • Moãitieántrìnhchæsöûduïngmoätlöôïngqchomoãilaànsöûduïng CPU

Quantum/Time slice

A chỉ chiếm CPU trong q ms

C

B

A

Trần Hạnh Nhi

B được giao quyền sử dụng CPU

trong q ms kế tiếp

A

C

B

C được giao quyền sử dụng CPU

trong q ms kế tiếp

B

A

C


Minh ho a rr q 4

Minh hoïa RR, q=4

AvgWT = (6+3+5)/3 = 4.66

Trần Hạnh Nhi

P1

P2

P3

P1

P1

P1

P1

P1

0

4

7

10

14

18

22

26

30

0:07 P2 dừng, P3 dùng CPU

0:00 P1 vào, P1 dùng CPU

0:10 P3 dừng, P1 dùng CPU

0:01 P2 vào (đợi)

0:14 P1 vẫn chiếm CPU

0:02 P3 vào (đợi)

0:04 P1 hết lượt, P2 dùng CPU


Minh ho a rr q 41

Minh hoïa RR, q=4

  • Tranhchaápvòtrítrong RL : “Chung thuûy”

    • P : running -> ready

    • P : blocked -> ready

    • P: new ->ready

  • Khoângphaûiluoânluoâncoùthöùtöïñieàuphoái P1 P2 P3 P4P1 P2 P3 P4...

Trần Hạnh Nhi

P1

P1

P2

P1

P3

P1

P1

P1

0

4

8

11

15

18

22

26

30

“Coùmôùinôùicũ”

RL

0:04 P2 P1

0:8 P2 P1

0:00 P1

0:11 P1

?

0:04

“õChungthuûy”

0:15 P3 P1

0:04 P1 P2

0:18 P1


Round robin

Round Robin

  • Khinaøokeátthuùc 1 löôïtsöûduïng CPU

    • Heátthôøilöôïng q ms (quantum) chopheùp

    • Tieántrìnhkeátthuùc

    • Tieántrìnhbòkhoùa

      • Chờ Rs

      • Chờbiếncố

Trần Hạnh Nhi


Round robin nha n xe t

Round Robin – Nhaänxeùt

Baolaâu ?

  • Söûduïngcôcheákhoângñoäcquyeàn

  • Moãitieántrìnhkhoângphaûiñôïiquaùlaâu

  • Loaïiboûhieäntöôïngñoäcchieám CPU

  • Hieäuquaû ?

    • Phuïthuoäcvaøovieäcchoïnlöïa quantum q

      • qquaùùlớn ???

      • qquaùnhỏ ???

  • Tröôønghôïpxaáunhaátcuûa RR ?

  • Giaûmtíùnhtöôngtaùc

    Trần Hạnh Nhi

    Taêng chi phíchuyeånñoåingöõcaûnh


    Ie u pho i v i o u tie n

    Ñieàuphoáivôùiñoäöutieân

    Phân biệt tiến trình quan trọng >< tiến trình bình thường?

    WinAmp

    độưutiên: cao(3)

    WinWord

    độ ưu tiên: trung bình (0)

    Outlook

    độưutiên: thấp(-3)

    Trần Hạnh Nhi

    Độ ưu tiên

    • Tieántrìnhcoùñoäöutieâncaonhaátñöôïcchoïncaáp CPU tröôùc


    Ie u pho i v i o u tie n1

    Ñieàuphoáivôùiñoäöutieân

    • Caùchtínhñoäöutieân?

      • Heäthoánggaùn: CPU times,…

      • Ngöôøiduønggaùntöôøng minh

    • Tínhchaátñoäöutieân :

      • Tónh

      • Ñoäng

    Trần Hạnh Nhi


    V du o u tie n cu a h h winnt

    Víduï: Ñoäöutieâncuûa HÑH WinNT

    • WinNT gaùn cho moãi tieán trình ñoä öu tieân coù giaù trò giöõa 0 & 31

      • 0 (ñoä öu tieân nhoû nhaát): daønh rieâng cho traïng thaùi system idle

    • Ñoä öu tieân ñöôïc phaân theo nhoùm:

      • Realtime : (16 - 31)

        • Thích hôïp cho caùc tieán trình thôøi gian thöïc

        • Daønh rieâng cho caùc tieán trình cuûa ngöôøi quaûn trò heä thoáng

      • Dynamic : (0 - 15)

        • Thích hôïp cho caùc tieán trình cuûa ngöôøi duøng thöôøng

        • Chia thaønh 3 möùc :

          • high (11 - 15)

          • normal (6 - 10)

          • idle (2 - 6)

    Trần Hạnh Nhi


    Bie u o pha n bo o u tie n cu a winnt

    realtime time-critical

    31

    realtime

    highest (+2)

    above normal (+1)

    realtime

    normal (0)

    levels 16-31

    24

    below normal (-1)

    lowest (-2)

    high

    16

    realtime idle

    dynamic time-critical

    15

    13

    normal

    dynamic

    idle

    8

    levels 1-15

    4

    dynamic idle

    1

    system idle

    0

    Bieåuñoàphaânboáñoäöutieâncuûa WinNT

    Trần Hạnh Nhi


    Nguye n ta c ie u pho i

    Nguyeântaécñieàuphoái

    • Độcquyền

      • Lượtsửdụng CPU kếtthuùckhi:

        • tiếntrìnhkếtthuùc,

        • tiếntrìnhbịkhoùa

    • Khoângđộcquyền

      • Lượtsửdụng CPU kếtthuùckhi:

        • tiếntrìnhkếtthuùc,

        • tiếntrìnhbịkhoùa,

        • coùtiếntrìnhvôùiđộưutieâncaohơnvaøo RL

    Trần Hạnh Nhi


    O u tie n kho ng o c quye n

    Ñoäöutieân– khoângñoäcquyeàn

    AvgWT = (6+0+2)/3 = 2.66

    Trần Hạnh Nhi

    P1

    P2

    P2

    P3

    P1

    0

    1

    2

    4

    7

    30

    0: P1 vào, P1 dùng CPU

    4: P2 kếtthúc, P3 dùng CPU

    1: P2 vào (độưutiêncaohơn P1)

    7: P3 dừng, P1 dùng CPU

    P2 dànhquyềndùng CPU

    30: P1 dừng

    2: P3 vào (độưutiênthấphơn P2)

    P3 khôngdànhđượcquyềndùng CPU


    O u tie n kho ng o c quye n nha n xe t

    Ñoäöutieân - khoângñoäcquyeàn - Nhaänxeùt

    • Soáphaäntieántrìnhcoùñoäöutieânthaáp?

      • Chôølaâu, laâu, laâu...

         Giaûiquyeát: taêngñoäöutieânchonhöõngtieántrìnhchôølaâutrongheäthoáng (Aging)

    Trần Hạnh Nhi


    Shortest job first sjf

    Ready List

    Ngắn nhất

    CPU

    Là một dạng độ ưu tiên đặc biệt với độ ưu tiên

    pi = thời_gian_còn_lại(Processi)

    Shortest Job First (SJF)

    P2(cần 3 chu kỳ)

    P1(cần 5 chu kỳ)

    Trần Hạnh Nhi

    P3(cần 7 chu kỳ)

     Có thể cài đặt độc quyền hoặc không độc quyền


    Minh ho a sjf o c quye n 1

    Minh hoïa SJF (ñoäcquyeàn)(1)

    AvgWT = (23+25)/3 = 16

    Trần Hạnh Nhi

    P1

    P2

    P3

    30

    0

    24

    27

    0:00 P1 vào, P1 dùng CPU

    0:24 P1 kết thúc, P2 dùng CPU

    0:01 P2 vào RL

    0:27 P2 dừng, P3 dùng CPU

    0:02 P3 vào RL

    0:30 P3 dừng


    Minh ho a sjf o c quye n 2

    Minh hoïa SJF (ñoäcquyeàn)(2)

    AvgWT = (24+22)/3 = 15.33

    Trần Hạnh Nhi

    P1

    P3

    P2

    29

    0

    24

    26

    0:00 P1 vào, P1 dùng CPU

    0:24 P1 kết thúc, P3 dùng CPU

    0:01 P2 vào

    0:26 P3 dừng, P2 dùng CPU

    0:01 P3 vào

    0:29 P2 dừng


    Minh ho a sjf kho ng o c quye n 1

    Minh hoïa SJF (khoângñoäcquyeàn) (1)

    AvgWT = (6+0+2)/3 = 2.66

    Trần Hạnh Nhi

    P1

    P2

    P3

    P1

    0

    1

    4

    7

    30

    0:00 P1 vào, P1 dùng CPU

    0:4 P2 kết thúc, P3 dùng CPU

    0:01 P2 vào (độ ưu tiên cao hơn P1)

    0:7 P3 dừng, P1 dùng CPU

    P2 dành quyền dùng CPU

    0:30 P1 dừng


    Minh ho a sjf kho ng o c quye n 2

    Minh hoïa SJF (khoângñoäcquyeàn) (2)

    AvgWT = (9+0+3)/3 = 4

    Trần Hạnh Nhi

    P1

    P2

    P2

    P3

    P1

    0

    1

    3

    6

    10

    33

    0:00 P1 vào, P1 dùng CPU

    0:6 P2 kết thúc, P3 dùng CPU

    0:01 P2 vào (độ ưu tiên cao hơn P1)

    0:10 P3 dừng, P1 dùng CPU

    P2 dành quyền dùng CPU

    0:33 P1 dừng

    0:03 P3 vào (độ ưu tiên < P2)

    P2 dành quyền dùng CPU


    Minh ho a sjf nhie u chu ky cpu

    Minh hoïa SJF (nhieàuchukyø CPU)

    Trần Hạnh Nhi

    CPU

    P1

    P2

    P1

    P3

    P2

    P3

    P1

    P3

    0

    2

    3

    6

    10

    13

    14

    15

    17

    21

    R1

    P2

    P1

    P2

    3

    13

    15

    19

    R2

    P1

    P3

    17

    19

    21

    22


    Ie u pho i v i nhie u m c u tie n

    1

    2

    n

    Ñieàuphoáivôùinhieàumöùcöutieân

    • Toå chöùc N RL öùng vôùi nhieàu möùc öu tieân

    • Moãi RLi aùp duïng moät chieán löôïc ñieàu phoái thích hôïp

    • Giöõa caùc RL aùp duïng ñieàu phoái theo ñoä öu tieân :

      • RLi roãng môùi ñieàu phoái RLi +1

    Độ ưu tiên

    CPU

    Trần Hạnh Nhi

    Kết hợpnhiều chiến lược


    Khuye t ie m

    1

    2

    Khuyeátñieåm

    CPU

    • Starvation !!!

    • Giaûi phaùp Aging :

      • Chôø laâu quaù : chuyeån leân RL vôùi ñoä öu tieân cao hôn

      • Chieám CPU laâu quaù : chuyeån xuoáng RL vôùi ñoä öu tieân thaáp hôn

    Chờ lâu quá

    Trần Hạnh Nhi

    Khinaøothöïchieänaging?

    Aging tieántrìnhnaøo?


    Qua n ly tie n tr nh

    Bàitập: Hãyđiềuphối

    CPU: SJF khôngđộcquyền. R1,R2: FIFO


  • Login