HRN là nguyên tắc không hoán đổi và mức ưu tiên động, theo đó mức ưu tiên của tiến trình phụ thuộc không chỉ thời gian cần thực hiện nó mà còn cả thời gian nó phải chờ được phục vụ. Dễ[r]
(1)Bài 3: Lập lịch
p
Nội dung
Tiêu chuẩn lập lịch Mức ưu tiên
Các giải thuật lập lịch
Đa xử lý
Các mô hình kết nối – thiếu
Hệ điều hành hệ thống đa xử lý
Mục tiêu Thời lượng học
Nắm kiến thức liên quan đến
mục tiêu việc lập lịch
Biết thuật toán lập lịch
Trình bày thuật tốn lập lịch
(2)Bài 3: Lập lịch TÌNH HUỐNG DẪN NHẬP
Tình
Trong máy tính, ta chạy đồng thời lúc nhiều ứng dụng như:
Nghe nhạc, xem phim
Chương trình Word, PowerPoint
Xem đồng hồ
Xem lịch
Vào Internet
…
Câu hỏi
(3)Bài 3: Lập lịch 3.1. Tiêu chuẩn lập lịch
Các mức lập lịch:
Có thể chia thành mức lập lịch khác nhau:
Lập lịch mức cao
Lập lịch mức
Lập lịch mức thấp
Lập lịch mức cao, hay lập lịch cho task: công cụ mức xác định tốn (chương trình) đưa vào hệ thống, nghĩa tạo tiến trình tương ứng với chương trình
Lập lịch mức giữa: mức xác định tiến trình sử dụng xử lý Bộ lập lịch mức phản ứng với thay đổi hệ thống Nó dừng kích hoạt tiến trình để đảm bảo hệ thống hoạt động bình thường, đạt thông số kỹ thuật đề Lập lịch mức thấp: công cụ mức xác định Ready Process
quyền sử dụng xử lý, thường gọi Dispacher
Các mục tiêu việc lập lịch:
Cơ chế lập lịch cần đạt mục tiêu sau:
Đúng đắn, nghĩa chế lập lịch cần phục vụ tiến trình “cơng bằng”, tránh tình có tiến trình bị rơi vào tình trạng chờ vô hạn
Đảm bảo khả thông qua lớn nhất, tức tiến tới phục vụ số lượng tiến trình nhiều đơn vị thời gian
Thời gian phản ứng chấp nhận với tất tiến trình tối thiểu chi phí, tài nguyên hệ thống
Cân đối việc sử dụng tài nguyên, cần cố gắng nâng cao hiệu suất sử dụng tài nguyên, theo cần ưu tiên tiến trình sử dụng tài nguyên giá thành thấp
Đảm bảo cân đối thời gian trả lời hiệu suất sử dụng tài nguyên Cách tốt để giảm thời gian trả lời có đủ tài nguyên dự trữ để có yêu cầu cấp phát lập tức, điều dẫn tới lãng phí tài nguyên
New
Ready Suspended
Suspended
Blocked Blocked
Running
Terminated Lập lịch mức cao
Lập lịch mức giữa
Lập lịch mức thấp
Lập lịch mức thấp Lập lịch mức cao
(4)Bài 3: Lập lịch
Ngăn ngừa tình chờ vơ hạn
Cần quan tâm tiến trình sử dụng tài nguyên quan trọng, tránh tình trạng tiến trình có mức ưu tiên thấp chiếm tài nguyên mà tiến trình mức ưu tiên cao cần Nếu tài nguyên khơng chia sẻ hệ điều hành cần tạo điều kiện để tiến trình giải phóng tài ngun nhanh Chúng ta thấy nhiều yêu cầu, mục tiêu trái ngược nhau, việc lập lịch cho tiến trình tốn phức tạp
Tiêu chuẩn lập lịch
Để đạt mục tiêu trên, chế lập lịch cần ý yếu tố sau:
Tiến trình có thực yêu cầu thao tác I/O không?
Tiến trình có sử dụng xử lý hết lượng tử thời gian (Quantum) hay không?
Yêu cầu thời gian trả lời hệ thống cần đạt
Mức ưu tiên tiến trình
Tần suất ngắt Missing Page Fault
Thời gian tổng cộng tiến trình sử dụng xử lý 3.2. Mức ưu tiên
Trong hệ thống, nói chung tiến trình có vai trị quan trọng khác Mức độ quan trọng tiến trình thể qua mức ưu tiên (Priority) Mức ưu tiên tiến trình gán hệ điều hành, phụ thuộc kiến trúc hệ điều hành mà mức ưu tiên động tĩnh, gán theo tiêu chuẩn xác định ngẫu nhiên (trong trường hợp hệ điều hành không phân biệt tiến trình cần mức ưu tiên cao hơn)
Trong hệ thống sử dụng mức ưu tiên tĩnh, mức ưu tiên tiến trình gán tạo khơng thay đổi suốt trình tồn tiến trình Sơ đồ mức ưu tiên tĩnh dễ dàng thiết kế cài đặt Tuy nhiên chúng khơng có khả điều chỉnh để phù hợp với thay đổi môi trường
Ngày hệ điều hành sử dụng sơ đồ mức ưu tiên động Theo mức ưu tiên tiến trình thay đổi khác với mức ưu tiên khởi tạo ban đầu Cơ chế cho phép hệ thống thích nghi với thay đổi môi trường để đạt tiêu tốt hơn, nhiên khó khăn xây dựng cài đặt
Khoảng lượng tử thời gian, ngắt thời gian
(5)Bài 3: Lập lịch Hệ điều hành thiết lập đồng hồ hệ thống, xác định khoảng thời gian gọi lượng tử thời gian, theo sinh tín hiệu ngắt thời gian Khi xử lý chuyển sang phục vụ tiến trình Như thế, tiến trình chiếm xử lý đến tự giải phóng có ngắt Khi xử lý giải phóng, hệ điều hành xác định tiến trình chiếm xử lý
Ngắt thời gian giúp hệ thống đảm bảo thời gian trả lời chấp nhận với tất tiến trình, tránh tình trạng chờ vơ hạn, đồng thời cho phép hệ thống phản ứng với kiện phụ thuộc thời gian
3.3. Các giải thuật lập lịch
3.3.1. Lập lịch theo thời gian kết thúc
Khi áp dụng giải thuật này, hệ thống sử dụng tất khả có để ứng dụng kết thúc thời hạn định trước Ví dụ, trường hợp điều khiển tên lửa, kết tính tốn có ý nghĩa trước thời điểm Lập lịch theo chế vấp phải khó khăn:
Người dùng cần rõ tài nguyên cần thiết phục vụ cho ứng dụng điều dễ dàng thực
Hệ thống mặt phải thực ứng dụng hạn, mặt khác không làm ảnh hưởng “quá nhiều” đến ứng dụng khác
Rất xảy việc tranh chấp tài nguyên ứng dụng
Nếu đồng thời có nhiều yêu cầu kết thúc ứng dụng thời hạn vấn đề lập lịch phức tạp
Việc phức tạp lập lịch thường kéo theo chi phí tài nguyên lớn làm ảnh hưởng đến hệ thống
3.3.2. Lập lịch theo nguyên tắc FIFO
Có lẽ nguyên tắc lập lịch đơn giản Theo xử lý phục vụ tiến trình theo thứ tự danh sách Ready Process
Bộ xử lý
Kết thúc FIFO
Sau tiến trình quyền sử dụng xử lý, thực đến kết thúc Nguyên tắc FIFO khơng hốn đổi, nghĩa xử lý khơng thực phục vụ quay vòng Ready Process mà phục vụ tiến trình đến kết thúc
Ngun tắc FIFO có tính xác định cao, dự đốn tương đối xác thời gian thực tốn Tuy nhiên khơng hốn đổi nên dễ xảy trường hợp tiến trình quan trọng phải chờ tiến trình khác đứng trước danh sách kết thúc thực Vì ngun tắc khơng áp dụng đơn mà thường kết hợp với phương pháp khác biện pháp tổ hợp 3.3.3. Nguyên tắc quay vòng (Round robin-RR)
(6)Bài 3: Lập lịch lý không vượt khoảng thời gian lượng tử (Quantum) Nếu khơng tự giải phóng xử lý sau khoảng thời gian hệ điều hành lấy lại quyền điều khiển xử lý chuyển sang phục vụ tiến trình danh sách tiến trình bị tước quyền đưa vào cuối danh sách
Bộ xử lý
Kết thúc
Hết thời gian lượng tử
Ngun tắc quay vịng có hiệu hệ thống phân chia thời gian cần đảm bảo thời gian trả lời chấp nhận với tất tiến trình Chi phí tài ngun giảm xuống nhờ chế chuyển ngữ cảnh dung lượng nhớ đủ lớn để đồng thời nạp nhiều ứng dụng
3.3.4. Giá trị lượng tử
Trong nguyên tắc RR trên, việc xác định giá trị lượng tử có ảnh hưởng đến số hoạt động hệ thống Giá trị lớn hay nhỏ? cố định hay thay đổi? Với tiến trình, có giá trị hay khác nhau?
Nếu giá trị q lớn lớn thời gian thực ứng dụng, nghĩa trở thành nguyên tắc FIFO Và khơng đảm bảo đa nhiệm tốt Cịn giá trị q nhỏ chi phí cho việc chuyển đổi ngữ cảnh chiếm phần lớn thời gian lực tính tốn hệ thống, số hoạt động hệ thống thấp Quan hệ giá trị lượng tử hiệu suất hệ thống biểu diễn qua đồ thị sau:
Có thể thấy giá trị tối ưu cố định, thay đổi theo hệ thống theo tải hệ thống, khác với tiến trình
3.3.5. Lập lịch theo nguyên tắc SJF (Shortes Job First)
Nguyên tắc SJF ngun tắc khơng hốn đổi, theo tốn có thời gian thực ngắn theo dự đốn thực trước
Nguyên tắc ưu tiên tốn nhỏ, nói chung việc tạo điều kiện cho toán nhỏ thực kết thúc dễ dàng Từ hàng đợi tốn giảm nhanh chóng Tuy nhiên, ngun tắc khơng tính đến mức ưu tiên, độ quan trọng toán
Process allocated
time quantum Interaction complete
Process allocated
time quantum preemptedProcess
Time
Time quantum greater than typical interaction
Quantum q
Response time s q - s
s
Time quantum less than typical interaction Interaction
complete Process allocated
time quantum
(7)Bài 3: Lập lịch Theo nguyên tắc tốn nhỏ thực trước hàng đợi nhanh chóng giảm thời gian chờ trung bình giảm Tuy nhiên, việc xác định xác thời gian thực tốn việc khó khăn nhiều trường hợp khơng thể dự đốn xác 3.3.6. Lập lịch theo nguyên tắc SRT
Nguyên tắc SRT tương tự nguyên tắc SJF, SRT có hốn đổi Theo ngun tắc này, tiến trình đánh giá có khoảng thời gian cịn lại đến kết thúc ngắn tiến trình tạo ưu tiên
Tiến trình đưa vào thực chạy đến kết thúc, có tiến trình đưa vào hệ thống mà có thời gian hoạt động nhỏ thời gian cịn lại tiến trình thực
Để thực nguyên tắc này, lại gặp phải vấn đề dự đốn xác thời gian cịn lại tiến trình Ngun tắc địi hỏi chi phí tính tốn lớn so với ngun tắc SJF Cơ chế SRT địi hỏi ln phải theo dõi thời gian thực tốn để xử lý tình ngắt Các tiến trình ngắn nói chung thực thi Trong đó, tiến trình thực thi lâu phải chờ lâu thời gian trung bình so với chế SJF
Theo nguyên tắc SRT, hệ thống cần ghi lại thời gian thực tiến trình điều làm tăng chi phí tính tốn Về lý thuyết, nguyên tắc SRT đảm bảo thời gian chờ cực tiểu, nhiên thao tác chuyển đổi ngữ cảnh mà điều khơng phải ln Giả sử tiến trình thực đến lúc gần kết thúc xuất tiến trình có thời gian thực ngắn Câu hỏi đặt có ngắt tiến trình thực hay khơng? thời gian thực thao tác chuyển đổi ngữ cảnh lớn thân thời gian thực tiến trình Để khắc phục nhược điểm này, số hệ thống người ta đặt ngưỡng thời gian, theo thời gian thực tiến trình nhỏ ngưỡng khơng thực thao tác chuyển đổi ngữ cảnh
Một trường hợp khác cần để ý, tốn xuất có thời gian thực dự đốn xấp xỉ thời gian cịn lại tốn tại, thực chuyển đổi ngữ cảnh chi phí lớn lợi ích thu
Chúng ta phân tích trường hợp với mục đích cho thấy thiết kế hệ thống cần phải xem xét kỹ hiệu thu với chi phí bỏ
3.3.7. Lập lịch theo nguyên tắc HRN
Brinch Hansen đề xuất nguyên tắc HRN (Highest response Ratio Next) để khắc phục số nhược điểm nguyên tắc SJF, đặc biệt ưu tiên tốn có thời gian thực ngắn HRN ngun tắc khơng hốn đổi mức ưu tiên động, theo mức ưu tiên tiến trình phụ thuộc khơng thời gian cần thực mà cịn thời gian phải chờ phục vụ Cơng thức tính tốn sau:
p = (tw + ts)/ts đó:
tw thời gian chờ,
ts thời gian thực thi