Lập lịch ưu tiên là một quy trình lập lịch CPU hoạt động bằng cách phân tách thời gian phân bổ CPU cho một tương tác nhất định.
Trong khi đó, Lập kế hoạch không ưu tiên là một quy trình lập lịch trình CPU trong đó chu kỳ lấy tài sản (thời gian CPU) và giữ nó cho đến khi tương tác kết thúc hoặc được đẩy lên trạng thái giữ.
Có một chi phí liên quan đến quy trình Ưu tiên, trong khi trong quy trình Không ưu tiên, không có chi phí.
Chìa khóa chính
- Lập lịch ưu tiên cho phép hệ điều hành buộc phải làm gián đoạn một quy trình đang chạy, trong khi lập lịch không ưu tiên yêu cầu quy trình từ bỏ quyền kiểm soát một cách tự nguyện.
- Lập lịch ưu tiên cung cấp thời gian phản hồi và sử dụng tài nguyên tốt hơn so với lập lịch không ưu tiên.
- Lập lịch không ưu tiên đơn giản hơn nhưng có thể dẫn đến hiệu năng hệ thống kém hiệu quả hơn so với lập lịch ưu tiên.
Lập lịch ưu tiên so với không ưu tiên
Lập kế hoạch ưu tiên cho phép các nhiệm vụ có mức độ ưu tiên cao hơn làm gián đoạn các nhiệm vụ có mức độ ưu tiên thấp hơn, trong khi việc lập lịch trình không ưu tiên thì không. Nó được sử dụng trong các hệ thống thời gian thực, trong khi việc lập kế hoạch không ưu tiên đơn giản hơn và dễ dự đoán hơn nhưng có thể dẫn đến thời gian chờ đợi lâu hơn cho một số nhiệm vụ nhất định.
Lập kế hoạch ưu tiên về cơ bản là một chiến lược trong đó các hoạt động được phân bổ theo nhu cầu của chúng.
Nó được sử dụng khi một chu kỳ thay đổi từ trạng thái chạy sang trạng thái chuẩn bị hoặc giữ từ trạng thái chuẩn bị. Trong Preemptive Scheduling, hoạt động có thể bị gián đoạn dễ dàng.
Trong lập kế hoạch không ưu tiên, CPU đã được chỉ định cho một tương tác cụ thể. Hoạt động được gán cho CPU phải được hoàn thành để chuyển sang hoạt động tiếp theo.
Kỹ thuật duy nhất có thể được sử dụng cho các giai đoạn phần cứng khác nhau. Lập lịch không ưu tiên xảy ra khi người vận hành chuyển sang trạng thái chờ hoặc kết thúc.
Bảng so sánh
Các thông số so sánh | Lập lịch trước | Lập lịch không ưu tiên |
---|---|---|
Linh hoạt | Nó là linh hoạt. | Nó không linh hoạt. |
Phí Tổn | Nó liên quan đến chi phí. | Nó không liên quan đến chi phí. |
Thuật toán | Nó có một thuật toán chuyển mạch trên cao. | Nó không có thuật toán như vậy để chuyển đổi trên không. |
Gián đoạn | Quá trình có thể bị gián đoạn một cách dễ dàng. | Quá trình không thể bị gián đoạn. |
Sử dụng CPU | Hiệu quả hơn | Kém hiệu quả |
Lập kế hoạch ưu tiên là gì?
Chức năng của bộ lập lịch CPU là phân phối một chu kỳ tới CPU tại bất kỳ thời điểm nào mà CPU ở trạng thái không hoạt động. Bộ lập lịch CPU chọn một chu kỳ từ dòng đã chuẩn bị và gán tương tác cho CPU.
Trong kiểu lập kế hoạch này, nội dung (Chu kỳ CPU) đã được chỉ định để hoạt động trong một khoảng thời gian giới hạn. Một hoạt động có thể bị gián đoạn khi nó đang được thực hiện hoặc thực hiện.
Trong kế hoạch được lên kế hoạch trước, trong trường hợp một chu trình có nhu cầu cao xuất hiện trong dây chuyền đã chuẩn bị, thì hoạt động có nhu cầu thấp sẽ bị dừng lại và hãy kết thúc hoạt động có nhu cầu cao.
Giả sử nếu một chu kỳ có nhu cầu lớn nhất xuất hiện, thao tác này sẽ không giữ được cho đến khi toàn bộ thao tác kết thúc.
Thay vì những gì nó sẽ làm, nó sẽ làm gián đoạn chu kỳ và làm cho quy trình ổn định, đồng thời nó sẽ bắt đầu hoạt động cho quy trình có mức độ ưu tiên cao.
Điều này cho phép chu trình kết thúc, chu trình này có mức độ ưu tiên cao hơn chu trình kia và khi hoạt động kết thúc, nó sẽ bắt đầu hoạt động tiếp theo.
Do đó, dọc theo những dòng này, mọi thao tác nằm trong dòng có thể truy cập đều có cơ hội lý tưởng để chạy.
Lập kế hoạch không ưu tiên là gì?
Hoạt động xảy ra khi một quá trình kết thúc hoặc thay đổi từ trạng thái đang diễn ra sang trạng thái chờ loại hoạt động CPU này được gọi là Lập kế hoạch không ưu tiên.
Kiểu lập lịch này được áp dụng khi các thao tác kết thúc từ trạng thái này sang trạng thái khác.
Trong loại quy trình này, nó không có chức năng ngắt hoạt động như trong Preemptive, vì vậy điều xảy ra là một khi quy trình được bắt đầu, nó sẽ kết thúc mà không có bất kỳ sự gián đoạn nào.
Đó là bởi vì, trong Lập kế hoạch không ưu tiên, nó không có chức năng ngắt hoạt động ở giữa, do đó nó phải đợi sau khi hoạt động đầu tiên kết thúc.
Tất cả mọi thứ được xem xét, nó sẽ duy trì cho đến khi chu kỳ kết thúc hoạt động của nó, và sau đó khi nó kết thúc, nó sẽ được chuyển sang hoạt động khác.
Chiến lược duy nhất có thể được sử dụng cho các giai đoạn phần cứng khác nhau. Đó là bởi vì nó yêu cầu các công cụ cụ thể như Lập kế hoạch đề phòng.
Trong Non-Preemptive Scheduling, không có như vậy thuật toán để chuyển hoạt động trên cao do đó CPU phải đợi cho đến khi hoạt động tiếp theo được chuyển.
Vì nó không thể bị gián đoạn, do đó, điều này làm cho Lập lịch không ưu tiên không linh hoạt so với Lập lịch ưu tiên
Sự khác biệt chính giữa lập kế hoạch ưu tiên và không ưu tiên trong Hệ điều hành
- Trong Lập lịch ưu tiên, quy trình có thể bị gián đoạn dễ dàng, trong khi ở Lập lịch không ưu tiên, chu kỳ đang diễn ra phải được hoàn thành trước để chuyển sang chu kỳ tiếp theo.
- Trong Lập lịch ưu tiên, quy trình có chi phí chung vì nó phải lên lịch cho nhiều hoạt động, trong khi trong Lập lịch không ưu tiên, không có gì giống như vậy vì nó không cung cấp bất kỳ chức năng nào cho sự gián đoạn giữa quy trình.
- Lập lịch ưu tiên về bản chất là linh hoạt (nghĩa là có thể dễ dàng thay đổi) so với Lập lịch không ưu tiên, vốn không có.
- Trong Lập lịch ưu tiên, quy trình có mức độ ưu tiên cao hơn sẽ được ưu tiên trước, trong khi trong trường hợp Lập lịch không ưu tiên, hoạt động đang diễn ra phải được hoàn thành để chuyển sang quy trình tiếp theo.
- Lập lịch trình ưu tiên tiết kiệm chi phí để vận hành hoạt động mà bạn phải trả, trong khi đối với Lập lịch trình không ưu tiên, nó hoàn toàn miễn phí.
- https://hal.inria.fr/inria-00073732/
- http://clweb.csa.iisc.ernet.in/sarojini/rts/periodid-sporadic.pdf
Cập nhật lần cuối: ngày 13 tháng 2023 năm XNUMX
Sandeep Bhandari có bằng Cử nhân Kỹ thuật Máy tính của Đại học Thapar (2006). Ông có 20 năm kinh nghiệm trong lĩnh vực công nghệ. Anh rất quan tâm đến các lĩnh vực kỹ thuật khác nhau, bao gồm hệ thống cơ sở dữ liệu, mạng máy tính và lập trình. Bạn có thể đọc thêm về anh ấy trên trang sinh học.