Thuật toán lập lịch ưu tiên: VÍ DỤ: VÍ DỤ: Trước, không ưu tiên

Mục lục:

Anonim

Lập lịch ưu tiên là gì?

Lập kế hoạch ưu tiên là một phương pháp lập lịch trình dựa trên mức độ ưu tiên. Trong thuật toán này, bộ lập lịch biểu chọn các tác vụ để làm việc theo mức độ ưu tiên.

Các quy trình có mức độ ưu tiên cao hơn nên được thực hiện đầu tiên, trong khi các công việc có mức độ ưu tiên ngang nhau được thực hiện theo vòng tròn hoặc FCFS. Mức độ ưu tiên phụ thuộc vào yêu cầu bộ nhớ, yêu cầu thời gian, v.v.

Trong hướng dẫn về Hệ điều hành này, bạn sẽ học:

  • Lập lịch ưu tiên là gì?
  • Các loại lập lịch ưu tiên
  • Đặc điểm của Lập lịch ưu tiên
  • Ví dụ về Lập lịch ưu tiên
  • Ưu điểm của lập lịch ưu tiên
  • Nhược điểm của lập lịch ưu tiên

Các loại lập lịch ưu tiên

Lập lịch ưu tiên được chia thành hai loại chính:

Lập lịch trước

Trong Lập lịch trước, các nhiệm vụ chủ yếu được giao với mức độ ưu tiên của chúng. Đôi khi điều quan trọng là phải chạy một tác vụ có mức độ ưu tiên cao hơn trước một tác vụ có mức độ ưu tiên thấp hơn khác, ngay cả khi tác vụ có mức độ ưu tiên thấp hơn vẫn đang chạy. Nhiệm vụ có mức độ ưu tiên thấp hơn được giữ trong một thời gian và tiếp tục khi tác vụ có mức độ ưu tiên cao hơn hoàn thành việc thực thi.

Lập kế hoạch không dự phòng trước

Trong loại phương pháp lập lịch này, CPU đã được cấp phát cho một quá trình cụ thể. Quá trình giữ cho CPU bận rộn, sẽ giải phóng CPU bằng cách chuyển đổi ngữ cảnh hoặc kết thúc. Đây là phương pháp duy nhất có thể được sử dụng cho các nền tảng phần cứng khác nhau. Đó là bởi vì nó không cần phần cứng đặc biệt (ví dụ: bộ đếm thời gian) như lập lịch trước.

Đặc điểm của Lập lịch ưu tiên

  • Một thuật toán CPU lập lịch các quy trình dựa trên mức độ ưu tiên.
  • Nó được sử dụng trong hệ điều hành để thực hiện các quy trình hàng loạt.
  • Nếu hai công việc có cùng mức độ ưu tiên là SN SÀNG, nó sẽ hoạt động trên cơ sở ĐẾN ĐẦU TIÊN, ĐƯỢC PHỤC VỤ ĐẦU TIÊN.
  • Trong lập lịch ưu tiên, một số được gán cho mỗi quá trình cho biết mức độ ưu tiên của nó.
  • Số thấp hơn, cao hơn là ưu tiên.
  • Trong loại thuật toán lập lịch này, nếu một quy trình mới hơn xuất hiện, có mức độ ưu tiên cao hơn quy trình hiện đang chạy, thì quy trình hiện đang chạy sẽ được ưu tiên.

Ví dụ về Lập lịch ưu tiên

Hãy xem xét năm quy trình từ P1 đến P5 sau đây. Mỗi quy trình có mức độ ưu tiên riêng, thời gian liên tục và thời gian đến.

Quá trình Sự ưu tiên Thời gian bùng nổ Thời gian đến
P1 1 4 0
P2 2 3 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

Bước 0) Tại thời điểm = 0, Quá trình P1 và P2 đến. P1 có mức độ ưu tiên cao hơn P2. Quá trình bắt đầu với quá trình P1, có thời gian bùng nổ 4.

Bước 1) Tại thời điểm = 1, không có quy trình mới nào đến. Việc thực thi tiếp tục với P1.

Bước 2) Tại thời điểm 2, không có quy trình mới nào đến, vì vậy bạn có thể tiếp tục với P1. P2 đang trong hàng đợi.

Bước 3) Tại thời điểm 3, không có quy trình mới nào đến để bạn có thể tiếp tục với P1. Quá trình P2 vẫn trong hàng đợi.

Bước 4) Tại thời điểm 4, P1 đã kết thúc quá trình thực thi. P2 bắt đầu thực hiện.

Bước 5) Tại thời điểm = 5, không có quy trình mới nào đến, vì vậy chúng tôi tiếp tục với P2.

Bước 6) Tại thời điểm = 6, P3 đến. P3 có mức độ ưu tiên cao hơn (1) so với P2 có mức độ ưu tiên (2). P2 được ưu tiên trước và P3 bắt đầu thực hiện.

Quá trình Sự ưu tiên Thời gian bùng nổ Thời gian đến
P1 1 4 0
P2 2 1 trong số 3 đang chờ xử lý 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

Bước 7) Tại thời điểm 7, không có quy trình mới nào xuất hiện, vì vậy chúng tôi tiếp tục với P3. P2 đang trong hàng đợi.

