Hướng dẫn bài tập thuật toán banker

1. Cho bảng mô tả tình trạng hệ thống sau: Allocation Max A B C D A B C D P1 1 2 0 1 4 4 1 1 P2 1 0 1 1 7 5 6 2 P3 1 1 1 1 3 2 5 1 P4 2 2 0 1 4 2 3 1 P5 0 2 0 1 7 4 5 2 1. Tính ra ma trận Need 2. Có 4 loại tài nguyên A [có 9 thực thể], B [ 9 thực thể], C [ 8 thực thể], D [ 6 thực thể]. Tính Available. Thực hiện giải thuật Banker kiểm tra trạng thái của hệ thống, chỉ ra chuỗi tiến trình an toàn nếu có tồn tại. 3. Viết hàm kiểm chuỗi an toàn theo dữ liệu trên 2. Tình trạng cấp phát tài nguyên của hệ thống như sau: Allocation Max R A B C D A B C D P1 1 2 0 1 6 4 1 2 P2 1 0 1 1 7 5 4 2 P3 1 1 1 1 2 2 3 1 P4 2 2 0 1 4 2 3 2 P5 0 2 0 1 7 4 5 2 Thực hiện giải thuật Banker kiểm tra trạng thái của hệ thống trên, chỉ ra chuỗi tiến trình an toàn nếu có tồn tại. Hệ thống gồm có 4 loại tài nguyên A [có 9 thực thể], B [9 thực thể], C [8 thực thể], D [6 thực thể] 3. Cho bảng thông tin hệ thống như sau: Allocation Max Resource A B C D A B C D A B C D P0 0 1 0 2 7 5 3 4 10 5 7 9 P1 2 0 0 0 3 2 9 6 P2 3 0 2 1 9 0 2 3 P3 2 1 1 2 5 2 2 7 P4 0 1 2 1 4 3 3 2 P5 0 1 1 0 2 3 4 3 a. Tính ma trận Need, Available b. Xác định xem với trạng thái như trên hệ thống có an toàn hay không? Nếu có chỉ ra chuỗi an toàn. Nếu không cho biết các tiến trình không được cấp tài nguyên. 19. Xét trạng thái hệ thống: [Tài liệu] Max Allocation Need A B C D A B C D A B C D P1 0 0 1 2 0 0 1 2 P2 1 7 5 0 1 0 0 0 P3 2 3 5 6 1 3 5 4 P4 0 6 5 2 0 6 3 2 P5 0 6 5 6 0 0 1 4 a] Cho biết nội dung của bảng Need. b] Hệ thống có ở trạng thái an toàn không? Ban đầu cho A = 3, B = 10, C = 11, D = 12. [giải cho trường hợp A=2, B=9, C=12, D=12] c] Nếu tiến trình P2 có yêu cầu tài nguyên [0,4,2,0], yêu cầu này có được đáp ứng tức thời không? 18. Xét trạng thái hệ thống: [Tài liệu] Max All ocation Availabl e R1 R2 R3 R1 R2 R3 R1 R2 R3 P1 3 2 2 1 0 0 2 2 2 P2 6 1 3 2 1 1 4 0 2 P3 3 1 4 2 1 1 1 0 3 P4 4 2 2 0 0 2 4 2 0 Nếu tiến trình P2 yêu cầu 4 cho R1, 1 cho R3. hãy cho biết yêu cầu này có thể đáp ứng mà bảo đảm không xảy ra tình trạng deadlock hay không? A=6, B=2, C=7 . 9 thực thể], B [ 9 thực thể], C [ 8 thực thể], D [ 6 thực thể]. Tính Available. Thực hiện giải thuật Banker kiểm tra trạng thái của hệ thống, chỉ ra chuỗi tiến trình an toàn nếu có tồn tại 0 1 1 7 5 4 2 P3 1 1 1 1 2 2 3 1 P4 2 2 0 1 4 2 3 2 P5 0 2 0 1 7 4 5 2 Thực hiện giải thuật Banker kiểm tra trạng thái của hệ thống trên, chỉ ra chuỗi tiến trình an toàn nếu có tồn. bảng Need. b] Hệ thống có ở trạng thái an toàn không? Ban đầu cho A = 3, B = 10, C = 11, D = 12. [giải cho trường hợp A=2, B=9, C=12, D=12] c] Nếu tiến trình P2 có yêu cầu tài nguyên [0,4,2,0],

Sau đó chiếu qua và lấy lần lượt các giá trị của Pi [ Tức là Cột Process ] và Allocation ở bảng trên... rồi điền vào bảng biện luận.

- Kế tiếp : Giá trị kế tiếp của Cột " work " = giá trị của " Allocation " + giá trị của "Work "[ vừa điền vào trong bảng biện luận ở dòng trên] rồi xét lại điều kiện [ Nếu work >= Need : thì lấy ] [ Thực hiện lại bước này cho đến khi tất cả các giá trị của Need, Pi và Allocation đã được đưa hết vào bảng ]

\=> Trường hợp : Nếu " Need " có nhiều giá trị bằng nhau, thì ta có thể lấy bất kỳ giá trị nào cũng được.

- Sau đó gi lại kết quả của cột pi theo hướng từ " trên... xuống " , và đó là chuổi an toàn đã tìm được.

Tắc nghẽn [Deadlock] Định nghĩa: Một tập hợp các tiến trình được định nghĩa ở trong tình trạng tắc nghẽn khi mỗi tiến trình trong tập hợp đều chờ đợi một sự kiện mà chỉ có một tiến trình khác trong tập hợp mới có thể phát sinh được. Nói cách khác, mỗi tiến trình trong tập hợp đều chờ được cấp phát một tài nguyên hiện đang bị một tiến trình khác cũng ở trạng thái blocked chiếm giữ. Như vậy không có tiến trình nào có thể tiếp tục xử lý , cũng như giải phóng tài nguyên cho tiến trình khác sử dụng, tất cả các tiến trình trong tập hợp đều bị khóa vĩnh viễn!

Điều kiện xuất hiện tắc nghẽn Điều kiện xuất hiện các tắc nghẽn Sau đây là các điều kiện cần có thể làm xuất hiện tắc nghẽn:

  1. Khi sử dụng tài nguyên không thể chia sẻ
  2. Sự chiếm giữ và yêu cầu thêm tài nguyên
  3. Không thu hồi tài nguyên từ tiến trình đang giữ chúng
  4. Tồn tại một chu kỳ trong đồ thị cấp phát tài nguyên. Khi có đủ 4 điều kiện này, thì tắc nghẽn xảy ra. Nếu thiếu một trong 4 điều kiện trên thì không có tắc nghẽn.

Một số khái niệm cơ sở

  • Trạng thái an toàn : trạng thái A là an toàn nếu hệ thống có thể thỏa mãn các nhu cầu tài nguyên [cho đến tối đa] của mỗi tiến trình theo một thứ tự nào đó mà vẫn ngăn chặn được tắc nghẽn.
  • Một chuỗi cấp phát an toàn: một thứ tự của các tiến trình là an toàn đối với tình trạng cấp phát hiện hành nếu với mỗi tiến trình Pi nhu cầu tài nguyên của Pi có thể được thỏa mãn với các tài nguyên còn tự do của hệ thống, cộng với các tài nguyên đang bị chiếm giữ bởi các tiến trình Pj khác, với j

Chủ Đề