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.

CÁC GIẢI PHÁP XỬ LÝ DEADLOCK

Go down

 CÁC GIẢI PHÁP XỬ LÝ DEADLOCK Empty CÁC GIẢI PHÁP XỬ LÝ DEADLOCK

Bài gửi  vuthanhtoan85(113a) 18/9/2012, 17:59

1.Phát hiện và phục hồi từ deadlock:
Phát hiện deadlock:

Dùng các giải thuật phát hiện vòng chờ các process.
Do người quản trị hệ thống.



Phục hồi từ deadlock:

Kết thúc các process bị deadlock.
Kết thúc tất cả các process bị deadlock.
Lần lượt kết thúc các process bị deadlock cho đến khi hết deadlock.



Thông số chọn process để kết thúc:

Độ ưu tiên.
Thời gian đã thực thi.
Thời gian còn lại.
Số tài nguyên đã cấp phát.
Số tài nguyên đang chờ.
Lấy lại tài nguyên từ process.
Lần lượt lấy lại các tài nguyên đã cấp phát cho các process cho đến khi hết deadlock.
Phụ thuộc bản chất của tài nguyên.
Sử dụng công cụ của hệ điều hành.
Phục hồi các điểm kiểm tra.
Định kỳ tạo các điểm kiểm tra (checkpoint).
Lưu trạng thái hệ thống tại điểm kiểm tra.
Thực hiện lại (rollback) các process bị deadlock tại các điểm kiểm tra.
Lần lượt thực hiện lại các process bị deadlock tại các điểm kiểm tra cho đến khi hết deadlock.



2.Ngăn chặn deadlock: Loại bỏ các điều kiện dẫn đến deadlock.
Các điều kiện xem như không thể loại bỏ:

Loại trừ tương hỗ.
Không lấy lại tài nguyên từ process.



Loại bỏ điều kiện loại trừ tương hỗ:

Giảm số tài nguyên tranh chấp.
Tăng số lượng tài nguyên.
Cấp phát tài nguyên dạng spool.



Vd: chỉ 1 printer daemon dùng máy in.
Các process gởi yêu cầu cho printer daemon.

Loại bỏ điều kiện giữ và chờ tài nguyên:
Nguyên tắc: process không được giữ tài nguyên khi yêu cầu tài nguyên mới.
Process khai báo tài nguyên và được cấp phát 1 lần.
Nếu process yêu cầu tài nguyên và không được cấp phát thì phải trả các tài nguyên đang giữ.

Loại bỏ điều kiện không lấy lại tài nguyên:

Lấy lại tài nguyên từ process.
Không thể với tài nguyên như máy in.



Loại bỏ vòng chờ các process:

Có thể quy định số thứ tự tài nguyên.
Process chỉ được yêu cầu tài nguyên theo thứ tự tăng.
Giả sử có deadlock:
P1 giữ Ri, chờ Rj -> i < j.
P2 giữ Rj, chờ Rj -> j < i.




3.Tránh deadlock:
- Chấp nhận các điều kiện tạo deadlock.
- Theo dõi và tránh dẫn đến deadlock.

Hai hướng giải quyết:
1/Không tạo process mới nếu có thể dẫn đến deadlock:
- Process cần khai báo số lượng tài nguyên cần sử dụng.
- Không tạo process mới nếu số lượng tài nguyên hệ thống không đủ, có thể dẫn đến deadlock.

2/Không cấp phát thêm tài nguyên cho process:
- Liên quan đến việc sử dụng tài nguyên trong tương lai của các process.
- Định nghĩa trạng thái hệ thống với:

Vector E: tổng số các loại tài nguyên.
Vector A: số tài nguyên mỗi loại chưa dùng.
Ma trận C: số tài nguyên đã cấp phát cho các process.
Ma trận R: số lượng tài nguyên các process sẽ tiếp tục yêu cầu.

vuthanhtoan85(113a)

Tổng số bài gửi : 36
Join date : 02/08/2012

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