2014-10-20 91 views
0

在很長一段時間內,我在一次採訪中被問到了這個問題,回到了設計自己的RTOS問題。實時操作系統可以處理的進程數是否有限制?什麼會造成這種限制?從我所知道的每個進程都應該有自己的PC,調用堆棧,堆,文件描述符,頁表等。我假設內核必須使用一些數據結構來跟蹤進程。該數據結構是否受到限制?實時操作系統可以處理的進程數量

回答

1

在大多數情況下,可用RAM的數量是唯一的限制因素(如FreeRTOS中的情況),但在少數情況下,所選調度算法會施加限制。例如,由於使用了位圖調度程序,uCOS/II(我認爲)的限制是255,但即使如此,在實際設計的類型的實時系統中,255也是如此。

+0

我不確定RAM如何限制RTOS的進程數。是不是隻是一個程序加載到內存然後換出?即使程序太大而不適合內存,它也可以利用磁盤上的交換空間,所以RAM不應該限制進程的數量?通過調度器位圖,我可以理解它。 – ashton71 2014-10-21 06:34:23