prescolt
Member
Môn hệ điều hành là môn chung, nó là model cho bất cứ úng dụng nào, ko có cách nào OS có thể ngăn không cho xãy ra deadlock, nó là nội tại của ứng dụng, việc của OS là phát hiện và ngăn chặn panic như tôi đã nói trước đó. Tại sao các OS trước đây 1 ứng dụng bị treo làm treo luôn OS mà windows cao cấp sau này ko bị, hoặc thậm chí unix khi ứng dụng bi deadlock dump memory thì cũng ko sập hệ thống? đó là do os nó phát hiện và ngăn chặn. Os unix có rất nhiều tham số , ví dụ max thread open ngăn ko cho mở quá nhiểu thead. rồi còn có cơ chế prevent fork bomd khi gặp mấy cái ứng dụng model muti process open vô tội vạ. Toàn bộ những cơ chế đó là ngăn ko cho ứng dụng deadlock vượt rào.Như đi học môn OS có đề cập tới Deadlock Prevention. Như vậy vẫn cod thể xây dựng 1 hệ điều hành đểngawn không xảy ra deadlock nhỉ? (tất nhiên là sẽ tradeoff)
Tôi đồng ý với anh là OS cung cấp giải pháp ngăn panic bằng cách detect deadlock. Nhưng trong docs của microsoft nó nói rõ ràng là expose ra tasks trace để check. Hơn nữa 1 task waiting và consume nhiều cpu thì nó hiển thị qua ví dụ top (tôi ko rành trên windows cmd check thế nào) chứ đâu phải tất cả các task đều giống nhau?
https://www.cyberciti.biz/tips/linux-limiting-user-process.html




