Một quá trình là một chương trình trong thực thi. Một máy tính nên thực hiện nhiều nhiệm vụ cùng một lúc. Do đó, CPU nên nhận các quy trình và thực hiện chúng. Đôi khi cần phải thực thi một số quy trình hơn các quy trình khác. Tại thời điểm đó, quá trình chạy bị gián đoạn và CPU được phân bổ cho quy trình mới. Sau khi hoàn thành nhiệm vụ, CPU được phân bổ trở lại quy trình trước đó. Việc lập lịch trình theo cơ chế này được gọi là lập lịch ưu tiên. Nếu quá trình chạy, không thể bị gián đoạn và bắt buộc phải thực thi quy trình đang chạy, thì nó được gọi là lập lịch không từ chối. Bài viết này thảo luận về sự khác biệt giữa lập lịch ưu tiên và không từ chối trong một hệ điều hành. Lập lịch ưu tiên là cơ chế lập lịch quy trình thông qua đó một quy trình có thể bị gián đoạn bởi một quy trình khác ở giữa quá trình thực hiện. Lập lịch không từ chối là cơ chế lập lịch quy trình mà qua đó một quy trình chỉ bắt đầu thực hiện sau khi quy trình trước đó kết thúc. Đó là sự khác biệt chính giữa Lập kế hoạch ưu tiên và không từ chối trong hệ điều hành.
1. Tổng quan và sự khác biệt chính
2. Lập lịch ưu tiên trong hệ điều hành là gì
3. Lập kế hoạch không từ chối trong hệ điều hành là gì
4. Điểm tương đồng giữa lập kế hoạch ưu tiên và không từ chối trong hệ điều hành
5. So sánh cạnh nhau - Lập kế hoạch ưu tiên và không từ chối trong hệ điều hành ở dạng bảng
6. Tóm tắt
Lập kế hoạch Round Robin là một ví dụ về lập kế hoạch phòng ngừa. Mỗi quá trình nhận được một lượng nhỏ thời gian CPU. Nó thường là 10 đến 100 mili giây. Đơn vị dữ liệu nhỏ này còn được gọi là lượng tử thời gian. Sau khi thời gian này trôi qua, quy trình được ưu tiên và thêm vào cuối hàng đợi sẵn sàng. Giả sử có 4 quá trình là P1, P2, P3 và P4. Thời gian bùng nổ CPU tính bằng mili giây như sau. Lượng tử thời gian là 20.
Hình 01: Ví dụ về Lập kế hoạch Round Robin
Quá trình P1 thực hiện cho đến 20. Còn lại 33ms. Sau đó, P2 thực thi. Khi lượng tử thời gian là 20 và thời gian P2 yêu cầu là 17ms, P2 sẽ thực hiện trong 17ms. Vậy là quá trình P2 đã hoàn thành. Sau đó, cơ hội được trao cho P3. Nó sẽ thực thi trong 20ms. Phần còn lại là 48ms. Sau đó, P4 sẽ thực thi trong 20ms. Nó có 4ms để hoàn thành toàn bộ quá trình. Một lần nữa, P1 sẽ thực thi trong 20ms. Nó có thêm 13ms để hoàn thành quá trình. Sự thay đổi được trao cho P3. Nó sẽ thực thi trong 20ms và có thêm 28ms để hoàn thành. P4 thực thi. Nó chỉ có 4ms. Do đó, P4 hoàn thành việc thực hiện. P2 và P4 đã hoàn thành. Các quy trình còn lại là P1 và P3. Cơ hội được trao cho P3. Nó có 13ms để hoàn thành, vì vậy nó hoàn thành. Bây giờ quá trình duy nhất còn lại là P3. Nó có 28ms để hoàn thành. Vì vậy, P3 sẽ chạy trong 20ms. Phần còn lại là 8ms. Tất cả các quy trình khác đã hoàn thành việc thực hiện. Do đó, một lần nữa 8ms còn lại của P3 sẽ thực thi. Tương tự như vậy, mỗi quá trình có một cơ hội để thực hiện.
Lập lịch đầu tiên được phục vụ trước (FCFS) có thể được lấy làm ví dụ về lập lịch không từ chối. Quá trình yêu cầu đầu tiên được phân bổ cho CPU trước. Việc lập lịch trình này được quản lý dễ dàng bởi hàng đợi First In First Out (FIFO). Nếu có các quy trình được sắp xếp theo thứ tự là P1, P2 và P3, thì cơ hội đầu tiên được trao cho P1. Sau khi hoàn thành, P2 sẽ thực thi. Khi P2 hoàn thành, P3 sẽ thực thi. Giả sử rằng có 3 quy trình là P1, P2 và P3 với thời gian bùng nổ CPU tính bằng mili giây như sau.
Hình 02: Ví dụ về lập kế hoạch FCFS
Theo như trên, P1 sẽ thực thi. Sau khi hoàn thành, quy trình P2 được thực hiện trong 3ms. Bây giờ quá trình còn lại là P3. Sau đó, nó sẽ thực thi. Thời gian chờ cho P1 bằng không. Quá trình P2 phải chờ 24ms và quá trình P3 phải chờ 27ms. Nếu các quy trình đến theo thứ tự P2, P3 và P1 thì P2 sẽ hoàn thành trước. P3 tiếp theo sẽ hoàn thành và cuối cùng, P1 sẽ hoàn thành.
Lập kế hoạch ưu tiên và không từ chối trong hệ điều hành | |
Lập lịch ưu tiên là cơ chế lập lịch quy trình mà qua đó một quy trình có thể bị gián đoạn bởi một quy trình khác ở giữa quá trình thực hiện. | Lập lịch không từ chối là cơ chế lập lịch quy trình mà qua đó một quy trình chỉ bắt đầu thực hiện sau khi quy trình trước đó kết thúc. |
Quá trình gián đoạn | |
Trong lập lịch ưu tiên, các quy trình có thể bị gián đoạn. | Trong lập lịch không từ chối, các quy trình có thể bị gián đoạn. |
Sử dụng CPU | |
Trong lập lịch ưu tiên, việc sử dụng CPU cao hơn so với lập lịch không từ chối. | Trong lập lịch không từ chối, việc sử dụng CPU là tối thiểu so với lập lịch ưu tiên. |
Uyển chuyển | |
Lập lịch trình ưu tiên là linh hoạt. | Lập kế hoạch không từ chối là không linh hoạt. |
Có nhiều quy trình đang chạy trên máy tính. Khi mỗi quá trình thực thi, CPU được phân bổ cho quy trình cụ thể đó. Đôi khi, cần phải dừng việc thực hiện quy trình hiện tại và ưu tiên cho quy trình khác. Các cơ chế lập lịch trình có thể được ưu tiên hoặc không từ chối. Lập lịch ưu tiên là cơ chế lập lịch quy trình mà qua đó quá trình có thể bị gián đoạn bởi một quy trình khác ở giữa quá trình thực hiện. Lập lịch không từ chối là cơ chế lập lịch quy trình mặc dù một quy trình chỉ bắt đầu thực hiện sau khi quy trình trước đó kết thúc. Đây là điểm khác biệt giữa Lập lịch ưu tiên và không từ chối trong HĐH.
Bạn có thể tải xuống phiên bản PDF của bài viết này và sử dụng nó cho mục đích ngoại tuyến theo ghi chú trích dẫn. Vui lòng tải xuống phiên bản PDF tại đây: Sự khác biệt giữa Lập lịch ưu tiên và không từ chối trong hệ điều hành
1. Lập kế hoạch trước và không ưu tiên là gì?. Có sẵn ở đây
2. Điểm, Hướng dẫn. Các thuật toán lập lịch hệ thống điều hành. 8 tháng 1 năm 2018. Có sẵn tại đây
3. Những gì các thuật ngữ ưu tiên và không ưu tiên trong bối cảnh của hệ điều hành là gì? Hỏi đáp về GeekforGeek. Có sẵn ở đây