Tin học
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Cách giải bài tập về các thuật giải điều phối CPU (Thuật giải RRS )

4 posters

Go down

Cách giải bài tập về các thuật giải điều phối CPU (Thuật giải RRS ) Empty Cách giải bài tập về các thuật giải điều phối CPU (Thuật giải RRS )

Bài gửi  phuongdtk 18/5/2009, 17:03

3. Thuật giải Round - Robin scheduling
Ví dụ: (Đề thi Hk2 năm 07 - 08 )
Tiến trình Thời điểm CPU - Burst (ms)
P13 37
P2 1020
P3 2414
Dùng giải thuật Round - Robin với thời lượng 10ms để điều phối CPU
a. Thể hiện bằng biểu đồ Gantt
b. Tính thời gian chờ trung bình của các tiến trình
(mình đã có chỉnh sửa lại đề so với ban đầu mình đã post Laughing )
Giải
BIỂU ĐỒ GANTT:
- Điểm lưu ý khi vẽ:
+ Mỗi tiến trình được cấp 1 thời lượng CPU (Time Quantum) là số q ms nào đó.
+ Hết thời gian q, thì tiến trình hiện tại sẽ bị tiến trình khác tiếm quyền nếu tiến trình mới này có thời điểm đến = hoặc < thời điểm đang xét. Đồng thời tiến trình cũ sẽ được đưa vào hàng đợi Ready
+ Tiến trình đầu tiên trong hàng đợi sẽ được chọn để tiếm quyền kế tiếp
- Vẽ biểu đồ:
Cách giải bài tập về các thuật giải điều phối CPU (Thuật giải RRS ) AV1UxcmS
- Giải thích:
(lưu ý với thuật toán này mình nhớ xem xét thời điểm đề cho là thời điểm đến của các tiến trình)
Theo đề bài này thì CPU bắt đầu cấp phát cho 3 tiến trình P1, P2, P3 là thời điểm 3 và hàng đợi Ready là
P1P2 P3
+ Tại thời điểm 3, P1 đứng đầu hàng đợi Ready, như vậy P1 được chọn cho vận hành
+ Vì q=10ms nên tại thời điểm 13, P1 tạm dừng vận hành và bị đẩy về cuối hành đợi Ready
P2 P3 P1
Như vậy P2 lúc này đứng đầu hàng đợi và xét lại thì thấy thời điểm đến của P2 là 10 < 13, nên P2 được phép tiếm quyền kế tiếp để vận hành
+ Vì q=10ms nên đến thời điềm 23, P2 phải tạm dừng cho tiến trình khác vận hành và P2 bị đẩy về cuối hàng đợi
P3 P1 P2
Lúc này ta thấy P3 đứng đầu hàng đợi nhưng thời điểm đến của P3 là 24 > 23 (là thời điểm đang xét) nghĩa là tại thời điểm này P3 chưa có nhu cầu để vận hành, nên P3 sẽ hok tiếm quyền P2. P3 sẽ bị đẩy về cuối hàng đợi. Hàng đợi lúc này là
P1 P2 P3
Do P1 được đẩy lên đầu nên P1 được phép tiếm quyền kế tiếp tại thời điểm 23 này.
+ Cứ sau 10ms, ta lại xét để cho vận hành tiến trình kế tiếp là tiến trình nào.
Tại thời điểm 33, P1 tạm dừng và bị đẩy về cuối hàng đợi Ready
P2 P3 P1
P2 đứng đầu hàng đợi sẽ lên tiếm quyền kế tiếp.
+ Tại thời điểm 43, sau khi P2 vận hành 10ms thì lúc này P2 cũng vừa vận hành xong. Vì vậy P2 sẽ không nằm trong hàng đợi Ready. Ta có hàng đợi là
P3 P1
Ta thấy lúc này P3 mới bắt đầu vận hành vì nó đã có nhu cầu vận hành từ lúc thời điểm 24
+ Thời điểm 53, P3 tạm dừng và đưa vào cuối hàng đợi
P1 P3
Đồng thời P1 sẽ được ưu tiên lên tiếm quyền tiếp tục vận hành
+Thời điểm 63, P1 tạm dừng, P3 lên tiếm quyền và nó chỉ cần thêm 4ms nữa là P3 vận hành xong tiến trình của nó. Lúc này nó cũng hok còn nằm trong hàng đợi. Hàng đợi chỉ còn có P1
+ Do đó tại thời điểm 67, P1 được vận hành và nó vận hành hết 7ms nữa là thời gian còn lại cần cho P1
Dựa vào biểu đồ Gantt ta tính thời gian chờ trung bình

