您好,登錄后才能下訂單哦!
今天小編給大家分享一下linux和vxworks的區別有哪些的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
linux和vxworks的區別:1、內核結構不同,vxworks是微內核,只提供基本的服務,而linux是宏內核,除了基本的服務、內核還包括文件系統、網絡協議等;2、運行模式不同,vxworks應用程序在“實模式”下,無用戶模式和內核模式之分,而linux采用“保護模式”,用戶進程、線程運行在用戶模式下,內核線程運行與內核模式。
本教程操作環境:linux7.3系統、Dell G3電腦。
自己目前開發的嵌入式開發所用的操作系統是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的區別有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。