Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

chương6 deadlock

6.1 trong hệ thống đa chương trình một P nằm trong trạng thái deadlock hay treo nếu như nó chờ sự kiện (event) nào đó không bao h xảy ra . tình trạng deadlock hay treo hệ thống là tình trạng của 1 hay nhiều P nằm trong trạng thái treo

VD khi chỉ có 1 tiến trình

Revenge : procedure options (main,took)

Wait(event)

End revenge;

P tương ứng vs chương trình này sẽ chờ sự kiện event nhưng nó lại k xem xét dấu hiệu xuất hiện event. Hệ thống bắt buộc nhận thấy P đó bị treo và sau đó pải bỏ P để thoát khỏi tình trang deadlock.

6.2 các điều kiện xuất hiện deadlock

- điều kiện loại trừ nhau: các p yêu cầu độc quyền sử dụng tài nguyên sẽ cấp phát cho nó

- điều kiện chờ tài nguyên bổ sung P giữ cho m tài nguyên đã đc cấp phát và yêu cầu tài nguyên bổ sung

- điều kiện không phân chia: tài nguyên k đc lấy lại từ P khi các tài nguyên đó chưa đc sử dụng để kết thúc công việc.

- điều kiện chờ vòng tồn tại vòng kín các P trong đó mỗi P giữ tài nguyên mà P kế tiếp đang đòi hỏi..

6.3 ngăn chặn deadlock với việc loại bỏ điều kiện chờ tài nguyên bổ sung của havender

* ưu điểm

Vì P yêu cầu tất cả tài nguyên mà nó cần ngay từ đầu nên hệ thống phải cấp tài nguyên theo nguyên tắc có tất cả hoặc không có j. nếu tập hợp các tài nguyên có đủ thì hệ thống có thể cấp tất cả để cho P có thể tiếp tục công việc . nếu lúc đó k có đủ tài nguyên thì hệ thống pải chờ đến khi các tài nguyên có đủ bởi vì P nằm trong trạng thái chờ k đc giữ đc tài nguyên nào. Do đó ngăn chặn đc sự xuất hiện điều kiện chờ tài nguyên bổ sung và tình huống deadlock k thể xảy ra

• nhược điểm sử dụng tài nguyên k hiệu quả

VD ctr vào lúc nào đó cần 10thiết bị băng từ bắt buộc phải yêu cầu và có đủ cả 10 trang thiết bị trươc khi có thể băt đầu . nếu như 10 thiết bị đó cần suốt trong thời gian hoạt động thì không có vấn đề gì về hiệu suất sử dụng . nhưng nói chung thì không pải tất cả chúng đều được sử dụng trong những khoảng thời gian nào đó như thế các thiết bị đc sử dụng với hiệu suất thấp

6.4 thuật toán banker

- các thiết bị chỉ đc cấp phát cho người dung theo yêu cầu trong TH sau khi cấp phát thì hệ thống vẫn ở trạng thái ổn định

- khi đc cấp phát thì tiến trình cần đảm bảo trả lại tài nguyên sau thời gian hữu hạn hệ thống yêu cầu sẽ đc đáp ứng sau thời gian hưu hạn

- hệ thống có 2 trạng thái

+ ốn đinh: đảm bảo mọi tiến trình kết thúc bình thg suy ra k xảy ra deadlock và ngc lại

+ k ổn định nếu hệ thống k đảm bảo moị tiến trình kết thức bthg deadlock có thế xảy ra

→ yêu cầu sẽ đc đáp ứng nếu sau đó hệ thống vẫn ở trạng thái ổn định

Ví dụ chuyển trạng thái ổn định sang k ổn định

Xét hệ thống gồm 20 thiết bị và đc phân chia cho 3 người dung. ở trạng thái 1 là trạng thái ổn định. Người dung thứ 3 yêu cầu tài nguyên bổ sung . nếu như thỏa mãn yêu cầu đó thì hệ thống chuyển sang trạng thái 2 là trạng thái k ổn định

Trạng thái 1

Số TB đg đc cấp Số TB max cần

Ng dùng 1 1 4

Ng dùng 2 4 6

Ng dùng 3 5 8

Dữ trữ còn lại 2

Trạng thái 2

Số TB đg đc cấp Số TB max cần

Ng dùng 1 1 4

Ng dùng 2 4 6

Ng dùng 3 6 8

Dữ trữ còn lại 1

Nhược điểm

-các thông số xem xét đều là cố định thực tế thì không cố đinh mà thay đổi

-thời gian chưa có số

Ưu điểm k bắt buộc loại trừ 1 số điều kiện xảy radeadlock-các rằng buộc thấp(3 điều kiện đầu vẫn cớ thể xảy ra)

6.5 thuật toán phát hiện deadlock

Thuật toán dựa trên thao tác rút gọn thông tin , xem xét trên 1 tiến trình nào đó và trên tiến trình này nếu như tất cả các yêu cầu của nó có thể đáp ứng đc thì thực hiện việc rút gọn.

Thuật toán

B1 lặp lại thao tác rút gọn đến khi k rút gọn đc hơn

B2 đồ thị nhận đc

+ nếu xóa hết cung thì k xảy ra deadlock

+ ngc lại xảy ra deadlock

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: