Nhược điểm ngay lập tức nhất của việc chạy một quy trình thời gian thực là quy trình có thể dễ dàng bỏ đói mọi quy trình khác trên hệ thống. Kết quả từ quan điểm của bạn sẽ là máy tính hoàn toàn không phản hồi với bàn phím, chuột và có thể là mạng, miễn là quá trình thời gian thực đang sử dụng CPU. Điều này có thể xảy ra nếu có sự cố xảy ra và quá trình đi vào một vòng lặp vô hạn hoặc thậm chí tạm thời nếu quá trình bắt đầu tính toán chạy dài mà không cần chờ đầu vào định kỳ. (Vì vậy, ví dụ: không chạy SETI @ home với ưu tiên thời gian thực.)
Một quy trình đơn luồng đơn trên CPU đa lõi ít có khả năng gây ra sự cố này vì có các lõi khác mà quy trình ưu tiên thấp hơn có thể sử dụng. Nhưng nếu quy trình đó tạo ra bất kỳ quy trình con nào, chúng sẽ thừa hưởng cùng mức ưu tiên thời gian thực, do đó mọi thứ có thể vượt khỏi tầm kiểm soát nếu bạn không cẩn thận.
Các sched_setscheduler(2)
trang người đàn ông có lời khuyên tốt:
Do một vòng lặp vô hạn không chặn trong một quy trình được lên lịch theo SCHED_FIFO hoặc SCHED_RR sẽ chặn tất cả các quy trình có mức độ ưu tiên thấp hơn mãi mãi, nên một nhà phát triển phần mềm phải luôn có sẵn trên bàn điều khiển một lớp vỏ được ưu tiên tĩnh cao hơn ứng dụng được thử nghiệm. Điều này sẽ cho phép tiêu diệt khẩn cấp các ứng dụng thời gian thực đã được thử nghiệm mà không chặn hoặc chấm dứt như mong đợi. Xem thêm mô tả về giới hạn tài nguyên RLIMIT_RTTIME trong getrlimit (2).
Đó phải là một vỏ trên bảng điều khiển - không thuộc Xterm, trừ khi bạn muốn ưu tiên tất cả các ưu tiên thời gian thực của X.