Professional Documents
Culture Documents
5.3.4 Lập lịch độ ưu tiên (độ ưu tiên priority)
5.3.4 Lập lịch độ ưu tiên (độ ưu tiên priority)
Bằng cách sử dụng lập lịch ưu tiên, chúng ta sẽ lập lịch cho các quy trình này theo
theo biểu đồ Gantt:
thời gian chờ đợi trung bình là 8,2 mili giây.
Các ưu tiên có thể được xác định trong nội bộ hoặc bên ngoài. Được xác định nội
bộ mức độ ưu tiên sử dụng một số lượng hoặc số lượng có thể đo lường được để
tính toán mức độ ưu tiên của một quá trình. Ví dụ: giới hạn thời gian, yêu cầu bộ
nhớ, số lượng đang mở các tệp và tỷ lệ giữa số lần truy cập I/O trung bình và số
lần xử lý CPU trung bình là được sử dụng trong các ưu tiên tính toán. Các ưu tiên
bên ngoài được đặt ra bởi các tiêu chí bên ngoài hệ điều hành, chẳng hạn như
tầm quan trọng của quy trình, loại và số lượng số tiền được trả cho việc sử dụng
máy tính, bộ phận tài trợ cho công việc, và các yếu tố khác, thường là chính trị.
Lập kế hoạch ưu tiên có thể là ưu tiên hoặc không ưu tiên. Khi một tiến trình đến
hàng đợi sẵn sàng, mức độ ưu tiên của nó sẽ được so sánh với mức độ ưu tiên
của tiến trình hiện đang chạy. Thuật toán lập lịch ưu tiên ưu tiên sẽ ưu tiên CPU
nếu mức độ ưu tiên của quy trình mới đến cao hơn mức ưu tiên của quy trình
hiện đang chạy. Thuật toán lập lịch ưu tiên không ưu tiên sẽ chỉ đặt quy trình mới
ở đầu hàng đợi sẵn sàng.
Một vấn đề lớn với các thuật toán lập lịch ưu tiên là khối không xác định đang
hoạt động hoặc bị đói. Một tiến trình đã sẵn sàng để chạy nhưng đang chờ CPU có
thể bị coi là bị chặn. Một thuật toán lập lịch ưu tiên có thể để lại một số các tiến
trình ưu tiên chờ đợi vô thời hạn. Trong một hệ thống máy tính được tải nặng,
một dòng ổn định của các quy trình có mức độ ưu tiên cao hơn có thể ngăn chặn
quy trình có mức độ ưu tiên thấp kể từ khi nhận được CPU. Nói chung, một trong
hai điều sẽ xảy ra.
Một tùy chọn khác là kết hợp lập lịch luân phiên và lập lịch ưu tiên theo cách mà
hệ thống thực thi quy trình có mức ưu tiên cao nhất và chạy các quy trình có cùng
mức độ ưu tiên bằng cách sử dụng lập lịch luân chuyển. Hãy minh họa bằng một ví
dụ sử dụng tập hợp quy trình sau, với thời gian bùng nổ tính bằng mili giây:
Bằng cách sử dụng lập lịch ưu tiên với tính năng quay vòng cho các quy trình có
mức độ ưu tiên bằng nhau, chúng tôi sẽ lập lịch các quy trình này theo biểu đồ
Gantt sau bằng cách sử dụng định mức thời gian là 2 mili giây:
Trong ví dụ này, tiến trìnhP4 có mức độ ưu tiên cao nhất nên nó sẽ chạy để hoàn
thành sự. Các tiến trình P2 và P3 có mức ưu tiên cao nhất tiếp theo và chúng sẽ
thực thi trong một thời trang vòng tròn. Lưu ý rằng khi quá trình P2 kết thúc ở
thời điểm 16, quá trình P3 là tiến trình có mức độ ưu tiên cao nhất nên nó sẽ chạy
cho đến khi hoàn tất quá trình thực thi. Bây giờ, chỉ còn lại các tiến trình P1 và P5
và vì chúng có mức độ ưu tiên như nhau nên chúng sẽ thực hiện theo thứ tự vòng
tròn cho đến khi hoàn thành.