You are on page 1of 14

MN H IU HNH

Chng 2

QUN L PROCESS & THREAD


1.1 Khi nim process 1.2 To, xa process 1.3 Trng thi process 1.4 Khi nim thread 1.5 Lp lch chy cc process 1.6 Cc phng php lp lch
Ti liu tham kho : chng 2, sch "Modern Operating Systems", Andrew S. Tanenbaum: , 2nd ed, Prentice Hall
Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM Mn : H iu hnh Chng 2 : Qun l process & thread Slide 1

2.1 Gii thiu process


Chng tr nh (program) = danh s ch c c lnh gii quyt mt vn n o , c ct tr n a di dng file. Khi chng tr nh c np v o RAM v CPU bt u thi h nh chng tr nh im nhp th chng tr nh tr th nh process, CPU thc thi ht lnh n y n lnh kh c t tr n xung hay theo s iu khin ca lnh ang thc thi. Process gm 2 thnh phn chnh : danh sch cc lnh cu thnh thut gii ca chng trnh v d liu. Process tun t ch cha 1 lung thi h nh lnh cho 1 chng tr nh t im nhp n im kt th c.

Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM

Mn : H iu hnh Chng 2 : Qun l process & thread Slide 2

Gii thiu process


Mi process c 1 vng nh ring, thng c chia thnh cc vng thng tin khc nhau nh sau : - Vng code : cha danh sch m lnh ca chng trnh. - Vng static data : cha cc bin d liu c khai bo tng minh trong chng trnh. - Vng dynamic data : cha cc vng nh d liu c cp pht ng (thng qua new, maloc). Kch thc vng ny bin ng theo thi gian. - Vng stack : phc v cho vic gi hm trong chng trnh. Kch thc vng ny bin ng theo thi gian.
Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM

Code

Static data Dynamic data

Stack
Mn : H iu hnh Ch ng : Qu n l process thread Ch ng 12 :T ng qut v h i& u hnh Slide 3

Gii thiu process

(a) Gc nhn vt l : tng thi im CPU ch chy 1 process.


Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM

(b) Gc nhn user : 4 process ang chy song hnh.

(c) th chy ca tng process theo thi gian.


Mn : H iu hnh Chng 2 : Qun l process & thread Slide 4

Gii thiu process


Trnh lp lch (Scheduler) l 1 module chc nng ca HH, n s

iu khin vic chy cc process theo thi gian tha mn cc tiu ch xc nh m HH cn thc hin.

Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM

Mn : H iu hnh Chng 2 : Qun l process & thread Slide 5

2.2 To process
Mt process mi c to ra t cc s kin sau : 1. Do h thng t to theo nhu cu qun l h thng (thng y l cc process h thng c to lc khi ng HH). 2. Do ngi dng kch hot chy 1 phn mm. 3. Do thut gii ca 1 phn mm ang chy, n gi dch v CreateProcess to process mi theo yu cu ring.

Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM

Mn : H iu hnh Chng 2 : Qun l process & thread Slide 6

Xa process
Mt process s b xa t cc s kin sau : 1. Ni ti : 1. Khi chng trnh chy n lnh kt thc bnh thng ca gii thut. 2. Khi chng trnh chy n lnh gy li m ngi lp trnh tr liu. 3. Khi chng trnh chy n lnh gy li m ngi lp trnh khng tr liu, trong trng hp ny h thng s pht hin li v xa process. 2. Bn ngoi : do process khc yu cu h thng git.

Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM

Mn : H iu hnh Chng 2 : Qun l process & thread Slide 7

Cy phn cp cc process
Miu t mi quan h to mi gia cc process : Mt cy process (process tree) A to hai process con : B v C B to ba process con : D, E, v F Linux dng khi nim process group qun l cy process. Windows khng qun l cy process, mi process u ngang cp.

Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM

Mn : H iu hnh Chng 2 : Qun l process & thread Slide 8

2.3 Trng thi process


Theo thi gian hot ng, process s thay i trng thi. C 2 cp trng thi :
Trng thi v m : do HH t ra qun l process. Trng thi vi m : trng thi chi tit sau tng lnh my c thc thi.

Thng c 3 trng thi v m ph bin : Running (ang chm CPU v chy), Ready (ch CPU chy), Blocked (b giam v ch I/O). Cc s kin gy ra chuyn trng thi : 1. thc hin I/O tc chm 2. Chy ht khe thi gian 3. c chn chy khe thi gian k. 4. I/O sn sng phc v.
Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM Mn : H iu hnh Chng 2 : Qun l process & thread Slide 9

Trng thi vi m ca process

Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM

Mn : H iu hnh Chng 2 : Qun l process & thread Slide 10

Trng thi vi m ca process