THỜI GIAN CHỜ TRUNG BÌNH
Ttb = (T1 + T2 +...+ Tn)/n
(thời gian chờ của mỗi tiến trình = tổng thời gian tiến trình đó bị gián đoạn)

T1 = (3 -3)+ (23 - 13) + (53 - 33) + (67 - 63) = 34
T2 = (13 -10) + (33- 23) = 13
T3 = (43- 24) + (63 - 53) = 29

===> Ttb = (34 + 13 + 29) / 3 = 25.33 ms


Được sửa bởi phuongdtk ngày 19/5/2009, 11:54; sửa lần 2.
phuongdtk
phuongdtk

Tổng số bài gửi : 56
Join date : 19/02/2009

Về Đầu Trang Go down

Cách giải bài tập về các thuật giải điều phối CPU (Thuật giải RRS ) Empty Re: Cách giải bài tập về các thuật giải điều phối CPU (Thuật giải RRS )

Bài gửi  canhcam 19/5/2009, 07:49

bai nay minh thay co van de o o thoi diem den????
p1 co thoi diem den la 3, khi chay voi thoi luong la 10-> chay den thoi diem la13, ma thoi diem den cua p2 la 20, con p3 la 24, vay sao ban lai ho p2 chay tu 13->23 ????, minh thay ky ky, vi chua den thoi diem den cua p2, thi sao p2lai chay dc, ban giai thich gium minh voi
thanks!

canhcam

Tổng số bài gửi : 27
Join date : 02/03/2009

Về Đầu Trang Go down

Cách giải bài tập về các thuật giải điều phối CPU (Thuật giải RRS ) Empty Re: Cách giải bài tập về các thuật giải điều phối CPU (Thuật giải RRS )

Bài gửi  asmking 19/5/2009, 10:42

canhcam đã viết:bai nay minh thay co van de o o thoi diem den????
p1 co thoi diem den la 3, khi chay voi thoi luong la 10-> chay den thoi diem la13, ma thoi diem den cua p2 la 20, con p3 la 24, vay sao ban lai ho p2 chay tu 13->23 ????, minh thay ky ky, vi chua den thoi diem den cua p2, thi sao p2lai chay dc, ban giai thich gium minh voi
thanks!
_ Ô là la, bạn canhcam quả là có con mắt tinh tường, vấn đề bạn nhận xét rất đúng.
_ Mình đã xem lại đề thi này và phát hiện ra rằng bạn phuong ghi sai đề Razz
_ Đây là đề thi đúng :
Tiến trìnhThời điểmCPU - Burst
P1337
P21020
P32414

_ Bài giải của bạn Phương hoàn toàn đúng, tuy nhiên chỗ giải thích thì lại sai từ thời điểm 33 trở về sau. Mình xin giải thích lại chỗ sai của bạn phuong như sau:

+ Tại thời điểm 3 : Ready Queue(RQ) -> |rỗng| (ở thời điểm này P1 vừa vào hàng đợi & vì chỉ có mỗi P1 nên nó được chọn cho thi hành ngay, RQ rỗng).
+ Tại thời điểm 10 : RQ -> |P2| (ở thời điểm 10s P2 đến & được đưa vào hàng đợi, P1 vẫn đang vận hành vì chưa hết khoảng Time Quantum).
+ Tại thời điểm 13 : RQ -> |P1| (ở thời điểm 13s P1 đã sử dụng hết Time Quantum của nó nên bị tiếm quyền & bị đẩy xuống cuối hàng đợi, P2 được đưa vào thi hành).
+ Tại thời điểm 23 : RQ -> |P2| (ở thời điểm này P2 đã sử dụng hết Time Quantum của nó nên bị tiếm quyền & bị đẩy xuống cuối hàng đợi, P1 được đưa vào thi hành).
+ Tại thời điểm 24 : RQ -> |P2|P3| (P3 đến & được đưa vào cuối hàng đợi, P1 vẫn đang vận hành).

_ Có gì sai xin các bạn góp ý nhé Very Happy
asmking
asmking

