Tin học
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

VẤN ĐỀ ĐOẠN TƯƠNG TRANH(Critical-Section Problem)

Go down

VẤN ĐỀ ĐOẠN TƯƠNG TRANH(Critical-Section Problem) Empty VẤN ĐỀ ĐOẠN TƯƠNG TRANH(Critical-Section Problem)

Bài gửi  LETUANANH(I22A) 2/4/2013, 22:38

VẤN ĐỀ ĐOẠN TƯƠNG TRANH(Critical-Section Problem)
- Đoạn tương tranh là 1 đoạn mã trong chương trìnhđều khiển công việc của tến trình. Nhưng đặt biệt ở chỗ là chứa các lệnh liên quan đến tài nguyên dùng chung với các tiến trình khác(đọc hay sữa ội dung tài nguyên dùng chung).
Ví dụ: Sinh viên ghi bài học vào tập của mình không ảnh hưởng tới người khác thì không phải là tương tranh.
- Giả sử có n tiến trình(P0,P1...,Pn-1). Mỗi tiến trình có đoạn mã gọi là Đoạn tương tranh trong đó tiến trình có thể truy cập và thay đổi vùng nhớ, tập tin hay tài nguyên dùng chung.
- Tính loại từ lẫn nhau hay loại trừ tương hỗ(Mutual Exclusion) về phương diện thời gian: Khi có 1 tiến trình đang ở trong đoạn tương tranh của nó thì không có tến trình nào khác trong nhóm cũng tại đoạn như vậy, mỗi thời điểm chỉ có 1 tiến trình được phép truy cập và/hoặc thay đổi tài nguyên dùng chung.
- Các tiến trình tương tranh có cấu trúc mã bao gồm Entry setion(đoạn đăng nhập), Exit setion(đọn đăng xuất) và các Remainder(đoạn còn lại).
- Cấu trúc mã của tiến trình tương tranh P1
while(1)
{
remainder section// đoạn còn lại
entry section// đoạn đăng nhập
critical section// đoạn đăng xuất
exit section
remainder sectio// đoạn còn lại
}
- Giải quyết vấn đề tương tranh phải thỏa các điều kiện sau:
+ Loại trừ lẫn nhau(Mutual Exclusion): mỗi thời điểm chỉ có 1 tiến trình vận hành trong đoạn tương tranh.
+ Tiến triển(Progress) không có tến trình nào phải chờ vô hạn tại đoạn đăng nhập của nó.
Ví dụ: Cùng 1 lúc chỉ có 1 bạn lên bảng sữa bài.

LETUANANH(I22A)

Tổng số bài gửi : 5
Join date : 20/03/2013

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết