TR NG Đ I H C BÁCH KHOAƯỜ
KHOA CÔNG NGH THÔNG TIN
B MÔN M NG TRUY N THÔNG

Đ ÁN H ĐI U HÀNH
Đ tài:
Xây d ng ch ng tnh mô ph ng các ươ
gi i thu t đ nh th i cho CPU
Sinh viên : Ph ng Ti nươ ế 07T2
Ph c Vi tướ 07T1
Cán b h ng d n ướ : Ths Nguy n Văn Nguyên
Đà N ng 2010
4B môn M ng và Truy n Thông
M C L C
T NG QUAN V Đ TÀI
CH NG 1. T NG QUAN V Đ TÀIƯƠ ..............................................................5
1.1. B I C NH VÀ DO TH C HI N Đ TÀI......................................................................5
1.2. M C TIÊU C A Đ I..............................................................................................5
CH NG 2. C S LÝ THUY TƯƠ Ơ ......................................................................6
2.1. GI I THI U..............................................................................................................6
2.1.1. M c tiêu l p l ch ................................................................................6
2.1.2. Các đ c đi m c a ti n trình ế ..............................................................6
2.1.3. Đi u ph i không đ c quy n và đi u ph i đ c quy n .....................7
2.2. CÁC KHÁI NI M CƠ B N............................................................................................9
2.2.1. Khái ni m gi CPU ............................................................................9
2.2.2. Các tr ng thái c a ti n trình liên quan đ n gi CPU ế ế .......................9
2.2.3. Khái ni m l p l ch cho CPU ............................................................11
2.3. CÁC THU T TOÁN L P L CH..................................................................................12
2.3.1. First Come First Served(FCFS)........................................................12
2.3.2. Round robin(RR)...............................................................................12
2.3.3. Shortest Job First(SJF)......................................................................14
2.3.4. Shortest Remain Time(SRT).............................................................15
CH NG 3. CÀI Đ T THU T TOÁNƯƠ ..............................................................16
3.1. MÔ HÌNH I Đ T THU T TOÁN................................................................................16
3.1.1. C u trúc d li u ...............................................................................16
3.1.2. Thu t toán x lý chung ....................................................................18
3.2. THU T TOÁN..........................................................................................................20
3.2.1. First In First Out(FIFO)....................................................................20
3.2.2. Round Robin(RR).............................................................................22
3.2.3. Shortest Job First(SRT)....................................................................24
3.2.4. Shortest Remain Time(SRT).............................................................26
CH NG 4. XÂY D NG CH NG TRÌNH DEMOƯƠ ƯƠ .....................................28
4.1. CÁC MODUN CHÍNH.................................................................................................28
4.2. MÔI TR NGƯỜ PHÁT TRI N.......................................................................................28
4.3. GIAO DI N C A CH NGƯƠ TRÌNH...............................................................................28
4.3.1. About.................................................................................................28
4.3.2. Input..................................................................................................29
4.3.3. Output................................................................................................31
4.3.4. Control..............................................................................................31
4.4. ĐÁNH GIÁ VÀ NH N XÉT.........................................................................................33
Ph ng Ti nHà Ph c Vi tươ ế ư
Xây d ng ch ng trìnhph ng gi i thu t đ nh th i CPU ươ 5
Ch ng 1.ươ T NG QUAN V Đ TÀI
1.1. B i c nh và lý do th c hi n đ tài
H đi u hành là ph n g n tr c ti p v i ph n c ngmôi tr ng đ cho ế ườ
các ch ng trình ng d ng khác ch y trên nó. V i ch c năng qu n phân ph iươ
tài nguyên m t cách h p lý, đ ng th i gi l p m t máy tính m r ng t o giao
di n ti n l i v i ng i s d ng, h đi u hành m t thành ph n then ch t không ườ
th thi u đ c trong m i m t h th ng máy tính đi n t . ế ượ
M t trong nh ng ch c năng quan tr ng c a h đi u hành qu nCPU. Trong
môi tr ng x đa ch ng, th x y ra tình hu ng nhi u ti n trình đ ng th iườ ươ ế
s n sàng đ x lý. M c tiêu c a các h phân chia th i gian(time-sharing) chuy n
đ i CPU qua l i gi a các ti n trình m t cách th ng xuyên đ nhi u ng i s d ng ế ườ ườ
có th t ng tác cùng lúc v i t ng ch ng trình trong quá trình x lý. ươ ươ
Đ th c hi n đ c m c tiêu này, h đi u hành ph i l a ch n ti n trình đ c x ượ ế ượ
ti p theo. B đi u ph i s s d ng m t gi i thu t đi u ph i thích h p đ th cế
hi n nhi m v này. M t thành ph n khác c a h đi u hành cũng ti m n trong công
tác đi u ph i b đi u ph i(dispatcher). B phân ph i s ch u trách nhi m chuy n
đ i ng c nh và trao CPU cho ti n trình đ c ch n b i b đi u ph i đ x lý. ế ượ
nh ng l i ích l n lao gi i thu t đi u ph i CPU đem l i đ tìm hi u ơ
h n v nguyên t c ho t đ ng c a chúng, chúng em quy t đ nh ch n đ tài: Xâyơ ế
d ng ch ng trình mô ph ng các gi i thu t đ nh th i cho CPU. ươ
1.2. M c tiêu c a đ tài
Tìm hi u các gi i thu t: First In First Out(FIFO), Round Robin(RR),
Shortest Job First(SJF), Shortest Remain Time(SRT).
Ch ra đ c u và nh c đi m c các gi i thu t l p l ch CPU. ượ ư ượ
Xây d ng ch ng trình mô ph ng các gi i thu t đã tìm hi u k t qu ươ ế
demo.
Ph ng Ti nHà Ph c Vi tươ ế ướ
6B môn M ng và Truy n Thông
Ch ng 2.ươ C S LÝ THUY TƠ
2.1. Gi i thi u
2.1.1. M c tiêu l p l ch
B đi u ph i không cung c p c ch , đ a ra các quy t đ nh. Các h đi u ơ ế ư ế
hành xây d ng nhi u chi n l t khác nhau đ th c hi n vi c đi u ph i, nh ng t u ế ượ ư
chung c n đ t đ c các m c tiêu sau: ượ
S công b ng: các ti n trình chia s CPU m t cách công b ng không ế
ti n trình nào ph i đ i vô h n đ đ c c p phát CPUế ượ
Tính hi u qu : H th ng ph i t n d ng đ c CPU 100% th i gian ượ
Th i gian đáp ng h p lý: c c ti u hóa th i gian h i đáp cho các t ng ươ
tác c a ng i s d ng ườ
Th i gian l u l i trong h th ng: c c ti u hóa th i gian hoàn t t các tác ư
v x lý theo lô
Thông l ng t i đa: c c đ i hóa s công vi c đ c x trong m t đ nượ ượ ơ
v th i gian
Tuy nhiên th ng không th th a mãn t t c các m c tiêu k trên b n thânườ
chũng có s mâu thu n v i nhau ch có th th dung hòa chúng m c đ nào đó.
2.1.2. Các đ c đi m c a ti n trình ế
Đi u ph i ho t đ ng c a các ti n trình m t v n đ r t ph c t p, đòi h i h ế
đi u hành khi gi i quy t ph i xem xét nhi u y u t khác nhau đ th đ t đ c ế ế ượ
nh ng m c tiêu đ ra. M t s đ c tính c a ti n trình c n đ c quan tâm nh tiêu ế ượ ư
chu n đi u ph i:
Tính h ng xu t/ nh p c a ti n trình: Khi m t ti n trình đ c nh n CPU,ướ ế ế ượ
ch y u ch s d ng CPU đ n khi phát sinh m t yêu c u nh p xu t? ế ế
Ph ng Ti nHà Ph c Vi tươ ế ướ
Xây d ng ch ng trìnhph ng gi i thu t đ nh th i CPU ươ 7
Ho t đ ng c a các ti n trình nh th th ng bao g m nhi u l t s ế ư ế ư ượ
d ng CPU, m i l t trong m t th i gian khá ng n. ượ
Tính h ng x c a ti n trình: Khi m t ti n trình đ c nh n CPU, ướ ế ế ượ
khuynh h ng s d ng CPU đ n khi h t th i gian dành cho nó? Ho tướ ế ế
đ ng c a các ti n trình nh th th ng bao g m m t s ít l t s d ng ế ư ế ườ ư
CPU, nh ng m i l t trong m t th i gian đ dài.ư ượ
Ti n trình t ng tác hay x lý theo lô: Ng i s d ng theo ki u t ng tácế ươ ườ ươ
th ng yêu c u đ c h i đáp t c th i đ i v i các yêu c u c a h , trongườ ượ
khi các ti n trình c a các tác v đ c x theo nói chung th trìế ượ
hoãn trong m t th i gian ch p nh n đ c. ượ
Đ u tiên c a ti n trình: Các ti n trình th đ c phân c p theo m t ư ế ế ế ượ
s tiêu chu n đánh giá nào đó, m t cách h p lý, các ti n trình quan tr ng ế
h n(có đ u tiên cao h n) c n đ c u tiên cao h n.ơ ư ơ ượ ư ơ
Th i gian đã s d ng CPU c a ti n trình: m t s quan đi m u tiên ch n ế ư
nh ng ti n trình đã s d ng CPU nhi u th i gian nh t vì hy v ng chúng ế
s c n ít thowig gian nh t đ hoàn t t r i kh i h th ng. Tuy nhiên
cũng có quan ddierm cho răng các ti n trình nh n đ c CPU trong ít th iế ượ
gian là nh ng ti n trình đã ph i ch lâu nh t, do v y u tiên ch n chúng. ế ư
Th i gian còn l i ti n trình c n đ hoàn t t: th gi m thi u th i gian ế
ch trung bình c a các ti n trình b ng cách cho các ti n trình c n ít th i ế ế
gian nh t đ hoàn tát đ c th c hi n tr c. Tuy nhiên đáng ti c r t ượ ướ ế
hi m khi bi t đ c ti n trình c n bao nhiêu th i gian n a đ k t thúc xế ế ượ ế ế
lý.
2.1.3. Đi u ph i không đ c quy n và đi u ph i đ c quy n
Thu t toán đi u ph i c n xem xét và quy t đ nh th i đi m chuy n đ i CPU gi a ế
các ti n trình. H đi u hành các th th c hi n c ch đi u ph i theo nguyên đ cế ơ ế
quy n ho c không đ c quy n:
Ph ng Ti nHà Ph c Vi tươ ế ướ