1. Trang chủ
  2. » Giáo án - Bài giảng

hệ điều hành nguyễn văn hiệp chương04 deadlock xử lý sinhvienzone com

22 67 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 209,6 KB

Nội dung

MÔN HỆ ĐIỀU HÀNH Chương DEADLOCK &XỬ LÝ 4.1 Định nghĩa deadlock 4.2 Bốn ₫iều kiện cần ₫ủ ₫ể gây deadlock 4.3 Bốn chiến lược giải deadlock 4.4 Chiến lược phát & chữa trị deadlock 4.5 Chiến lược né tránh deadlock 4.6 Chiến lược phòng ngừa deadlock Tài liệu tham khảo : chương 2, sách "Modern Operating Systems", Andrew S Tanenbaum: , 2nd ed, Prentice Hall Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ ₫iều hành Chương : Deadlockvà xử lý Slide https://fb.com/sinhvienzonevn 4.1 Định nghĩa deadlock ‰ Deadlock trạng thái hệ thống mà ₫ó có process ₫ang dừng chờ lẫn chúng chạy tiếp ₫ược Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ ₫iều hành Chương : Deadlockvà xử lý Slide https://fb.com/sinhvienzonevn 4.2 Bốn ₫iều kiện cần ₫ủ ₫ể gây deadlock Loại trừ tương hỗ ₫oạn code CS truy xuất tài nguyên dùng chung process chạy ₫ồng thời Process giữ tài nguyên cũ ₫ang chiếm dụng cố gắng xin thêm tài nguyên Hệ thống có dùng tài nguyên “non-preemptive”, loại tài nguyên mà sau ₫ã giao cho process ₫ó truy xuất, hệ thống không ₫ược quyền lấy lại tạm thời ₫ể cho process khác truy xuất Đã xuất vòng khép kín process chờ Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ ₫iều hành Chương : Deadlockvà xử lý Slide https://fb.com/sinhvienzonevn 4.3 Bốn chiến lược giải deadlock Phớt lờ : khơng làm hy vọng hệ thống khơng có deadlock Ỵ Nếu hệ thống có deadlock chịu chết!! Phát chữa trị deadlock (Dectection & Recovery) : ₫ể hệ thống hoạt ₫ộng tự do, theo ₫ịnh kỳ hay hệ thống rãnh, máy kiểm tra ₫ể phát có deadlock khơng ? Nếu khơng thơi, có tìm cách chữa trị cho hệ thống hết bị deadlock làm việc bình thường trở lại Né tránh deadlock (Deadlock Avoidance) : cấp phát tài nguyên cho process, máy kiểm tra cẩn thận xem có dẫn ₫ến deadlock khơng ? Nếu khơng cấp phát bình thường, có nguy deadlock trì hỗn việc cấp phát ₫ể né tránh deadlock xảy Phòng ngừa deadlock (deadlock prevention) : hệ thống dùng tập nguyên tắc nghiêm khắc việc cấp phát tài nguyên cho process cho deadlock xảy Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ ₫iều hành Chương : Deadlockvà xử lý Slide https://fb.com/sinhvienzonevn 4.4 Chiến lược phát & chữa trị deadlock Giải thuật ₫ơn giản cho hệ thống mà loại tài nguyên có tối ₫a tài nguyên (hệ thống có CPU, ₫ĩa cứng, máy in, scanner, ) Giải thuật tổng quát cho hệ thống mà loại tài nguyên có nhiều tài nguyên (hệ thống có CPU, ₫ĩa cứng, máy in, scanner, ) Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ ₫iều hành Chương : Deadlockvà xử lý Slide https://fb.com/sinhvienzonevn Giải thuật phát deadlock ₫ơn giản ƒ ƒ Nếu loại tài nguyên có tối ₫a tài ngun process Pi ₫ó ₫ang chiếm giữ tài ngun Rj khơng có process khác truy xuất Rj (nguyên tắc loại trừ tương hỗ) Như vậy, process Pj cần truy xuất Rj, buộc phải dừng chờ process Pi trả tài nguyên Rj, ta nói trường hợp này, Pj phụ thuộc Pi Ý tưởng giải thuật phát deadlock ₫ơn giản hệ thống xây dựng quản lý ₫ồ thị miêu tả phụ thuộc process theo thời gian Đồ thị có thành phần sau : process hay tài nguyên nút ₫ồ thị, cung có hướng từ nút i ₫ến j miêu tả phần tử i phụ thuộc phần tử j Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ ₫iều hành Chương : Deadlockvà xử lý Slide https://fb.com/sinhvienzonevn Giải thuật phát deadlock ₫ơn giản P1 R1 Tài nguyên R1 ₫ang bị P1 truy xuất (chiếm giữ) Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com P2 R2 Process P2 ₫ang dừng chờ tài nguyên R2 (₫ang bị chiếm giữ process khác) Môn : Hệ ₫iều hành Chương : Deadlockvà xử lý Slide https://fb.com/sinhvienzonevn Giải thuật phát deadlock ₫ơn giản ‰ Thí dụ có process P1 P2 ₫ang chạy, theo giải thuật process P1 truy xuất tài nguyên R1 R2, ₫ó process P2 truy xuất R2 R1 với tiến ₫ộ thời gian cụ thể sau : ƒ t1 : process P1 xin truy xuất R1 ⇒ OK ⇒ hệ thống vẽ cung từ R1 tới P1 cho P1 chạy tiếp ƒ t2 : process P2 xin truy xuất R2 ⇒ OK ⇒ hệ thống vẽ cung từ R2 tới P2 cho P2 chạy tiếp ƒ t3 : process P1 xin truy xuất R2 (₫ang bị P2 chiếm giữ) ⇒ hệ thống vẽ cung từ P1 tới R2 bắt P1 dừng ₫ợi process P2 ƒ t4 : process P2 xin truy xuất R1 (₫ang bị P1 chiếm giữ) ⇒ hệ thống vẽ cung từ P2 tới R1 bắt P2 dừng ₫ợi process P1 ƒ từ t4 trở ₫i : ₫ã xuất vòng kép kín chứa process P1 P2 ⇒ process P1 P2 ₫ều bị dừng phải chờ lẫn chúng khơng chạy ₫ược ⇒ deadlock Môn : Hệ ₫iều hành Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Chương : Deadlockvà xử lý Slide https://fb.com/sinhvienzonevn Giải thuật phát deadlock ₫ơn giản t1 P1 R2 R1 t4 Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com t3 P2 t2 Môn : Hệ ₫iều hành Chương : Deadlockvà xử lý Slide https://fb.com/sinhvienzonevn 4.5 Giải thuật phát deadlock tổng quát Trạng thái sử dụng tài nguyên process thời ₫iểm ₫ược xác ₫ịnh thông số sau ₫ây : ƒ ƒ vector miêu tả số lượng tài nguyên tổng thể ₫ã ₫ược gắn vào máy E(E1, E2, ,Em), ₫ó Ei số lượng tài nguyên loại i mà hệ thống ₫ược trang bị Như vector E số lúc hệ thống hoạt ₫ộng (ta không ₫ược phép gắn/gở tài nguyên lúc máy ₫ang vận hành) vector miêu tả số lượng tài nguyên chưa dùng (₫ang rãnh) A(A1, A2, ,Am), ₫ó Ai số lượng tài nguyên loại i ₫ang rãnh Như vậy, vector A ≤ E theo nghĩa ∀j, Aj ≤ Ej Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ ₫iều hành Chương : Deadlockvà xử lý Slide 10 https://fb.com/sinhvienzonevn 4.5 Giải thuật phát deadlock tổng quát ƒ ma trận C miêu tả số lượng tài nguyên thuộc loại ₫ã ₫ược cấp phát cho process (giả sử có n process m loại tài nguyên khác nhau) : C11 C12 C13 C1m C21 C22 C23 C2m Cn1 Cn2 Cn3 Cnm Phần tử Cij miêu tả số lượng tài nguyên loại j ₫ang bị process i chiếm giữ Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ ₫iều hành Chương : Deadlockvà xử lý Slide 11 https://fb.com/sinhvienzonevn 4.5 Giải thuật phát deadlock tổng quát ƒ ma trận R miêu tả số lượng tài nguyên thuộc loại ₫ang ₫ược process xin thêm chưa ₫ược cấp phát (vì chưa có sẵn!) : R11 R12 R13 R1m R21 R22 R23 R2m Rn1 Rn2 Rn3 Rnm Phần tử Rij miêu tả số lượng tài nguyên loại j ₫ang ₫ược process i xin thêm chưa ₫ược cấp phát Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ ₫iều hành Chương : Deadlockvà xử lý Slide 12 https://fb.com/sinhvienzonevn 4.5 Giải thuật phát deadlock tổng quát n Ej = Aj + ∑ C ij i =1 Số tài nguyên tổng thể loại j Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com = Số tài nguyên loại j rãnh + Tổng Số tài nguyên loại j ₫ang bị n process chiếm giữ Môn : Hệ ₫iều hành Chương : Deadlockvà xử lý Slide 13 https://fb.com/sinhvienzonevn 4.5 Giải thuật phát deadlock tổng quát BOOL deadlock[n]; // = : chua deadlock, = : bi deadlock int E[m]; // vector E hệ thống Int A[m]; // vector A hệ thống int C[n][m]; // vector E hệ thống int R[n][m]; // vector E hệ thống Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM SinhVienZone.com Môn : Hệ ₫iều hành Chương : Deadlockvà xử lý Slide 14 https://fb.com/sinhvienzonevn 4.5 Giải thuật phát deadlock tổng quát // dung timer ₫ịnh ky tao ngăt ₫ ̉ chay thu tuc nay void Deadlock_Detection(void) { int i; //1 khơi ₫ ng cac process ₫ ̀u bị deadlock for (i=0; i=0) { // co process chay ₫ươc deadlock[i] = 0; for (j = 0; j

Ngày đăng: 28/01/2020, 22:28

TỪ KHÓA LIÊN QUAN