Ưu tiên thời gian thực trong hệ điều hành không theo thời gian thực


8

Nếu tôi thực hiện lệnh sau khi cài đặt Linux Mint tiêu chuẩn của mình:

comp ~ $ ps -eo rtprio,nice,cmd
RTPRIO  NI CMD
...
99   - [migration/0]
99   - [watchdog/0]
99   - [migration/1]
 -   0 [ksoftirqd/1]
99   - [watchdog/1]

Tôi nhận được một số quy trình với mức độ ưu tiên theo thời gian thực là 99.

Ý nghĩa của rtpriomột Linux không thời gian thực là gì? Điều này có nghĩa là nếu tôi chỉ chạy một chương trình với rtprio99 thì nó chạy thời gian thực? Hệ điều hành thời gian thực rơi vào đâu trong câu chuyện này?

Câu trả lời:


5

"Thời gian thực" có nghĩa là các quy trình phải được hoàn thành trước thời hạn hoặc những điều tồi tệ (TM) xảy ra. Một hạt nhân thời gian thực là một hạt nhân trong đó độ trễ của hạt nhân bị ràng buộc chặt chẽ (có thể có phần cứng hoạt động sai mà không trả lời đúng hạn) và trong đó hầu hết mọi hoạt động đều có thể bị gián đoạn để cho các tác vụ ưu tiên cao hơn chạy. Trong trường hợp của Linux, hạt nhân vani không được thiết lập theo thời gian thực (nó có chi phí về hiệu năng và các bản vá thời gian thực trôi nổi phụ thuộc vào một số hack mà các nhà phát triển cốt lõi coi là thô). Bên cạnh đó, việc chạy kernel thời gian thực trên một máy không thể theo kịp (hầu hết các máy cá nhân) đều vô nghĩa.

Điều đó nói rằng, hạt nhân vanilla xử lý các ưu tiên thời gian thực, ưu tiên cao hơn các tác vụ thông thường và các tác vụ đó thường sẽ chạy cho đến khi chúng tự nguyện cung cấp CPU. Điều này cho phản ứng tốt hơn với những nhiệm vụ đó, nhưng có nghĩa là các nhiệm vụ khác bị trì hoãn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.