1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình Nguyên lý hệ điều hành: Phần 1 - Hồ Đắc Phương

133 8 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

Giáo trình Nguyên lý hệ điều hành: Phần 1 gồm 7 chương đầu giáo trình. Nội dung phần này trình bày các kiến thức cơ bản, sử dụng hệ điều hành, cấu trúc hệ điều hành, tiến trình, điều phối tiến trình, tương tranh và đồng bộ, bế tắc.

NHÀ XUẤT BẢN GIÁO DỤC VIỆT NAM Hổ ĐẮC PHƯONG Gióo trình NGUVỈNIV HỈ Dllu HỈÌNH (Tái lần thứ hai) NHÀ XUẤT BẢN GIÁO DỤC VIỆT NAM M Ụ C LỤ C Trang C hương GIỚI THIỆU CHUNG 1.1 MÁY TÍNH VA PHẢN MÉM 1.2 LỊCH Sử PHÁT TRIÉN CỦA HỆ ĐIÈU HÀNH 13 CÂU HỎI ÔN TẠP 13 Chương sử DỤNG HỆ ĐIÈU HÀNH 14 2.1 MÔ HÌNH TÍNH TỐN TRỪU TƯỢNG 14 2.2 TÀI NGUYÊN 15 2.3 TIÊN TRÌNH 18 2.4 LUỒNG 25 2.5 ĐỒI TƯỢNG 27 2.6 NHAN XÉT 28 CẦU HỎI ÔN TẠP 28 Chương CÂU TRÚC HỆ ĐIÈU HÀNH 29 3.1 PHÂN TỈCH CÁC YÊU T ố TÁC ĐỘNG ĐÉN HỆ ĐIÈU HÀNH 29 3.2 CÁC CHỨC NÁNG c BẢN 33 3.3 CÁC PHƯƠNG THỨC CÀI ĐẠT HỆ ĐIÈU HÀMH 37 3.4 NHẠN XÉT 41 CÂU HỊI ƠN TẠP 41 Chương TIÉN TRÌNH 42 4.1 TIÉN TRlNH VA TRẠNG THÁI TIÉN TRlNH 42 4.2 THAO TÁC TRÊN TIÊN TRỈNH 45 4.3 MÔ TẢ TIÉ N T R lN H .48 4.4 LUỒNG 53 4.5 CÀI ĐẠT HỆ ĐIÉU HÀNH 57 4.6 NHẠN X é t ' 59 CÂU HỎI ỔN TẬP 60 Chương ĐIÈU PHỐI TIÉN TRÌNH .61 5.1 CƠCHÉĐIÉU PHÔI 61 CÁC PHƯƠNG PHÁP ĐIÈU PHỐ I 67 THUẠT TOÁN Đ ộ c QUYÊN 71 5.4 THUẠT TỐN KHƠNG Đ ộ c QUYỀN 77 5.5 NHẠN XÉT 84 CÀU HỎI ÔN TẠP 84 Chương TƯƠNG TRANH VÀ ĐỒNG B ộ .85 6.1 CÁC KHÁI NIỆM C BẢN 85 6.2 ĐỘC QUYÉN TRUY XUAT - GIẢI PHÁP PHAN m è m 88 6.3 ĐÔNG B ộ HỎA - GIẢI PHÁP PHẢN CỨNG 94 6.4 GIẢI PHÁP ĐỒNG Bộ c BẢN 96 6.5 NHỮNG VAN đ è đ n g b ộ k in h Đ IÉ N 101 6.6 CÁC GIẢI PHÁP ĐỒNG Bộ CAO CÁP .104 6.7 C CHÉ IPC .109 6.8 NHẠN XÉT 113 CÂU HỎI ÔN TẠP 114 Chương BÉ TAC 115 7.1 MÔ HlNH HẸ THỒNG 115 7.2 ĐẠC ĐIẾM CỦA BÉ TÁC 116 7.3 NGẰN CHẠN BÉ TẮC 119 7.4 TRÁNH BÉTAC 121 7.5 PHÁT HIỆN BÉTAC 126 7.6 KHAC p h ụ c Bé TAC 129 7.7 NHẠN XÉT 130 CÂU HỎI ÔN TẠP 131 Chương QUẢN LÝ THIÉT BỊ 132 8.1 NGUYÊN LÝ HOẠT ĐỘNG 132 8.2 CHIÉN LƯỢC QUẢN LÝ THIÉT B ! 134 8.3 TRÌNH ĐIÊU KHIÉN THIÉT B Ị 150 CÂU HỎI ỒN TẠP 152 Chương QUÀN LÝ Bộ NHỚ 153 9.1 CÁC LOẠI ĐỊA C H Ỉ .153 KHÔNG GIAN ĐỊA CHỈ 157 HOÁN CHUYỂN 158 9.4 CAP p h t LIÉN t ụ c 159 9.5 PHÂN TRANG 163 9.6 PHÂN ĐOẠN 173 9.7 KÉT HỢP PHÂN ĐOẠN VỚI PHÂN TRANG 178 9.8 NHẠN XÉT 180 CẢU HỎI ÔN TẠP 1 Chương 10 Bộ NHỚ Ả o 182 10.1 ĐẠT VAN Đ È 182 10.2 PHÀN TRANG THEO YÊU C A U .183 10.3 HIỆU SUAT p h â n t r a n g t h e o y ê u CAU 186 10.4 THAY THÉ TRANG 8 10.5 THUẬT TOÁN THAY THÉ TRANG 190 10.6 CAP p h t FRAME 197 10.7 PHÂN ĐOẠN THEO YÊU C A U 200 10.8 NHẠN XÉT 201 CÂU HỔI ÔN TẠP 201 Chương 11 HỆ THỐNG FILE 202 11.1 FILE 202 11.2 CÀI ĐẠT PILEỞMỨC THÁP 209 11.3 HỆTHỒNG THƯ MỤC 219 11.4 BẢO VỆ PILECHIASỂ 226 11.5 TÍNH THỒNG NHAT c ủ a n g ữ n g h ĩ a 229 11.6 PHỤC HỒI SAU LỖ I 231 11.7 NHẠN XÉT 232 CÂU HỔI ÔN TẠP 233 Chương 12 BẢO VỆ VÀ AN NINH 234 12.1 CÁC VAN Đ è Cơ Bả n .234 12.2 XÁC THỰ C .238 12 KIÉM CHỨNG 241 12.4 CÀI ĐẠT MA TRẬN QUYÉN TRUY C Ạ P 249 12.5 HẠU QUẢ T CHƯƠNG TRlNH 255 12.6 GIÁM SÁT NGUY c 262 12 MẠT MÃ VÀ ỨNG DỤNG 264 12.8 NHẠN X É T 268 CÂU HỎI ỔN TẠP 269 TÀI LIỆU THAM KHÁO 270 Chương GIỚI THIỆU CHUNG ■ Chương khái quát Hệ điều hành (HĐH) lịch sử phát triền HĐH Trước tiên, giới thiệu tổng quan khái niệm phần mềm vị trí cụ thể HĐH hệ thống phần mềm Tiếp đến, trình bày hai động lục phát triển HĐH đại là: Trừu tượng hóa Chia sẻ tài nguyên phần cứng 1 M Á Y T ÍN H V À P H À N M È M Con người sử dụng máy tính thơng qua phần mềm Phần mềm phân loại theo mục đích sử dụng: Phần mềm ứng dụng giải vấn đề cụ thể (MS Word, MS Excel) Phần mềm hệ thống thực thi nhiệm vụ liên quan tới trình thực thi chương trình ứng dụng Bên cạnh đó, phần mềm hệ thống cung cấp chức mà phần cứng cung cấp, giúp lập trình viên phát triển ứng dụng, HĐH phần mềm hệ thống quan trọng Mục tiêu quan trọng cùa HĐH cho phép nhiều phần mềm ứng dụng sử dụng phần cứng máy tính cách có trật tự Chia sẻ làm tăng hiệu suất sử dụng hệ thống, chương trình khác đồng thời sử dụng phận phần cứng khác Do đó, giảm thời gian cần thiết để thực nhóm chương trình Để chia sẻ an tồn có hiệu quả, HĐH phái nằm sát phần cứng Phần mềm hệ thống tất phần mềm ứng dụng gián tiếp sử dụng phần cứng thông qua HĐH 1 P h ầ n m ề m h ệ t h ố n g Với người lập trình ứng dụng, phần mềm hệ thống đơn giản hóa mơi trường lập trình cho phép sử dụng hiệu phần cứng Phần mềm hệ thống có chức làm mơi trường thực thi cho ngơn ngữ lập trình Trong UNIX, chức cài đặt ngôn ngừ c (bàng cách sử dụng file.h), ví dụ: • Thư viện vào/ra chuẩn (1/0) thực thao tác vào/ra thông qua đệm dịng liệu • Thư viện tốn học để tính tốn hàm tốn học • Thư viện đồ họa cung cấp hàm hiển thị hình ảnh hình đồ họa Một chức khác phần mềm hệ thống cung cấp hệ thống giao diện cửa sổ WINDOWS phần mềm hệ thống cung cấp cửa sổ (một thiết bị đầu cuối ảo) cho chưomg trình ứng dụng Lập trình viên phát triển phần mềm ứng dụng sử dụng hàm để đọc ghi lên cửa sổ thể cửa sổ thiết bị đầu cuối, chí cửa sổ khơng gắn với thiết bị vật lý Phần mềm hệ thống chịu trách nhiệm ánh xạ thiết bị đầu cuối ảo lên vùng cụ thể hình Một thiét bị đầu cuối vật lý hỗ trợ nhiều thiết bị đầu cuối ảo HĐH cung cấp giao diện (là hàm) để phần mềm hệ thống phần mềm ứng dụng sử dụng muốn dùng tài nguyên hệ thống HĐH phần mềm độc lập, hỗ trợ nhiều ứng dụng lĩnh vực khác Phần mềm ứng dụng sử dụng trừu tượng hóa tài nguyên HĐH cung cấp làm việc với phần cứng HĐH cho phép ứng dụng khác chia sè tài ngun phần cứng thơng qua sách quản lý tài nguyên Trừu tượng hóa tài nguyên chia sẻ hai khía cạnh HĐH 1 T r u t ợ n g h ó a tà i n g u y ê n p h ầ n c ứ n g Bằng cách che dấu chi tiết hoạt động phần cứng thơng qua mơ hình trừu tượng hoạt động phần cứng, phần mềm hệ thống giúp lập trình viên sử dụng phần cứng dễ dàng Mặc dù giúp đơn giản hóa cách thức điều khiển phần cứng, mơ hình trừu tượng giới hạn khả lập trình viên thao tác trực tiếp phần cứng có thao tác phần cứng khơng thể trừu tượng hóa Có thể coi máy rút tiền tự động ATM sụ trừu tượng hóa việc rút tiền ngân hàng ATM cung cấp thao tác trừu tượng cho phép người dùng rút triệu hay triệu đồng từ tài khồn thơng qua ẩn nút Tuy nhiên, người dùng muốn rút 1,3 triệu kiện nà>' khơng hẳn hồn toàn độc lập với Tuy nhiên, thuận tiện xét tách biệt điều kiện 7.2.2 Đ thị phân phổi tài nguyên Đồ thị có tập đinh V tập cung E Tập đinh V phân thành hai loại: p = {Pi, P2,. Pn} ứng với tiến trình R = {Ri, R2,.-, Rm} ứng với kiểu tài nguyên hệ thống Cung yêu cầu Pi —* Rj hướng lừ tiến trinh Pj tới tài nguyên Rj, có ý nghĩa Pi yêu cầu đối tượng kiểu tài nguyên Rj thời Pi trạng thái đợi Cung phân phối Rj —» Pị hướng từ tài nguyên Rj tới tiến trình Pj, có nghĩa đối tượng kiểu tài nguyên Rj cấp phát cho tiến trình Pị Trên Hình la, tiến trình Pi biểu diễn cung tròn, tài nguyên Rj hình vng Do kịểụ tài ngun Rj có nhiều đối tượng, biểu diễn đối tượng chấm nhỏ bên hình vng Lưu ý, cung u cầu nối tới hình vng Rj, cung phân phối rõ xuất phát từ chấm bên hình vng Hình 7.1 Đồ thị phân phối tài nguyên Khi tiến trình Pi yêu cầu đối tượng tài nguyên Rj, hệ thống bổ sung cung yêu cầu vào đồ thị phân phối tài nguyên Khi đáp ứng yêu cầu, hệ thống chuyển cung yêu cầu thành cung phân phối Cung phân phổi bị xóa bỏ tiến trình giải phóng tài ngun Đồ thị phân phối tài ngun Hình la mơ tả tình sau: P = { P l , P , P3}, R ={ R| , R2, R3 R4}, E = {Pi —►R |, P2 R 3, R| —» P2, R —» P2, R —♦ R |, R —» Pỉ}- 117 số đối tượng cùa tài nguyên: R| có đối tượng, R2 có đối tượng, R3 có đối tượng, R4 có đối tượng 'I rạn g thái tiến trìn h : P | đ an g g iữ m ộ t đối lư ợ n g lài n g u y ê n R đợi đổi tượng R) P2 giữ đối tưọng Ri đợi thêm m ộ t đối tư ợ n g R P đ an g g iữ m ộ t đối tư ợ n g R V ới đ thị p h ân p h ố i tài n g u y ên , có th ể th , n ếu k h ô n g có ch u trìn h đ thị k h n g tiến trìn h bị bế tắc T u y n h iê n , n ếu đồ thị có c h ứ a ch u trìn h , b ế tắc c h a ch ắ c, m chi có k h ả n ăn g x u ất N ế u m i kiểu tài n g u y ên có đ ú n g m ộ t đ ố i tư ợ n g , ch u trìn h d ẫn đ ến b ế tắc v m ỗi tiến trìn h tro n g ch u trìn h đ ề u rơi v trạ n g thái bế tắc K hi đ ó , ch u trìn h tro n g đồ thị đ iề u k iện cầ n v đ ủ ch o trạn g Ihái bế tắc N h n g , n ế u k iểu tài n g u y ên có n h iề u đ ố i tư ợ n g , c h u trìn h k h n g n h ấ t th iế t kéo th eo b ế tẳc (c h u trìn h đ iề u k iện cần n h n g c h a đủ) Xét đồ thị phân phối tài nguyên Hình 7.1 b, giả sử P3 yêu cầu đối tư ợ n g R D o h ệ th ố n g k h ô n g cò n đối tư ợ n g tài n g u y ê n R rỗi n ên cu n g yêu cầu P3 —►R2 thêm vào đồ thị Lúc này, xuất hai chu trình: (Pi ^ Ri ^ P2 ^ R3 ^ P ^ R2 —» Pi) (P2 ^ R3 —» P3 —> R2 —» P2) Ba tiến trìn h P|, P v P b ế tấc: P đợ i R - bị ch iếm d ụ n g b i P P đợi Pi v P giải p h ó n g R , c ò n P | đợi P giải p h ó n g R | Đ th ị p hân phối tài n g u y ê n trê n H ìn h c có ch u trìn h (Pi - > R | —> P R —> P i) T u y n h iê n , k h n g có b ế tắc P có th ể giải p h ó n g m ộ t đối tư ợ n g R Tài n g u y ê n n ày sau đ ó có th ể đ u ợ c cấ p p h t ch o P (ch u trìn h bị p h vỡ) T ó m lại, n ếu đ thị p h ân p h ố i tài n g u y ên k h n g có ch u trìn h , hệ th ố n g ch ắ c ch ắn k h ô n g tro n g trạn g th b ế tắc N g ợ c lại, n ếu có ch u trìn h , hệ th ố n g có th ể rori vào trạn g thái bế tắc C h ú n g ta cần ch ú ý tớ i đ iểm giải q u y ế t h iện tư ợ n g bế lắc 7.2.3 Giải bế tắc C ó b a g iải p h áp ch o h iện tư ợ n g bế tắ c n h sau: Đảm bảo hệ thống không rơi vào trạng thái bế tắc Cho phép hệ thống rơi vào trạng thái bế tắc sau khắc phục Bỏ qua tất vấn đề già định bế tắc không xuất tro n g h ệ th ố n g P h n g p h p n ày đ ợ c sử d ụ n g tro n g n h iề u H Đ H , kể c ả U N IX 118 Phần mô tả ngắn gọn giải pháp, chi tiết trình bày phần sau Để đảm bảo không xảy bé tắc, hệ thống sử dụng phương pháp Ngăn chặn phương pháp Tránh Ngăn chặn phương pháp ngăn không cho bốn điều kiện cần bế tắc xuất Ngược lại, phưong pháp tránh đòi hỏi tiến trình phải báo trước cho HĐH thơng tin liên quan đến nhu cầu tài nguyên Với thơng tin biết trước này, tiến trình xin cấp phát tài nguyên, hệ thống định liệu có nên cấp phát cho tiến trình khơng Với mồi yêu cầu, hệ thống xét lượng tài nguyên chưa cấp phát, lượng tài nguyên cấp phát, yêu cầu cấp phát giải phóng tài nguyên xuất để định xem có thỏa mãn yêu cầu hay không Nếu hệ thống không sử dụng phương pháp hai phương pháp trên, trạng thái bế tắc cố khả xuất hỉện Khi đỏ hệ thống cần xác định bế tắc xuất chưa sau khắc phục Nếu hệ thống không đảm bảo bế tắc không xuất khơng có chế kiểm tra khắc phục bế tắc, hệ thống rơi vào trạng thái bế tắc mà khơng nhận Lúc đó, hiệu suất tổng thể hệ thống bị suy giảm nhiều tài nguyên bị tiến trình trạng thái phong tỏa chiếm giữ, ngày nhiều tiến trình rơi vào bế tắc yêu cầu thêm tài nguyên Cuối cùng, hệ thống ngừng hoạt động phải khời động lại cách thủ cơng Mặc dù giài pháp khơng ổn, thực tế lại sừ dụng rộng rãi Nếu bế tắc xuất không thường xuyên (một lần/năm) việc cài đặt giải pháp Ngăn chặn, Tránh hay Phát Khắc phục bế tắc tốn 7.3 NGĂN CHẬN BÉ TÁC m Be tắc có bốn đặc điểm xem điều kiện cần Như vậy, chi cần ngăn không cho bốn điều kiện xuất ngăn chặn bế tấc 7.3.1 Độc quyền tru y xuất (Mutual Exclusion) Điều kiện độc quyền truy xuất với tài ngun khơng thể chia sẻ (ví dụ máy in) Ngược lại, kiểu tài ngun chia sè (ví dụ fíle với thuộc tính đọc) khơng địi hịi độc quyền truy xuất, khơng 119 liên quan tới tượng bế tắc Do chất tài nguyên, nên ngăn chặn bế tẳc cách loại bỏ điều kiện độc quyền truy xuất 7.3.2 G iữ c h Để ngăn chặn điều kiện Giữ Chờ, phải đảm bảo chi không nắm giữ tài nguyên tiến ừình yêu cầu tài nguyên Giải pháp thứ trước thực thi, tiến trình yêu cầu tất tài nguyên cần thiết Giải pháp thứ hai là, trước yêu cầu thêm tài ngun, tiến trình phải giải phóng tất tài nguyên chiếm giữ Để minh họa khác biệt hai giải pháp này, xét tiến trình lưu liệu từ băng từ vào ổ cứng, xếp file, sau in kết máy in Nếu tiến trình yêu cầu tất tài nguyên từ đầu phải yêu cầu ba loại tài nguyên (băng từ, ổ cứng máy in) Mặc dù chi sử dụng vào giai đoạn cuối, tiến trình giữ máy in suốt trình thực thi Phương pháp thứ hai cho phép tiến trình chi yêu cầu băng từ ổ đĩa lúc đầu Tiến trình chuyển liệu từ băng từ vào đĩa, giải phóng hai tài nguyên Tiến trình tiếp tục yêu cầu ổ đĩa máy in Sau chuyển liệu từ ổ đĩa máy in, tiến trình giải phóng tất tài ngun kết thúc Các giải pháp có hai nhược điểm Thứ nhất, hiệu sử dụng tài nguyên thấp nhiều loại tài nguyên bị chiếm giữ từ đầu chưa chấc sử dụng Thứ hai, xảy tượng chết đói Tiến trình phải đợi vơ hạn tài nguyên cần thiết bị cấp phát cho tiến trình khác 7.3.3 Khơng chỉếm đoạt Chúng ta ngăn chặn cách: Khi tiến trình giữ sổ tài nguyên yêu cầu thêm tài nguyên bị chiếm giữ, trước tiến trình bị phong tỏa, hệ thống thu hồi toàn tài nguyên cấp phát cho tiến trình Tài nguyên sau thu hồi đưa vào danh sách tài nguyên chưa cấp phát Tiến trình khởi động lại cấp phát lại tài nguyên cũ tài nguyên yêu cầu Một giải pháp linh hoạt hom là, tiến trình yêu cầu tài nguyên, hệ thống kiểm tra xem có đáp ứng khơng Nếu có, hệ thống cấp phát cho tiến trình Nếu khơng, hệ thống kiểm tra xem tài nguyên có bị chiếm giữ tiến trình trạng thái phong tịa hay khơng Nếu có, hệ thống thu hồi tài nguyên tiến trình bị phong tỏa để cấp phát cho tiến trình yêu cầu Ngược lại, tiến trình yêu cầu 20 phải đợi Trong bị phong tỏa, số tài nguyên tiến trình bị thu hồi cho tiến trình khác Tiến trình chi khởi động lại cấp phát thêm tài nguyên lấy lại tài nguyên bị thu hồi trạng thái phong tòa Phương pháp thường áp dụng cho tài nguyên mà trạng thái luxi lại khởi tạo dễ dàng (thanh ghi hay nhớ trong), áp dụng cho loại tài nguyên máy in hay băng từ 7.3.4 Vòng đ ợ i Có thể ngăn chặn điều kiện "vịng đợi" cách đánh sổ thứ tự cho tất tài nguyên, tiến trình phải yêu cầu tài nguyên theo thứ tự tăng dần Giả s R = {Ri, R2, Rm} tập tài nguyên, ta gán cho tài nguyên số thứ tự (STT) nguyên Cách đánh STT pHải đảm bảo cỏ thể so sánh STT hai tài nguyên, nhằm xác định tài nguyên đứng trước, tài nguyên đứng sau Nghĩa mặt hình thức, ta định nghĩa hàm F; R ^ N , N tập số nguyên Ví dụ, R bao gồm băng từ, ổ đĩa máy in hàm F định nghĩa sau: F(băng từ) =1, F(ổ đĩa) = 5, F(máy in) = 12 Xét phương pháp ngăn chặn "bế tẳc" sau đây: Tiến trình phải yêu cầu tài nguyên theo STT tăng dần Nghĩa là, lúc đầu tiến trình u cầu tài nguyên Rj Sau đó, yêu cầu thêm tài nguyên Rj F(Rj) > F(Rj) Nếu cần nhiều đối tượng kiểu tài nguyên, tiến trình phải yêu cầu yêu cầu Ví dụ, với hàm F trên, muốn sử dụng băng tù máy in thời điểm, tiến trình phải yêu cầu băng từ trước yêu cầu máy in Giải pháp tương đương yêu cầu Rj, tiến trình phải giải phóng tất tài ngun Rj mà F(Rj) > F(Rj) Neu sừ dụng hai quy tẩc này, vịng đợi khơng xảy (có thể chứng minh phản chứng) 7.4 TRÁNH BẾ TÁC Các thuật toán ngăn chặn bế tắc đặt quy tắc mà tiến trình phải tuân theo yêu cầu tài nguyên nhàm ngăn cản bốn điều kiện bế tắc xuất Nhược điểm giải pháp giảm hiệu suất sử dụng tài nguyên hiệu suất tổng thể hệ thống Một thuật toán tránh bế tắc khác là, yêu cầu tiến trình cung cấp thêm thông tin việc sử dụng tài 121 ngun Ví dụ, hệ thống có băng từ máy in, hệ thống biết tiến trình p yêu cầu băng từ trước yêu cầu máy in Ngược lại, tiến trình Q yêu cầu máy in trước băng từ Với hiểu biết tiến trình u cầu giải phóng tài ngun, hệ thống định việc cấp phát tài nguyên Khi có yêu cầu, hệ thống xét trạng thái cấp phát tài nguyên (các tài nguyên có; tài nguyên cấp phát; yêu cầu xin giải phóng tài nguyên tương lai) để định xem có cấp phát tài ngun cho tiến trình hay khơng Các thuật tốn khác địi hỏi biết trước kiểu thông tin khác Thông thường, tiến trình khai báo số lượng cực đại kiểu tài ngun mà cần 7.4.1 Trạng thái an tồn Hệ thống trạng thái an tồn cấp phát đầy đủ tài nguyên cho tiến trình mà khơng bị "bế tắc" Định nghĩa cách hình thức, hệ thống trạng thái an toàn chi tồn dãy an tồn Dãy tiến trình gọi an toàn trạng thái phân phối tài nguyên thời, yêu cầu tài ngun tiến trình Pj đáp ứng bàng tài nguyên chưa cấp phát tài nguyên bị giữ bời tất Pj, với j < i Khi đó, tài nguyên tiến trình Pj cần khơng đáp ứng ngay, Pj đợi tới tất Pj kết thúc Sau đó, Pj cấp phát đủ tài nguyên cần thiết để thực nhiệm vụ Khi Pị kết thúc, Pj+1 lấy tài nguyên cần thiết, Nếu không tồn dãy vậy, hệ thống xem không an tồn Kh6«f «iffV Tiến trình cần tối đa Lượng cần hiẹn thời Po 10 Pi P: Lượng Cbvyỉa lrfsg T r f f t( ik ầ ỉ A i to ia Ikál T r f B | tU Ỉ K k s | Ai l o i i T rfB f tk ầ i b (a) (b) Hình 7.2 Minh họa trạng thái bế tắc Trạng thái an tồn khơng phải trạng thái bế tắc Ngược lại, trạng thái bế tắc trạng thái khơng an tồn Tuy nhiên, khơng phải trạng thái 122 khơng an tồn trạng thái bế tắc (Hinh 7.2a) Trạng thái không an tồn dẫn đến bế tẳc Chừng hệ thống cịn trạng thái an tồn, UĐl l ngăn chặn bế tắc Trong trạng thái không an tồn, HĐH khơng thề ngăn chặn tiến trình u cầu tài nguyên dẫn đến bế tắc Dể minh hoạ, xét hệ thống có 12 băng từ với tiến trình: Po, Pi, ? 2, Po cần tối đa 10 băng từ, P| cần băng từ ? cần băng từ Giả sừ thời điểm to, Po giữ 5, P| giữ ? giữ băng từ (3 băng từ chưa cấp phát) Ví dụ minh họa Hình 7.2b Tại thời điểm to, hệ thống trạng thái an toàn vi dãy thỏa mãn điều kiện an tồn Pi lấy băng từ, thực thi, giải phóng (hệ thống có băng từ rỗi); kể Po lấy thêm băng từ, thực thi giải phóng (lúc hệ thống có 10 băng từ rồi) Cuối P2 thực thi giải phóng tài nguyên (cuối hệ thống có 12 băng từ rỗi) Lưu ý, từ trạng thái an tồn dẫn đến trạng thái khơng an toàn Giả sử thời điểm ti, P2 yêu cầu cấp phát thêm băng từ Hệ thống khơng trạng thái an tồn Lúc này, chi tiến trình P| lấy đủ băng từ theo nhu cầu P| trả lại, hệ thống có băng từ Trong đó, Po yêu cầu thêm P2 yêu cầu thêm băng từ, hệ thống đáp ứng nên Po P2 rơi vào trạng thái bế tắc Sai lầm cấp phát thêm băng từ cho P2 Nếu bắt P2 đợi tới tiến trình khác kết thúc giải phóng tài nguyên, hệ thống tránh trạng thái bế tấc Có thể đảm bảo bế tắc không xuất bàng cách bắt hệ thống trạng thái an toàn Ban đầu, hệ thống trạng thái an tồn Khi tiến trình u cầu tài ngun, hệ thống phải định xem liệu có nên cấp phát không Yêu cầu chi đáp ứng sau cấp phát, hệ thống trạng thái an tồn Có thể u cầu hệ thống có đủ tài nguyên, tiến trình phải đợi Do hiệu suất sử dụng tài ngun khơng cao 7.4.2 Thuật toán Đồ thị cấp phát tài nguyên Nếu kiểu tài ngun chì có đối tượng, áp dụng đồ thị cấp phát tài nguyên mục 7.2.2 để tránh bế tắc Ngoài cung Yêu cầu Phân phối có thêm cung Nhu cầu Cung nhu cầu Pj -♦ Rj tiến trinh Pi yêu cầu tài nguyên Rj thời điểm tương lai Cung có hướng giống cung yêu cầu, biểu diễn 123 đ n g đ ứ t n ét K h i tiế n trìn h Pj y ê u c ầ u tà i n g u y ê n Rj, c u n g n h u cầ u Pj —+ Rj b iế n th n h c u n g y ê u cầ u T cm g tự , k h i Pj g iả i p h ó n g Rj, c u n g p h â n p h ố i Rj —» Pi đ ợ c đ ổ i th n h c u n g n h u c ầ u Pi—>Rj G iả s tiế n trìn h Pj y c ầ u tài n g u y ê n Rj Y ê u c ầ u c h i có th ể đ ợ c th ỏ a m ã n k h i v iệ c c h u y ể n c u n g y ê u c ầ u Pi —> Rj th n h c u n g p h â n p h ố i k h ô n g tạ o n ê n c h u trìn h tro n g đ thị c ấ p p h t tài n g u y ê n , đ â y th u ậ t to n x c đ ịn h c h u trìn h tro n g đ thị c ó đ ộ p h ứ c tạ p O (n ^), v i n số tiế n trìn h tro n g h ệ th ố n g N ế u k h n g có ch u trìn h , th ì sa u k h i c ấ p p h t tà i n g u y ê n , h ệ th ố n g v ẫ n tro n g trạ n g th an to n N g ợ c lại, n ế u c ó c h u trìn h , v iệ c c ấ p p h t đ ặ t h ệ th ố n g tro n g trạ n g th k h ô n g an to n D o v ậ y , tiế n trìn h Pj p h ả i đ ợ i T h u ậ t t o n N g â n h n g T h u ậ t to n đ th ị c ấ p p h t tà i n g u y ê n k h ô n g p d ụ n g đ ợ c n ếu k iể u tài n g u y ê n có n h iề u đ ố i tư ợ n g K h i đ ó , p h ả i sử d ụ n g th u ậ t to n N g â n h n g (đ ợ c p d ụ n g b ộ p h ậ n c h o v a y c ủ a n g â n h n g ) N g i v ay (tiế n trìn h ) đ ợ c n g â n h n g (b ộ p h ậ n q u ả n lý tà i n g u y ê n ) c ấ p m ộ t h ạn m ứ c tín d ụ n g (số tiề n c ự c đ i k h c h h n g đ ợ c v a y ) K h c h h n g có th ể v ay d i h n m ứ c tín d ụ n g c ủ a m ìn h K h i v a y th ê m , k h c h h n g c h a p h ải trả n g a y lậ p tứ c k h o ả n v a y trư c V iệ c c h o v a y c ủ a n g â n h n g đ ợ c x c đ ịn h d ự a trê n trạ n g th i c ủ a n g â n h n g , tứ c lư ợ n g tiề n m ặ t c ó sẵ n , h n m ứ c tín d ụ n g v số tiề n v a y c ủ a từ n g k h c h h n g N ế u n g â n h n g c ó th ể th ỏ a m ã n n h ấ t m ộ t k h c h h n g n o đ ó (k ể c ả k h i n g i n y v a y tố i đ a b n g đ ú n g h ạn m ứ c tín d ụ n g ) th ì n g â n h n g có th ể đ ợ i đ ế n th i h n th a n h to n , rồ i th u to n b ộ số tiề n n y v ề , sa u đ ó tiế p tụ c p h ụ c v ụ k h c h h n g k h c N ế u tấ t c ả k h c h h n g đ ề u có th ể v a y đ ợ c th e o n h u c ầ u c ủ a m ìn h (tấ t n h iê n k h ô n g v ợ t q u h n m ứ c tín d ụ n g ) v sa u đ ó trả lại tiề n c h o n g â n h n g th ì n g â n h n g tro n g trạ n g th i a n to n T ro n g th u ậ t to n N g â n h n g , tiế n trìn h th ô n g b o số lư ợ n g c ự c đ ại c c đ ố i tư ợ n g c ủ a m ỗ i k iể u tà i n g u y ê n cầ n th iết K h i tiế n trìn h y ê u c ầ u tà i n g u y ê n , h ệ th ố n g p h ả i x c đ ịn h liệ u sa u c ấ p p h t th ì h ệ th ố n g c ó c ò n tro n g trạ n g th i a n to n k h ô n g ? N ế u c ó , tà i n g u y ê n đ ợ c c ấ p p h t; n g ợ c lại, tiế n trìn h p h ả i đ ợ i S a u đ â y m ộ t số c ấ u trú c d ữ liệ u b iể u d iễ n trạ n g th i h ệ th ố n g v i n số c c tiế n trìn h c ủ a h ệ th ố n g v m số cá c k iể u tà i n g u y ê n : 124 A vailable[1 m ]; s ố lư ợ n g c c tà i n g u y ê n tro n g m i k iể u tài n g u y ê n A vailableQ ] = k, n g h ĩa k iể u tài n g u y ê n Rj có k đ ổ i tư ợ n g c h a c ấ p p h át M ax[1 n, M a trậ n x ác đ ịn h y ê u c ầ u lớ n n h ấ t c ủ a m ỗ i tiế n trìn h Max[i, j] = k, n g h ĩa tiế n trìn h Pj có th ể yêu c ầ u n h iề u n h ấ t k đ ố i tư ợ n g tài n g u y ê n Rj A llocation[1 n, m ]: M a trậ n x c đ ịn h số lư ợ n g đ ố i tư ợ n g c ủ a m ỗ i k iể u tài n g u y ê n h iệ n thòả đ ợ c c ấ p p h t c h o m ỗ i tiế n trìn h A llocation[i, j] = k, n g h ĩa Pj h iệ n th i đ ợ c c ấ p p h t k đ ố i tư ợ n g Rj N eed[1 n, M a trậ n x ác đ ịn h lư ợ n g tà i n g u y ê n c ầ n th iế t củ a m ỗ i tiế n trìn h N eed[i, j] = k, n g h ĩa Pi có th ể cầ n th ê m k đ ố i tư ợ n g tà i n g u y ê n Rj đ ể h o n th n h nhiệm VỊI Như vậy, Need[i, j] = Max[i, j] - Allocationfi, j] G iả sử X v Y v e c to r có đ ộ d ài n T a đ ịn h n g h ĩa X < Y k h i v ch ỉ X [i] < Yfi] với m ọi i = 1, 2, , n V í dụ, n ếu X = {1, 7, 3, 2} v Y = {0, 3, 2, 1}, Y < X Đ ịn h n g h ĩa Y < X n ế u Y < X v Y X C ó th ể x e m m ỗ i h n g m a trận A llo c a tio n v N e e d n h m ộ t v e c to r, k ý h iệ u A llo catio rii v N eedị A llo catio tii x ác đ ịn h n h ữ n g tài n g u y ê n h iệ n th i Pi đ a n g n ắ m g iữ , N eed, xác đ ịn h n h ữ n g tài n g u y ên m Pj c ó th ể y cầ u đ ể h o n iàn h n h iệ m vụ Thuật tốn xác định trạng thái an tồn T h u ậ t to n sau x ác đ ịn h trạ n g th i c ủ a h ệ th ố n g c ó a n to n h a y k h ô n g : Giả sử Work Pinish vector có độ dài m n Khởi tạo Work = Availble Finish[i] = faise với í = 1, n Tìm i thỏa măn hai điều kiện: Finish[í] = false Need) ắ Work Nêu khơng có i nhip thế, chuyển qua bu>ớc Work = Work Allocatiorii; Finish[i] = true Quay lại biPỚc Nếu Finish[i] = true với tất i thỉ hệ thổng trạng thái an toàn Đ ộ p h ứ c tạ p c ủ a th u ậ t to n n y ( m X n^) ^ Thuật toán Yêu cầu Tài nguyên G iả sử R eq u estị v e c to r y ê u c ầ u c ủ a tiế n trìn h Pj R eq u esti[j] = k, n g h ĩa tiến trìn h Pj m u ố n k đ ố i tư ợ n g c ủ a k iể u tài n g u y ê n Rj K h i tiế n trìn h Pj y cầ u tài n g u y ê n , cá c b c sa u đ â y đ ợ c th ự c h iệ n lầ n lư ợ t: 125 Nếu Requesti < Needi, chuyển sang bước Ngược lại, đưa điều kiện lỗi tiến trình vưqrt yêu cẩu tối đa cùa Nếu Requesti < Available, chuyển sang bước Ngưực lại, Pj phải đợi chưa đủ tài nguyên Buộc hệ thống làm nhu» thể cáp phát tài nguyên Pj yêu cầu cách sửa trạng thái sau: a Available = Available - Request b Allocation = Allocationi + Requestj c Needi = Need) - Requesti Nếu hệ thống trạng thái an toàn sau cắp phát tài nguyên, hệ thống thực cấp phát tài nguyên cho Pj Tuy nhiên, trạng thái khơng an tồn, Pj phải đợi Requesti hệ thống khôi phục lại trạng thái cấp phát tài nguyên cũ V í dụ m in h họa: T r n g Iháỉ Allữcatìon Mai Av Ubl e T r a n s thái an tồn k h n g a n tồn RoRi RiR, RoR Ri R, K«KiRỉRj RoR RíRj RoRi RiRi Po 11 14 12 2 11 ] Pl 12 12 12 Pí 0 10 •10 ■4 0 Pj 14 15 0 14 12 P4 10 3 3 10 10 («1 10 (b) Hình 7.3 Ví dụ trạng thái hệ thống G iả sử h ệ th ố n g có k iể u tài n g u y ê n Ro R |, R , R-3 v i số lư ợ n g tư n g ứ n g 8, 5, 9, Y cầ u cự c đại tài n g u y ê n c ũ n g n h lư ợ n g tài n g u y ê n th i cấ p p h át ch o cá c tiế n trìn h đ ợ c m in h h ọ a tro n g H ìn h 7.3a L ợ n g tài n g u y ê n cò n lại c ủ a h ệ th ố n g (1 , 2, 2, 2) T a th ấ y d ãy (P , P , P |, P , Po) an to n , n ên h ệ th ố n g đ a n g tro n g trạ n g th i an to àn H ìn h b m in h h ọ a ví d ụ v ề h ệ th ố n g tro n g trạ n g th i an to n v k h ô n g an to àn P H Á T H IỆ N B É T Á C N ế u k h ô n g n g ă n c h ặ n h o ặ c trá n h , h ệ th ố n g có th ể rơ i v trạ n g th bế tắc K hi đ ó , h ệ th ố n g c ầ n x c đ ịn h b ế tắ c x u ấ t h iệ n c h a v sa u đ ó k hắc p h ụ c n h th ế n o ? C c h ế p h t h iệ n v k h ắc p h ụ c đ ò i h ỏ i n h ữ n g ch i p h í p h ụ 126 trộ i k h ô n g ch ỉ tro n g v iệc ghi n h n h ữ n g th ô n g tin cần th iế t ch o th u ậ t to n p h t h iện , m c ò n n h ữ n g m ấ t m át ch ắ c c h ắ n có tro n g giai đ o ạn k h ăc phục K iể u tà i n g u y ê n c h ỉ c ó m ộ t đ ố i t ợ n g T rư n g h ọ p n ày có th ể áp d ụ n g th u ậ t to n Đ thị đ ợ i - c h đ ợ c x ây d ự n g từ đồ th ị c ấ p p h át tài n g u y ên , b n g cá ch x ó a đ ỉn h k iểu tài n g u y ê n v cá c c u n g liên q u an C h ín h x ác h n , c u n g Pị tớ i Pj tro n g m ộ t đ thị đợ i c h có ý n g h ĩa tiến trìn h Pj đ a n g n ẳm g iữ tài n g u y ê n m Pj cần T n c u n g Pj Pj tro n g đồ th ị đ ợ i - c h v chi k h i đ thị c ấ p p h át tài n g u y ê n tư n g ứ n g c h ứ a h c u n g P| —> Rq v Rq ^ Pj với tài n g u y ê n Rq n G iố n g n h trư c k ia, b ế tắc x u ấ t h iệ n tro n g h ệ th ố n g k h i v chi có ch u trìn h tro n g đồ th ị đ ợ i - ch Đ ể x ác đ ịn h b ế tắc, hệ th ố n g c ầ n x ây d ự n g đồ Ihị đ ợ i - c h v đ ịn h kỳ th ự c thi c h n g trìn h tìm k iế m c h u trìn h đ thị n ày Đ ộ p h ứ c tạ p c ủ a th u ậ t to n O (n^), tro n g đ ó n sổ đ ỉn h c ủ a đ thị K iể u tà i n g u y ê n c ó n h iề u đ ố i t ợ n g N ếu k iể u tài n g u y ê n có n h iề u đối tư ợ n g k h n g áp d ụ n g đ ợ c kỹ th u ậ t Đ thị đ ợ i - ch , m p h ải sử d ụ n g th u ậ t to n x ác đ ịn h b ế tắ c b ằ n g c c h k iể m tra m ọ i d ã y c ấ p p h át T h u ậ t to n có cá c c ấ u trú c d ữ liệu Available[1 m], Allocation[1 n, m] Request[1 n, Giả sử Work Pinish vector tương ứng có độ dài m n Khởi tạo Work = Available Với í = 1, 2, , n Nếu Allocationi ^ Finìsh[i] = false; ngipợc lại, Finish[i] = true Tìm chì số i thỏa mãn hai điều kiện sau: (Finish[i] == false) (Requesti < Work) Nêu khơng tìm đipọ^c i nhip vậy, chuyển sang biPỚc Work = Work + Allocation|.Fjnísh[i] = true, chuyển sang biPỚc Nêu với < í ỉ n mà Finish[i] == false, hệ thống trạng thái bế tắc Hơn nữa, tiến trinh P| bị bế tắc Đ ộ p h ứ c tạ p c ủ a th u ậ t to n ( m X n^) H ệ th ố n g th u h i tài n g u y ê n đ ã cấp p h t c h o Pi (tro n g b c ) n g ay k h i x ác đ ịn h đ ợ c R equesti < W o rk Pi thời k h n g liên q u an đ ến bế tắc (R equesti < W o rk ) D o đ ỏ có th ể lạc q u a n , g iả sử Pi k h ô n g y ê u c ầ u th ê m tài n g u y ê n v sớ m 127 trà lại h ệ th ố n g tấl c ả tài n g u y ê n đ an g n ắ m g iữ N ế u g iả th iế t n y sai, b ế tắc có th ể x ả y v đ ợ c x ác đ ịn h tro n g lần th ự c th i th u ậ t to n k ế tiếp Đ e m in h h ọ a th u ậ t to n , x ét h ệ th ố n g có n ă m tiế n trìn h từ Po tớ i P , b a k iể u tài n g u y ê n Ro, R i, R có số đ ố i tư ợ n g tư n g ứ n g 7, T G iả sử tạ i th i đ iể m To, trạ n g th i c ấ p p h t tài n g u y ê n đ ợ c m in h h ọ a trê n H ìn h 7.4a H ệ th ố n g k h ô n g tro n g tìn h trạ n g bế tắ c, k h i th u ậ t to n th ự c th i, d ã y d ẫ n đ ế n F in ish [i] = tru e v i m ọ i i T u y n h iê n , n ế u P y ê u cầu th ê m m ộ t đ ố i tư ọ n g k iể u tài n g u y ê n R M a trậ n R e q u e st th a y đ ổ i n h tro n g H ìn h b H ệ th ố n g b â y g iờ rơi v o trạ n g th i bế tắc M ặ c d ù có th ể th u hồi tài n g u y ê n đ a n g c ấ p p h t ch o Po, sổ lư ợ n g tài n g u y ê n sẵn có k h n g đ ủ đ p ứ n g cá c y c ầ u c ủ a tiế n trìn h k h ác D o đ ó , b ế tắ c x ảy v liên q u a n đ ế n tiế n trìn h P i, P , P3 v P A llocalion Request Available Request RoRi R} Ro Ri Ri R 0R 1R R0R1R2 0 0 0 0 0 0 2 2 3 0 0 11 10 0 002 0 0 : (a) (b) Hình 7.4 Ví dụ thuật tốn Tránh bế tắc S d ụ n g t h u ậ t to n P h t h iệ n b ế tắ c T h i đ iể m th ự c th i th u ậ t to n p h át h iệ n p h ụ th u ộ c v o h y ế u tố m ứ c đ ộ x u ấ t h iệ n v ản h h n g c ủ a b é tẳc N e u b é tắc x ả y th n g x u y ê n , hệ th ố n g p h ải liên tụ c th ự c th i th u ậ t to n p h t h iện K h i b ế tắ c, tà i n g u y ê n c ấ p p h át ch o n h ữ n g tiế n trìn h b ế tắc bị lãng p h í v th e o th i g ia n , số lư ợ n g tiế n trìn h b ế tắ c g ia tă n g T ro n g trưòm g h ợ p c ự c đ o a n , h ệ th ố n g c ó th ể k iể m tra b ế tắc x u ấ t h iệ n c h a m ỗ i có y ê u c ầ u k h ô n g đ ợ c đ p ứ n g T ro n g trư n g h ợ p n ày , có th ể x ác đ ịn h k h ô n g ch i tiế n trìn h liê n q u a n tớ i b ế tẩc, m c ả tiế n trìn h g ây b ế tắc T ất n h iê n , th ự c h iệ n thưòm g x u y ê n th u ậ t to n p h t h iệ n b ế tắ c g â y ch i p h í p h ụ trộ i lớ n G iải p h p tố n k é m h n th ự c h iệ n tầ n su ấ t th ấ p V í d ụ , m ộ t lần m ộ t g iờ , h o ặc k h i h iệ u s u ấ t sử d ụ n g C P U g iả m x u ố n g d i m ộ t n g ỡ n g n đ ó (b ế tắ c m g iả m th ô n g lư ợ n g h ệ 128 ih ố n g c ũ n g n h h iệu su ất sử d ụ n g C P U ) N ế u th ự c thi th u ậ t to án p h át h iện th i đ iể m n g ẫu n h iên , có th ể có n h iề u ch u trìn h b ế tắc tro n g đ thị tài n g u y ên K h i đ ó , k h n g xác đ ịn h đ ợ c tiế n trìn h n n g u y ên n h ân gây bế tắc K H ẤC PHỤC BÉ TẮC L àm th ế n đ ể k h ắc p h ụ c bế tắ c ? G iải p h p đ ầu tiê n th ô n g b áo ch o n g i q u n trị n g i q u án trị có trác h n h iệ m x lý G iải p h áp th ứ hai đ ề ch o h ệ th ố n g tự đ ộ n g p h ụ c hồi C ó hai lự a c h ọ n để p h v ỡ bế tắc; - rhứ n h ất, loại bỏ m ột số tiến trình để phá v ỡ chu trinh - Thứ h ai, th u hồi tài n g u y ên cù a tiế n trìn h bế tắc C h ấ m d ứ t t iế n tr ìn h í ỉệ th ố n g th u hồi tài n g u y ên cùa tiế n trìn h bị ch ấ m dứt C ó hai giải p h p c h ấ m d ứ t: C h ấ m d ứ t tất cà tiến trìn h b ế tẳc: P h v ỡ to n b ộ chu trìn h bế tắc, n h n g p h í tổ n k h lớ n n h iề u tiế n trìn h b ế tắc đ ã th ự c thi tro n g th i g ia n d ài, m ộ t p h ần k ết q u ả ih ự c th i bị loại b ỏ sa u đ ó có th ể p h ải th ự c h iệ n lại L ần lư ợ t ch ấm d ứ t từ n g tiế n trìn h ch o tớ i p h v ỡ ch u trìn h bế tẳc C ứ sa u k h i k ết th ú c m ộ t tiế n trìn h , hệ th ố n g k iểm tra x em b ế tắc cịn h ay k h n g V iệc c h ấ m d ứ t tiế n trìn h có th ể k h n g đom g iản N ế u ch ấ m d ứ t m ộ t tiế n trìn h đ a n g tro n g q u trìn h cập n h ật n ie g ây lỗi ch o file N ếu sử d ụ n g p h n g p h p ( ), h ệ th ố n g p h ải xác đ ịn h th ứ tự c h ấ m d ứ t tiến trìn h (h o ặc n h ó m tiế n trìn h ) đ ể p h v ỡ b ế tấc Q u y ế t đ ịn h n ày p h ụ th u ộ c vào c h ín h sách cù a h ệ th ố n g , tư n g tự n h v ấn đ ề đ iề u ph ố i C P U N ó i c h u n g , đ ây v ấn đề kin h tế, n ên c h ấ m d ứ t tiế n trìn h với chi ph í th ấ p n h ất, d o đ ó phải tín h đến: Đ ộ UTJ tiê n củ a tiến trình T iế n trin h th ự c th i đ ợ c bao lâu, cầ n th ê m b ao lâu đ ể kết th ú c ? T iế n trìn h sử d ụ n g b ao n h iê u tài n g u y ê n v n h ữ n g k iểu tài n g u y ê n gi (liệu có d ễ d n g ch iếm đ o ạt k h ô n g )? 9- GTNWOH-DN Ị29 T iế n trìn h cầ n th ê m b ao n h iê u tài n g u y ên để h o àn th n h ? C ó b ao n h iê u tiế n trìn h cần bị ch ấm d ứ t? L iệu tiế n trìn h có đ ị i hỏi tư n g tác vớ i n g i d ù n g d ạn g lô? C h iế m đ o t tà i n g u y ê n C ó th ể ch ấ m d ứ t b ế tắ c b ằn g cá ch lần lư ợ t th u hồi tài n g u y ê n c ủ a m ộ t số tiế n trìn h v c h u y ể n c h ú n g ch o n h ữ n g tiế n trìn h k h ác c h o tới k h i ch u trìn h b ế tắc bị p h vỡ N ế u sử d ụ n g cá ch n ày , có v ấ n đ ề cần xét: L ự a c h ọ n n n n h â n : T iến trìn h bị th u hồ i tài n g u y ê n đ ợ c gọi n ạn n h ân T ro n g q u trìn h th ự c h iệ n , hệ th ố n g q u y ế t đ ịn h th ứ tự thu hồi đ ể g iảm th iể u ch i phí p h ụ trội đ ến m ứ c th ấ p C c y ếu tố phải tín h đ ến n h số lư ợ n g tài n g u y ên m tiế n trìn h đ an g n ắ m giữ , th i g ian th ự c th i c ủ a tiế n trình Q u a y iu i: R õ ràn g tiế n trìn h "nạn n h ân " k h ô n g th ể tiếp tụ c ch ạy b ìn h th n g d o th iế u tài n g u y ên H ệ th ố n g p h ải đ a tiế n trìn h n y q u ay lại m ộ t trạ n g th an to n , để sau n ày có th ể kh i p h ụ c lại N h n g k h ó x ác đ ịn h th ế n trạn g th an to n ? D o vậy, cá c h g iải q u y ế t đ n g iản n h ấ t q u ay lui to n (ch ấm d ứ t tiế n trìn h v sa u đ k h i đ ộ n g lại) D ĩ n h iê n , n ếu q u ay lại trạ n g th v a đ ủ đ ể ch ấm d ứ t bế tắc h iệ u q u ả h n n h iều N h n g kh i đ ó hệ th ố n g p h ải d u y trì n h iề u th n g tin trạ n g thái c ủ a tiế n trìn h đ an g chạy C h ế t đ ó i: H ệ th ố n g p hải đ ảm b ảo k h ô n g x ảy h iệ n tư ợ n g c h ế t đói (có tiế n trìn h lu n lu n bị ch ọ n làm "n ạn n h ân ") T ro n g h ệ th ố n g đ ặt y ếu tố k in h tế lên h n g đ ầu , có th ể có n h ữ n g tiế n trìn h lu ô n bị ch ọ n làm n ạn n h ân k h ô n g thể th ự c thi H ệ th ố n g có th ể g iả i q u y ế t b ằn g c c h g iớ i h ạn số lần bị ch ọ n làm "n ạn n h ân " cù a m ộ t tiế n trìn h 7 N H Ậ N X É T T rạ n g th i b ế tắc x u ấ t h iệ n kh i n h iề u tiế n trìn h đ a n g c h đ ợ i vô đ ịn h , m ộ t k iệ n đ ợ c m ộ t tiế n trìn h k h ác c ũ n g đ a n g tro n g trạ n g th i đợ i g ây v ề m ặt n g u y ê n tắ c, có b a p h n g p h p x lý b ế tắc: B u ộ c h ệ th ố n g k h ô n g b ao g iờ ro i v trạ n g th bế tắc C h o p h é p h ệ th ố n g rơ i v trạ n g th b ế tắ c , sa u đ ó k h ắc p h ụ c B ò q u a m ọ i v ấn đ ề, g iả đ ịn h b ế tắ c k h ô n g b a o g iờ x u ấ t h iệ n 130 Đ iều k iệ n cần d ể b ế tắc x u ất h iệ n là: Đ ộ c q u y ề n tru y x u ất; g iữ v ch ; k h ô n g c h iế m đ o t v v ò n g đợ i Đ e n g ă n ch ặ n b ế tắc, hệ th ố n g chi cần n g ăn c n x u ất h iệ n c ù a n h ất m ộ t tro n g b ố n đ iề u k iệ n G iải p h p trá n h bế tắc k h ác là, tiế n trìn h b áo trư c v ề cá c h sử d ụ n g tài n g u y ê n củ a m ìn h T h u ậ t to n N g ân h n g cầ n p h ải b iế t sổ lư ợ n g lớ n n h ấ t m ỗ i lớ p tài n g u y ên tiế n trìn h y ê u cầu N ếu h ệ th ố n g k h ô n g có phưofng p h p n đ ể b ảo đ ảm bế tắ c k h ô n g x u ấ t h iện , thi cần p h ải p h át h iện v k h ắc p h ụ c b é tắc T h u ậ t to n p h t h iệ n đ ợ c sử d ụ n g đ ể x ác đ ịn h bế tắc x u ấ t h iệ n c h a , n ế u có , hệ th ố n g p h ải k hắc p h ụ c b ằ n g c c h loại bỏ h o ặc th u hồi tài n g u y ê n cù a tiế n trìn h bế tắc T ro n g h ệ ih ố n g c h ọ n lự a "n ạn n h ân " d ự a y ếu tố chi p hí, cần c h ú ý đ ến h iệ n tư ợ n g "c h ết i" C ÂU HỎI ỊN TẬP Trinh bày mơ hình bế tắc T rình b y c c đ iều kiện x ảy b ế tắ c v c c giải p h p tư n g ứ n g T rình b y c c giải p h p n g ă n c h ặ n b ế tắ c Trình b y c c phương p h p tránh v phát b ế tắc 131 ... hóa hành vi tiến trình Thời gian Chỉ thị l *) ổ 10 11 12 13 5000 50 01 iõõ 21 104 10 5 23 20 Hết g iờ 10 5 10 0 10 1 lo : 10 3 2A 12 (XW 28 12 005 29 10 0 10 1 30 10 1 10 2 10 3 10 4 17 IS 19 >0 » 27 — Hết... 2 01 Chương 11 HỆ THỐNG FILE 202 11 .1 FILE 202 11 .2 CÀI ĐẠT PILEỞMỨC THÁP 209 11 .3 HỆTHỒNG THƯ MỤC 219 11 .4 BẢO VỆ PILECHIASỂ 226 11 .5 TÍNH THỒNG NHAT... lỗ 15 Chỉ thị 500: 8000 80 01 800: 8003 ỈA Thời gian vào/ra 12 000 12 0 01 12002 12 003 31 lo: 32 33 w 10 3 10 4 10 5 35 36 50« 5007 37 5008 38 3P 40 5009 5 010 50H 41 4: 10 0 10 1 43 44 lo : 10 3 4Ĩ 10 1

Ngày đăng: 08/05/2021, 19:58

Xem thêm:

TỪ KHÓA LIÊN QUAN

w