Thông tin tài liệu
!"#$%#&'(!$ 1 NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………… Mục Lục TỔNG QUAN VỀ ĐỀ TÀI 1. Bối cảnh và lý do chọn đề tài $)*+,-./01234516*6 56478$)*93:3);<+=> ?312647@A6B6+=C+=>? 3D)2?E6BF8 #6+=G>0+,@*.-+HG>0I=J +93)>?KLM8B.-45145@;45 N9-.-3O=8!;454P<Q<O =-.-9RP9;SET8 J3U6B)JU@I6*.-@+,-I@ *45-/.4;DD6B3A*A.E3 .8J/.4;+H1V63<;23*0 4;$)*$3/5.W9@G>0 @XRYR6E!450$)*$8 2. Mục tiêu của đề tài Z$6-)J3* Z$Y6 Z$+,./0 Z$Y Z$ Z$) Z$?I[ !"#$%#&'(!$ 2 3. Yêu cầu của đề tài • "U) • #-4\ • ]^4D+,-3;./6 • _;6`\B66O3#4* • "Y35+U`@6X45135+U`3 ;BX= • !<a3;+,-K@Kbb@_Kbb !"#$%#&'(!$ 3 Chương 1. CƠ SỞ LÝ THUYẾT 1. Giới thiệu về Deadlock 1.1 Tiến trình 1.1.1 Định nghĩa - #;-STO2=6B+,-O45 6478!9I6BU1;O4+,-SPc ;-T3/6)OBG>0;-D +,-8 - +HG6,3P63))*8 - '6BDB@3U+,-6BPB8 1.1.2 Phân loại K9O;-d - #;-)*8 - #;-+=>?8 1.1.3 Các thành phần của tiến trình - O6e)8 - O<)8 - OG;38 - KOB)O+H).;6)S(LT3B STBG>08 1.1.4 Vòng đời của tiến trình !"#$%#&'(!$ 4 1.1.5 Vấn đề lập lịch tiến trình - fJ+H451>?/*,J+H459SKLMT - 9@1P^J=>?KLM;- +=>?3)J8 1.2 Deadlock 1.2.1 Giới thiệu - #.-P;-@.-=;-9 =4OQO3-45X451P<Q< ;-=8#+=H4+HES9;T8 1.2.2 Mô hình hệ thống - B)J2J45<O+H^g<*.- O8K454+H^*O@6hO2 6BJ)GP8iBU@jKLM3;P kGAS+64@l[T<7?3*O458!;)J 9KLM@-O45KLM9)8#+,D@O45 64996)8 - !;6B.-4516B)O45-3)AA 2)O454R/6e4518!;99- )GP3UO45R+HP lH08#7?@6B)J99648$O6449 +HPlaUO45;9.- .^664<)8#45@;6B64Q1m364 Q1)-+=aQ1mG664+,D 3U455n1+HPl6h648 - B.-/4516B45+U>?9@3// 9>?98B.-9451*45+9 +H451D)3?+H98KX0@J45+H45 13+H.J+HgB45o9)J8!9 @6B.-45164;)Jc98 - +U;B*+=@6B.-9>?6B 45c2Dd !"#$%#&'(!$ 5 - p51d;451+H2-S7?@45+H aQ.-T-.-451/=U99 +H458 - f>?d.-9*45S7?@;4564@ .-964T - "/9d.-/9458 - p513/945=E)J8#7?+4513 /9;P@6Q39@A3/9BU8p51 3/9459O+H.=q3 )89@6h+=H>?@)*6 /6/r.->?4513+HA458B/ )J6h.-/94+HA458!; 6B.-451456459)+HA6B .-@99+H563H=4548 - BH.-O6h.-H 4=D)69+HOcQ.-H8 !<D)6X.^64;Q^43/9 458K4594530S7?@64@l[@ BU3jKLMT4450S7?@@6@ 6T8#45@OD)9`;8 - 6OO@XGC)J3Ugl[8"/> 6h.-<6Bgl[48\^4=@;6h.-4516Bg l[-.-RQO8h.- =6BD)sgl[+H/9t69+H^4cQ6B <.-=8#7?46O5.; aO458 - u5.*O458#7?@GC6B) J3U6B6436Bgl[8"/>@.-L<gl[3 .-L<648!;L451643L451gl[- G/48 !"#$%#&'(!$ 6 - B+=-<2?I/.^6Y )U3A*4dK+,-I2>353A* 3-*I9O545+Hn8 1.2.3 Đặc điểm của Deadlock #6B@.-=3)D3 45)JPBY@Y.-V18 #+UX/+,/.4;3A* @XR6/Y666/8 vNhững điều kiện cần thiết gây ra deadlock: o #+=H9;J*)G/4a6B X)Jd (1) Loại trừ hỗ tương: 7A6B45/+H<;B nWl@c6B.-Oa6B=69>? 458!;6B.-451459@.-451/ O6[;45+H/98 (2) Giữ và chờ cấp thêm tài nguyên: .-/<7A6B 453=45566)+H<Q. -8 (3) Không đòi lại tài nguyên từ quá trình đang giữ chúng: K45 P:OWl@459+H/9cD0Q. -<9@.-93?8 (4) Tồn tại chu trình trong đồ thị cấp phát tài nguyên: 6BH. -wLx@Ly@z@L{=69Lx=6B45+H< QLy@Ly=45<QL|@z@Lvy=45 +H<Q.-Lx8 vKXA6OrA/J*)/a G/48*)=H+,-+;*)<v3v=3- ;J*)B8 1.3 Các phương pháp xử lý Deadlock K9}/.4;,/@9d - KX9>?6B2Y4@/6 /r)JR=3O !"#$%#&'(!$ 7 - KX9C)J3O@)93 ?I8 - KX9.3A*43/3== G/4)J8"/4+Ha*)*@/ M!(]8 - ~*4Rc93*3;3* 8 2. Thuật toán nhà băng của Dijsktra 2.1 Giới thiệu - '6BA453+HQ 8 - •?)J9*O45 - #6Or63)A +HJ9A/O45+HGP+U@9 6OG6*)G/4A/;- 451459G/48f9D3O 4.4;P3)A458 2.2 Cấu trúc dữ liệu - !*AX<)/+H4-Y/\8!<A X<)46eO)JA458"EJ .-)J36JO45)J8KX1 AX<)d • Availabled6B39*PJ+H45o a6hO8!;€3•‚ƒ@9)O45 „ oa8 • Maxd6B6GPlJ+HJ4516h. -8!;G•@‚ƒ@-.-L 9451*A )O45„ 8 • Allocationd6B6GPlJ+H456h O)+HAU6h.-8!;€•@‚ƒ@-. -L )+HA)O45„ 8 !"#$%#&'(!$ 8 • Needd6B6GP45145:O6h. -8!;!•@‚ƒ@-.-L 9156) O45„ 3?98KX0r@!•@‚ƒ G•@‚…€•@‚8 - KAX<)4;g=3*7+U3P8,/ 3)-4/\@X;30)8"E]3p 39*8KX9r]†p;3c;]•‚†p•‚ A/ƒy@|@z@8#7?@;]ƒSy@‡@}@|T3pƒSx@}@|@yT-p†]@pˆ ];p†]3p‰]8 - KX9G6GC6h:6€3!+ <336;UX+€ 3! +,28 _€ GP45)+HAU.-L W3 ! GP45g6.-L 93`451 3?98 2.3 Thuật toán kiểm tra an toàn - "/GP)JQO49+H6/ +d Bước 1: "EŠ3‹39*63+,28iQ OŠdƒ€33‹•‚dƒŒƒy@|@z@8 Bước 2: #-6d T‹•‚ƒŒ T!†Š8!;9@4U+U• Bước 3: ŠdƒŠb€‹•‚dƒ43*+U|8 Bước 4: !;‹•‚ƒA/@-)JQO8 "/49451B2O6G|.4;PO 48 2.4 Thuật toán yêu câu tài nguyên - K„.3451.-L8!;„.•‚ƒ@-.- L6J)O45„8i6B45145+HD )Q.-L@-OB+HD)d Bước 1: !;„.†!@4U+U|8!+HO@6B *)h3-.-3+H.451J98 Bước 2: !;„.†€3@4U+U}8!+HO@L/= 3-45o98 !"#$%#&'(!$ 9 Bước 3: "/>)JA45+H451U.-L r4gOd €3dƒ€3…„.W €dƒ€b„.W !dƒ!…„.W !;;./OA45@-P+H 3.-L+HA4598#45@;O 6U@-L/=„.3OA45u +H?I8 !"#$%#&'(!$ 10 [...]... Mô phỏng thuật toán nhà băng của Dijsktra để tránh Deadlock 3 Kết quả thử nghiệm 3.1 Dữ liệu từ file input.txt ĐẶNG THỊ TỐ LINH 14 Mô phỏng thuật toán nhà băng của Dijsktra để tránh Deadlock 3.2 Demo ĐẶNG THỊ TỐ LINH 15 Mô phỏng thuật toán nhà băng của Dijsktra để tránh Deadlock ĐẶNG THỊ TỐ LINH 16 Mô phỏng thuật toán nhà băng của Dijsktra để tránh Deadlock ĐẶNG THỊ TỐ LINH 17 Mô phỏng thuật toán nhà. .. toán nhà băng của Dijsktra để tránh Deadlock ĐẶNG THỊ TỐ LINH 18 Mô phỏng thuật toán nhà băng của Dijsktra để tránh Deadlock ĐẶNG THỊ TỐ LINH 19 Mô phỏng thuật toán nhà băng của Dijsktra để tránh Deadlock Chương 3 1 ĐÁNH GIÁ KẾT QUẢ Đánh giá Hạn chế của thuật toán • Thuật toán banker xuất phát từ giả thiết số tài nguyên là cố định Nhưng bởi vì các tài nguyên không thể làm việc mãi (ví dụ dừng lại để bảo... tiếp tục yêu cầu cho đến khi các tiến trình hoàn tất p: Số tiến trình r: Số tài nguyên ĐẶNG THỊ TỐ LINH 11 Mô phỏng thuật toán nhà băng của Dijsktra để tránh Deadlock 2 Xây dựng chương trình 2.1 Cấu trúc hoạt động của chương trình ĐẶNG THỊ TỐ LINH 12 Mô phỏng thuật toán nhà băng của Dijsktra để tránh Deadlock 2.2 Các biến, hàm sử dụng trong chương trình STT Tên hàm, biến 1 Alloc[][] 2 Max[][] 3 Need[][].. .Mô phỏng thuật toán nhà băng của Dijsktra để tránh Deadlock Chương 2 1 THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH Phân tích yêu cầu Bài toán đặt ra Input: Đọc từ file input.txt ma trân Max[p,r], Allocation[p,r] và mảng Total[r] - Ban đầu: Ma trận Allocation[p,r] = 0 - Tiến hành yêu cầu tài nguyên cho đến khi các tiến trình hoàn tất Output: Kiểm tra trạng thái an toàn của tiến trình khi yêu... cầu Thưc hiện đề tài mô phỏng thành công thuật toán Banker để tránh Deadlock, hiểu rõ hơn cách mà hệ điều hành quản lí phần cứng và các tài nguyên phần mềm trên máy tính, qua đó đã giúp chúng ta hiểu cặn kẽ hơn về môn học Nguyên Lí Hệ Điều Hành 2 Những hạn chế Chương trình mô phỏng vẫn còn chưa trực quan và sinh động do vẫn còn trên chế độ console, cần phải tạo thêm giao diện để chương trình trực quan... Chương trình mô phỏng vẫn còn chưa trực quan và sinh động do vẫn còn trên chế độ console, cần phải tạo thêm giao diện để chương trình trực quan và sinh động hơn ĐẶNG THỊ TỐ LINH 20 Mô phỏng thuật toán nhà băng của Dijsktra để tránh Deadlock PHỤ LỤC Mã lệnh chương trình #include #include #include // khai bao bien toan cuc int alloc[10][10]; int max[10][10]; int need[10][10]; int... tat de cap phat tai nguyen cho cac tien trinh dang cho // void Input() { int i,j; FILE* fp=fopen("input.txt","rt"); if(fp==NULL) { ĐẶNG THỊ TỐ LINH 21 Mô phỏng thuật toán nhà băng của Dijsktra để tránh Deadlock printf("/nLoi mo file!!!\nNhan phim bat ki de mo lai file\n"); getch(); Input(); } else { fscanf(fp,"%d",&r);// lay so luong tai nguyen for(i=0;i . ~*4Rc93*3;3* 8 2. Thuật toán nhà băng của Dijsktra 2.1 Giới thiệu - '6BA453+HQ 8 -. nguyên là cố định. • Thuật toán đòi hỏi rằng số người dùng là không đổi. Yêu cầu đó cũng không thực tế, vì trong các hệ đa chương trình, số lượng người dùng luôn thay đổi • Thuật toán đòi hỏi bộ. nhiều. • Cũng như thế, thuật toán đòi hỏi người dùng phải trả lại các tài nguyên được cấp, sau một khoảng thời gian nào đó- và trong thực tế cũng cần các chỉ số cụ thể. • Thuật toán yêu cầu người
Ngày đăng: 03/07/2015, 09:48
Xem thêm: Mô phỏng thuật toán nhà băng của Dijsktra để tránh Deadlock, Mô phỏng thuật toán nhà băng của Dijsktra để tránh Deadlock, Giới thiệu về Deadlock, Kết quả thử nghiệm.