qun l trng thi ca tng process, HH s dng 1 record d liu gm nhiu field, mi field cha 1 thng tin trng thi m HH mun qun l. Mt field c bit trong record qun l l field cha m trng thi v m ca process tng ng HH bit process ang chy hay ang Ready | Blocked. Cc record qun l ca cc process s c hp thnh 1 bng qun l : bng ny rt quan trng ca HH Bng qun l trng thi thng c hin thc bng danh sch lin kt vic thm/bt tng record d dng v hiu qu (v tn sut to/xa process rt cao theo thi gian).

Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM

Mn : H iu hnh Chng 2 : Qun l process & thread Slide 11

2.4 Khi nim Thread

Process tun t ch cha 1 lung thi hnh lnh (Thread) cho 1 chng trnh t im nhp n im kt thc.

Hnh bn miu t 1 my tnh ang chy 3 chng trnh ng thi, mi chng trnh c vit bng gii thut tun t, ngha l ch cha 1 thread.
Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM Mn : H iu hnh Chng 2 : Qun l process & thread Slide 12

Process multi-thread
Hnh bn miu t 1 my tnh ang chy 3 chng trnh ng thi, mi chng trnh c vit bng gii thut song song gm 3 tc v chy ng thi, mi tc v tng ng vi 1 thread c lp. Tuy nhin cc thread ca cng 1 process u truy xut n khng gian lm vic ca process => c th gy ra tranh chp v lm h hng ti nguyn b tranh chp.
Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM

Computer

Process

Thread

Program counter ca thread

Mn : H iu hnh Chng 2 : Qun l process & thread Slide 13

Khc bit gia gi hm v to thread mi


Process mono-thread (ch cha 1 lung mu ) Process multi-thread (cha 1 lung chnh mu v 1 lung con mu xanh)

Hm F1 F1(); CreateThread(F1,..);

Hm F1

Gi s kin kt thc

Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM

Mn : H iu hnh Chng 2 : Qun l process & thread Slide 14

2.5 Lp lch cho cc process chy


Dng c ch phn chia thi gian (time-sharing) chy cc process ng thi trn 1 CPU.

Dng timer tnh khe thi gian. Mi ln ht khe hay process hin hnh ch I/O, trnh lp lch s thc hin cng vic chuyn ng cnh process dng process hin hnh v cho php process khc chy.

Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM

Mn : H iu hnh Chng 2 : Qun l process & thread Slide 15

Lp lch cho cc process chy


Cng vic chuyn ng cnh process dng process hin hnh v cho php process khc chy gm cc bc chnh yu sau y : 1. Dng process hin hnh (P1) li. 2. Ct trng thi ca P1 vo record qun l tng ng dng sau. 3. Chn 1 process (P2) trong bng process chy tip (theo cc tiu ch no ). 4. Phc hi trng thi ca P2 t record qun l. 5. Kch hot timer m khe thi gian. 6. Cho P2 tip tc chy t v tr ngng trc y. Cng vic chuyn ng cnh process l xc nh, CPU c tc cng cao th thc hin chuyn ng cnh cng nhanh (cng tt t thi gian).
Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM Mn : H iu hnh Chng 2 : Qun l process & thread Slide 16

Lp lch cho cc process chy


ln ca khe thi gian c xc nh bng cch dng ha gia 2 yu cu mu thun nhau : 1. Sao cho cc ng dng chy hiu qu nht : c yu cu ny, ta phi chn khe cng ln cng tt t l thi gian process chy thc s/thi gian chuyn ng cnh trong tng khe l ln nht. 2. Sao cho ng dng tng tc nhanh vi ngi dng la h rng ng dng lun lun chy (ch khng phi chy c git) : c yu cu ny, ta phi chn khe cng nh cng tt khong cch thi gian gia 2 ln chy lin tip ca process l nh nht. Hin nay, khe thi gian thng mc vi ms 1 process c th chy nhiu ln (>20) trong 1 giy.
Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM Mn : H iu hnh Chng 2 : Qun l process & thread Slide 17

2.6 Cc phng php lp lch cho cc process


Trong vic chuyn ng cnh process, bc chn 1 process trong bng process chy tip cn c ni r thm. Ty theo cc tiu ch cn t c m ta s chn phng php no. Hin ngi ta ngh nhiu phng php, nhng mi phng php ch p ng 1 vi tiu ch c th. Sau y chng ta s nghin cu 4 phng php in hnh : 1. Phng php Round-robin 2. Phng php da vo quyn u tin 3. Phng php dng nhiu hng ch quyn u tin 4. Phng php cho process ngn chy trc.

Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM

Mn : H iu hnh Chng 2 : Qun l process & thread Slide 18

Phng php Round-robin


Tiu ch t c : x l cc process theo tinh thn bnh ng. tng : - Dng 1 hng ch trt t (danh sch lin kt), process no n yu cu chy trc c nm trc, process no yu cu sau phi nm sau. - Khi ht khe thi gian m vn cn chy tip (thng l vy), process phi quay v ui hng ch c gii quyt cho ln chy sau.

Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM

