Professional Documents
Culture Documents
Thread&Process
Thread&Process
Chng 2
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.
Code
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
iu khin vic chy cc process theo thi gian tha mn cc tiu ch xc nh m HH cn thc hin.
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.
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.
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.
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
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).
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
Hm F1 F1(); CreateThread(F1,..);
Hm F1
Gi s kin kt thc
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.
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.
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).