Hệ điều hành - Lập lịch quy trình

Định nghĩa

Lập kế hoạch quy trình là hoạt động của trình quản lý quy trình xử lý việc loại bỏ quy trình đang chạy khỏi CPU và lựa chọn quy trình khác trên cơ sở một chiến lược cụ thể.

Lập lịch quy trình là một phần thiết yếu của hệ điều hành Đa chương trình. Các hệ điều hành như vậy cho phép nhiều quá trình được tải vào bộ nhớ thực thi tại một thời điểm và quá trình được tải chia sẻ CPU bằng cách sử dụng ghép kênh thời gian.

Xử lý hàng đợi lập lịch

Hệ điều hành duy trì tất cả PCB trong Hàng đợi Lập lịch Quy trình. Hệ điều hành duy trì một hàng đợi riêng biệt cho từng trạng thái quy trình và PCB của tất cả các quy trình ở cùng trạng thái thực thi được đặt trong cùng một hàng đợi. Khi trạng thái của một tiến trình bị thay đổi, PCB của nó được hủy liên kết khỏi hàng đợi hiện tại và chuyển sang hàng đợi trạng thái mới của nó.

Hệ điều hành duy trì các hàng đợi lập lịch quy trình quan trọng sau:

  • Job queue - Hàng đợi này giữ tất cả các tiến trình trong hệ thống.

  • Ready queue- Hàng đợi này giữ một tập hợp tất cả các tiến trình nằm trong bộ nhớ chính, sẵn sàng và chờ thực thi. Một quy trình mới luôn được đặt trong hàng đợi này.

  • Device queues - Các quy trình bị chặn do không có thiết bị I / O tạo thành hàng đợi này.

Hệ điều hành có thể sử dụng các chính sách khác nhau để quản lý từng hàng đợi (FIFO, Round Robin, Priority, v.v.). Bộ lập lịch hệ điều hành xác định cách di chuyển các quy trình giữa các hàng đợi sẵn sàng và chạy chỉ có thể có một mục nhập cho mỗi lõi bộ xử lý trên hệ thống; trong sơ đồ trên, nó đã được hợp nhất với CPU.

Mô hình quy trình hai trạng thái

Mô hình quy trình hai trạng thái đề cập đến các trạng thái đang chạy và không chạy được mô tả bên dưới:

SN Trạng thái & Mô tả
1

Running

Khi một tiến trình mới được tạo, nó sẽ đi vào hệ thống như ở trạng thái đang chạy.

2

Not Running

Các tiến trình không chạy được giữ trong hàng đợi đến lượt thực thi. Mỗi mục trong hàng đợi là một con trỏ đến một quá trình cụ thể. Hàng đợi được thực hiện bằng cách sử dụng danh sách liên kết. Sử dụng điều phối viên như sau. Khi một tiến trình bị gián đoạn, tiến trình đó sẽ được chuyển trong hàng đợi. Nếu quá trình đã hoàn thành hoặc bị hủy bỏ, quá trình sẽ bị hủy. Trong cả hai trường hợp, người điều phối sau đó sẽ chọn một quy trình từ hàng đợi để thực thi.

Người lên lịch

Bộ lập lịch là phần mềm hệ thống đặc biệt xử lý việc lập lịch trình theo nhiều cách khác nhau. Nhiệm vụ chính của họ là lựa chọn các công việc được đưa vào hệ thống và quyết định tiến trình sẽ chạy. Bộ lập lịch có ba loại -

  • Bộ lập lịch dài hạn
  • Bộ lập lịch ngắn hạn
  • Công cụ lập lịch trung hạn

Bộ lập lịch dài hạn

Nó còn được gọi là job scheduler. Bộ lập lịch dài hạn xác định những chương trình nào được đưa vào hệ thống để xử lý. Nó chọn các quy trình từ hàng đợi và tải chúng vào bộ nhớ để thực thi. Quá trình tải vào bộ nhớ để lập lịch CPU.

Mục tiêu chính của bộ lập lịch công việc là cung cấp sự kết hợp cân bằng giữa các công việc, chẳng hạn như giới hạn I / O và ràng buộc bộ xử lý. Nó cũng kiểm soát mức độ đa chương trình. Nếu mức độ đa chương trình ổn định thì tốc độ tạo quá trình trung bình phải bằng tốc độ khởi tạo trung bình của các quá trình rời khỏi hệ thống.

Trên một số hệ thống, bộ lập lịch dài hạn có thể không có sẵn hoặc tối thiểu. Hệ điều hành chia sẻ thời gian không có bộ lập lịch dài hạn. Khi một tiến trình thay đổi trạng thái từ mới sang sẵn sàng, thì sẽ có việc sử dụng bộ lập lịch dài hạn.

