[Help]Bài Tập Định Thời Có Thời Gian I/O HĐH

Mình giải được các bài tập định thời cơ bản rồi nhưng gặp dạng này mới. Mình đã làm rồi nhưng cũng không chắc đúng nữa nên lên đây hỏi anh em cho chắc ăn :adore:. Anh em nào vào giải thử để mình xem hướng giải+so kết quả +xem mình sai ở đâu luôn :sogood:. Thank bà con trước.

Cho 3 tiến trình với thứ tự vào Ready List : A,B,C
Process / Burst-Time / Thời Điểm I/O /Thời Gian I/O
A /8 /2 /3
B /7 /3 /3
C /6 /4 /3

Vẽ Biểu đồ Gantt với giải thuật FIFO có I/O; Round Robin có I/O, q=3

một dạng bài tập khó.

[QUOTE=11520207;181649]

[TABLE=“align: left”]
[TR]
[TD]Process[/TD]
[TD]Burst-Time[/TD]
[TD]Thời điểm I/O[/TD]
[TD]Thời gian I/O[/TD]
[/TR]
[TR]
[TD]A[/TD]
[TD]2[/TD]
[TD]2[/TD]
[TD]3[/TD]
[/TR]
[TR]
[TD]B[/TD]
[TD]7[/TD]
[TD]2[/TD]
[TD]3[/TD]
[/TR]
[TR]
[TD]C[/TD]
[TD]6[/TD]
[TD]4[/TD]
[TD]3[/TD]
[/TR]
[/TABLE]

Vẽ Biểu đồ Gantt với giải thuật FIFO có I/O; Round Robin có I/O, q=3[/QUOTE]
Tao nghĩ khi có I/O thì tiến trình bị ngưng lại để chờ hết I/O thôi Linh ơi.

[QUOTE=11520207;181649]Mình giải được các bài tập định thời cơ bản rồi nhưng gặp dạng này mới. Mình đã làm rồi nhưng cũng không chắc đúng nữa nên lên đây hỏi anh em cho chắc ăn :adore:. Anh em nào vào giải thử để mình xem hướng giải+so kết quả +xem mình sai ở đâu luôn :sogood:. Thank bà con trước.

Cho 3 tiến trình với thứ tự vào Ready List : A,B,C
Process / Burst-Time / Thời Điểm I/O /Thời Gian I/O
A /8 /2 /3
B /7 /3 /3
C /6 /4 /3

Vẽ Biểu đồ Gantt với giải thuật FIFO có I/O; Round Robin có I/O, q=3[/QUOTE]cùng câu hỏi

FIFO preemtive hay non-preemtive ???

nguyên tắc khi process xử lý I/O thì nó sẽ bị blocking và đưa ngược về cuối hàng đợi

thi hdh đề mở hay đóng vậy?

[QUOTE=11520207;181649]Mình giải được các bài tập định thời cơ bản rồi nhưng gặp dạng này mới. Mình đã làm rồi nhưng cũng không chắc đúng nữa nên lên đây hỏi anh em cho chắc ăn :adore:. Anh em nào vào giải thử để mình xem hướng giải+so kết quả +xem mình sai ở đâu luôn :sogood:. Thank bà con trước.

Cho 3 tiến trình với thứ tự vào Ready List : A,B,C
Process / Burst-Time / Thời Điểm I/O /Thời Gian I/O
A /8 /2 /3
B /7 /3 /3
C /6 /4 /3

Vẽ Biểu đồ Gantt với giải thuật FIFO có I/O; Round Robin có I/O, q=3[/QUOTE]

  • FIFO là giải thuật thay thế trang ở đây k có dùng
  • Đúng phải là FCFS chỉ chạy chế độ non-preemtive, chỉ có SJF mới chạy ở 2 chế độ.
  • Bài này bạn cứ làm bình thường. Tới thời điểm tiến trình thực thi I/O thì dừng để thực thi I/O. Hết thời gian I/O thì trở về bình thường!

[QUOTE=10520194;181685]- FIFO là giải thuật thay thế trang ở đây k có dùng

  • Đúng phải là FCFS chỉ chạy chế độ non-preemtive, chỉ có SJF mới chạy ở 2 chế độ.
  • Bài này bạn cứ làm bình thường. Tới thời điểm tiến trình thực thi I/O thì dừng để thực thi I/O. Hết thời gian I/O thì trở về bình thường![/QUOTE]
    Em đồng ý với ý kiến này. Giải thuật FCFS trong trường hợp này sẽ bị blocked do I/O khi hết thời gian I/O thì tiến trình tiếp tục.

