Professional Documents
Culture Documents
Hiện tượng bế tắc
Hiện tượng bế tắc
Hiện tượng bế tắc
Đối với điều kiện không ưu tiên: Điều kiện này có thể + Thứ nhất, tiến trình phải đợi trong một khoảng thời gian dài để
ngăn chặn bằng cách, khi tiến trình bị rơi vào trạng có đủ tài nguyên mới có thể chuyên sang hoạt động được , trong khi
thái khóa,hệ điều hành có thể thu hồi tài nguyên của tiến trình chỉ cần một số ít tài nguyên trong số đó là có thể hoạt động
tiến trình bị khóa để cấp phát cho tiến trình khác và được, sau đó yêu cầu tiếp.
cấp lại đầy đủ tài nguyên cho tiến trình khi tiến trình
được đưa ra khỏi trạng thái khóa. + Thứ hai, lãng phí tài nguyên, vì có thể tiến trình giữa nhiều tài
nguyên mà chỉ đến khi sắp kết thúc tiến trình mới sử dụng , và có thể
đây là những tài nguyên mà các tiến trình khác đang rất cần. Ở đây
hệ điều hành có thể tổ chức phân lớp tài nguyên hệ thống. Theo đó
tiến trình phải trả tài nguyên ở mức thấp mới được cấp phát tài
nguyên ở cấp cao hơn.
Đối với điều kiện chờ đợi còng tròn: Điều kiện này có
thể ngăn chặn bằng cácg phân lớp tài nguyên của
hệ thống.Gọi R={R1,R2...Rm} là tập hợp các tài
nguyên.Các tài nguyên được phân cấp từ 1-N.
Ví dụ: F(đĩa)=2,F(máy in)=12
2.Dự báo và tránh
bế tắc
Nguyên tắc chung của dự báo tình trạng bế tắc là trước khi phân bổ tài nguyên
cho các tiến trình phải kiểm tra xem việc phân bổ đó có đẩy hệ thống vào tình
trạng bế tắc không, nếu có phải tìm các xử lý thông tin xảy ra.
Điều này yêu cầu hệ điều hành phải có một số thông tin ưu tiên
Định kỳ sử dụng giải thuật tìm kiếm chu trình trong đồ thị. Giải thuật đó đòi hỏi có n2 phép
toán, với n là số đỉnh trong đồ thị: có chu trình -> có thể có bế tắc.
Mỗi loại tài nguyên có
nhiều cá thể
Available : Vector độ dài m xác định số tài nguyên khả dụng của mỗi loại.
Allocation : Ma trận n*m xác định các tài nguyên của mỗi loại hiện đang được phân phối
cho mỗi tiến trình.
Request : Ma trận n*m xác định yêu cầu hiện tại của mỗi tiến trình. Nếu request[i,j]=k thì
tiến trình Pi đang yêu cầu k cá thể nữa của loại tài nguyên Rj.
Giải thuật phát hiện bế
tắc
Gán Work và Finish là các vector độ dài m và n. Khởi tạo:
Work = Available
For i:=1 to n do If Allocation !=0 then Finish[i] = False
Else Finish[i] := True
Nếu Finish[i]= False, với một số I, 1<= i <= n thì Pi bị bế tắc, hệ thống ở trong trạng thái bế tắc.
4.Xử lý bế tắc
Chờ đợi vòng tròn Đảm bảo hệ thố ng không bao giờ
bế tắ c
Thiế t lập một trình tự tổng Áp dụng các chiế n lược ràng buộc và
thể của tấ t cả các loại tài quản lý tài nguyên từ thiế t kế để tránh bế
nguyên để giữ quyề n ưu tắ c.
tiên. Kiểm soát cách tiế n trình yêu cầ u và sử
Ràng buộc tiế n trình yêu dụng tài nguyên. Ràng buộc và Chiế n lược yêu cầ u tài
cầ u tài nguyên theo thứ tự Cân nhắ c về việc cho phép hệ thố ng vào nguyên
tăng dầ n để tránh xung đột trạng thái bế tắ c và khôi phục, hoặc xem
và giữ cho hệ thố ng linh xét vấ n đề như không bao giờ xảy ra.
Đặt ràng buộc cách thức yêu cầ u
hoạt.
tài nguyên để tránh xung đột và bế
tắ c.
Sử dụng độc quyề n truy xuấ t và
giữ và chờ để quản lý sự chia sẻ tài
nguyên.
Thông báo và Tự xử lý Thu hồ i tài nguyên Hạn chế chiế m đoạt tài nguyên và
thiế t lập chiế n lược chờ đợi vòng
tròn.
Khi hệ thố ng phát hiện bế
Ngắ t tài nguyên từ một số
tắ c, thông báo có thể được
tiế n trình để cấ p phát cho
gửi đế n bộ phận kiểm soát
các tiế n trình khác có nhu
để thực hiện các biện pháp
cầ u.
khắ c phục.
Quan trọng để đảm bảo
Tự xử lý có thể bao gồ m
rằ ng quá trình ngắ t tài
việc đánh giá tình trạng,
nguyên không gây ảnh hưởng
giải phóng tài nguyên, hoặc
đế n khả năng hoàn thành
đình chỉ các tiế n trình
công việc của tiế n trình.
không quan trọng.
Kế t luận chung
Như vậy mỗ i tình huố ng bế tắ c của hệ thố ng thì dung một phương pháp
xử lý khác nhau. Cầ n phải chỉ các tình huố ng thành các lớp khác nhau và
mỗ i lớp thì áp dụng một phương pháp xử lý thích hợp.
Tài nguyên hệ thố ng: Dùng biện pháp ngăn ngừa bằ ng cách sắ p thứ tự tài
nguyên.
Bộ nhớ trong( RAM): Dùng biện pháp ngăn ngừa bằ ng cách ngắ t tài
nguyên.
Các thiế t bị có thể phân bổ được: Dùng các thuật toán tránh bế tắ c.