Sự khác biệt giữa lập lịch ưu tiên và không ưu tiên trong các hệ điều hành

Lập kế hoạch bộ xử lý (hoặc là Lập lịch CPU) xác định quy trình nào được gán và xóa khỏi CPU, dựa trên các mô hình lập lịch biểu như Ưu tiênLập kế hoạch không ưu tiên (cũng được biết đến như là Lập kế hoạch hợp tác).

Các hệ thống cũ hơn có thể hoạt động ở chế độ độc lập đơn giản nhưng với nhu cầu ngày càng tăng về các hệ thống linh hoạt, nhạy bén, cũng như ảo hóa, quản lý đa xử lý hiệu quả cung cấp đáp ứng nhanh chóng cho tất cả các yêu cầu xử lý tác vụ.

Các đơn vị lập lịch thường được gọi là một bài tập và công việc của Trình lập lịch là chạy và quản lý các tác vụ này bất cứ khi nào cần thiết; Bộ lập lịch chọn tác vụ cần loại bỏ và gán cho CPU để xử lý, theo mô hình lập lịch được sử dụng.

Làm thế nào để Trình lập lịch biểu biết các nhiệm vụ được ưu tiên?

Bộ lập lịch cần chạy một quy trình lựa chọn công bằng và hiệu quả, có tính đến biến tài khoản, yêu cầu xử lý động và tận dụng tối đa các chu kỳ CPU.

Nhiệm vụ có thể ở hai trạng thái trong khi xử lý:

  1. Trong một Bùng nổ CPU trong đó CPU đang thực hiện các tính toán để xử lý tác vụ (khoảng thời gian cho CPU Burst thay đổi tùy theo từng nhiệm vụ và chương trình theo chương trình).
  2. Trong một Đầu vào / đầu ra (I / O) Burst chờ dữ liệu được nhận hoặc gửi từ hệ thống.

Khi CPU không hoạt động, Trình lập lịch biểu sẽ đọc Sẵn sàng xếp hàng, và chọn nhiệm vụ tiếp theo sẽ được chạy. Sau đó, nó là Điều phối cung cấp cho điều khiển tác vụ được chọn của CPU, vì vậy nó cần phải nhanh! Bất cứ lúc nào được đưa lên bởi Dispatcher đều được gọi là Công văn trễ.

Có các cấu trúc và tham số tùy chỉnh khác nhau để xác định Sẵn sàng xếp hàng, cũng như một số phương pháp có thể được sử dụng để quản lý sự phức tạp của quy trình lập lịch.

Nói chung, về việc tối ưu hóa và tối đa hóa việc sử dụng CPU, thông lượng, v.v..

Bộ lập lịch phải đưa ra quyết định trong một trong các giai đoạn sau:

  1. Khi tác vụ thay đổi từ một Đang chạy đến một Nhà nước chờ (ví dụ, chờ trong khi yêu cầu I / O).
  2. Khi tác vụ thay đổi từ Đang chạy đến Sẵn sàng (ví dụ trả lời ngắt).
  3. Khi tác vụ thay đổi từ Đang chờ đợi đến Sẵn sàng (ví dụ: yêu cầu I / O được hoàn thành).
  4. Khi mà Bài tập

Phải chọn Tác vụ mới nếu giai đoạn 1 hoặc 4 xảy ra để đảm bảo sử dụng đầy đủ CPU và trong cả giai đoạn 2 và 3, tác vụ có thể tiếp tục chạy hoặc chọn một nhiệm vụ mới.

Sau khi hiểu cách xử lý một tác vụ, chúng ta hãy xem xét hai mô hình lập lịch xử lý các ngắt CPU.

