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.

Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C))

+12
vophatdat
nguyenvandung(i91C)
NguyenDuyLinh_I91C
lethinhung(i191c)
dangthanhluc_107H1057
nguyentronghieu_107H1031
thanhthuy
DucDuyI91C
tri_09h1010091
baochau
THMinh_I91C
PhamLy_09H1010053
16 posters

Go down

thảo luận bài 4 - Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C)) Empty Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C))

Bài gửi  PhamLy_09H1010053 25/4/2010, 14:01

Đề bài: Một hệ thống có 3 tiến trình với thời điểm đầu và thời gian sử dung CPU như sau:

Tiến trình-----------Thời điểm đến (ms) ------- CPU Burst (ms)
P1-------------------------- 4 --------------------------24
P2------------------------- 19 ------------------------- 17
P3--------------------------30 -------------------------- 8

Dùng thuật giải Round - Robin với thời lượng 10 giây để đ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.

Giải: (Theo biểu đồ Gantt trên lớp giải)
a. Biểu đồ Gantt. (tạm mô tả như thế này nha các bạn)

--------- P1-------- P1--------P2------P1----P3-------P2
|----|----------|----------|----------|----|--------|-------|
----4---------14--------24---------34---38------46-----53

b. Tính thời gian chờ trung bình của các tiến trình:

P1 bắt đầu chạy từ thời điểm là 4 -> ko phải chờ nên thời gian chờ = 0.
chạy tới 24 thì P1 ngưng đến 34 chạy tiếp -> thời gian chờ = 10.
P2 bắt đầu từ 19 nhưng đến 24 mới được chạy -> thời gian chờ = 5.
Chạy đến 34 thì nhưng đến 46 chạy tiếp -> thời gian chờ = 12.
P3 bắt đầu từ 30 nhưng đến 38 mới được chạy -> thời gian chờ = 8.

=> công thức tính
((0 + 10) + (5+12) + 8 ) / 3 = 11.66667 ms

Admin
Theo thày thì lời giải này đúng (thày kiểm tra lại Đáp án sau).

Giải: theo cách mình nghĩ
a. Biểu đồ Gantt. (tạm mô tả như thế này nha các bạn)

--------- P1-------- P1--------P2------P1----P2-------P3
|----|----------|----------|----------|----|--------|-------|
----4---------14--------24---------34---38------45-----53

Biểu đồ Gantt được mô tả như thế này: P2 sẽ chạy trước P3.
Lý do: Khi P2 chạy xong 1 lần 10s. thỉ lúc này ở giây thứ 34. Tất cả P1, P2, P3 đều đã đang ở hàng chờ Ready. Và ta thấy rằng lúc này khoảng CPU của P1 = 4, P2 = 7, P3 = 8 nên theo thuật giải SJFS có tiếm tuyến thì sẽ ưu tiên tiến trình nào có khoảng CPU nhỏ hơn chạy trước. => P1 chạy xong đến P2 chạy xong rồi đến P3.

Không biết là mình nghĩ như thế có đúng ko ạ? Mong thầy và các bạn cho ý kiến.

Admin
Ở milli giây thứ 34, trước hết P2 bị "tiếm quyền" sử dụng CPU và được đưa vào cuối Ready Queue, tức sau P1-P3, sau đó P1 được chọn, Ready Queue bây giờ có P3-P2 !

b. Tính thời gian chờ trung bình của các tiến trình:
Theo cách của mình thì thời gian chờ trung bình của các tiến trình:
( (0 + 10) + (5 + 4) + 15) /3 = 11.3333 ms
PhamLy_09H1010053
PhamLy_09H1010053

Tổng số bài gửi : 12
Join date : 31/03/2010

Về Đầu Trang Go down

thảo luận bài 4 - Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C)) Empty Re: Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C))

Bài gửi  THMinh_I91C 26/4/2010, 10:29

a. Biểu đồ Gantt. (tạm mô tả như thế này nha các bạn)

--------- P1-------- P1--------P2------P1----P3-------P2
|----|----------|----------|----------|----|--------|-------|
0----4---------14--------24---------34---38------46-----53


