版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/flaoter/article/details/76861710
轉載請標明出處floater的csdn blog,http://blog.csdn.net/flaoter
曾經接觸過幾種操作系統,開發項目中使用較多的是VxWorks和Linux操作系統,對它們也算有一定的認識,現在根據自身理解初步對它們進行一個對比,有錯誤或不足之處今后會再進行修正。
下表是對VxWorks與Linux內核的一個對比,是按照差別分的類別,無法代表內核的所有細節,比如實時操作系統經典的問題優先級翻轉,內核搶占等由於在新版的linux內核中都有支持,所以這類內容在下表中沒有體現。
VxWorks | Linux | ||
---|---|---|---|
基本特點 | 應用場景 | 實時操作系統,表現在強實時性和可靠性。對實時性的表述應是在規定的時間完成規定的任務,體現實時性的指標有任務切換時間,任務搶占時間,中斷響應時間等。 | 可交互的通用型OS,會注重用戶的交互體驗 |
內核結構 | 微內核 | 宏內核 | |
運行模式 | 實模式 | 保護模式,區分用戶地址空間和內核地址空間 | |
任務管理與調度 | 任務管理 | 進程即線程 | 進程,線程,內核線程 |
任務調度 | •主調度器和周期性調度器 • 實時調度類 |
• 主調度器和周期調度器 •五個調度類,stop, dl, rt, cfs, idle •調度組,調度域(SMP),負載均衡 |
|
內存管理 | 實存儲,所有任務運行在同一內存空間,不提供任務間的內存保護 | 虛擬存儲,用戶進程運行在虛擬地址空間,MMU負責將虛擬地址轉換為物理地址,用戶進程間的頁表獨立,只能訪問本進程的內存空間 | |
中斷 | 硬中斷 | 中斷上半部和中斷下半部,上半部類似硬中斷,運行在中斷上下文,下半部是高優先級的內核線程,運行在進程上下文 |