接觸過vxworks與linux,也有人問起我兩者的區別,其實這個問題真的比較大,查資料做了些總結,但也只是冰山一角,不過以後有了心得再添加進來也不遲。
vxworks | linux | |
內核結構 | 微內核,內核只提供了基本的服務,如:任務管理,內存管理,中斷處理等 | 宏內核,除了基本的服務,內核還包括文件系統,網絡協議等 |
運行模式 | 應用程序運行在“實模式”下,無用戶模式和內核模式之分 | 採用“保護模式”,用戶進程、線程運行在用戶模式下,內核線程運行於內核模式 |
內存訪問和內存保護 | 內核採用實存儲管理方式,所有任務運行於同一物理地址空間,用戶程序直接操作物理地址,不能直接地提供內存保護,不能防止錯誤蔓延 | 內核採用虛擬存儲管理方式,用戶具有獨立的地址空間,用戶進程只能訪問本進程的虛擬空間,提供了內存保護,可以防止錯誤蔓延 |
執行單元 | 任務 | 進程、線程 |
請求內核服務方式 | 函數調用,更快 | 系統調用,更安全 |
實時性 | 硬實時 | 軟實時 |
發行版 | windriver vxworks | Motivista Linux、Lineo Embedix、Bluecat Linux |