V/d tiến trình chờ và đợi buffer
2 posters
Trang 1 trong tổng số 1 trang
V/d tiến trình chờ và đợi buffer
Hôm wa thầy có nói về ví dụ tiến trình chờ đợi buffer giống như là xe qua ngã 4 đèn xanh đỏ phải liên tục ngó xem đèn chuyển màu chưa để xử lý tiếp.
Mình có ý kiến này, lấy đèn giao thông ví dụ trước ha, nếu đèn giao thông có gắn 1 cái loa, mỗi khi đèn xanh thì loa thông báo "Xanh rồi, chạy đi" thì xe chỉ cần nghe tiếng loa rồi chạy hoặc ngược lại với đèn đỏ. Điều này cho phép các xe có thể nói chuyện với nhau, làm chuyện khác, chỉ đợi khi nào nghe tiếng loa rồi chạy thôi.
Còn với hệ điều hành thì có 1 biến gọi là biến wait, nghĩa là khi buffer hết thì biến wait này sẽ = NULL và gởi tín hiệu cho tiến trình là "à, giờ buffer đang trống" để các tiến trình khác đưa dữ liệu vào buffer, và khi đầy thì wait= max-buffer, gởi tín hiệu cho tiến trình ko đưa dữ liệu vào buffer nữa. Các bạn sẽ hỏi, vậy rồi biến wait này làm sao biết tiến trình nào đang chờ mà gởi thì mình nghĩ, nếu thêm 1 id cho tiến trình (id này có nhiệm vụ liên kết tiến trình với biến wait), nên tiến trình khi chờ có thể để số id lại (giống như người ta để CMND lại đó mà) rồi đi làm việc khác, khi nào wait trống thì gọi id của tiến trình, giống như kêu số CMND, anh đang ở đâu, về làm tiếp vậy đó.
Theo thiển ý của mình là vậy, các bạn có ý kiến nào khác k? hoặc phản bác ý của mình cũng được, đó chỉ là ý tưởng thôi, nên có thể đúng sai mà.
À còn nữa, có khái niệm gọi là miền găng, bật cờ cảnh báo. Mình có nghe qua những khái niệm này, bạn nào có biết thì có thể giải thích giúp mình được ko? Cám ơn nhiều.
Mình có ý kiến này, lấy đèn giao thông ví dụ trước ha, nếu đèn giao thông có gắn 1 cái loa, mỗi khi đèn xanh thì loa thông báo "Xanh rồi, chạy đi" thì xe chỉ cần nghe tiếng loa rồi chạy hoặc ngược lại với đèn đỏ. Điều này cho phép các xe có thể nói chuyện với nhau, làm chuyện khác, chỉ đợi khi nào nghe tiếng loa rồi chạy thôi.
Còn với hệ điều hành thì có 1 biến gọi là biến wait, nghĩa là khi buffer hết thì biến wait này sẽ = NULL và gởi tín hiệu cho tiến trình là "à, giờ buffer đang trống" để các tiến trình khác đưa dữ liệu vào buffer, và khi đầy thì wait= max-buffer, gởi tín hiệu cho tiến trình ko đưa dữ liệu vào buffer nữa. Các bạn sẽ hỏi, vậy rồi biến wait này làm sao biết tiến trình nào đang chờ mà gởi thì mình nghĩ, nếu thêm 1 id cho tiến trình (id này có nhiệm vụ liên kết tiến trình với biến wait), nên tiến trình khi chờ có thể để số id lại (giống như người ta để CMND lại đó mà) rồi đi làm việc khác, khi nào wait trống thì gọi id của tiến trình, giống như kêu số CMND, anh đang ở đâu, về làm tiếp vậy đó.
Theo thiển ý của mình là vậy, các bạn có ý kiến nào khác k? hoặc phản bác ý của mình cũng được, đó chỉ là ý tưởng thôi, nên có thể đúng sai mà.
À còn nữa, có khái niệm gọi là miền găng, bật cờ cảnh báo. Mình có nghe qua những khái niệm này, bạn nào có biết thì có thể giải thích giúp mình được ko? Cám ơn nhiều.
nsn0211- Tổng số bài gửi : 14
Join date : 24/02/2009
Khái niệm miền găng
chia sẻ một ý nhỏ trong câu hỏi của bạn
Miền găng(Critical Section): đoạn chương trình có khả năng xảy ra các mâu thuẫn truy xuất trên tài nguyên chung.
Điều kiện giải quyết tốt bài toán miền găng:
- Không có 2 tiến trình cùng ở trong miền găng
- Không phụ thuộc vào tốc độ của tiến trình
- Một tiến trình tạm dừng bên ngoài miền găng không được ngăn cản các tiến trình khác vào miền găng.
- Không có tiến trình nào phải chờ vô hạn để được vào miền găng.
** Miền găng theo như mình biết còn gọi là vùng tương tranh, và để giải quyết vấn đề vùng tương tranh chúng ta sẽ được Thầy hướng dẫn ở Chương 7.
Mến!
Miền găng(Critical Section): đoạn chương trình có khả năng xảy ra các mâu thuẫn truy xuất trên tài nguyên chung.
Điều kiện giải quyết tốt bài toán miền găng:
- Không có 2 tiến trình cùng ở trong miền găng
- Không phụ thuộc vào tốc độ của tiến trình
- Một tiến trình tạm dừng bên ngoài miền găng không được ngăn cản các tiến trình khác vào miền găng.
- Không có tiến trình nào phải chờ vô hạn để được vào miền găng.
** Miền găng theo như mình biết còn gọi là vùng tương tranh, và để giải quyết vấn đề vùng tương tranh chúng ta sẽ được Thầy hướng dẫn ở Chương 7.
Mến!
hongntt- Tổng số bài gửi : 32
Join date : 20/02/2009
Similar topics
» Thảo luận Bài 4
» Thảo luận Bài 2
» Thảo luận Bài 4
» Câu 1: Trình bày mô hình chuyển trạng thái của tiến trình (Định nghĩa tiến trình là gì? Chỉ ra 5 trạng thái có thể có trong vòng đời của tiến trình; Phân biệt được hàng chờ công việc với hàng chờ sẵn sàng)
» Thảo luận Bài 4
» Thảo luận Bài 2
» Thảo luận Bài 4
» Câu 1: Trình bày mô hình chuyển trạng thái của tiến trình (Định nghĩa tiến trình là gì? Chỉ ra 5 trạng thái có thể có trong vòng đời của tiến trình; Phân biệt được hàng chờ công việc với hàng chờ sẵn sàng)
» Thảo luận Bài 4
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết