前言
目前嵌入式应用领域的一个发展方向是采用实时操作系统(Real Time Operation System,RTOS)。实时操作系统是一段在嵌入式系统启动后首先执行的程序控制工程网版权所有,用户的应用程序是运行于RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源管理、消息管理、任务调度、异常处理等工作。应当根据优先级的高低对任务进行切换CONTROL ENGINEERING China版权所有,只有优先服务方式的RTOS才是真正的实时操作系统,时间分片方式和协作方式的RTOS都不是严格意义上的“实时”。VxWorks是美国WindRiver公司于1983年开发的一种嵌入式实时操作系统,以其良好的扩展能力、高性能的内核,以及友好的用户开发环境,在嵌入式实时操作系统领域占据了重要的一席之地。
VxWorks操作系统
VxWorks 操作系统包括了进程管理、存储管理、设备管理、文件系统管理、网络协议及系统应用等几个部分。VxWorks只需很小的存储空间,并可高度裁剪,保证了系统能以较高的效率运行。VxWorks主要由以下几个部分组成。
1.
VxWorks 的核心被称作wind,用优先级抢占方式进行多任务调度,执行任务间的同步、进程间通信和中断处理,对看门狗和内存进行管理。一个多任务环境允许实时应用程序以一套独立任务的方式构筑,每个任务拥有独立的执行线程和自己的系统资源。进程间通信机制可以保证任务的同步与协调。
wind使用中断驱动和优先级的方式,缩短了上下文转换的时间开销和中断时延。在VxWorks中,任何例程都可以被启动为一个单独的任务,拥有自己的上下文和堆栈。还有一些其他的任务机制可以使任务挂起、继续、删除、延时或者改变优先级。
wind核提供信号量作为任务间同步和互斥的标志。wind核针对不同的应用需求,有二进制信号量、计数信号量、互斥信号量和 POSIX信号量几种。这些信号量除了应用在开发设计过程中,还被广泛地应用到VxWorks高层应用系统中。对于进程间通信,wind 核也提供了诸如消息队列、管道、套接字和信号等机制。
2.I/O 系统
VxWorks提供了一个快速灵活、与ANSI C兼容的I/O系统,包括 UNIX 标准的缓冲I/O和 POSIX标准的异步I/O。VxWorks 包括以下驱动程序:网络驱动、管道驱动、RAM盘驱动、SCSI驱动、键盘驱动、显示驱动、磁盘驱动、并口驱动等。
3.文件系统
VxWorks提供的快速文件系统适合于实时系统应用www.cechina.cn,包括几种支持使用块设备的本地文件系统。这些设备都使用一个标准的接口从而使得文件系统能够被灵活地在设备驱动程序上移植。另外,VxWorks 也支持SCSI磁带设备的本地文件系统,VxWorks I/O体系结构甚至还支持在一个单独的VxWorks系统上同时并存几个不同的文件系统。VxWorks支持dosFs、rt11Fs、rawFs和tapeFs四种文件系统。
普通数据文件和外部设备都统一作为文件处理,使用相同的语法定义和保护机制,这样既简化了系统设计又便于用户使用。
4.板级支持包 BSP(Board Support Package)
VxWorks BSP包含了开发人员在特定的目标机上运行VxWorks时所需的一切支持,包括支持特定目标机的软件(如驱动程序等)和从主机通过网络引导VxWorks的Boot ROM。WindRiver提供支持不同厂商的200多种BSP,另外还提供BSP移植包,帮助用户移植VxWorks到特定硬件上。
5.网络设施
VxWorks的网络结构提供了对其他网络和TCP/IP网络系统的“透明”访问,包括与BSD套接字兼容的编程接口、远程过程调用、远程文件访问以及BOOTP和ARP代理。VxWorks网络机制遵循标准的Internet协议。
WindNet SNMP
WindNet SNMP代理将工业标准网络管理引入实时嵌入系统中,WindRiver是第一个提供集成支持SNMPv2c协议的SNMP代理软件的嵌入产品厂商。WindNet SNMP v1/v2c代理只需要很少的内存,并和传输层独立,可以在不同的协议栈上使用同一个代理程序控制工程网版权所有,只需要配置其初始化过程。WindNet SNMP代理支持RFC 1155、 RFC 1157、RFC 1212、RFC 1213及RFC 1901等协议。
WindNet SNMP v1/v2c代理软件提供MIB工具可以减轻操作MIB文档费时而且易错的工作,MIB工具将简明的MIB格式或SNMP v2c格式的MIB文档转化成代理使用的更高效的文件格式。MIB编译器产生访问MIB变量的函数代码控制工程网版权所有,减轻了开