PDA

View Full Version : Cần anh em giúp cho bài này :)


MrBuides
29-06-2010, 10:58
Tình hình là mình ôn thi liên thông nhưng ông thầy dạy rất tồi, nói đúng hơn là lão không hiểu sâu môn này mà cứ đọc tài liệu rồi đi dạy nên lên đây nhờ anh em cho ý kiến dùm bài này :)

Môn: Hệ điều hành
Đề: Giả sử trong hệ thống có 3 tiến trình P1, P2, P3. Trong đó thứ tự phát sinh và thời gian xử lý của mỗi tiến trình được cho trong bảng sau"

Tiến trình -------Thứ tự phát sinh--------Thời gian xử lý
P1-------------------1----------------------10
P2-------------------2---------------------- 4
P3-------------------3----------------------- 7

Cho biết thời gian chờ của từng tiến trình và thời gian chờ trung bình (biết rằng hệ thống sử dụng chiến lược FIFO)

Vấn đề được bắt đầu tại đây:

- Theo cách giải của ông thầy ở trên lớp:
Tiến trình----Thứ tự phát sinh-------Thời gian xử lý----Thời gian chờ
P1--------------- 1----------------------10----------------0
P2----------------2-----------------------4-----------10 - 2 = 8
P3----------------3-----------------------7---------(10 + 4) -3 = 11
=> Thời gian chờ trung bình là: (0 + 8 +11)/3 = 6,333
Mình hỏi vì sao trừ 2 và trừ 3 ở P1 và P2 thì được giải thích là trừ cho thứ tự phát sinh (thứ tự vào) nhưng theo mình được biết chỉ trừ cho thời điểm vào nếu đề cho thời điểm vào.

- Theo cách giải của một lão người quen:
Tiến trình Thứ tự phát sinh Thời gian xử lý Thời gian chờ
P1----------------1----------------------10--------------0
P2----------------2-----------------------4----------10 - 1 = 9
P3----------------3----------------------7---------(10 + 4) -2 = 12
=> Thời gian chờ trung bình là: (0 + 9 +12)/3 = 7
Cái này thì mình được giải thích là P2 đứng thứ 2 nên phải trừ 1 vì chờ P1, P3 trừ 2 vì chờ P1 và P2 (không hiểu mông tê gì cả...)

- Và đây là cách giải theo tài liệu ông thầy (giải cách 1) đưa về nghiên cứu:
Tiến trình-----Thứ tự phát sinh-------Thời gian xử lý----Thời gian chờ
P1----------------1---------------------10--------------0
P2----------------2----------------------4-------------10
P3----------------3----------------------7----------10 + 4 = 14
=> Thời gian chờ trung bình là: (0 + 10 + 14)/3 = 8
Đây là cách theo mình thấy là hợp lý nhất, P1 xử lý đầu tiên nên nó không chờ suy ra thời gian chờ là 0, P2 xử lý ngay sau P1 thì thời gian chờ nó phải là 10, nếu nó là 9 hay 8 như 2 cách trên thì P1 chưa xử lý xong nó đã nhảy vào.

Và như thế mình bị bấn loạn bởi bài này vì không biết cách nào là đúng. Nhờ anh em phân tích dùm. Thanks :)

MrBuides
29-06-2010, 12:52
Up up up mình đang rất cần

Kumori
29-06-2010, 13:22
Mình học lâu rồi nên quên, nhưng mà theo mình thì cách thứ 3 mới đúng. Vì mình nhớ trong 3 cách xử lý tiến trình của HĐH chẳng có cách nào cộng thời gian theo thứ tự phát sinh vô lý như hai cách đầu kia cả

langtuphidao
29-06-2010, 13:26
môn này là môn hệ điều hành phải ko? học 2 năm rồi nên cũng k nhớ cách giải :(

blackspy
29-06-2010, 13:29
Môn này học lâu roài nên ko nhớ :)

kudoshinichi
29-06-2010, 13:32
thấy cách thứ 3 hợp lí nhất ấy.học lâu rồi nên quên :)

MrBuides
29-06-2010, 20:02
Cách thứ 2 mới đúng các bạn ơi, lúc đầu mình cũng lầm là cách 3 mới đúng. Vào đây đọc bài của member kingnand_IT giải thích vì sao http://ddth.com/showthread.php?t=374864, có thời gian bạn nên xem tài liệu của Mod ngoccong2001 và bài Mod ngoccong2001 giải sẽ thấy thú vị lắm, tài liệu làm như cách thứ 2 còn bạn Mod đưa tài liệu cho mình đọc để làm thì làm ra cách thứ 1 :D
Xém nữa thì cả lớp ôn thi teo vì ông thầy. Viết cách giải lại cho mấy đứa bạn trong lớp đã. Nghĩ lại vẫn còn thấy buồn cười éo chịu được :rofl::rofl::rofl:

ghostdevils
30-06-2010, 17:28
Hic, tưởng mi giải chưa xong, ta giải giúp, thôi kệ post cái hình lên cho a e tham khảo :)

http://cA1.upanh.com/9.58.13286924.SDZ0/3.jpg

redpidervn
30-06-2010, 17:45
hồi đó vất vả lắm mới qua môn HĐH này, nhớ có cái giải thuật
FIFO và Death Lock:D

MrBuides
30-06-2010, 17:49
yes :)) mình đang tự cưới 1 mình mà không rõ nguyên nhân =))

Kumori
30-06-2010, 17:57
hồi đó vất vả lắm mới qua môn HĐH này, nhớ có cái giải thuật
FIFO và Death Lock:D

Hồi đó thi round robin :D. Giờ nhìn cái FIFO thấy lạ lạ :brick::brick:

zoder
30-06-2010, 18:02
đang mơ hồ 2 khái niệm thứ tự phát sinh va thời điểm vào

ghostdevils
01-07-2010, 08:17
đang mơ hồ 2 khái niệm thứ tự phát sinh va thời điểm vào

Thứ tự phát sinh là thứ tự tiến trình vào trong để chờ CPU xử lý, theo nguyên lý FIFO (hay một số trường dạy là First Come First Serve) là tiến trình nào vào trước thì ưu tiên xử lý trước. Nếu thứ tự phát sinh là 1 thì tiến trình được xử lý ngay thời điểm vào luôn và không phải chờ nên là 0s.

:):):)