Mn : H iu hnh Chng 2 : Qun l process & thread Slide 19

Phng php Round-robin


Ty gc nhn m tiu ch bnh ng c t c khng ? Theo gc nhn ton hc v l thuyt th phng php Roundrobin t c tiu ch bnh ng hu nh tuyt i. Tuy nhin trong thc t, v yu cu dng CPU chy gii thut ca tng process rt khc nhau, c process rt phc tp chy nhiu ngy mi xong, c process rt n gin ch cn vi giy, thm ch vi ms l xong ri nn phng php Round-robin tr nn rt bt bnh ng thc t.

Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM

Mn : H iu hnh Chng 2 : Qun l process & thread Slide 20

Phng php da vo quyn u tin


Tiu ch t c : x l cc process theo quyn u tin ca tng process : process c quyn cao th c chy nhiu hn process c u tin thp. tng : - V tr ch ca process trong hng ch khng quan trng, - Mi process c ch s quyn u tin xc nh (ly t quyn u tin ca user kch hot process). - Khi cn chn process chy tip, h thng s chn process c u tin cao nht trong hng ch, bt chp n n trc hay sau. - Khi ht khe thi gian m vn cn chy tip (thng l vy), process phi quay v hng ch c gii quyt cho ln chy sau.
Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM Mn : H iu hnh Chng 2 : Qun l process & thread Slide 21

Phng php da vo quyn u tin

Khuyt im chnh ca phng php ny l rt d dn n tnh trng tt nghn c chn lc : process c quyn u tin thp s phi ch rt lu, thm ch l khng thi hn v lun c process quyn u tin cao hn mnh nm trong hng ch (trnh trng ny d xy ra).

Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM

Mn : H iu hnh Chng 2 : Qun l process & thread Slide 22

Phng php dng nhiu hng ch


Tiu ch t c : dung ha gia 2 phng php Round-robin v da vo quyn u tin khc phc cc khuyt im ca chng. tng : - To nhiu hng ch khc nhau, mi hng dnh cho cc process cng quyn u tin tng ng. Trong hng, process no n trc c x l trc. - Khi cn chn 1 process chy tip, h thng s d tun t tng hng ch theo th t quyn u tin t cao xung thp, hng ch no c process th chn process u hng chy tip. - Khi ht khe thi gian m vn cn chy tip (thng l vy), process phi quay v hng ch c gii quyt cho ln chy sau.
Mn : H iu hnh Chng 2 : Qun l process & thread Slide 23

Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM

Phng php dng nhiu hng ch

Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM

Mn : H iu hnh Chng 2 : Qun l process & thread Slide 24

Phng php dng nhiu hng ch


tng (tt) : - Quyn u tin ca process c thit lp ln u da vo quyn ca user kch hot n. Theo thi gian chy, ty tnh cht chy ca process m h thng s hiu chnh li cho ph hp. - Process s c tng quyn u tin khi (1) ch N khe thi gian m cha chy c, (2) dng CPU rt hiu qu ch khng ch I/O, (3) - Process s b gim quyn u tin khi (1) chy c N khe thi gian ri, (2) dng CPU rt km hiu qu v phi ch I/O qu nhiu, (3)

Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM

Mn : H iu hnh Chng 2 : Qun l process & thread Slide 25

Phng php cho process ngn chy trc


Tiu ch t c : cho ngi dng cm thy h thng chy hiu qu nht. tng : - Theo gc nhn ngi dng, h ni h thng chy cng hiu qu khi thy thi gian p ng cho phn mm ca h nhanh nht. - Thi gian p ng phn mm ca h thng l khong thi gian t lc phn mm c kch hot chy n lc n hon thnh nhim v. - Thi gian p ng cho tng phn mm ring l khng c tin cy cao, do ngi ta dng thi gian p ng trung bnh ca h thng cho n phn mm trong khong thi gian kho st lm thc o hiu qu ca h thng.
Mn : H iu hnh Chng 2 : Qun l process & thread Slide 26

Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM

Phng php cho process ngn chy trc


tng (tt) : - h thng p ng tt nht, ta nn chn process ngn nht chy trc ri c th n process di nht sau cng. - Th d ti thi im t0, c 4 process sau cn chy : P1 chy tn 70s, P2 chy tn 10s, P3 chy tn 2s, P4 chy tn 1s. - Nu ta lp lch cho P1 chy trc ri mi ti P2, ri P3 ri P4 th thi gian p ng trung bnh cho 4 phn mm trn l : (70+80+82+83)/4 = 78.75s. - Cn nu ta lp lch theo phng php cho process ngn nht chy trc th th t chy s l P4 P3 P2 P1 v thi gian p ng trung bnh cho 4 phn mm trn l : (1+3+13+83)/4 = 25s.
Mn : H iu hnh Chng 2 : Qun l process & thread Slide 27

Khoa Cng ngh Thng tin Trng H Bch Khoa Tp.HCM

You might also like