新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 实时操作系统VxWorks

实时操作系统VxWorks

作者:时间:2011-03-12来源:网络收藏
VxWorks组成部分

VxWorks 操作系统包括了进程管理、存储管理、设备管理、文件系统管理、网络协议及系统应用等几个部分。VxWorks只占用了很小的存储空间,并可高度裁减,保证了系统能以较高的效率运行。 VxWorks由以下几个主要部分组成:

1.高性能的实时操作系统核心 wind
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 提供的快速文件系统适合于实时系统应用。它包括几种支持使用块设备(如磁盘)的本地文件系统。这些设备都使用一个标准的接口从而使得文件系统能够被灵 活地在设备驱动程序上移植。另外,VxWorks 也支持 SCSI 磁带设备的本地文件系统。 VxWorks I/O 体系结构甚至还支持在一个单独的 VxWorks 系统上同时并存几个不同的 文件系统。
VxWorks 支持四种文件系统: dosFs,rt11Fs,rawFs 和 tapeFs。
另一方面,普通数据文件,外部设备都统一作为文件处理。它们在用户面前有相同的 语法定义,使用相同的保护机制。这样既简化了系统设计又便于用户使用。


4.板级支持包 BSP(Board Support Package)
板级支持包对各种板子的硬件功能提供了统一的软件接口,它包括硬件初始化、中断 的产生和处理、硬件时钟和计时器管理、局域和总线内存地址映射、内存分配等等。 每个板级支持包括一个 ROM 启动(Boot ROM)或其它启动机制。


5.网络设施
VxWorks的网络结构如图2所示,它提供了对其它网络和 TCP/IP 网络系统的"透明"访问,包括与BSD套接字兼容的编程接口,远程过程调用(RPC),SNMP(可选项),远程文件 访问(包括客户端和服务端的NFS机制以及使用RSH,FTP 或 TFTP的非NFS机制)以及 BOOTP 和 ARP 代理。无论是松耦合的串行线路、标准的以太网连接还是紧耦合的利用 共享内存的背板总线,所有的 VxWorks 网络机制都遵循标准的 Internet 协议。


6.先进的系列网络产品
VxWorks内的WindNet 是先进的、系列的网络产品,这些产品扩展了VxWorks的网络特性 并增强了处理器的网络特性。 WindNet SNMP
WindNet STREAMS
WindNet 第三方产品,包括 OSI、SS7、ATM、Frame Relay、CORBA、ISDN、X.25、
CMIP/GDMO、分布式网络管理等。



7.虚拟内存(即 VxVMI 选项)与共享内存(即 VxMP 选项)
VxVMI 为带有 MMU 的目标板提供了虚拟内存机制。VxMP 提供了共享信号量,消息队列 和在不同处理器之间的共享内存区域。

8.目标代理(Target Agent)
目标代理遵循 WBD(Wind Debug)协议,允许目标机与主机上的 Tornado 开发工具相 连。在目标代理的缺省设置中,如图3所示,目标代理是以 VxWorks 的一个任务-- tWdbTask 的形式运行的。

Tornado 目标服务器(Target Server)向目标代理发送调试请求。调试请求通常决定 目标代理对系统中其它任务的控制和处理。缺省状态下,目标服务器与目标代理通过网 络进行通信,但是用户也可以改变通信方式。

9.实用库
VxWorks 提供了一个实用例程的扩展集,包括中断处理、看门狗计时器、消息登录、内存分配、字符扫描、线缓冲和环缓冲管理、链表管理和 ANSI C 标准。


10.基于目标机的工具
在 Tornado 开发系统中,开发工具是驻留在主机上的。但是也可以根据需要将基于目标机的Shell 和装载卸载模块加入 VxWorks。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