Cau 5-6
Câu 6: Khái niện về bế tắc và các điều kiện để sảy ra bế tắc trong hệ thống ?
K/N bế tắc: Bế tắc là tiến trình hai hay nhiều tiến trình cùng chờ đợi 1 sự kiện nào đó sảy ra và nếu ko có sự tác động bên ngoài thì sự chờ đợi là vô hạn
Hiện tượng bế tắc sảy ra khi và chỉ khi trong hệ thống tồn tại 4 điều kiện:
+ Có tài nguyên găng
+ Có hiện tượng giữ và đợi: có 1 tiến trình đang giữ 1 số tài nguyên và đợi tài nguyên bổ xung đang được giữ bởi các tiến trình khác
+ Không có hệ thống phân phối lại tài nguyên: việc xử dụng tài nguyên ko bị ngắt
+ Có hiện tượng chờ đợi vòng tròn
Cau 7: Trinh bay nguyen tac chung va cac bien phap ngan ngua be tac
Nguyen tac chung : la phai dam bao sao cho 4 dieu kien gay ra be tac ko xay ra dong thoi
Cac bien phap ngan ngua be tac
+ Loại bỏ tài nguyên găng: Mô phỏng tài nguyên găng bằng các tài nguyên có thể dùng chung được (áp dụng kỹ thuật SPOOL)
+ Loại bỏ yếu tố giữ và đợi: thực hiện phân bổ trước tài nguyên, tiến trình chỉ có thể thực hiện khi mọi tài nguyên mà no yêu cầu đã được phân bổ đủ. Tiến trình chỉ được phép đòi tài nguyên khi nó ko giữ tài nguyên nào cả. Nếu tiến trình phải đợi thì mọi tài nguyên nó đang giữ phải tạm thời giải phóng
+ Xây dựng hệ thống ngắt tài nguyên:
Phương pháp 1: Nếu tiến trình đang dữ 1 số tài nguyên và yêu cầu tài nguyên bổ xung nhưng hệ thống ko thể phân bố ngay thì mọi tài nguyên mà tiến trình đang giữ sẽ được ngắt và được bổ xung vào danh sách các tài nguyên tự do. Tiến trình sẽ được bắt đầu lại khi nó được phân bố đủ các tài nguyên cần thiết.
Phương pháp 2: Nếu tiến trình đang giữ 1 số tài nguyên và yêu cầu tài nguyên bổ xung nhưng hệ thống ko thể phân bổ ngay, khi đó hệ thống sẽ kiểm tra tài nguyên mà hệ thống yêu cầu có bị giữ bởi các tiến trình khác cũng đang đợi hay ko. Nếu có thì ngắt các tiến trình này, phân bố lại tài nguyên mà các tiến trình yêu cầu; ngược lại tiến trình yêu cầu phải đợi và trong khi đợi, tài nguyên hiện có của nó cũng có thể bị ngắt khi có tiến trình khác yêu cầu và tái tạo lại các tài nguyên bị ngắt
+ Loại bỏ yếu tố chờ đợi vòng tròn: yếu tố chờ đợi vòng tròn có thể được loại bỏ bằng cách sắp thứ tự các tài nguyên r được gán 1 số thứ tự f(ri)>F(rj):
phương pháp 1: Tiến trình giữ tài nguyên ri¬ chỉ được phép đòi tài nguyên r¬j khi f(ri)<f(rj)
Phương pháp 2: Tiến trình đang giữ tài nguyên ri muốn đòi tài nguyên r¬¬j thì phải giải phóng các tài nguyên ri thoả mãn điều kiện f(ri)>f(rj)
+ Dự báo và tránh bế tắc: Mỗi lần phân bổ lại tài nguyên cho các tiến trình thì hệ thống sẽ kiểm tra xem việc phân bố đó có đẩy hệ thống vào tình trạng bế tắc hay ko. Nếu có thì tìm cách giải quyết trước khi bế tắc sảy ra.
Giải quyết khi hệ thống gặp bế tắc
Khi hệ thống gặp bế tắc, HĐH có thể áp dụng các phương pháp sau giải quyết:
Thông báo cho Operator biết để xử lý
Đình chỉ hoạt động của tiến trình, phương pháp này dựa trên việc thu hồi lại các tài nguyên của những tiến trình bị kết thúc. Có thể xử dụng 1 trong 2 cách đình chỉ sau:
+ Đình chỉ mọi hoạt động của tiến trình trong tình trạng bế tắc
+ Đình chỉ hoạt động lần lượt từng tiến trình cho tới khi thoat khỏi tình trạng bế tắc (khi đình chỉ tiến trình nào thì thu hồi lại tài nguyên của tiến trình đó
Chú ý: khi đình chỉ hoạt động của các tiến trình cần chú ý tới các yếu tố sau:
+ Độ ưu tiên của tiến trình
+ Tiến trình đã diễn ra bao lâu và còn bao lâu sẽ hoàn thành
+ Có bao nhiêu kiểu tài nguyên và số lượng tài nguyên mà tiến trình dùng
+ Tiến trình còn cần bao nhiêu tài nguyên để hoàn thành 1 công việc
Thu hồi tài nguyên: áp dụng biện pháp ngắt tài nguyên từ 1 số tiến trình để cấp phát cho các tiến trình có nhu cầu sau đó kiểm tra lại tình trạng bế tắc. Phương pháp này cần phải:
+ Xem xét và lựa chọn tiến trình nào để ngắt tài nguyên và ngắt tài nguyên nào
+ Khả năng phục hồi lại trạng thái ban đầu của tiến trình có thực hiện được hay ko ?
+ Có thể sảy ra khả năng 1 số tiến trình ko bao giờ được cấp phát đủ tài nguyên ko ?
Bạn đang đọc truyện trên: Truyen2U.Com