Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 5) - Nguyễn Hải Châu
Số trang: 11
Loại file: pdf
Dung lượng: 386.11 KB
Lượt xem: 16
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Trong hệ thống máy tính, tình huống bế tắc (Deadlock) xuất hiện khi hai tiến trình phải chờ đợi nhau giải phóng tài nguyên hoặc nhiều tiến trình chờ sử dụng các tài nguyên theo một “vòng tròn” (circular chain). Trong bài giảng tuần 5 này, các bạn sẽ cùng tìm hiểu các đinh nghĩa cơ bản về bế tắc, các phương pháp xử lý bế tắc trong hệ điều hành, cách ngăn chặn bế tắc (Deadlock prevention), cách tránh bế tắc (Deadlock avoidance),... Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 5) - Nguyễn Hải Châu Nguyên lý hệ điều hành Bế tắc (Deadlock) Nguyễn Hải Châu Khoa Công nghệ thông tin Trường Đại học Công nghệ 1 2 Định nghĩa Hai con dê qua cầu: Bế tắc z Bế tắc là tình huống xuất hiện khi hai hay nhiều “hành động” phải chờ một hoặc nhiều hành động khác để kết thúc, nhưng không bao giờ thực hiện được z Máy tính: Bế tắc là tình huống xuất hiện khi hai tiến trình phải chờ đợi nhau giải phóng tài nguyên hoặc nhiều tiến trình chờ sử dụng các tài nguyên theo một “vòng tròn” (circular chain) 3 4 Bế tắc giao thông tại ngã tư Bế tắc trong máy tính z Tiến trình A: z Tiến trình B { { … … Khóa file F1; Khóa file F2; ... ... Mở file F2; Mở file F1; … … Đóng F1 (mở khóa F1); Đóng F1 (mở khóa F1); } } 5 6 1 Qui trình sử dụng tài nguyên Điều kiện cần để có bế tắc z Một tiến trình thường sử dụng tài nguyên z Bế tắc xuất hiện nếu 4 điều kiện sau xuất theo các bước tuần tự sau: hiện đồng thời (điều kiện cần): z Xin phép sử dụng (request) z C1: Loại trừ lẫn nhau (mutual exclusion) z Sử dụng tài nguyên (use) z C2: Giữ và chờ (hold and wait) z Giải phóng tài nguyên sau khi sử dụng (release) z C3: Không có đặc quyền (preemption) z C4: Chờ vòng (circular wait) 7 8 C1: Loại trừ lẫn nhau C2: Giữ và chờ z Một tài nguyên bị chiếm bởi một tiến trình, và z Một tiến trình giữ ít nhất một tài nguyên và không tiến trình nào khác có thể sử dụng tài chờ một số tài nguyên khác rỗi để sử dụng. nguyên này Các tài nguyên này đang bị một tiến trình khác chiếm giữ 9 10 C3: Không có đặc quyền C3: Chờ vòng z Tài nguyên bị chiếm giữ chỉ có thể rỗi khi tiến z Một tập tiến trình {P0, P1, ..., Pn} có xuất hiện trình “tự nguyện” giải phóng tài nguyên sau điều kiện “chờ vòng” nếu P0 chờ một tài khi đã sử dụng xong. nguyên do P1 chiếm giữ, P1 chờ một tài nguyên khác do P2 chiếm giữ, ..., Pn-1 chờ tài nguyên do Pn chiếm giữ và Pn chờ tài nguyên do P0 chiếm giữ 11 12 2 Đồ thị cấp phát tài nguyên Đồ thị cấp phát tài nguyên z Thuật ngữ: Resource allocation graph z Cung có hướng từ tiến trình Pi đến tài z Để mô tả một cách chính xác bế tắc, chúng nguyên Rj, ký hiệu là Pi→Rj có ý nghĩa: Tiến ta sử dụng đồ thị có hướng gọi là “đồ thị cấp trình Pi yêu cầu một thể hiện của Ri. Ta gọi phát tài nguyên” G=(V, E) với V là tập đỉnh, E Pi→Rj là cung yêu cầu (request edge) là tập cung z Cung có hướng từ tài nguyên Rj đến tiến z E được chia thành hai tập con P={P0, P1, ..., trình Pi ký hiệu là Rj→Pi có ý nghĩa: Một thể Pn} là tập các tiến trình trong hệ thống và R= hiện của tài nguyên Rj đã được cấp phát cho {R0, R1, ..., Rm} là tập các loại tài nguyên tiến trình Pi. Ta gọi Rj→Pi là cung cấp phát trong hệ thống thỏa mãn P∪R=E và P∩R= ∅ (asignment edge) 13 14 Đồ thị cấp phát tài nguyên Đồ thị cấp phát tài nguyên z Ký hiệu hình vẽ: z Nếu không có chu trình trong đồ thị cấp phát z Pi là hình tròn tài nguyên: Không có bế tắc. Nế ...
Nội dung trích xuất từ tài liệu:
Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 5) - Nguyễn Hải Châu Nguyên lý hệ điều hành Bế tắc (Deadlock) Nguyễn Hải Châu Khoa Công nghệ thông tin Trường Đại học Công nghệ 1 2 Định nghĩa Hai con dê qua cầu: Bế tắc z Bế tắc là tình huống xuất hiện khi hai hay nhiều “hành động” phải chờ một hoặc nhiều hành động khác để kết thúc, nhưng không bao giờ thực hiện được z Máy tính: Bế tắc là tình huống xuất hiện khi hai tiến trình phải chờ đợi nhau giải phóng tài nguyên hoặc nhiều tiến trình chờ sử dụng các tài nguyên theo một “vòng tròn” (circular chain) 3 4 Bế tắc giao thông tại ngã tư Bế tắc trong máy tính z Tiến trình A: z Tiến trình B { { … … Khóa file F1; Khóa file F2; ... ... Mở file F2; Mở file F1; … … Đóng F1 (mở khóa F1); Đóng F1 (mở khóa F1); } } 5 6 1 Qui trình sử dụng tài nguyên Điều kiện cần để có bế tắc z Một tiến trình thường sử dụng tài nguyên z Bế tắc xuất hiện nếu 4 điều kiện sau xuất theo các bước tuần tự sau: hiện đồng thời (điều kiện cần): z Xin phép sử dụng (request) z C1: Loại trừ lẫn nhau (mutual exclusion) z Sử dụng tài nguyên (use) z C2: Giữ và chờ (hold and wait) z Giải phóng tài nguyên sau khi sử dụng (release) z C3: Không có đặc quyền (preemption) z C4: Chờ vòng (circular wait) 7 8 C1: Loại trừ lẫn nhau C2: Giữ và chờ z Một tài nguyên bị chiếm bởi một tiến trình, và z Một tiến trình giữ ít nhất một tài nguyên và không tiến trình nào khác có thể sử dụng tài chờ một số tài nguyên khác rỗi để sử dụng. nguyên này Các tài nguyên này đang bị một tiến trình khác chiếm giữ 9 10 C3: Không có đặc quyền C3: Chờ vòng z Tài nguyên bị chiếm giữ chỉ có thể rỗi khi tiến z Một tập tiến trình {P0, P1, ..., Pn} có xuất hiện trình “tự nguyện” giải phóng tài nguyên sau điều kiện “chờ vòng” nếu P0 chờ một tài khi đã sử dụng xong. nguyên do P1 chiếm giữ, P1 chờ một tài nguyên khác do P2 chiếm giữ, ..., Pn-1 chờ tài nguyên do Pn chiếm giữ và Pn chờ tài nguyên do P0 chiếm giữ 11 12 2 Đồ thị cấp phát tài nguyên Đồ thị cấp phát tài nguyên z Thuật ngữ: Resource allocation graph z Cung có hướng từ tiến trình Pi đến tài z Để mô tả một cách chính xác bế tắc, chúng nguyên Rj, ký hiệu là Pi→Rj có ý nghĩa: Tiến ta sử dụng đồ thị có hướng gọi là “đồ thị cấp trình Pi yêu cầu một thể hiện của Ri. Ta gọi phát tài nguyên” G=(V, E) với V là tập đỉnh, E Pi→Rj là cung yêu cầu (request edge) là tập cung z Cung có hướng từ tài nguyên Rj đến tiến z E được chia thành hai tập con P={P0, P1, ..., trình Pi ký hiệu là Rj→Pi có ý nghĩa: Một thể Pn} là tập các tiến trình trong hệ thống và R= hiện của tài nguyên Rj đã được cấp phát cho {R0, R1, ..., Rm} là tập các loại tài nguyên tiến trình Pi. Ta gọi Rj→Pi là cung cấp phát trong hệ thống thỏa mãn P∪R=E và P∩R= ∅ (asignment edge) 13 14 Đồ thị cấp phát tài nguyên Đồ thị cấp phát tài nguyên z Ký hiệu hình vẽ: z Nếu không có chu trình trong đồ thị cấp phát z Pi là hình tròn tài nguyên: Không có bế tắc. Nế ...
Tìm kiếm theo từ khóa liên quan:
Hệ điều hành Nguyên lý hệ điều hành Bài giảng Nguyên lý hệ điều hành Bế tắc trong máy tính Xử lý bế tắc Ngăn chặn bế tắcGợi ý tài liệu liên quan:
-
Giáo trình Lý thuyết hệ điều hành: Phần 1 - Nguyễn Kim Tuấn
110 trang 453 0 0 -
173 trang 275 2 0
-
175 trang 272 0 0
-
Giáo trình Nguyên lý các hệ điều hành: Phần 2
88 trang 272 0 0 -
Giáo trình Nguyên lý hệ điều hành (In lần thứ ba): Phần 1 - PGS.TS. Hà Quang Thụy
98 trang 248 0 0 -
Đề tài nguyên lý hệ điều hành: Nghiên cứu tìm hiểu về bộ nhớ ngoài trong hệ điều hành Linux
19 trang 245 0 0 -
Bài thảo luận nhóm: Tìm hiểu và phân tích kiến trúc, chức năng và hoạt động của hệ điều hành Android
39 trang 229 0 0 -
Giáo trình Hệ điều hành: Phần 2
53 trang 219 0 0 -
Phần III: Xử lý sự cố Màn hình xanh
3 trang 202 0 0 -
Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 3) - Nguyễn Hải Châu
8 trang 198 0 0