1.前言
VxWorks是專門為實時嵌入式系統設計開發的32位操作系統。主要有如下特點:
- 實時性強
- 支持多任務
- 體積小可裁剪
- 支持多種CPU
- 支持網絡通信串口通信
- 匯編+標准C的編程模式、支持C++
- 兼容POSIX標准
2.基本術語
- 嵌入式系統
工業系統或機電儀表設備內部為了完成特定功能而設計的計算機系統
- 實時系統
輸出時間對於系統正確運行具有至關重要作用的系統,輸入到輸出的滯后時間必須在一個可接受的范圍內,執行的正確性不僅僅依賴邏輯還依賴執行時間。
分為軟實時和硬實時,vxworks屬於硬實時,wind內核保證任務切換時間被嚴格限制在毫秒量級。
- 軟實時和硬實時
軟實時是任務超過了時限范圍才完成,會導致系統性能的降低;
硬實時是任務超過了時限范圍才完成會造成無法預測的災難
- 多任務操作系統
每個任務可直接或共享的訪問大多數系統資源和內存空間;
並擁有自己存放局部變量的棧和存放寄存器值、延遲定時器、時間片定時器等的控制塊;
每個任務有自己的任務名和ID,供內核調度時標志任務;
vXworks沒有對任務個數做限制,內存足夠的情況下,可以創建任意多的任務;
每一個任務有一個任務優先級,從最高的0到最低的255;
高優先級優先獲得CPU,同優先級可以搶占調度(一直到執行完畢、阻塞或延時)或輪轉調度;
任務狀態包括execute(正運行) ready(就緒) pended(阻塞) delayed(延時執行) 及其組合態;
任務通信與同步方式:共享內存、管道、信號量、消息隊列等機制
- BSP(板級支持包)
板級支持包包含了內核代碼和驅動的源碼以及一些庫文件,這些統稱為板級支持包。可以通過三種方式修改:修改宏定義、圖形界面配置、直接修改源碼。
vxworks內核加入網口串口驅動和多任務一般代碼規模500kb左右,加入用戶程序一般不超過2MB。
//todo