Cả hai đều có các tính năng tương tự với các tác vụ, trạng thái nhiệm vụ, hàng đợi và mức độ ưu tiên (tĩnh hoặc động):

  • Lập kế hoạch không ưu tiên là khi một tác vụ chạy cho đến khi nó dừng lại (tự nguyện) hoặc kết thúc. Windows® đã được lên lịch không ưu tiên cho đến Windows 3.x, sau đó, nó đã đổi thành Ưu tiên từ Windows 95.
  • Lập kế hoạch ưu tiên là nơi một tác vụ có thể bị đình chỉ cưỡng bức bởi một ngắt CPU, không giống như Non-Prejectionive nơi tác vụ chạy cho đến khi nó giải phóng quyền kiểm soát CPU.

Lập kế hoạch không ưu tiên

Các nhiệm vụ trong một hệ thống Không Ưu tiên sẽ chạy cho đến khi hoàn thành.

Bộ lập lịch sau đó kiểm tra tất cả các trạng thái của nhiệm vụ và lên lịch tác vụ ưu tiên cao nhất tiếp theo với một Sẵn sàng tiểu bang.

Với Lập lịch không ưu tiên, một khi một tác vụ được gán cho CPU, nó không thể bị lấy đi, ngay cả khi các tác vụ ngắn phải chờ các tác vụ dài hơn hoàn thành.

Việc quản lý lập lịch trên tất cả các nhiệm vụ là công bằng và thời gian phản hồi có thể dự đoán được vì các nhiệm vụ ưu tiên cao không thể làm giảm các nhiệm vụ chờ đợi xuống hàng đợi.

Bộ lập lịch đảm bảo mỗi tác vụ sẽ chia sẻ CPU của nó, tránh mọi sự chậm trễ với bất kỳ tác vụ nào. 'Lượng thời gian' được phân bổ cho CPU có thể không nhất thiết phải bằng nhau, vì nó phụ thuộc vào thời gian hoàn thành nhiệm vụ.

Lập kế hoạch ưu tiên

Mô hình lập lịch này cho phép các tác vụ bị gián đoạn - ngược lại với Lập lịch không ưu tiên có cách tiếp cận chạy đến hoàn thành.

Các ngắt, có thể được bắt đầu từ các cuộc gọi bên ngoài, gọi Bộ lập lịch để tạm dừng một tác vụ đang chạy để quản lý một tác vụ ưu tiên cao hơn khác - vì vậy việc điều khiển CPU có thể được ưu tiên.

Nhiệm vụ ưu tiên cao nhất trong một Sẵn sàng trạng thái được thực thi, cho phép phản ứng nhanh với các sự kiện thời gian thực.

Một số nhược điểm của Lập lịch ưu tiên liên quan đến việc tăng chi phí tài nguyên khi sử dụng ngắt và sự cố có thể xảy ra với hai tác vụ chia sẻ dữ liệu, vì một trong hai có thể bị gián đoạn trong khi cập nhật cấu trúc dữ liệu được chia sẻ và có thể ảnh hưởng tiêu cực đến tính toàn vẹn dữ liệu.

Mặt khác, thực tế là có thể tạm dừng một nhiệm vụ để quản lý một nhiệm vụ khác có thể quan trọng.

Tóm tắt

Nhiều phương sai và phụ thuộc trong các chính sách khác nhau có thể được xác định, chẳng hạn như sử dụng một Chính sách Robin Round Robin [i] trong đó mọi tác vụ (có mức độ ưu tiên như nhau) chạy một lần, và sau đó được đặt ở cuối hàng đợi, cho chu kỳ tiếp theo.

Các chính sách khác bao gồm Đến trước về trước, Công việc ngắn nhất, Công việc ngắn nhất-Tiếp theo, Thời gian còn lại ngắn nhất, Vân vân.

Phân tích dữ liệu lịch sử có thể cung cấp thông tin về các khía cạnh, như tốc độ thực hiện nhiệm vụ mới, CPU và I / O Bursts, v.v. để phân phối xác suất có thể tính toán các đặc điểm của thời gian chờ của nhiệm vụ, do đó, quản trị viên có dữ liệu liên quan để xác định mô hình lập lịch.