P1 bắt đầu chạy từ thời điểm là 4 -> ko phải chờ nên thời gian chờ = 0.
chạy tới 24 thì P1 ngưng đến 34 chạy tiếp -> thời gian chờ = 10.
P2 bắt đầu từ 19 nhưng đến 24 mới được chạy -> thời gian chờ = 5.
Chạy đến 34 thì nhưng đến 46 chạy tiếp -> thời gian chờ = 12.
P3 bắt đầu từ 30 nhưng đến 38 mới được chạy -> thời gian chờ = 8.
=> công thức tính
((0 + 10) + (5+12) + 8 ) / 3 = 11.66667 ms

Cách dạy trên trường của thấy là đã đúng rồi đó bạn, k có sai đâu

Thường thì mọi người dều bị tắt ở chổ khi p2 =34 thì thuật toán sẽ chạy như thế nào, đây là cách chạy của nó
thời điểm đến (TTD)
*p1 trước đó đã chạy xong và ngưng tại giây 24 nên đã dc đưa vào ready queue và TTD =24
*Sau đó thời điểm p2=34 chạy xong, p2 ngưng và nhảy vào hàng đợi ,TTD p2 lúc này sẽ dc tính là 34
*Khi p2 xong ta có p1 và p3 . TTD p1=24 , TTD p3=30 nên p1 dc ưu tiên xử lý. P1 dc đưa vào và kết thúc tiến trình tại thời điểm p1=38
* Khi p1 xong thì ta xét p2,p3. p2 TTD= 34 như ở trên đã nói, TTD p3=30 nên p3 dc ưu tiên xử lý
p3 dc xử lý và kết thúc tạo t =46
* P2 cuối cùng dc xử lý và kết thúc 5ai t=53
Kết thúc thuật giải

Time TB= ((0+10) + (5 + 12) + Cool/3=11.66667 ms

Thuât giải RoundRobin là thuật giải vừa xử lý xoay vòng, vừa xét theo thời gian đến (ms) đến. Nên ta fai xét cả thời gian đến của tt khi tt đó đưa vào ready queue, tt nào thời gian đến thấp thì ưu tiên dc xử lý trước
Wink

THMinh_I91C

Tổng số bài gửi : 30
Join date : 18/03/2010

Về Đầu Trang Go down

thảo luận bài 4 - Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C)) Empty Re: Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C))

Bài gửi  PhamLy_09H1010053 26/4/2010, 11:03

Mình ko có nói là bài thầy sửa trên lớp là ko đúng. Vì mình nghĩ như thế nên mình nói ra thôi. Vì lúc ở trên lớp mình chưa hiểu vì sào P3 lại chạy trước P2. Nhưng bây giờ sau khi bạn nói thế thì mình okie rùi. Cảm ơn bạn nhé. Mình hiểu rồi.


Được sửa bởi PhamLy_09H1010053 ngày 26/4/2010, 12:00; sửa lần 1.
PhamLy_09H1010053
PhamLy_09H1010053

Tổng số bài gửi : 12
Join date : 31/03/2010

Về Đầu Trang Go down

thảo luận bài 4 - Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C)) Empty Re: Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C))

Bài gửi  baochau 26/4/2010, 11:20

PhamLy_09H1010053 đã viết:Đề bài: Một hệ thống có 3 tiến trình với thời điểm đầu và thời gian sử dung CPU như sau:

Tiến trình-----------Thời điểm đến (ms) ------- CPU Burst (ms)
P1-------------------------- 4 --------------------------24
P2------------------------- 19 ------------------------- 17
P3--------------------------30 -------------------------- 8

Dùng thuật giải Round - Robin với thời lượng 10 giây để đ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.

Giải: (Theo biểu đồ Gantt trên lớp giải)
a. Biểu đồ Gantt. (tạm mô tả như thế này nha các bạn)

--------- P1-------- P1--------P2------P1----P3-------P2
|----|----------|----------|----------|----|--------|-------|
----4---------14--------24---------34---38------46-----53

b. Tính thời gian chờ trung bình của các tiến trình:

P1 bắt đầu chạy từ thời điểm là 4 -> ko phải chờ nên thời gian chờ = 0.
chạy tới 24 thì P1 ngưng đến 34 chạy tiếp -> thời gian chờ = 10.
P2 bắt đầu từ 19 nhưng đến 24 mới được chạy -> thời gian chờ = 5.
Chạy đến 34 thì nhưng đến 46 chạy tiếp -> thời gian chờ = 12.
P3 bắt đầu từ 30 nhưng đến 38 mới được chạy -> thời gian chờ = 8.

=> công thức tính
((0 + 10) + (5+12) + 8 ) / 3 = 11.66667 ms



Giải: theo cách mình nghĩ
a. Biểu đồ Gantt. (tạm mô tả như thế này nha các bạn)

--------- P1-------- P1--------P2------P1----P2-------P3
|----|----------|----------|----------|----|--------|-------|
----4---------14--------24---------34---38------45-----53

Biểu đồ Gantt được mô tả như thế này: P2 sẽ chạy trước P3.
Lý do: Khi P2 chạy xong 1 lần 10s. thỉ lúc này ở giây thứ 34. Tất cả P1, P2, P3 đều đã đang ở hàng chờ Ready. Và ta thấy rằng lúc này khoảng CPU của P1 = 4, P2 = 7, P3 = 8 nên theo thuật giải SJFS có tiếm tuyến thì sẽ ưu tiên tiến trình nào có khoảng CPU nhỏ hơn chạy trước. => P1 chạy xong đến P2 chạy xong rồi đến P3.

Không biết là mình nghĩ như thế có đúng ko ạ? Mong thầy và các bạn cho ý kiến.

b. Tính thời gian chờ trung bình của các tiến trình:
Theo cách của mình thì thời gian chờ trung bình của các tiến trình:
( (0 + 10) + (5 + 4) + 15) /3 = 11.3333 ms

1. Về bài giải trên lớp:
Bài giải này không sai !
Nhưng có một vấn đề mình không hiểu tại sao đề bài lại cho thời điểm
bắt đầu cua P1 = 4. Có thể đề cho thêm để khác trong slide bài giảng.
Vậy thực tế có nên tính thêm khoảng thời gian trước khi P1 bắt đầu không ?
Không tính cũng đúng vì hệ thống đề bài cho la chỉ có 3 tiến trinh. Question

2. Về bài giải của bạn.
Mình nghĩ là bạn bị hiểu nhầm ý nghĩa của "tiếm quyền"
Theo thuật giải SJFS: Nếu tiến trình mới đến có khoảng CPU kế tiếp nhỏ hơn so với thời gian còn lại của tiến trình đang hiện hành thì bị tiếm quyền.
Theo thuật giải RRS: Nếu tiến trình đang chạy bị hết thời lượng (quantum) thì sẽ bi tiếm quyền

Tiếm quyền ở 2 thuật giải là khác nhau. Very Happy
_____________________________

Software development group: BoB

Nguyen Phuc Bao Chau
Email: baochau183@yahoo.com
Phone: 090 9 581 384
Sky: baochau183
Y!H: baochau183

baochau

Tổng số bài gửi : 37
Join date : 04/04/2010

Về Đầu Trang Go down

thảo luận bài 4 - Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C)) Empty Re: Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C))

Bài gửi  tri_09h1010091 26/4/2010, 22:52

Nếu như theo lời phân tích của bạn Minh là đúng thì bài toán đó ok rồi,ko biết có ai còn có cách giải khác ko để chúng ta cùng thảo luận.Đừng để tới khi thi rồi phát hiện sai thì chết.Hihi

tri_09h1010091

Tổng số bài gửi : 37
Join date : 30/03/2010
Age : 39
Đến từ : Quảng Ngãi

Về Đầu Trang Go down

thảo luận bài 4 - Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C)) Empty Re: Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C))

Bài gửi  DucDuyI91C 26/4/2010, 23:14

tri_09h1010091 đã viết:Nếu như theo lời phân tích của bạn Minh là đúng thì bài toán đó ok rồi,ko biết có ai còn có cách giải khác ko để chúng ta cùng thảo luận.Đừng để tới khi thi rồi phát hiện sai thì chết.Hihi
Theo cách thuật giải thì chỉ có 1 đáp án thôi bạn à!Bạn Minh giải thích thế là chi tiết lắm rồi!Mình cũng định post mà vô ăn cơm ra có người đáp án rồi!hết được giải thích buồn ghê! hehhehehe..Dù sao cũng thks Minh nhé

