Giáo trình hướng dẫn phân tích tập hợp các tiến trình hoạt động của hệ thống singleprocessor p9

5 12 0
Giáo trình hướng dẫn phân tích tập hợp các tiến trình hoạt động của hệ thống singleprocessor p9

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

Thông tin tài liệu

Tham khảo tài liệu ''giáo trình hướng dẫn phân tích tập hợp các tiến trình hoạt động của hệ thống singleprocessor p9'', công nghệ thông tin, hệ điều hành phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

y o c u -tr a c k c Procedure Reader(); Begin Repeat Send (Sever,Requesread); Receive(sever,value); Print(value); Until F End; Procedure Writer(); Begin Repeat ; Send (Sever, Requeswrite,value); Receive(sever, okwrite); Until F End; ParEnd End { } I.18 Tắc nghẽn (Deadlock) chống tắc nghẽn II.4.5 Tắc nghẽn Tất tượng tắc nghẽn bắt nguồn từ xung đột tài nguyên hai nhiều tiến trình hoạt động đồng thời hệ thống Tài nguyên ổ đĩa, record sở liệu, hay không gian địa nhớ Sau số ví dụ để minh hoạ cho điều Ví dụ 1: 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 nguyên 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 Ví dụ minh hoạ sơ đồ hình Tắc nghẽn thường xảy xung đột tài nguyên thuộc loại không phân chia được, số trường hợp xảy với tài nguyên phân chia Ví dụ sau trường hợp tắc nghẽn xung đột tài nguyên nhớ, tài nguyên thuộc loại phân chia .d o m o w w w d o C lic k to bu y bu to k lic C w w w N O W ! h a n g e Vi e N PD ! XC er O W F- w m h a n g e Vi e w PD XC er F- c u -tr a c k c y o c u -tr a c k c tài nguyên R2 Giữ Yêu cầu Process P1 Process P2 Giữ u cầu tài ngun R1 Hình 2.6: Chờ đợi vịng trịn Ví dụ 2: Giả sử khơng gian nhớ cịn trống 200Kb, hệ thống có hai tiến trình P1 P2 hoạt động đồng thời P1 P2 yêu cầu sử dụng nhớ sau: P1 … Request1 80Kb … Request2 30Kb … P2 … Request1 70Kb … Request2 40Kb … Tắc nghẽn xảy hai tiến trình yêu cầu thêm nhớ lần thứ hai Tại thời điểm không gian nhớ trống 50Kb, lớn lượng nhớ mà tiến trình yêu cầu (30Kb 40Kb), hai tiến trình đồng thời yêu cầu thêm nhớ, nên hệ thống không để đáp ứng được, tắc nghẽn xảy Ví dụ 3: Trong ứng dụng sở liệu, chương trình khố vài record mà sử dụng, để dành quyền điều khiển cho Nếu tiến trình P1 khố record R1, tiến trình P2 khố record R2, sau tiến trình lại cố gắng khố record tiến trình khác Tắc nghẽn xảy Như tắc nghẽn tượng: Trong hệ thống xuất tập tiến trình, mà tiến trình tập chờ cấp tài nguyên, mà tài nguyê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 Trong trường hợp ví dụ 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 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 .d o m o w w w d o C lic k to bu y bu to k lic C w w w N O W ! h a n g e Vi e N PD ! XC er O W F- w m h a n g e Vi e w PD XC er F- c u -tr a c k c y o c u -tr a c k c Trong trường hợp ví dụ trên: hai tiến trình khơng đồng thời u cầu thêm nhớ tắc nghẽn khơng thể xảy ra, hai tiến trình đồng thời yêu cầu thêm nhớ hệ điều hành phải kiểm tra lượng nhớ trống hệ thống, khơng đáp ứng cho hai tiến trình hệ điều hành phải có chế ngăn chặn (từ chối) tiến trình cho tiến trình quyền sử dụng nhớ (đáp ứng) tắc nghẽn xảy Tuy nhiên để giải vấn đề tắc nghẽn thiếu nhớ, hệ điều hành thường sử dụng chế nhớ ảo Bộ nhớ ảo phần quan hệ điều hành mà khảo sát chương Quản lý nhớ tài liệu 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 tồ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.4.6 Điều kiện hình thành tắt nghẽn Năm 1971, Coffman đưa chứng tỏ rằng, hệ thống tồn đồng thời bốn điều kiện sau hệ thống xảy tắt nghẽn: Loại trừ lẫn (mutual excution) hay độc quyền sử dụng: Đối với tài ngun khơng phân chia thời điểm có tiến trình sử dụng tài nguyên Giữ đợi (hold and wait): Một tiến trình chiếm giữ tài nguyên, lại xin cấp phát thêm tài nguyên Khơng ưu tiên (No preemption): Khơng có tài ngun giải phóng từ tiến trình chiếm giữ Trong nhiều trường hợp điều kiện cần thiết hệ thống Sự thực độc quyền cần thiết để bảo đảm tính đắn kết tính tồn vẹn liệu (chúng ta thấy điều phần tài nguyên găng đây) Tương tự, ưu tiên thực cách tuỳ tiện, đặt biệt tài nguyên có liên quan với nhau, việc giải phóng từ tiến trình ảnh hưởng đên kết xử lý tiến trình khác Sự tắc nghẽn tồn với ba điều kiện trên, khơng xảy với điều kiện Để chắn tắc nghẽn xảy cần phải có điều kiện thư tư Đợi vòng tròn (Circular wait): Đây trường hợp ví dụ mà nêu Tức là, tiến trình chiếm giữ tài nguyên mà tiến d o m o w w w d o C lic k to bu y bu to k lic C w w w N O W ! h a n g e Vi e N PD ! XC er O W F- w m h a n g e Vi e w PD XC er F- c u -tr a c k c y o c u -tr a c k c trình khác cần Ba điều kiện đầu điều kiện cần điều kiện đủ để xảy tắc nghẽn Điều kiện thứ tư kết tất yếu từ ba điều kiện đầu II.4.7 Ngăn chặn tắc nghẽn (Deadlock Prevention) Ngăn chặn tắc nghẽn thiết kế hệ thống cho tượng tắc nghẽn bị loại trừ Các phương thức ngăn chặn tắc nghẽn tập trung giải bốn điều kiện gây tắc nghẽn, cho hệ thống xảy đồng thời bốn điều kiện tắc nghẽn:  Đối với điều kiện độc quyền: Điều kiện gần không tránh khỏi, độc quyền cần thiết tài nguyên thuộc loại phân chia biến chung, tập tin chia sẻ, hệ điều hành cần phải hỗ trợ độc quyền tài nguyên Tuy nhiên, với tài nguyên thuộc loại không phân chia hệ điều hành sử dụng kỹ thuật SPOOL (Smulataneous Peripheral Operation Online) để tạo nhiều tài nguyên ảo cung cấp cho tiến trình đồng thời  Đối với điều kiện giữ đợi: Điều kiện ngăn chặn cách yêu cầu tiến trình u cầu tất tài ngun mà cần thời điểm tiến trình bị khoá (blocked) yêu cầu tài nguyên hệ điều hành đáp ứng Phương pháp khơng hiệu Thứ nhất, tiến trình phải đợi khoảng thời gian dài để có đủ tài nguyên có thẻ chuyển sang hoạt động được, tiến trình cần số tài ngun số hoạt động được, sau u cầu tiếp Thứ hai, lãng phí tài ngun, tiến trình nhiều tài ngun mà đến kết thúc tiến trình sử dụng, tài nguyên mà tiến trình khác cần Ở hệ điều hành tổ chức phân lớp tài nguyên hệ thống Theo tiến trình phải trả tài ngun mức thấp cấp phát tài nguyên cấp cao  Đối với điều kiện No preemption: Điều kiện ngăn chặn cách, tiến trình bị rơi vào trạng thái khố, hệ điều hành thu hồi tài ngun tiến trình bị khố để cấp phát cho tiến trình khác cấp lại đầy đủ tài nguyên cho tiến trình tiến trình đưa khỏi trạng thái khố  Đối với điều kiện chờ đợi vòng tròn: Điều kiện ngăn chặn cách phân lớp tài nguyên hệ thống Theo đó, tiến trình cấp phát tài ngun lớp L, sau yêu cầu tài nguyên lớp thấp lớp L II.4.8 Nhận biết tắc nghẽn (Deadlock Detection) Các phương thức ngăn chặn tắc nghẽn tập trung vào việc hạn chế quyền truy xuất đến tài nguyên áp đặt ràng buộc lên tiến trình Điều ảnh hưởng đến mục tiêu khai thác hiệu tài nguyên hệ điều hành, ngăn chặn d o m o w w w d o C lic k to bu y bu to k lic C w w w N O W ! h a n g e Vi e N PD ! XC er O W F- w m h a n g e Vi e w PD XC er F- c u -tr a c k c y o c u -tr a c k c độc quyền tài nguyên ví dụ, hệ điều hành phải cài đặt chế độc quyền để bảo vệc tài nguyên chia sẻ Và phân tích việc cấp phát tài nguyên lần cho tiến trình để ngăn chặn tượng hold and wait tồn vài hạn chế Các hệ điều hành giải vấn đề tắc nghẽn theo hướng phát tắc nghẽn để tìm cách khỏi tắc nghẽn Phát tắc nghẽn không giới hạn truy xuất tài nguyên không áp đặt ràng buộc lên tiến trình Với phương thức phát tắc nghẽn, yêu cầu cấp phát tài nguyên đáp ứng Để phát tắc nghẽn hệ điều hành thường cài đặt thuật toán để phát hệ thống có tồn tượng chờ đợi vịng trịn hay khơng Việc kiểm tra, để xem thử hệ thống có khả xảy tắc nghẽn hay khơng thực liên tục có yêu cầu tài nguyên, thực theo chu kỳ, phụ thuộc vào tắc nghẽn xảy Việc kiểm tra tắc nghẽn có yêu cầu tài nguyên nhận biết khả xảy tắc nghẽn nhanh hơn, thuật tốn áp dụng đơn giản dự vào thay đổi trạng thái hệ thống Tuy nhiên, hệ thống phải tốn nhiều thời gian cho lần kiểm tra tắc nghẽn Mỗi tắc nghẽn phát hiện, hệ điều hành thực vài giải pháp để thoát khỏi tắc nghẽn Sau vài giải pháp có thể: Thốt tất tiến trình bị tắc nghẽn Đây giải pháp đơn giản nhất, thường hệ điều hành sử dụng Sao lưu lại tiến trình bị tắc nghẽn vài điểm kiển tra định nghĩa trước, sau khởi động lại tất tiến trình Giải pháp yêu cầu hệ điều hành phải lưu lại thông tin cần thiết điểm dừng tiến trình, đặc biệt trỏ lệnh tài nguyên tiến trình sử dụng, để khởi động lại tiến trình Giải pháp có nguy xuất tắc nghẽn trở lại cao, tất tiến trình reset trở lại việc tranh chấp tài ngun khó tránh khỏi Ngồi hệ điều hành thường phí cao cho việc tạm dừng tái kích hoạt tiến trình Chỉ kết thúc tiến trình tập tiến trình bị tắc nghẽn, thu hồi tài nguyên tiến trình này, để cấp phát cho tiến trình tập tiến trình tắc nghẽn để giúp tiến trình khỏi tắc nghẽn, gọi lại thuật toán kiểm tra tắc nghẽn để xem hệ thống khỏi tắc nghẽn hay chưa, dừng, chưa tiếp tục giải phóng thêm tiến trình khác Và tất tiến trình tập tiến trình tắc nghẽn khỏi tình trạng tắc nghẽn Trong giả pháp vấn đề đặt hệ điều hành nên chọn tiến trình để giải phóng dựa vào tiêu chuẩn để chọn lựa cho chi phí để giải phóng tắc nghẽn thấp Tập trung toàn quyền ưu tiên sử dụng tài nguyên cho tiến trình, d o m o w w w d o C lic k to bu y bu to k lic C w w w N O W ! h a n g e Vi e N PD ! XC er O W F- w m h a n g e Vi e w PD XC er F- c u -tr a c k c ... Nếu tiến trình P1 khố record R1, tiến trình P2 khố record R2, sau tiến trình lại cố gắng khố record tiến trình khác Tắc nghẽn xảy Như tắc nghẽn tượng: Trong hệ thống xuất tập tiến trình, mà tiế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.4.6 Điều kiện hình thành tắt nghẽn Năm 1971, Coffman đưa chứng tỏ rằng, hệ thống. .. ngăn chặn cách, tiến trình bị rơi vào trạng thái khố, hệ điều hành thu hồi tài ngun tiến trình bị khố để cấp phát cho tiến trình khác cấp lại đầy đủ tài nguyên cho tiến trình tiến trình đưa khỏi

Ngày đăng: 08/05/2021, 13:57

Tài liệu cùng người dùng

Tài liệu liên quan