共計 1731 個字符,預計需要花費 5 分鐘才能閱讀完成。
今天丸趣 TV 小編給大家分享一下 linux 和 vxworks 的區別有哪些的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
linux 和 vxworks 的區別:1、內核結構不同,vxworks 是微內核,只提供基本的服務,而 linux 是宏內核,除了基本的服務、內核還包括文件系統、網絡協議等;2、運行模式不同,vxworks 應用程序在“實模式”下,無用戶模式和內核模式之分,而 linux 采用“保護模式”,用戶進程、線程運行在用戶模式下,內核線程運行與內核模式。
本教程操作環境:linux7.3 系統、Dell G3 電腦。
linux 和 vxworks 的區別
自己目前開發的嵌入式開發所用的操作系統是 VxWorks,以前讀大學的時候用的最多的是 linux 操作系統,但是,對于這兩種操作系統之間到底有什么區別,還真沒有真正去細心的總結過,被別人問起時,難免有些尷尬的感覺,畢竟自己是學嵌入式開發的,竟然對嵌入式開發系統了解的不深入,今天專門抽時間好好的總結下,二者到底有什么區別?
VxWorks
linux
內核結構
微內核,內核只提供了基本
的服務,如:任務管理,內
存管理,中斷處理等
宏內核,除了基本的服務,內
核還包括文件系統,網絡協議
等
運行模式
應用程序運行在“實模式”
下,無用戶模式和內核模式
之分
采用“保護 模式”,用 戶進
程、線程運行在用戶模式下,
內核線程運行于內核模式
內存訪問和內存保護
內核采用實 存儲管理方式,
所有任務運行于同一物理地
間, 用戶程序直接操作物理地
址,不能直接地提供內存護,
不能防錯誤蔓延
內核采用虛擬存儲管理方式,用
戶具有獨立的地址空間,用戶進
程只能訪問本進程的虛擬空間提供
了內存保護,可以防止錯誤蔓延
執行單元
任務
進程、線程
請求內核服務方式
函數調用,更快
系統調用,更安全
實時性
硬實時
軟實時
VxWorks 主要應用于電信級別的數通等產品,而 linux 主要應用于消費類、工控產品等
微內核、宏內核
內核中提供各種服務的成分與使用這種服務的進程之間形成一種 client/server 關系,這種服務并不一定非得留在內核中,它本身也可以被設計實現成“服務進程”,其中必須留在內核中的部分只有進程間的通信,如果把這些服務從內核轉移到進程的層次上,那么內核本身的結構就可以大大減小和減化,而各個服務進程也可以單獨設計、實現及調試。
微內核便是將服務轉移到進程上的一種內核模式,主要應用在實時系統和嵌入式系統上,主要是因為通常這些系統都不帶磁盤,整個系統必須都放在 EPROM 中,常常受到存儲空間的限制,而且所需的服務也比較單一,如 PSOS,VxWorks 等。
宏內核是一種傳統的內核結構,它將進程管理,內存管理等各項服務功能都放到內核中去,通常用在通用式內核上,如 UNIX,linux 等.
設備驅動部分的比較和分析
由于 linux 操作系統和 linux 引導裝載器在結構上的分離,使得它倆之間的設備驅動程序不能夠通用,當然在芯片的硬件初始化一些硬件相關的代碼上可以互相借鑒。而 VxWorks 的 BOOTROM 和運行版本的設備驅動是相同的,因為它的運行版本和 BOOTROM 的結構是一致的,使用同一操作系統內核。linux 操作系統的設備驅動運行在內核空間,用戶進程運行在用戶空間。在 linux 操作系統中,內核空間和用戶空間的內存管理和映射方式是不同德,應用和設備驅動在數據交換時會涉及到不同的內存空間,會影響到一定效率,但這個問題可以通過修改系統內存空間配置等方法來解決。VxWorks 操作系統沒有分開內核空間和用戶空間,設備驅動和應用都運行于同一空間,相互之間的內存都可以訪問,數據交換非常方便,但是這種結構的穩定性就不如 linux 系統好,兩種操作系統都提供了很多設備驅動的資源和模板。但是由于 linux 的開源特性,它提供的設備驅動的種類和數量遠遠超過了 VxWorks.
以上就是“linux 和 vxworks 的區別有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,丸趣 TV 小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注丸趣 TV 行業資訊頻道。