Tổng số bài gửi : 137
Join date : 19/03/2009

Về Đầu Trang Go down

Cách giải bài tập về các thuật giải điều phối CPU (Thuật giải RRS ) Empty Re: Cách giải bài tập về các thuật giải điều phối CPU (Thuật giải RRS )

Bài gửi  phuongdtk 19/5/2009, 11:11

hihi, cám ơn asmking nhắc nhở. Đúng là mình ghi sai để thiệt. Mọi người tiếp tục góp ý nha để cùng nhau học tập tốt. Vậy mình sẽ edit lại cho đề đúng heng. Mình cũng hiểu theo cách của mình, chứ hôm thầy dạy bài RRS mình ngồi dưới nghe chưa kịp lắm --> về nhà quên luôn geek Bạn asmking học kỹ hơn mình nên chắc cách giải thích của bạn asmkng hợp lý hơn đó, nhất là về vấn đề hàng đợi Ready. Very Happy
phuongdtk
phuongdtk

Tổng số bài gửi : 56
Join date : 19/02/2009

Về Đầu Trang Go down

Cách giải bài tập về các thuật giải điều phối CPU (Thuật giải RRS ) Empty Re: Cách giải bài tập về các thuật giải điều phối CPU (Thuật giải RRS )

Bài gửi  PhamVanNgo(I11C) 27/10/2011, 13:34

asmking đã viết:
canhcam đã viết:bai nay minh thay co van de o o thoi diem den????
p1 co thoi diem den la 3, khi chay voi thoi luong la 10-> chay den thoi diem la13, ma thoi diem den cua p2 la 20, con p3 la 24, vay sao ban lai ho p2 chay tu 13->23 ????, minh thay ky ky, vi chua den thoi diem den cua p2, thi sao p2lai chay dc, ban giai thich gium minh voi
thanks!
_ Ô là la, bạn canhcam quả là có con mắt tinh tường, vấn đề bạn nhận xét rất đúng.
_ Mình đã xem lại đề thi này và phát hiện ra rằng bạn phuong ghi sai đề Razz
_ Đây là đề thi đúng :
Tiến trìnhThời điểmCPU - Burst
P1337
P21020
P32414

_ Bài giải của bạn Phương hoàn toàn đúng, tuy nhiên chỗ giải thích thì lại sai từ thời điểm 33 trở về sau. Mình xin giải thích lại chỗ sai của bạn phuong như sau:

+ Tại thời điểm 3 : Ready Queue(RQ) -> |rỗng| (ở thời điểm này P1 vừa vào hàng đợi & vì chỉ có mỗi P1 nên nó được chọn cho thi hành ngay, RQ rỗng).
+ Tại thời điểm 10 : RQ -> |P2| (ở thời điểm 10s P2 đến & được đưa vào hàng đợi, P1 vẫn đang vận hành vì chưa hết khoảng Time Quantum).
+ Tại thời điểm 13 : RQ -> |P1| (ở thời điểm 13s P1 đã sử dụng hết Time Quantum của nó nên bị tiếm quyền & bị đẩy xuống cuối hàng đợi, P2 được đưa vào thi hành).
+ Tại thời điểm 23 : RQ -> |P2| (ở thời điểm này P2 đã sử dụng hết Time Quantum của nó nên bị tiếm quyền & bị đẩy xuống cuối hàng đợi, P1 được đưa vào thi hành).
+ Tại thời điểm 24 : RQ -> |P2|P3| (P3 đến & được đưa vào cuối hàng đợi, P1 vẫn đang vận hành).

_ Có gì sai xin các bạn góp ý nhé Very Happy

Nói về cách giải thuật toán này thì ai cũng thấy nhức đầu hoa mắt cả, nhưng mà chúng ta để ý 1 tí thì chắc cũng kô đến nỗi nào nhỉ. giống như cách trình bày trên đây mình chỉ cần chú ý đến thời gian đến và thời gian tiếm quyền của các tiến trình là ok rồi.

PhamVanNgo(I11C)

Tổng số bài gửi : 23
Join date : 30/09/2011
Đến từ : HCTH11C

Về Đầu Trang Go down

Cách giải bài tập về các thuật giải điều phối CPU (Thuật giải RRS ) Empty Re: Cách giải bài tập về các thuật giải điều phối CPU (Thuật giải RRS )

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết