目录
VxWorks是美国Wind River System公司,简称风和推出的实时操作系统,主要用于军工和航天领域,Vxworks是一个功能强大且复杂的操作系统,VxWorks是专门为嵌入式实时系统设计开发的操作系统内核可以实现实时多任务调度,中断管理,实时的系统资源和任务通信;程序员更多的是在应用层上进行开发,基于Vxworks操作系统下的应用程序可以在不同的CPU平台移植。
VxWorks系统主要包括:任务管理,存储管理、设备管理、文件系统管理、网络协议及系统应用几大部分。因为VxWorks系统占用空间小,仅靠人工变成调试,很难设计出可靠的高效的嵌入式系统,这其中应用而生的Tornado/Worchbench就是为开发Vxworks提供的集成开发环境,其中包含工程管理文件,用户可以将自己编写的代码和vxWorks的核心进行组合,按需配置内核。
1)VxWorks是实时操作系统中比较有特色的一个系统,具有可伸缩性、可裁剪性和高可靠性、适用于流行目标的CPU平台的实时操作系统;
#可伸缩性#:VxWorks提供超过1800个应用编程接口(API);
#可裁剪性#:用户更具需求对VxWorks系统进行配置;
#高可靠性#:在重要项目中发挥重要可靠作用;
2)VxWorks运行环境支持的CPU包括:PowerPC、68K、CPU32、SPARC、i960、x86、mips等,同时支持RISC、DSP技术。
3)vxWorks的微内核wind是高性能实时操作系统,主要特点包括:快速多任务切换、抢占式任务调度、任务间通信多样化等。该内核相比其他嵌入式实时操作系统相比,任务切换时间短、中断延时小、网络流量大,更加具有优势。
4)vxWorks具有良好的兼容性,在不同的环境中可以方便的移植;vxWorks是最早兼容POSIX1003.1b标准的嵌入式实时操作系统之一,同时也是POSIX的主要成员。vxWorks支持POSIX1003.1b规范以及1003.1规范的基本系统调用,主要包括:进程原语、文件目录、I/O原语、语言服务以及目录管理;此外,vxWorks还遵循POSIX1003.1b的实时扩展的标准: 包括:异步I/O、技术信号量、消息队列、信号、内存管理、以及任务调度。
5)vxWorks的TCP/IP协议栈部分在保持与BSD4.4版本的TCP/IP兼容的基础上,在实时性方面有较大的提高,这使得基于BSD。4.4 UNIX Socket的应用程序可以方便地移植到Vxworks当中去,并且网络的实时性得到提高。
6)风和公司提供了一些可选附件:BSP开发工具包、支持Flash文件系统的TrueFFS组件;用于虚拟存储管理的VxVMI组件、用于支持多处理器的VxMP组件和VxFusion组件以及各种图形方面的组件。
内核Wind包括多任务调度(基于优先级的抢占方式)、任务间同步和通信机制、中断处理以及看门狗和内存管理机制,每个任务拥有独立的执行线程和自己的一套系统资源。Wind使用中断驱动和基于优先级的抢占调用方式,缩短了上下文切换时间开销和中断的延时。任何一个例程都可以被启动为一个单独的任务、拥有自己的上下文和堆栈,还有一些其他任务机制可以使任务挂起、继续、删除、延时或者改变优先级。 Wind提供信号量作为任务间同步或者互斥的机制,主要包括:二进制信号量、计数信号量和互斥信号量。对于任务间通信,Wind也提供了诸如消息队列、管道、套接字和信 等机制。
总结其特点:
1)高效的任务管理
a)支持多任务,任务数没有限制;
b)支持抢占式调度和时间片轮转调度;
c)快速的、确定的上下文切换;
d)256个任务优先级
2)快速灵活的任务间通信;
a)二进制,计数信号量以及具有优先级继承特点的互斥信号量;
b)消息队列;
c)POSIX的管道、计数信号量、消息队列和信号;
d)Socket;
e)共享内存;
3)高度可裁剪性,
4)增加链接和加载组件;
5)快速、确定的中断响应;
6)优化的浮点支持;
7)动态内存管理;
8)系统时钟以及定时器支持;
vxWorks提供快速灵活的与ANSI C兼容的I/O系统,包括UNIX标准的缓冲I/O和POSIX标准的异步I/O,vxWorks包括以下驱动程序:
1)网络驱动:用于网络通信(以太网、共享内存),支持多种网卡;
2)管道驱动:用于任务间通信;
3)RAM盘驱动:用于常驻内存文件;
4)键盘驱动:用于X86键盘(仅存在于X86BSP)
5)显示驱动:用于X86VGA文本显示(仅存在于X86BSP)
6)磁盘驱动:用于IDE/ATA键盘,软盘(仅存在于X86BSP)
7)并口驱动:用于PC风格的目标机,
vxWorks提供的快速文件系统适合实时系统应用,包括几种支持使用块的本地文件系统,这些设备使用一个标准接口,使得文件可以灵活的在设备驱动程序上移植。
vxWorks支持以下几种文件系统:
a)dosFs:与MS_DOS兼容的文件系统;
b)rt11Fs:一种与RT11操作系统兼容的文件系统;
c)rawFs:该文件系统将整个盘作为一个文件,允许根据字节偏移读写硬盘的一部分,优点是仅仅需要底层I/O的操作,因此读写速度快,并且大小没有限制;
d)tapeFs:SCS顺序文件系统,用于磁带设备,不使用标准的文件和目录结构,,将整个磁带作为一个大文件来处理;
e)TrueFFS:内存文件系统;
f)cdromFS:vxWorks提供文件的cdromFS 系统,
板级支持包对各种板子的硬件功能提供了统一的软件接口,包括:硬件初始化、中断的产生和处理、硬件时钟和计时器管理、局域和总线内存地址映射、内存分配等。每个BSP包括一个ROM启动或其他启动机制。
VxWorks网络结构提供了对其他网络和TCP/IP网络系统的“透明”访问,包括与BSD兼容的编程接口、远程过程调用(RPC)、SNMP(可选项)、远程文件访问(包括客户端和服务端的NFS机制以及使用RSH、FTP或TFTP的非NFS机制)以及BOOTP和ARP代理,并且所有的VxWorks网络机制都遵循标准的Internet机制。
网络产品拓展了VxWorks的网络特性并增强了嵌入式特性,包括以下产品:
a)BSD4.4TCP/IP网络;
b)IP/IGMP,CIDR,TCP,UDP,ARP
c)RIP v.1/v.2
d)Sockets
e)SLIP、CSLIP、PPP
f)BOOTP、DNS、DHCP、TFTP
g)NFS、ONC、RPC、
h)FTP、rlogin、rsh、telnet
i) SNTP
j) WindNet SNMP v.1/v.2以及MIB编辑器
k)WindNet OSPF v.2
l)WindNet STREAMS SVR4
目标代理遵循WBD(Wind River Debug)协议,允许目标工具与主机上的Tronado开发工具相连。目标代理是以VxWorks的一个任务--tWdb Task的形式运行的。Tornado目标服务器向目标代理发送调试请求,调试请求通常决定目标代理对系统中其他任务的控制和处理。
vxWorks提供了一个实用例程的扩展集,包括中断处理、看门狗计时器、消息登录、内存分配、字符扫描、线缓冲和环缓冲管理、链表管理和ANSI C标准。
在Tornado开发系统中,开发工具是驻留在主机上的,但是也可以根据需要将基于目标机的Shell和装载/卸载模块加入VxWorks。
以上就是对VxWorks的初步介绍啦,接下来的篇章我将展开来讲一讲VxWorks操作系统的组成和功能,希望与各位读者朋友一起探讨进步,我是指尖比比,我们下个好文再见!!!