[QUOTE=10520194;181685]- FIFO là giải thuật thay thế trang ở đây k có dùng

  • Đúng phải là FCFS chỉ chạy chế độ non-preemtive, chỉ có SJF mới chạy ở 2 chế độ.
  • Bài này bạn cứ làm bình thường. Tới thời điểm tiến trình thực thi I/O thì dừng để thực thi I/O. Hết thời gian I/O thì trở về bình thường![/QUOTE]
    Đề nó cho là FIFO đó anh à. Nhưng mà FCFS thực hiện theo cơ chế FIFO nên có thể xem 2 cái này giống nhau được.
    Thêm nữa, thời gian CPU burst = Burst time - I/O burst.

nếu ai học thầy Khánh thì sẽ phân rõ giải thuật SJF ra làm hai đó là SJF và SRJF, với SJF là độc quyền, cái còn lại là không độc quyền.

Bài này có thể hỏi thêm tại thời điểm t=x. trạng thái của các tiến trình là gì?

  • Process đến thời gian I/O thì vào thực hiện I/O cho đến khi kết thúc thì vào cuối hàng đợi - waiting
  • Trong RR thì q không có tác dụng với I/O
    Lười viết lại nên up hình :pudency:
    Xin đừng chém em :stick: có gì sai xin chỉ giáo để mai vô phòng thi còn biết đường mà làm. Thanks! :smiley:

PhotoEditorImage.jpg

[QUOTE=11520537;181702]nếu ai học thầy Khánh thì sẽ phân rõ giải thuật SJF ra làm hai đó là SJF và SRJF, với SJF là độc quyền, cái còn lại là không độc quyền.[/QUOTE]
Chuẩn men.

thế vẽ biểu đồ gantt thế nào mấy bạn, vẽ luôn cả i/o vào à, còn cái RR nữa thời điểm i/o=2 mà q=3 vậy chưa hết q thì có dừng lại thực hiện i/o không?

[QUOTE=11520431;181704]

  • Process đến thời gian I/O thì vào thực hiện I/O cho đến khi kết thúc thì vào cuối hàng đợi - waitting
  • Trong RR thì q không có tác dụng với I/O
    Lười viết lại nên up hình :pudency:
    Xin đừng chém em :stick: có gì sai xin chỉ giáo để mai vô phòng thi còn biết đường mà làm. Thanks! :D[/QUOTE]
    cái này nguy hiểm à nha, anh em nên đọc kỹ bài này của bạn Trinh, nhất là cái vụ sau khi nhập xuất thì sẽ đưa vào hang đợi chứ không phải cho nó thực hiện luôn. Trước đây mình cứ nghĩ là khi nhập xuất xong thì nó nhảy ngay vào thực hiện tiếp (ngu quá!)

Xét một không gian có bộ nhớ luận lý kích thước 1 trang là 1kb. Tính số trang và độ dời (offset) của từng địa chỉ sau:
a) 2.375
b) 19.366
c) 30.000
d) 256
e) 16.385
Bạn nào làm mẫu cho mình 1 câu được không?Tự nhiên quên mất làm sao luôn rồi.Thanks nhìu

[QUOTE=11520541;181714]Xét một không gian có bộ nhớ luận lý kích thước 1 trang là 1kb. Tính số trang và độ dời (offset) của từng địa chỉ sau:
a) 2.375
b) 19.366
c) 30.000
d) 256
e) 16.385
Bạn nào làm mẫu cho mình 1 câu được không?Tự nhiên quên mất làm sao luôn rồi.Thanks nhìu[/QUOTE]
Ví dụ cho bạn câu a:
2375 / 1024 (1KB = 1024 B) = 2 => địa chỉ nằm ở trang 2. Độ dời là 2375 - 2*1024 = 327

:beauty:

Thêm nữa, thời gian CPU burst = Burst time - I/O burst.
==> phát hiện mới

Cái này các bạn vẽ giản đồ gantt gồm 2 đường nha.
Đường trên thể hiện dòng xử lý của CPU
Đường dưới thể hiện dòng xử lý I/O
Đợi I/O thì CPU vẫn làm việc. Nghĩa là tiến trình nào gặp I/O thì phải đợi I/O và nhường CPU cho tiến trình khác. Nếu tiến trình khác kết thúc và về lại tiến trình đó mà tiến trình đó chưa I/O xong thì tiến trình đó không được CPU xử lý. Nếu đã I/O xong thì mới được CPU xử lý.

[QUOTE=08520229;181725]:beauty: ==> phát hiện mới[/QUOTE]
Sai hả a ? hì