Yêu cầu với giải pháp cho đoạn nguy hiểm

Một phần của tài liệu Giáo trình Hệ điều hành (Trang 68 - 69)

CHƯƠNG 2 : QUẢN LÝ TIẾN TRÌNH

2.4. ĐỒNG BỘ HĨA TIẾN TRÌNH ĐỒNG THỜI

2.4.2. Yêu cầu với giải pháp cho đoạn nguy hiểm

Như đã trình bày ở trên, yêu cầu quan trọng khi đồng bộ hóa tiến trình là giải quyết vấn

đề đoạn nguy hiểm (critical section) và loại trừ tương hỗ. Giải pháp cho vấn đề đoạn nguy hiểm cần thỏa mãn những yêu cầu sau:

1) Loi tr tương hỗ: nếu nhiều tiến trình có đoạn nguy hiểm đối với cùng một tài nguyên thì tại mỗi thời điểm, chỉ một tiến trình được ởtrong đoạn nguy hiểm. 2) Tiến trin: một tiến trình đang thực hiện ởngồi đoạn nguy hiểm khơng được phép

ngăn cản các tiến trình khác vào đoạn nguy hiểm của mình. Chẳng hạn, nếu một tiến trình bị treo ởngồi đoạn nguy hiểm thì điều đó khơng được phép ảnh hưởng tới tiến trình khác.

3) Chđợi có gii hn: nếu tiến trình có nhu cầu vào đoạn nguy hiểm thì tiến trình đó

phải được vào sau một khoảng thời gian hữu hạn nào đó. Điều này có nghĩa là khơng được phép xảy ra bế tắc hoặc tình trạng bịđói đối với tiến trình.

Bên cạnh đó, giải pháp cho vấn đềđoạn nguy hiểm được xây dựng dựa trên các giả thiết sau: 1) Giải pháp không phụ thuộc vào tốc độ của các tiến trình.

2) Khơng tiến trình nào được phép nằm quá lâu trong đoạn nguy hiểm. Cụ thể là giả

thiết tiến trình khơng bị treo, khơng lặp vơ hạn, và không kết thúc trong đoạn nguy hiểm.

3) Thao tác đọc và ghi bộ nhớ là thao tác nguyên tử (atomic) và không thể bị xen ngang giữa chừng.

Trong các phần tiếp theo, ta sẽ xem xét một số giải pháp cho vấn đềđoạn nguy hiểm. Các giải

pháp được chia thành 3 nhóm: nhóm giải pháp phần mềm, nhóm giải pháp phần cứng, và nhóm sử dụng hỗ trợ của hệđiều hành hoặc thư viện ngơn ngữ lập trình.

Một phần của tài liệu Giáo trình Hệ điều hành (Trang 68 - 69)

Tải bản đầy đủ (PDF)

(184 trang)