1.前言
VxWorks是专门为实时嵌入式系统设计开发的32位操作系统。主要有如下特点:
- 实时性强
- 支持多任务
- 体积小可裁剪
- 支持多种CPU
- 支持网络通信串口通信
- 汇编+标准C的编程模式、支持C++
- 兼容POSIX标准
2.基本术语
- 嵌入式系统
工业系统或机电仪表设备内部为了完成特定功能而设计的计算机系统
- 实时系统
输出时间对于系统正确运行具有至关重要作用的系统,输入到输出的滞后时间必须在一个可接受的范围内,执行的正确性不仅仅依赖逻辑还依赖执行时间。
分为软实时和硬实时,vxworks属于硬实时,wind内核保证任务切换时间被严格限制在毫秒量级。
- 软实时和硬实时
软实时是任务超过了时限范围才完成,会导致系统性能的降低;
硬实时是任务超过了时限范围才完成会造成无法预测的灾难
- 多任务操作系统
每个任务可直接或共享的访问大多数系统资源和内存空间;
并拥有自己存放局部变量的栈和存放寄存器值、延迟定时器、时间片定时器等的控制块;
每个任务有自己的任务名和ID,供内核调度时标志任务;
vXworks没有对任务个数做限制,内存足够的情况下,可以创建任意多的任务;
每一个任务有一个任务优先级,从最高的0到最低的255;
高优先级优先获得CPU,同优先级可以抢占调度(一直到执行完毕、阻塞或延时)或轮转调度;
任务状态包括execute(正运行) ready(就绪) pended(阻塞) delayed(延时执行) 及其组合态;
任务通信与同步方式:共享内存、管道、信号量、消息队列等机制
- BSP(板级支持包)
板级支持包包含了内核代码和驱动的源码以及一些库文件,这些统称为板级支持包。可以通过三种方式修改:修改宏定义、图形界面配置、直接修改源码。
vxworks内核加入网口串口驱动和多任务一般代码规模500kb左右,加入用户程序一般不超过2MB。