Một loại thuật toỏn lập lịch khỏc đƣợc tạo ra cho những trƣờng hợp mà trong đú cỏc tiến trỡnh đƣợc phõn lớp thành cỏc nhúm khỏc nhau. Thớ dụ: việc phõn chia thụng thƣờng đƣợc thực hiện giữa cỏc tiến trỡnh chạy ở chế độ tƣơng tỏc (foreground hay interactive) và cỏc tiến trỡnh chạy ở chế độ nền hay dạng lụ (background hay batch). Hai loại tiến trỡnh này cú yờu cầu đỏp ứng thời gian khỏc nhau và vỡ thế cú yờu cầu về lập lịch khỏc nhau. Ngoài ra, cỏc tiến trỡnh chạy ở chế độ tƣơng tỏc cú độ ƣu tiờn (hay đƣợc định nghĩa bờn ngoài) cao hơn cỏc tiến trỡnh chạy ở chế độ nền.
Một thuật toỏn lập lịch hàng đợi nhiều cấp (multilevel queue-scheduling algorithm) chia hàng đợi thành nhiều hàng đợi riờng rẽ (hỡnh 6). Cỏc tiến trỡnh đƣợc gỏn vĩnh viễn tới một hàng đợi, thƣờng dựa trờn thuộc tớnh của tiến trỡnh nhƣ kớch thƣớc bộ nhớ, độ ƣu tiờn tiến trỡnh hay loại tiến trỡnh. Mỗi hàng đợi cú thuật toỏn lập lịch của chớnh nú. Thớ dụ: cỏc hàng đợi riờng rẻ cú thể đƣợc dựng cho cỏc tiến trỡnh ở
47
Số húa bởi Trung tõm Học liệu http://lrc.tnu.edu.vn
chế độ nền và chế độ tƣơng tỏc. Hàng đợi ở chế độ tƣơng tỏc cú thể đƣợc lập lịch bởi thuật toỏn RR trong khi hàng đợi ở chế độ nền đƣợc lập lịch bởi thuật toỏn FCFS.
Ngoài ra, phải cú việc lập lịch giữa cỏc hàng đợi, mà thƣờng đƣợc cài đặt nhƣ lập lịch khả dụng với độ ƣu tiờn cố định. Thớ dụ, hàng đợi ở chế độ tƣơng tỏc cú độ ƣu tiờn tuyệt đối hơn hàng đợi ở chế độ nền.
Hỡnh 6. Điều phối nhiều cấp ƣu tiờn
Chỳng ta xột một thớ dụ của thuật toỏn hàng đợi nhiều mức với 5 hàng đợi: Cỏc tiến trỡnh hệ thống
Cỏc tiến trỡnh tƣơng tỏc
Cỏc tiến trỡnh khụng tƣơng tỏc Cỏc tiến trỡnh xử lý theo lụ Cỏc tiến trỡnh thực tập
Mỗi hàng đợi cú độ ƣu tiờn tuyệt đối hơn hàng đợi cú độ ƣu tiờn thấp hơn. Thớ dụ: khụng cú tiến trỡnh nào trong hàng đợi theo lụ cú thể chạy trừ khi hàng đợi cho cỏc tiến trỡnh hệ thống, cỏc tiến trỡnh tƣơng tỏc và cỏc tiến trỡnh khụng tƣơng tỏc đều rỗng. Nếu một tiến trỡnh khụng tƣơng tỏc đƣợc đƣa vào hàng đợi sẵn sàng trong khi một tiến trỡnh xử lý theo lụ đang chạy thỡ tiến trỡnh xử lý theo lụ bị chiếm CPU. Solaris 2 dựng dạng thuật toỏn này.
48
Số húa bởi Trung tõm Học liệu http://lrc.tnu.edu.vn
Một khả năng khỏc là phần (slice) thời gian giữa hai hàng đợi. Mỗi hàng đợi nhận một phần thời gian CPU xỏc định, sau đú nú cú thể lập lịch giữa cỏc tiến trỡnh khỏc nhau trong hàng đợi của nú. Thớ dụ, trong hàng đợi tƣơng tỏc nền, hàng đợi tƣơng tỏc đƣợc cho 80% thời gian của CPU cho thuật toỏn RR giữa cỏc tiến trỡnh của nú, ngƣợc lại hàng đợi nền nhận 20% thời gian CPU cho cỏc tiến trỡnh của nú theo cỏch FCFS.