Scheduler Linux là một dựa trên lịch ưu tiên mà lịch trình công việc dựa trên các ưu tiên tĩnh và năng động của họ. Khi những ưu tiên này được kết hợp chúng tạo sự tốt lành của công việc. Mỗi lần lên lịch và Linux chạy, mỗi nhiệm vụ trên hàng đợi chạy được kiểm tra và giá trị tốt đẹp của nó được tính toán. Các nhiệm vụ với sự tốt lành cao nhất được chọn để chạy tiếp.
Bây giờ chúng ta sẽ xem xét các thuật toán lập lịch trình Linux. Để bắt đầu, chủ đề Linux là đề hạt nhân, do lịch trình được dựa trên chủ đề, không phải quy trình. Linux phân biệt ba loại chủ đề cho các mục đích lập kế hoạch:
1. Real-time FIFO.
2. Real-time round robin.
3. Chia sẻ thời gian.
• SCHED_FIFO - A đầu tiên trong, quá trình thời gian thực First-Out. Khi lên lịch giao cho CPU để xử lý, nó rời khỏi mô tả quá trình ở vị trí hiện tại của nó trong danh sách runqueue. Nếu không có quá trình thời gian thực có mức ưu tiên cao hơn khác là Runnable, quá trình sẽ tiếp tục sử dụng các CPU miễn là nó muốn, thậm chí nếu quá trình thời gian thực khác có cùng độ ưu tiên là Runnable • SCHED_RR - Một Round Robin quá trình thời gian thực. Khi lên lịch giao cho CPU để xử lý, nó đặt các mô tả quá trình vào cuối danh sách runqueue. Chính sách này đảm bảo một phân hợp lý của CPU thời gian để tất cả các quá trình thời gian thực SCHED_RR có cùng ưu tiên • SCHED_OTHER - A, thời gian quá trình chia sẻ thông thường. Các lĩnh vực chính sách cũng mã hóa một lá cờ nhị phân SCHED_YIELD. Cờ này được thiết lập khi quá trình này gọi là năng suất sched_ () gọi hệ thống (một cách tự nguyện từ bỏ bộ xử lý mà không cần phải bắt đầu một I / O hoạt động hoặc đi ngủ. Các kế hoạch đặt các mô tả quá trình ở dưới cùng của runqueue danh sách. The Run Queue 140 hàng đợi riêng biệt, một cho mỗi cấp độ ưu tiên ■ Trên thực tế, con số này có thể thay đổi một vị trí nhất định ■ Trên thực tế, hai bộ, năng động và hết hạn ■ ưu tiên 0-99 cho thời gian thực quá trình ■ ưu tiên 100-139 cho quá trình bình thường, giá trị thiết lập thông qua hệ thống tốt đẹp () gọi thời gian thực chủ đề được trong nội bộ đại diện với mức độ ưu tiên từ 0 đến 99, 0 là cao nhất và 99 cấp độ ưu tiên thời gian thực thấp nhất. các quy ước, phi thời gian thực chủ đề tạo thành một lớp riêng biệt và được lên kế hoạch bởi một thuật toán riêng để họ không cạnh tranh được với các chủ đề thời gian thực. Bên trong, những chủ đề có liên quan với mức độ ưu tiên 100-139, đó là, Linux trong nội bộ phân biệt giữa 140 cấp độ ưu tiên (đối với thời gian thực và nonreal- nhiệm vụ thời gian). Đối với thời gian thực chủ đề round-robin, Linux phân bổ CPU thời gian cho những công việc không-thời gian thực dựa trên yêu cầu của họ và mức độ ưu tiên của họ. Tiếp theo, chúng tôi sẽ mô tả chi tiết hơn hai trong số các thuật toán lập lịch trình Linux
đang được dịch, vui lòng đợi..