Bài giảng Điều độ các tiến trình - ThS. Nguyễn Thị Thùy Linh

120 8 0
Bài giảng Điều độ các tiến trình - ThS. Nguyễn Thị Thùy Linh

Đ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

Bài giảng Điều độ các tiến trình cung cấp cho người học những kiến thức như: Các khái niệm; Tiêu chí cho việc lập lịch biểu; Các giải thuật lập lịch biểu; Lập lịch biểu đa xử lý; Lập lịch biểu thời gian thực; Đánh giá giải thuật.

TRƯỜNG ĐH ĐỒNG THÁP KHOA SP TOÁN - TIN Bài giảng ĐIỀU ĐỘ CÁC TIẾN TRÌNH Gỉang viên : Nguyễn Thị Thùy Linh Email: nttlinh@dthu.edu.vn NỘI DUNG Các khái niệm Tiêu chí cho việc lập lịch biểu Các giải thuật lập lịch biểu Lập lịch biểu đa xử lý Lập lịch biểu thời gian thực Đánh giá giải thuật Các khái niệm  Kỹ thuật đa chương giúp cho việc sử dụng CPU đạt hiệu cao  Chu kỳ CPU + chờ đợi I/O, thực thi trình bao gồm chu kỳ là: sử dụng CPU để thực thi chờ đợi I/O  Sự phân bố sử dụng CPU Bộ định thời CPU  Chọn số trình sẵn sàng nhớ giao CPU cho thực thi  Quyết định lập lịch biểu cho CPU diễn trình:  Chuyển từ trạng thái Running sang trạng thái Waiting  Chuyển từ trạng thái Running sang trạng thái Ready  Chuyển từ trạng thái Waiting sang trạng thái Ready  Kết thúc  Việc lập lịch biểu theo kiểu gọi không ưu tiên  Tất giải pháp lập lịch biểu khác gọi có ưu tiên Dispatcher  Module dispatcher giao cho CPU trình chọn lập lịch biểu ngắn kỳ, bao gồm:  Chuyển ngữ cảnh  Chuyển sang chế độ người dùng  Nhảy tới vị trí chương trình người dùng để khởi động lại chương trình  Độ trễ dispatch, thời gian dispatcher bỏ để ngưng trình khởi động trình khác Dispatcher (tt) Tiêu chí cho việc lập lịch biểu  Hiệu suất sử dụng CPU, nghĩa giữ CPU bận rộn  Năng lực truyền qua (Throughput), số lượng q trình hồn thành việc thực thi đơn vị thời gian  Thời gian xoay vịng (hồn lại,hịan thành) – Turnaround time, lượng thời gian thực thi trình=Thời gian chờ đợi để tải vào nhớ + Chờ đợi hàng đợi sẵn sàng + Thực thi CPU thao tác vào  Thời gian chờ đợi: lượng thời gian tiến trình bỏ nằm hàng đợi sẵn sàng Tiêu chí cho việc lập lịch biểu (tt)  Thời gian đáp ứng: lượng thời gian từ lúc yêu cầu đệ trình tín hiệu trả lời sản sinh (mơi trường chia thời gian) Tiêu chí tối ưu hóa  Hiệu suất sử dụng CPU tối đa  Năng lực truyền qua tối đa  Thời gian xoay vòng tối thiểu  Thời gian chờ đợi tối thiểu  Thời gian đáp ứng tối thiểu Giải thuật First – Come, First – Served (FCFS) Process Thg sử dụng CPU (ms) P1 24 P2 P3 Giả sử trình xuất theo thứ tự: P1, P2, P3, biểu đồ Gantt cho việc lịch biểu P1 P2 24 P3 27 30  Thời gian chờ P1 = 0ms, P2 = 24ms, P3 = 27ms  Thời gian chờ đợi trung bình: (0 + 24 + 27)/3 = 17ms 10 Request = vector yêu cầu cho trình Pi Nếu Request[i,j] = k trình Pi muốn k thể tài nguyên Rj Nếu Request[i,j]  Need[i,j] nhảy sang bước Ngược lại, báo lỗi trình vượt số tài nguyên dự định sử dụng Nếu Request[i,j]  Available[j], nhảy sang bước Ngược lại Pi phải chờ, tài nguyên u cầu khơng sẵn dùng Giả vờ cấp tài nguyên cho Pi cách sửa đổi trạng thái sau: Available[j] = Available[j] – Request[i,j]; Allocation[i,j] = Allocation[i,j] + Request[i,j]; Need[i,j] = Need[i,j] – Request[i,j] Nếu an toàn  tài nguyên cấp cho Pi  Nếu khơng an tồn  Pi phải đợi, trạng thái cấp phát tài nguyên cũ phục hồi  106   Kiểm tra Request  Available (nghĩa là, (1,0,2)  (3,3,2))  true Allocation Need Available ABC ABC ABC P0 010 743 230 P1 302 020 P2 302 600 P3 211 011 P4 002 431 Sự thực giải thuật an toàn cho thấy dãy thõa mãn yêu cầu an toàn Vậy cấp phát cho P1 Vì hệ thống vẫn đủ tài nguyên để cấp phát liền cho P1 107 BÀI TẬP     Giả sử trạng hệ thống thời điểm T0 (slide 30) u cầu (3,3,0) P4 cấp khơng? Yêu cầu (0,2,0) P0 cấp không?  Cho phép hệ thống bước vào trạng thái deadlock  Phát Deadlock dùng đồ thị chờ (wait-for), khắc phục cách gở bỏ cạnh đồ thị chờ tương đương cạnh đỉnh tài nguyên đồ thị cấp phát tài ngun  TN có nhiều thể dùng giải thuật phát Deadlock (slide 38) Khắc phục cách kết thúc trình  TN 109  Duy trì đồ thị wait-for  Các nút trình  Pi  Pj Pi đợi Pj Thường xuyên thực giải thuật tìm kiếm chu trình đồ thị chờ  Một giải thuật phát chu trình đồ thị yêu cầu theo thứ tự n2 thao tác, với n số cạnh đồ thị  110 Đồ thị cấp phát tài nguyên Đồ thị wait-for tương ứng 111  Available: Vector có chiều dài m số lượng thể sẵn dùng loại tài nguyên  Allocation: Một ma trận n x m định nghĩa số lượng thể loại tài nguyên cấp phát cho tiến trình  Request: Một ma trận n x m lượng yêu cầu trình Nếu Request [i,j] = k, trình Pi yêu cầu thêm k thể tài nguyên loại Rj 112 Đặt Work Finish vectors có chiều dài tương ứng m n, khởi tạo: (a) Work = Available (b) For i = 1,2, …, n if Allocation[i]  then Finish[i] = false; else Finish[i] = true; Tìm số i để hai điều kiện sau thõa: (a) Finish[i] == false (b) Request[i]  Work[i] Nếu không tồn i, nhảy đến bước 113 3.Work = Work + Allocation[i] Finish[i] = true Nhảy đến bước If Finish[i] == false, for some i,  i  n, then hệ thống trạng thái deadlock Ngoài ra, if Finish[i] == false, then Pi bị deadlock Giải thuật yêu cầu O(m x n2) thao tác để phát hệ thống có bị deadlock hay khơng 114    Năm trình P0 đến P4; có kiểu tài nguyên A (7 thể hiện), B (2 thể hiện), C (6 thể hiện) Hiện trạng thời điểm T0: Allocation Request Available ABC ABC ABC P0 010 000 000 P1 200 202 P2 303 000 P3 211 100 P4 002 002 Chuỗi dẫn đến Finish[i] = true với i 115   P2 yêu cầu thêm thể tài nguyên loại C Request ABC P0 000 P1 202 P2 001 P3 100 P4 002 Trạng thái hệ thống?   P0 không yêu cầu thêm tài nguyên nào, hệ thống vẫn không đủ tài nguyên để thõa mãn nhu cầu trình khác Deadlock xảy ra, bao gồm trình P1, P2, P3, P4 116  Sử dụng giải thuật thường xuyên phụ thuộc vào:  Có deadlock có khả xảy thường xuyên nào?  Bao nhiêu trình cần phải quay lại? Một trình để mở nút chu trình  Nếu giải thuật phát deadlock xảy q ít, có nhiều chu trình xuất đồ thị Khi đó, khó bảo q trình số trình bị deadlock gây deadlock  117  Hủy bỏ tất trình bị deadlock ( Finish[i]:=False)   Hủy bỏ lần trình chu trình deadlock bị loại trừ Thế nên hủy bỏ trình theo thứ tự nào?       Độ ưu tiên trình trình diễn lâu chưa cịn tiếp diễn nữa? Số tài nguyên mà trình sử dụng Số tài nguyên mà trình cần phải tranh chấp thêm Có q trình cần phải dừng trình trình tương tác hay theo trình bó? 118 Chọn q trình nạn nhân dựa vào giá trị nhỏ  Rollback – quay lại trạng thái an tồn đó, khởi động lại q trình từ trạng thái  Starvation – q trình liên tục chọn nạn nhân, làm khơng thể kết thúc  Giải pháp:  119  Kết hợp giải pháp    Ngăn chặn - Prevention Tránh - Avoidance Phát - Detection cho phép áp dụng giải pháp tối ưu cho loại tài nguyên hệ thống  Phân chia tài nguyên thành lớp theo thứ tự phân cấp  Sử dụng kỹ thuật thích hợp để khống chế deadlock lớp tài nguyên 120 ... quantum=10 quantum=25 FCFS TRƯỜNG ĐH ĐỒNG THÁP KHOA SP TOÁN - TIN Bài giảng Hệ điều hành Chủ đề ĐỒNG BỘ HÓA QUÁ TRÌNH Giảng viên : Nguyễn Thị Thùy Linh NỘI DUNG 36 Cơ sở cho việc đồng hóa Vấn đề miền... CPU lần thứ n + ,

Ngày đăng: 13/07/2021, 11:37

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

Tài liệu liên quan