1. Trang chủ
  2. » Luận Văn - Báo Cáo

Lập trình mô phỏng các phương pháp phân bổ tài nguyên để giải quyết bế tắc

27 18 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 27
Dung lượng 201,99 KB

Nội dung

Máy tính điện tử là một công cụ hỗ trợ đắc lực để giải quyết các công việc trong thời đại công nghệ hiện nay. Các thế hệ máy tính lần lượt ra đời, thế hệ sau lại có nhiều cải tiến vượt trội hơn hẳn thế hệ trướcđáp ứng được nhu cầu của xã hội. Mọi chương trình cần xử lý được người sử dụng đưa vào máy tính và thu được kết quả mong muốn. Tuy nhiên, trong hệ thống máy tính cũng gặp phải rất nhiều vấn đề về phần tổ chức sao cho việc xử lý ngày càng hiệu quả nhất. Bế tắc (hay deadlock) là một hiện tượng nguy hại cho máy tính (hay còn gọi là hiện tượng máy “treo” (chaos). Để giải quyết được vấn đề này trong hệ điều hành cũng có các mức để phòng tránh bế tắc (hay các phương pháp để phòng tránh bế tắc). Đó chính là phương pháp phân bổ tài nguyên . Để hiểu rõ về các phương pháp này, chúng ta cùng đi tìm hiểu về “Lập trình mô phỏng các phương pháp phân bổ tài nguyên để giải quyết bế tắc”. Đề tài bao gồm 5 chương: CHƯƠNG I: BẾ TẮC VÀ HIỆN TƯỢNG BẾ TẮC CHƯƠNG II: XỬ LÝ BẾ TẮC CHƯƠNG III: ĐỒ THỊ CẤP PHÁT TÀI NGUYÊN CHƯƠNG IV: GIẢI QUYẾT HIỆN TƯỢNG BẾ TẮC CHƯƠNG V: BÀI TẬP ÁP DỤNG

Hệ thống thơng tin 1-k6 Nhóm 16 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN NGUYÊN LÝ HỆ ĐIỀU HÀNH ĐỀ TÀI LẬP TRÌNH MƠ PHỎNG CÁC PHƯƠNG PHÁP PHÂN BỔ TÀI NGUN ĐỂ GIẢI QUYẾT BẾ TẮC Lớp hệ thống thông tin 1-k6 Nhóm sinh viên thực hiện: nhóm 16 Giáo viên hướng dẫn: Nguyễn Thanh Hải Hà Nội, 2012 TRƯỜNG ĐẠI HỌC CƠNG NGHIỆP HÀ NỘI Hệ thống thơng tin 1-k6 Nhóm 16 KHOA CƠNG NGHỆ THƠNG TIN BÀI TẬP LỚN NGUYÊN LÝ HỆ ĐIỀU HÀNH ĐỀ TÀI LẬP TRÌNH MÔ PHỎNG CÁC PHƯƠNG PHÁP PHÂN BỔ TÀI NGUYÊN ĐỂ GIẢI QUYẾT BẾ TẮC NHÓM THỰC HIỆN: NHÓM 16 – HTTT1 – K6 Thành viên nhóm: Nguyễn Hương Giang Phùng Văn Hiệp Trần Thị Trang Cù Minh Huân Đỗ Thị Hồng Tuyết Giáo viên hướng dẫn: Nguyễn Thanh Hải Lời mở đầu Hệ thống thơng tin 1-k6 Nhóm 16 Máy tính điện tử công cụ hỗ trợ đắc lực để giải công việc thời đại công nghệ Các hệ máy tính đời, hệ sau lại có nhiều cải tiến vượt trội hẳn hệ trước-đáp ứng nhu cầu xã hội Mọi chương trình cần xử lý người sử dụng đưa vào máy tính thu kết mong muốn Tuy nhiên, hệ thống máy tính gặp phải nhiều vấn đề phần tổ chức cho việc xử lý ngày hiệu Bế tắc (hay deadlock) tượng nguy hại cho máy tính (hay cịn gọi tượng máy “treo” (chaos) Để giải vấn đề hệ điều hành có mức để phịng tránh bế tắc (hay phương pháp để phòng tránh bế tắc) Đó phương pháp phân bổ tài nguyên Để hiểu rõ phương pháp này, tìm hiểu “Lập trình mơ phương pháp phân bổ tài nguyên để giải bế tắc” Đề tài bao gồm chương: CHƯƠNG I: BẾ TẮC VÀ HIỆN TƯỢNG BẾ TẮC CHƯƠNG II: XỬ LÝ BẾ TẮC CHƯƠNG III: ĐỒ THỊ CẤP PHÁT TÀI NGUYÊN CHƯƠNG IV: GIẢI QUYẾT HIỆN TƯỢNG BẾ TẮC CHƯƠNG V: BÀI TẬP ÁP DỤNG Mục lục CHƯƠNG I: BẾ TẮC VÀ HIỆN TƯỢNG BẾ TẮC Hệ thống thông tin 1-k6 Nhóm 16 I.Bế tắc tượng bế tắc .6 1.Bế tắc 2.Hiện tượng bế tắc II.Điều kiện xảy bế tắc hệ thống III.Các mức phòng tránh bế tài nguyên .8 IV.Quy trình sử dụng tài nguyên CHƯƠNG II: XỬ LÝ BẾ TẮC I.Xử lý bế tắc .8 II.Cách giải deadlock (bế tắc) CHƯƠNG III: ĐỒ THỊ CẤP PHÁT TÀI NGUYÊN 11 I.Đồ thị cấp phát tài nguyên 11 II.Các thể tài nguyên 12 III.Trạng thái trình .13 CHƯƠNG IV: GIẢI QUYẾT HIỆN TƯỢNG BẾ TẮC .14 I.Trạng thái an toàn 14 II.Giải thuật chuyển sang trạng thái an toàn 15 III.Lập trình mơ phương pháp phân bổ tài ngun 16 CHƯƠNG V: BÀI TẬP ÁP DỤNG .20 Danh mục hình Hình 1: Hình ảnh bế tắc thực tế .6 Hình 2: Đồ thị cấp phát tài nguyên 12 Hệ thống thơng tin 1-k6 Nhóm 16 Hinh 3: Đồ thị cấp phát tài nguyên với deadlock 13 Hinh 4: Đồ thị cấp phát tài ngun có chu trình khơng bị deadlock .14 Hình 5: Trạng thái an tồn, khơng an toàn, bị deadlock 15 CHƯƠNG I: HIỆN TƯỢNG BẾ TẮC I Bế tắc tượng bế tắc Bế tắc Hệ thống thơng tin 1-k6 Nhóm 16 Bế tắc tượng: Trong hệ thống xuất hai hay nhiều tiến trình, mà tiến trình tập chờ đợi kiện tiến trình tập chiếm giữ Và đợi kéo dài vơ hạn khơng có tác động từ bên ngồi Hình 1: hình ảnh bế tắc thực tế Hiện tượng bế tắc  Bế tắc máy tính: Giả sử có hai tiến trình P1 P2 hoạt động đồng thời hệ thống Tiến trình P1 giữ tài nguyên R1 xin cấp R2 để tiếp tục hoạt động, tiến trình P2 giữ tài ngun R2 xin cấp R1 để tiếp tục hoạt động Trong trường hợp P1 P2 không tiếp tục hoạt động Như P1 P2 rơi vào trạng thái tắc nghẽn Tiến trình P1: { … Khóa file R1; Mở file R2; … Đóng R1 (mở khóa R1); } Tiến trình P2 { … Khóa file R2; Mở file R1; … Đóng R1 (mở khóa R1); } Trong trường hợp trên: hai tiến trình P1 P2 rơi vào trạng thái tắc nghẽn, khơng có can thiệp hệ điều hành Để phá bỏ tắc nghẽn hệ điều hành cho Hệ thống thơng tin 1-k6 Nhóm 16 tạm dừng tiến trình P1 để thu hồi lại tài nguyên R1, lấy R1 cấp cho tiến trình P2 để P2 hoạt động kết thúc, sau thu hồi R1 R2 từ tiến trình P2 để cấp cho P1 tái kích hoạt P1 để P1 hoạt động trở lại Như sau khoảng thời gian P1 P2 khỏi tình trạng tắc nghẽn Khi hệ thống xảy tắc nghẽn hệ điều hành không kịp thời phá bỏ tắc nghẽn hệ thống rơi vào tình trạng treo toàn hệ thống Như trường hợp tắc nghẽn ví dụ 1, sau có tiến trình P3, giữ tài nguyên R3, cần R2 để tiếp tục P3 rơi vào tập tiến trình bị tắc nghẽn, sau có tiến trình P4 cần tài nguyên R1 R3 để tiếp tục P4 rơi vào tập tiến trình bị tắc nghẽn P3, … dẫn đến thời điểm tất tiến trình hệ thống rơi vào tập tiến trình tắc nghẽn Và hệ thống bị treo hoàn toàn II Điều kiện xảy bế tắc hệ thống Hiện tượng bế tắc xảy hệ thống tồn bốn điều kiện sau:  Có tài ngun găng  Q trình phải giữ tài nguyên chờ để nhận tài nguyên thêm mà giữ q trình khác  Khơng có hệ thống phân phối lại tài nguyên, việc sử dụng tài nguyên khơng bị ngắt  Có tượng chờ đợi vịng trịn xảy Một tập hợp q trình {P0, P1,…,Pn} chờ mà P0 chờ tài nguyên giữ P1, P1 chờ tài nguyên giữ P2,…,Pn-1 chờ tài nguyên giữ trình P0 Lưu ý: tất bốn điều kiện phải phát sinh để tượng bế tắc xảy Điều kiện chờ đợi chu trình đưa đến điều kiện giữ-và-chờ bốn điều kiện khơng hồn tồn độc lập III Các mức phịng tránh bế tắc Để tránh bế tắc thông thường hệ thống áp dụng mức: Hệ thống thông tin 1-k6 Nhóm 16  Ngăn ngừa: áp dụng biện pháp để hệ không rơi vào bế tắc  Dự báo tránh bế tắc: áp dụng biện pháp kiểm tra xem tiến trình có bị rơi vào trạng thái bế tặc hay khơng Nếu có thơng báo trước bế tắc xảy  Nhận biết khắc phục: tìm cách khắc phục giải IV Quy trình sử dụng tài nguyên Một tiến trình thường sử dụng tài nguyên theo bước sau:  Xin phép sử dụng (request)  Sử dụng tài nguyên (use)  Giải phóng tài nguyên sau sử dụng (release) CHƯƠNG II: GIẢI QUYẾT HIỆN TƯỢNG BẾ TẮC I.Xử lý bế tắc Khi hệ thống gặp bế tắc hệ điều hành sử dụng phương pháp sau giải quyết:  Thông báo cho Operator biết để xử lý  Đình hoạt động tiến trình: phương pháp dựa việc thu hồi lại tài ngun tiến trình bị kết thúc Có thể sử dụng hai cách đình sau:  Đình hoạt động tiến trình tình trạng bế tắc  Đình hoạt động tiến trình khỏi tình trạng bế tắc (khi đình tiến trình thu hồi lại tài ngun tiến trình đó) Chú ý: đình hoạt động tiến trình cần ý tới yếu tố sau:  Độ ưu tiên tiến trình  Tiến trình diễn cịn hồn thành Hệ thống thơng tin 1-k6 Nhóm 16  Có kiểu tài nguyên số lượng tài nguyên mà tiến trình dùng  Tiến trình cịn cần tài ngun để hồn thành 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ừ số tiến trình để cấp phát cho 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 cần phải:  Xem xét lựa chọn tiến trình để ngắt tài nguyên ngắt tài nguyên nào?  Khả phục hồi trạng thái ban đầu tiến trình có thực hay khơng?  Có thể xảy khả số tiến trình khơng cấp đủ tài nguyên II.Cách giải deallock Phần lớn, giải vấn đề deadlock theo ba cách:  Chúng ta sử dụng giao thức để ngăn chặn hay tránh deadlocks, đảm bảo hệ thống không vào trạng thái deadlock  Chúng ta cho phép hệ thống vào trạng thái deadlock, phát phục hồi  Chúng ta bỏ qua hồn tồn vấn đề giả vờ deadlock không xảy hệ thống Giải pháp dùng nhiều hệ điều hành, kể UNIX Để đảm bảo deadlock không xảy ra, hệ thống dùng kế hoạch ngăn chặn hay tránh deadlock Ngăn chặn deadlock tập hợp phương pháp để đảm bảo điều kiện cần (trong phần I) xảy Ngược lại, tránh deadlock yêu cầu hệ điều hành cung cấp thông tin bổ sung tập trung vào loại tài nguyên trình yêu cầu sử dụng thời gian sống Với kiến thức bổ sung này, định Hệ thống thông tin 1-k6 Nhóm 16 u cầu q trình nên chờ hay khơng Để định u cầu thoả mãn hay phải bị trì hỗn, hệ thống phải xem xét tài nguyên có, tài nguyên cấp phát cho trình, yêu cầu giải phóng tương lai q trình Nếu hệ thống không dùng giải thuật ngăn chặn hay tránh deadlock trường hợp deadlock xảy Trong mơi trường này, hệ thống cung cấp giải thuật để xem xét trạng thái hệ thống để xác định deadlock có xảy hay không giải thuật phục hồi từ deadlock Nếu hệ thống không đảm bảo deadlock không xảy không cung cấp chế để phát phục hồi deadlock dẫn đến trường hợp hệ thống trạng thái deadlock Trong trường hợp này, deadlock không phát làm giảm lực hệ thống tài nguyên giữ q trình mà chúng khơng thể thực thi, vào trạng thái deadlock Cuối cùng, hệ thống dừng chức cần khởi động lại thủ công Mặc dù phương pháp dường không tiếp cận khả thi vấn đề deadlock dùng số hệ điều hành Trong nhiều hệ thống, deadlock xảy khơng thường xun; phương pháp rẻ chi phí cho phương pháp ngăn chặn deadlock, tránh deadlock, hay phát phục hồi deadlock mà chúng phải sử dụng liên tục Trong số trường hợp, hệ thống trạng thái cô đặc khơng trạng thái deadlock Như thí dụ, xem xét trình thời thực chạy độ ưu tiên cao (hay trình chạy định thời biểu không trưng dụng) không trả điều khiển hệ điều hành Do đó, hệ thống phải có phương pháp phục hồi thủ công cho điều kiện không deadlock đơn giản sử dụng kỹ thuật cho việc phục hồi deadlock CHƯƠNG III: ĐỒ THỊ CẤP PHÁT TÀI NGUYÊN I.Đồ thị cấp phát tài nguyên 10 Hệ thống thơng tin 1-k6 Nhóm 16  Q trình P2 giữ thể loại tài nguyên R1 R2 chờ thể loại tài nguyên R3  Quá trình P3 giữ thể R3 Đồ thị cấp phát tài nguyên hiển thị rằng, đồ thị không chứa chu trình, khơng có q trình hệ thống bị bế tắc (hay deadlock) Nếu đồ thị có chứa chu trình, tượng bế tắc tồn Nếu loại tài ngun có xác thể hiện, chu trình ngụ ý tượng bế tắc xảy Nếu chu trình bao gồm tập hợp loại tài nguyên, loại tài nguyên có thể deadlock xảy Mỗi trình chứa chu trình bị deadlock Trong trường hợp này, chu trình đồ thị điều kiện cần đủ để tồn deadlock Nếu loại tài nguyên có nhiều thể chu trình khơng ngụ ý deadlock xảy Trong trường hợp này, chu trình đồ thị điều kiện cần chưa đủ để tồn deadlock Giả sử trình P3 yêu cầu thể loại tài ngun R2 Vì khơng tài nguyên có, cạnh yêu cầu P3 → R2 thêm vào đồ thị (hình 3.2) Tại thời điểm này, hai chu trình nhỏ tồn hệ thống: P → R1 → P2 → R3 → P3 → R2 → P1 P → R3 → P3 → R2 → P2 R1 R3 R2 R4 Hình 3: Đồ thị cấp phát tài nguyên với deadlock 13 Hệ thống thơng tin 1-k6 Nhóm 16 Q trình P1, P2, P3 bị deadlock Quá trình P3 chờ tài nguyên R3, giữ trình P2 Hay nói cách khác, q trình P3 chờ q trình P1 hay P2 giải phóng tài ngun R2 Ngồi ra, q trình P1 chờ q trình P2 giải phóng tài nguyên R1 Bây xem xét đồ thị cấp phát tài nguyên hình 3.3 Trong thí dụ này, có chu kỳ P1 → R1 → P3 → R2 → P1 R1 R2 Hình 4: Đồ thị cấp phát tài nguyên có chu trình khơng bị deadlock Tuy nhiên, khơng có deadlock Chú ý q trình P4 giải phóng thể loại tài nguyên R2 Tài nguyên cấp phát tới P3 sau đó, chu trình khơng cịn Tóm lại, đồ thị cấp phát tài ngun khơng có chu trình hệ thống khơng có trạng thái deadlock Ngồi ra, có chu trình có khơng trạng thái deadlock Nhận xét quan trọng giải vấn đề deadlock CHƯƠNG IV: GIẢI QUYẾT HIỆN TƯỢNG BẾ TẮC I.Trạng thái an toàn Một trạng thái an tồn hệ thống cấp phát tài nguyên tới trình vài thứ tự tránh deadlock Hay nói cách khác, hệ thống trạng thái an toàn tồn thứ tự an tồn Thứ tự q trình thứ tự an toàn cho trạng thái cấp phát hành thứ tự Pi, tài nguyên mà Pi yêu cầu thoả mãn tài nguyên có cộng với tài nguyên giữ tất Pj, với j

Ngày đăng: 04/12/2023, 22:26

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w