Bước 8) Tại thời điểm = 8, không có quá trình mới nào đến, vì vậy chúng ta có thể tiếp tục với P3.

Bước 9) Tại thời điểm = 9, không có quy trình mới nào xuất hiện để chúng ta có thể tiếp tục với P3.

Bước 10) Vào khoảng thời gian 10, không có quy trình mới nào xuất hiện, vì vậy chúng tôi tiếp tục với P3

Bước 11) Tại thời điểm = 11, P4 đến với mức độ ưu tiên 4. P3 có mức độ ưu tiên cao hơn, vì vậy nó tiếp tục thực hiện.

Quá trình Sự ưu tiên Thời gian bùng nổ Thời gian đến
P1 1 4 0
P2 2 1 trong số 3 đang chờ xử lý 0
P3 1 2 trong số 7 đang chờ xử lý 6
P4 3 4 11
P5 2 2 12

Bước 12) Tại thời điểm = 12, P5 đến. P3 có mức độ ưu tiên cao hơn, vì vậy nó tiếp tục thực thi.

Bước 13) Tại thời điểm = 13, P3 hoàn thành việc thực thi. Chúng tôi có P2, P4, P5 trong hàng đợi sẵn sàng. P2 và P5 có mức độ ưu tiên ngang nhau. Thời gian đến của P2 trước P5. Vì vậy, P2 bắt đầu thực hiện.

Quá trình Sự ưu tiên Thời gian bùng nổ Thời gian đến
P1 1 4 0
P2 2 1 trong số 3 đang chờ xử lý 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

Bước 14) Tại thời điểm = 14, quá trình P2 đã kết thúc quá trình thực thi. P4 và P5 đang ở trạng thái chờ. P5 có mức ưu tiên cao nhất và bắt đầu thực thi.

Bước 15) Tại thời điểm = 15, P5 tiếp tục thực hiện.

Bước 16) Tại thời điểm = 16, P5 kết thúc quá trình thực thi. P4 là quá trình duy nhất còn lại. Nó bắt đầu thực thi.

Bước 17) Tại thời điểm = 20, P5 đã hoàn thành việc thực thi và không còn quá trình nào.

Bước 18) Hãy tính thời gian chờ trung bình cho ví dụ trên.

Thời gian chờ = thời gian bắt đầu - thời gian đến + thời gian chờ cho đợt tiếp theo

P1 = o - o = oP2 =4 - o + 7 =11P3= 6-6=0P4= 16-11=5Average Waiting time = (0+11+0+5+2)/5 = 18/5= 3.6

Ưu điểm của lập lịch ưu tiên

Dưới đây là những lợi ích / ưu điểm của việc sử dụng phương pháp lập lịch ưu tiên:

  • Phương pháp lập lịch dễ sử dụng
  • Các quy trình được thực hiện trên cơ sở mức độ ưu tiên nên mức độ ưu tiên cao không cần chờ đợi lâu, tiết kiệm thời gian
  • Phương pháp này cung cấp một cơ chế tốt trong đó tầm quan trọng tương đối của mỗi quá trình có thể được xác định chính xác.
  • Thích hợp cho các ứng dụng có yêu cầu về thời gian và tài nguyên dao động.

Nhược điểm của lập lịch ưu tiên

Đây là nhược điểm / nhược điểm của lập lịch ưu tiên

  • Nếu cuối cùng hệ thống gặp sự cố, tất cả các quy trình ưu tiên thấp sẽ bị mất.
  • Nếu các quy trình ưu tiên cao chiếm nhiều thời gian của CPU, thì các quy trình ưu tiên thấp hơn có thể chết đói và sẽ bị hoãn lại trong một thời gian không xác định.
  • Thuật toán lập lịch này có thể khiến một số quy trình ưu tiên thấp phải chờ vô thời hạn.
  • Một tiến trình sẽ bị chặn khi nó sẵn sàng chạy nhưng phải đợi CPU vì một số tiến trình khác hiện đang chạy.
  • Nếu một quy trình mới có mức độ ưu tiên cao hơn tiếp tục xuất hiện trong hàng đợi sẵn sàng, thì quy trình đang ở trạng thái chờ có thể cần phải đợi trong một khoảng thời gian dài.

Tóm lược:

  • Lập kế hoạch ưu tiên là một phương pháp lập lịch trình dựa trên mức độ ưu tiên. Trong thuật toán này, bộ lập lịch biểu chọn các tác vụ để làm việc theo mức độ ưu tiên.
  • Trong Lập kế hoạch ưu tiên trước, các nhiệm vụ chủ yếu được giao với mức độ ưu tiên của chúng.
  • Trong phương pháp lập lịch ưu tiên không ưu tiên, CPU đã được phân bổ cho một quá trình cụ thể.
  • Các quy trình được thực hiện trên cơ sở mức độ ưu tiên nên mức độ ưu tiên cao không cần chờ đợi lâu, tiết kiệm thời gian
  • Nếu các quy trình ưu tiên cao chiếm nhiều thời gian của CPU, thì các quy trình ưu tiên thấp hơn có thể chết đói và sẽ bị hoãn lại trong một thời gian không xác định.