Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (588.08 KB, 2 trang )
Võ Duy Thành
CHƯƠNG 7
CÁC VẤN ĐỀ NẢY SINH KHI GIẢI QUYẾT VẤN ĐỀ CHIA SẺ TÀI NGUYÊN – ĐẢO ƯU
TIÊN
Trong chương trước, chúng ta đã sử dụng semaphore như một công cụ để giải quyết
vấn đề tranh chấp tài nguyên. Tuy nhiên, phương pháp này có thể dẫn đến vấn đề khó
thực thi khi hệ thống làm việc. Xét tình huống được trình bày trong hình 1. Tác vụ 1
và 2 yêu cầu sử dụng tài nguyên dùng chung được bảo vệ bởi semaphore. Tác vụ 1 có
quyền ưu tiên cao nhất và tác vụ 2 có mức ưu tiên thấp nhất. Tác vụ 3 không cần sử
dụng tài nguyên có mức ưu tiên trung bình.
Hình 1. Trường hợp đảo ưu tiên
Hình 2 trình bày về quá trình thực thi của hệ thống theo thời gian. Giả sử rằng tác vụ 2
đang làm việc và gửi yêu cầu sử dụng tài nguyên. Tài nguyên khi đó đang rỗi nên tác
vụ 2 ngay lập tức sử dụng. Sau đó, một ngắt xuất hiện làm tác vụ 1 trở nên sẵn sàng
hoạt động. Do tác vụ 1 có mức ưu tiên cao nhất nên nó chiếm quyền thực thi của tác
vụ 2 và hoạt động cho tới khi nó gửi yêu cầu sử dụng tài nguyên.
Hình 2. Thời gian thực hiện – Đảo ưu tiên
Bởi vì tài nguyên đang được tác vụ 2 sử dụng nên tác vụ 1 sẽ bị khóa và tác vụ 2 lại
nắm lại quyền điều khiển. Cho tới đây, mọi việc đang diễn ra theo đúng ý của chúng
ta. Mặc dù tác vụ 1 có quyền ưu tiên cao hơn nhưng nó vẫn phải chờ cho đến khi tác
vụ 2 kết thúc việc sử dụng tài nguyên.
Tài liệu chỉ mang tính tham khảo
Nguyên văn tiếng nước ngoài của Doug Abbott
1