DucDuyI91C

Tổng số bài gửi : 77
Join date : 18/03/2010

Về Đầu Trang Go down

thảo luận bài 4 - Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C)) Empty Re: Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C))

Bài gửi  THMinh_I91C 26/4/2010, 23:48

DucDuyI91C đã viết:
tri_09h1010091 đã viết:Nếu như theo lời phân tích của bạn Minh là đúng thì bài toán đó ok rồi,ko biết có ai còn có cách giải khác ko để chúng ta cùng thảo luận.Đừng để tới khi thi rồi phát hiện sai thì chết.Hihi
Theo cách thuật giải thì chỉ có 1 đáp án thôi bạn à!Bạn Minh giải thích thế là chi tiết lắm rồi!Mình cũng định post mà vô ăn cơm ra có người đáp án rồi!hết được giải thích buồn ghê! hehhehehe..Dù sao cũng thks Minh nhé

K có gì, ban đầu trong lớp thấy cách thầy giải thì cũng k hiểu lắm. Về lục lọi, tìm kiếm, nhờ sư phụ chỉ bảo tá lả mới hiểu dc đó Laughing

THMinh_I91C

Tổng số bài gửi : 30
Join date : 18/03/2010

Về Đầu Trang Go down

thảo luận bài 4 - Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C)) Empty Re: Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C))

Bài gửi  thanhthuy 27/4/2010, 15:39

Cám ơn các bạn nha. Ở lớp mình chưa hiểu lắm nghĩa là khi thực hiện vòng chạy này chủ yếu dựa vào thời điểm đến phải không ! Tiến trình nào có thời điểm đến trước sẽ ưu tiên thực hiện trước phải không ? bạn nào giúp mình nha

thanhthuy

Tổng số bài gửi : 6
Join date : 09/04/2010

Về Đầu Trang Go down

thảo luận bài 4 - Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C)) Empty Re: Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C))

Bài gửi  nguyentronghieu_107H1031 27/4/2010, 16:26

Thanks Minh nhieu!Ban giai thich kha ro rang rendeer
nguyentronghieu_107H1031
nguyentronghieu_107H1031

Tổng số bài gửi : 24
Join date : 17/04/2010

Về Đầu Trang Go down

thảo luận bài 4 - Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C)) Empty Re: Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C))

Bài gửi  dangthanhluc_107H1057 6/5/2010, 09:01

Bài giải tốt quá, thanks bạn nhiều I love you

dangthanhluc_107H1057

Tổng số bài gửi : 8
Join date : 23/03/2010

Về Đầu Trang Go down

thảo luận bài 4 - Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C)) Empty Re: Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C))

Bài gửi  lethinhung(i191c) 7/5/2010, 16:44

Thank you !
lethinhung(i191c)
lethinhung(i191c)

Tổng số bài gửi : 55
Join date : 15/03/2010
Age : 38
Đến từ : Quang Ngai

http://lenhungqn.webs.com/home.htm

Về Đầu Trang Go down

thảo luận bài 4 - Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C)) Empty Thanks !

Bài gửi  NguyenDuyLinh_I91C 10/5/2010, 14:27

Ban dau minh cung giai ra dap an la so le ma ko biet dung hay sai Very Happy ,gio biet ket qua roi cam on ban nhieu :!

NguyenDuyLinh_I91C

Tổng số bài gửi : 4
Join date : 10/05/2010

Về Đầu Trang Go down

thảo luận bài 4 - Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C)) Empty Re: Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C))

Bài gửi  nguyenvandung(i91C) 12/5/2010, 09:17

Tran Hoang Minh đã viết:
a. Biểu đồ Gantt. (tạm mô tả như thế này nha các bạn)

--------- P1-------- P1--------P2------P1----P3-------P2
|----|----------|----------|----------|----|--------|-------|
0----4---------14--------24---------34---38------46-----53


P1 bắt đầu chạy từ thời điểm là 4 -> ko phải chờ nên thời gian chờ = 0.
chạy tới 24 thì P1 ngưng đến 34 chạy tiếp -> thời gian chờ = 10.
P2 bắt đầu từ 19 nhưng đến 24 mới được chạy -> thời gian chờ = 5.
Chạy đến 34 thì nhưng đến 46 chạy tiếp -> thời gian chờ = 12.
P3 bắt đầu từ 30 nhưng đến 38 mới được chạy -> thời gian chờ = 8.
=> công thức tính
((0 + 10) + (5+12) + 8 ) / 3 = 11.66667 ms

Cách dạy trên trường của thấy là đã đúng rồi đó bạn, k có sai đâu

Thường thì mọi người dều bị tắt ở chổ khi p2 =34 thì thuật toán sẽ chạy như thế nào, đây là cách chạy của nó
thời điểm đến (TTD)
*p1 trước đó đã chạy xong và ngưng tại giây 24 nên đã dc đưa vào ready queue và TTD =24
*Sau đó thời điểm p2=34 chạy xong, p2 ngưng và nhảy vào hàng đợi ,TTD p2 lúc này sẽ dc tính là 34
*Khi p2 xong ta có p1 và p3 . TTD p1=24 , TTD p3=30 nên p1 dc ưu tiên xử lý. P1 dc đưa vào và kết thúc tiến trình tại thời điểm p1=38
* Khi p1 xong thì ta xét p2,p3. p2 TTD= 34 như ở trên đã nói, TTD p3=30 nên p3 dc ưu tiên xử lý
p3 dc xử lý và kết thúc tạo t =46
* P2 cuối cùng dc xử lý và kết thúc 5ai t=53
Kết thúc thuật giải

Time TB= ((0+10) + (5 + 12) + Cool/3=11.66667 ms

Thuât giải RoundRobin là thuật giải vừa xử lý xoay vòng, vừa xét theo thời gian đến (ms) đến. Nên ta fai xét cả thời gian đến của tt khi tt đó đưa vào ready queue, tt nào thời gian đến thấp thì ưu tiên dc xử lý trước
Wink
Cảm ơn bạn nhiều, vì ở trên lớp mình cũng không hiểu cách tính P2 và P3, giờ thình mình đã hiểu về thuật toán này rồi.

nguyenvandung(i91C)

Tổng số bài gửi : 43
Join date : 06/05/2010

Về Đầu Trang Go down

thảo luận bài 4 - Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C)) Empty Re: Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C))

Bài gửi  vophatdat 13/6/2010, 11:00

thanks!

vophatdat

Tổng số bài gửi : 39
Join date : 16/03/2010
Age : 39

http://www.vsoftgroup.com

Về Đầu Trang Go down

thảo luận bài 4 - Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C)) Empty Re: Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C))

Bài gửi  nganha_dt 17/6/2010, 10:56

thanks

nganha_dt

Tổng số bài gửi : 4
Join date : 29/04/2010

Về Đầu Trang Go down

thảo luận bài 4 - Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C)) Empty Re: Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C))

Bài gửi  duypmI91C 19/6/2010, 02:42

Mừng quá, mình cũng đang không hiểu lắm chổ này. Giờ thì...hieu hieu chut chut rồi. Cám ơn các bạn nhiều

duypmI91C

Tổng số bài gửi : 18
Join date : 09/04/2010
Age : 39
Đến từ : HCM

Về Đầu Trang Go down

thảo luận bài 4 - Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C)) Empty Re: Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C))

Bài gửi  tran mong thuy 19/6/2010, 22:28

bai giai cua ban kha chi tiet, thanks

tran mong thuy

Tổng số bài gửi : 14
Join date : 26/03/2010

Về Đầu Trang Go down

thảo luận bài 4 - Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C)) Empty Re: Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C))

Bài gửi  nguyenthingocsan_I83C 10/11/2010, 15:58

Nhờ bài giải của bạn mình hiểu thêm được nhiều điều. Thanks so much!!Smile

nguyenthingocsan_I83C

Tổng số bài gửi : 4
Join date : 10/11/2010

Về Đầu Trang Go down

thảo luận bài 4 - Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C)) Empty Re: Thuật giải Round - Robin (Thảo luận bài 4 - Đề thi lần 2 (I83C))

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