Tôi chưa bao giờ thực hiện bất kỳ công việc thời gian thực nào cả, vì vậy hãy thực hiện điều này với một hạt muối ...
Tôi đã nói có hai loại "thời gian thực": thời gian thực cứng và thời gian thực mềm.
"Thời gian thực mềm" không chính thức có nghĩa là "hoàn thành công việc nhanh nhất có thể". Tôi nghĩ rằng Linux trên một CPU hiện đại là tốt cho loại điều này.
"Thời gian thực cứng" không chính thức có nghĩa là "hoàn thành nó trong một cửa sổ thời gian cần thiết". Cửa sổ có thể khá nhỏ, mili giây hoặc một cái gì đó. Hệ thống điều khiển bay cho tên lửa hành trình hoặc phương tiện phóng vệ tinh có vẻ như là ví dụ điển hình. Hệ thống kiểm soát quy trình công nghiệp cũng có thể cần điều này. Con sâu Stuxnet dường như đã can thiệp vào các hệ thống thực hiện kiểu kiểm soát này.
Bạn sẽ sử dụng RTOS trong tình huống sau. RTOS thường đảm bảo cung cấp một ngắt trong ít hơn rất nhiều hướng dẫn hoặc đồng hồ tích tắc hoặc bất cứ điều gì.
Một cân nhắc khác có thể là RTOS được thiết kế, thử nghiệm và / hoặc "chứng minh" không tiêu thụ không gian ngăn xếp mà không bị ràng buộc. Nó có thể sống trong một lượng bộ nhớ tối thiểu nhất định và những thứ như "Kẻ giết người OOM" không tồn tại bởi vì chúng không bao giờ cần thiết. Một số tính năng goofier của FORTRAN sớm đến từ loại yêu cầu này. Khi bạn biên dịch chương trình FORTRAN II, bạn sẽ biết chính xác bao nhiêu stack và bao nhiêu đống cần thiết, vì bạn không thể tái diễn và bạn không thể tự động phân bổ bất cứ thứ gì.
Trên thực tế, việc xem xét thứ hai (tiêu thụ bộ nhớ tối đa được đảm bảo) có thể quan trọng hơn trong một số ứng dụng quan trọng về an toàn so với "độ trễ ngắt được đảm bảo là 0,001 giây".
Tôi cũng sẽ tưởng tượng rằng tước bỏ quá trình lựa chọn lá sung hỗ trợ, bạn sẽ thấy rằng các kỹ sư chọn một RTOS vì "các yêu cầu nói lên".