Lập lịch ngắn hạn

Nó còn được gọi là CPU scheduler. Mục tiêu chính của nó là tăng hiệu suất hệ thống phù hợp với bộ tiêu chí đã chọn. Nó là sự thay đổi trạng thái sẵn sàng sang trạng thái đang chạy của tiến trình. Bộ lập lịch CPU chọn một quá trình trong số các quá trình đã sẵn sàng thực thi và cấp phát CPU cho một trong số chúng.

Người lập lịch trình ngắn hạn, còn được gọi là người điều phối, đưa ra quyết định thực hiện quy trình nào tiếp theo. Những người lên lịch ngắn hạn nhanh hơn những người lên lịch dài hạn.

Công cụ lập lịch trung hạn

Lập kế hoạch trung hạn là một phần của swapping. Nó xóa các tiến trình khỏi bộ nhớ. Nó làm giảm mức độ đa chương trình. Người lập lịch trình trung hạn chịu trách nhiệm xử lý các quy trình ngoài đã hoán đổi.

Quá trình đang chạy có thể bị tạm ngưng nếu nó đưa ra yêu cầu I / O. Quá trình bị đình chỉ không thể đạt được bất kỳ tiến bộ nào để hoàn thành. Trong điều kiện này, để xóa tiến trình khỏi bộ nhớ và tạo không gian cho các tiến trình khác, tiến trình bị treo được chuyển sang bộ nhớ thứ cấp. Quá trình này được gọi làswappingvà quá trình này được cho là sẽ được hoán đổi hoặc triển khai. Có thể cần phải hoán đổi để cải thiện hỗn hợp quy trình.

So sánh giữa các lập lịch biểu

SN Bộ lập lịch dài hạn Bộ lập lịch ngắn hạn Công cụ lập lịch trung hạn
1 Nó là một công cụ lập lịch trình Nó là một bộ lập lịch CPU Nó là một bộ lập lịch trao đổi quy trình.
2 Tốc độ thấp hơn so với bộ lập lịch ngắn hạn Tốc độ nhanh nhất trong số hai Tốc độ nằm giữa cả bộ lập lịch ngắn hạn và dài hạn.
3 Nó kiểm soát mức độ đa chương trình Nó cung cấp khả năng kiểm soát ít hơn đối với mức độ đa chương trình Nó làm giảm mức độ đa chương trình.
4 Nó hầu như không có hoặc tối thiểu trong hệ thống chia sẻ thời gian Nó cũng là tối thiểu trong hệ thống chia sẻ thời gian Nó là một phần của hệ thống chia sẻ Thời gian.
5 Nó chọn các quy trình từ nhóm và tải chúng vào bộ nhớ để thực thi Nó chọn những quy trình đã sẵn sàng để thực thi Nó có thể giới thiệu lại quá trình vào bộ nhớ và quá trình thực thi có thể được tiếp tục.

Chuyển đổi nội dung

Chuyển đổi ngữ cảnh là cơ chế lưu trữ và khôi phục trạng thái hoặc ngữ cảnh của CPU trong khối Điều khiển Quy trình để quá trình thực thi có thể được tiếp tục lại từ cùng một thời điểm sau này. Sử dụng kỹ thuật này, trình chuyển đổi ngữ cảnh cho phép nhiều quy trình chia sẻ một CPU. Chuyển đổi ngữ cảnh là một phần thiết yếu của các tính năng của hệ điều hành đa nhiệm.

Khi bộ lập lịch chuyển CPU từ thực thi một quy trình sang thực thi một quy trình khác, trạng thái từ tiến trình đang chạy hiện tại được lưu trữ vào khối điều khiển tiến trình. Sau đó, trạng thái cho tiến trình chạy tiếp theo được tải từ PCB của chính nó và được sử dụng để đặt PC, thanh ghi, v.v. Tại thời điểm đó, tiến trình thứ hai có thể bắt đầu thực thi.

Các công tắc ngữ cảnh đòi hỏi nhiều tính toán vì trạng thái thanh ghi và bộ nhớ phải được lưu và khôi phục. Để tránh mất nhiều thời gian chuyển đổi ngữ cảnh, một số hệ thống phần cứng sử dụng hai hoặc nhiều bộ thanh ghi bộ xử lý. Khi quy trình được chuyển đổi, thông tin sau sẽ được lưu trữ để sử dụng sau này.

  • Bộ đếm chương trình
  • Thông tin lên lịch
  • Giá trị thanh ghi cơ sở và giới hạn
  • Đăng ký hiện được sử dụng
  • Trạng thái đã thay đổi
  • Thông tin trạng thái I / O
  • Thông tin kế toán