2016-06-09 34 views
0

理想情況下,只有RTOS系統才允許其他任務搶佔任務,而在非實時操作系統系統中,任務可以被中斷或ISR搶佔,而不是其他任務。非實時操作系統搶佔式任務

另外下面的語句對於搶佔式內核是正確的,它是否也適用於搶佔式任務。

「大多數操作系統不允許這一點,但它需要一定的應用,如實時系統」

+0

幾天前您問了幾乎相同的問題並接受了答案。那個答案不清楚的是什麼?如果不清楚爲什麼你接受它?你的最後一段用引號引起來,但沒有引用。也不是這樣,Windows,Linux,OSX(和其他Unix操作系統)都是不是RTOS的搶佔式操作系統(正如前面幾乎相同的問題的接受答案中所述)。 – Clifford

+0

[非實時操作系統中可能出現任務中斷]的可能重複(http://stackoverflow.com/questions/37518975/is-interruption-between-task-is-possible-in-non-rtos-system) – Clifford

回答

0

RTOS代表實時操作系統。

您必須比較各種調度算法,如FCFS,SJF,優先級調度,循環多隊列等。每個人都有優點和缺點。然後你可以找出爲什麼我們在rtos中使用搶先優先。因爲那是需要。示例Vxworks具有優先權,但當具有相同優先權的兩個任務時,它將用於循環。

「大多數操作系統不允許這樣做,但它對於某些應用程序(如實時系統)是必需的」。這是不正確的,因爲大多數現代操作系統搶佔性能更好。

查看評論。 Informational link

+0

謝謝。這裏的問題是非rtos系統是否使用prioirty先發制人。如果不是,那麼說只有ISR可以中斷任務而不是其他任務是正確的。 –

+0

但事實並非如此;大多數現代操作系統*都是先發制人的。 – Clifford

+0

@Clifford是的,大多數操作系統都是搶佔式的,以獲得更好的性能。搶佔也可能是一個問題,如果內核忙於在搶先發生時執行系統調用(例如更新關鍵內核數據結構)。大多數現代UNIX通過使進程等待,直到系統調用完成或阻止之前處理此問題允許搶先,這使得它不確定。這可能是rtos的問題。另外,由於「時間」是「RTOS」中的主要因素。我們不能指望延誤,所以優先搶先適合它。糾正我,如果我錯了。 –