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.
Thời gian thực FIFO đề là ưu tiên cao nhất và không preemptable ngoại trừ một thời gian thực chủ đề FIFO mới được chuẩn bị sẵn sàng với ưu tiên cao hơn. Real-time roundrobin đề cũng tương tự như đề FIFO thời gian thực, ngoại trừ họ hav e thời gian lượng tử liên kết với chúng, và là preemptable bởi đồng hồ. Nếu có nhiều thời gian thực chủ đề round-robin đã sẵn sàng, mỗi người đều được chạy cho lượng tử của nó, sau đó nó đi đến cuối danh sách của thời gian thực chủ đề round-robin. Không phải của các lớp học thực sự là thời gian thực trong bất kỳ ý nghĩa. Thời hạn không thể được xác định và đảm bảo không được đưa ra. Các lớp học được ưu tiên đơn giản là cao hơn so với chủ đề trong lớp chia sẻ thời gian tiêu chuẩn. Lý do Linux gọi họ là thời gian thực là Linux là tuân thủ QTI tiêu chuẩn P1003.4 ( '' thời gian thực '' mở rộng cho UNIX) trong đó sử dụng những cái tên đó. Các chủ đề thời gian thực được trong nội bộ đại diện với mức độ ưu tiên 0-99, 0 là cao nhất và 99 cấp độ ưu tiên thời gian thực thấp nhất. Các thông thường, chủ đề không-thời gian thực 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à nhiệm vụ thời gian nonreal-). Đối với thời gian thực chủ đề round-robin, Linux phân bổ thời gian của CPU với nhiệm vụ 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ọ.
Trong Linux, thời gian được đo bằng số lượng đồng hồ bọ ve. Trong các phiên bản Linux cũ, đồng hồ chạy ở 1000Hz và từng đánh dấu là 1ms, được gọi là một nháy mắt. Trong các phiên bản mới hơn, tần số đánh dấu có thể được cấu hình để 500, 250 hoặc thậm chí 1Hz. Để tránh lãng phí chu kỳ CPU để phục vụ bộ đếm thời gian gián đoạn, các hạt nhân thậm chí có thể được cấu hình trong 'tickless' 'chế độ'. Điều này rất hữu ích khi chỉ có một tiến trình đang chạy trong hệ thống, hoặc khi CPU nhàn rỗi và cần phải đi vào chế độ tiết kiệm điện. Cuối cùng, trên hệ thống mới hơn, tính giờ có độ phân giải cao cho phép các hạt nhân để theo dõi thời gian trong granularity tiểu nháy mắt. Giống như hầu hết các hệ thống UNIX, Linux liên kết một giá trị tốt đẹp với mỗi chủ đề. Giá trị mặc định là 0, nhưng điều này có thể được thay đổi bằng cách sử dụng tốt đẹp (giá trị) gọi hệ thống, trong đó giá trị dao động từ -20 đến 19. Giá trị này xác định các ưu tiên tĩnh của mỗi chủ đề. Một pi dùng máy tính với một tỷ nơi trong nền có thể đặt cuộc gọi này trong chương trình của mình đối xử tốt với những người dùng khác. Chỉ người quản trị hệ thống có thể yêu cầu tốt hơn so với dịch vụ bình thường (nghĩa là giá trị từ -20 đến -1). Suy luận các lý do cho quy tắc này là trái như một bài tập cho người đọc.
đang được dịch, vui lòng đợi..