⑴ 请详细介绍一下VxWorks
国外商用嵌入式实时操作系统 VxWORKS 介绍
1 综述
WRS(Wind River System) 公司是国际着名的嵌入式实时操作系统的供应商。其产品 VxWroks 早期运行在 VRTX 、 pSOS 及自身运行较慢的 WIND 内核等实时内核之上,从 5.0 发行起,不再支持别的内核,只运行自己的 WIND 内核(重写的 WIND 内核)。这个系统的基本设计思想是要充分利用 VxWORKS 和 Unix/Windows 的优点,使之与嵌入式软件相互补充达到最优。
Unix 和 Windows 虽然用户界面友好、开发工具丰富,但是由于嵌入式实时系统的时间、空间的局限性,他们不适用于实时应用开发。传统的实时操作系统提供的用于开发的环境资源(非实时组件)又非常贫乏。 VxWORKS 使嵌入式系统开发人员能在嵌入开发环境下更好的使用 Unix/Windows 。
VxWORKS 能够一方面处理紧急的实时事务,另一方面,让主机用于程序开发和非实时的事务。开发者可以根据应用需要恰当地裁减 VxWORKS 。开发时可以包含附加的网络功能加速开发过程,在产品最终版本中,再去掉附加功能,节省系统资源。
WRS 公司还提供最新一代的 IDE---- 主机上的集成开发环境 Tornado, 开发者通过 Tornado 来编辑、编译、连接和存储实时代码,但是实时代码的运行和调试都在 VxWORKS 上进行。最终生成的目标映像可以脱离主机系统和网络,单独运行在 ROM 、磁盘(软 / 硬)或 FLASH 上。主机系统和 VxWORKS 可以在一个混合应用中共同工作:通过网络联接,主机使用 VxWORKS 系统作为实时服务器。
1995 年开发出的 Tornado ,赢得电子设计新闻该年度的“嵌入式开发软件创新奖“( Electronic Design News' “Embedded Development Software Innovation of the Year” award ) [9] 。
2 特点
• 支持多种硬件环境
VxWORKS 操作系统支持的 CPU 包括: Power PC 、 68K 、 CPU32 、 Space 、 i960 、 x86 、 Mips 等等;同时支持 RISC 、 DSP 技术。
• 微内核结构,任务间切换时间短,中断延迟小,网络流量大。
• 较好的可剪裁能力,可裁减组件超过 80 个,用户通过交叉开发环境方便地进行配置。
• 支持应用程序的动态连接和动态下载,使开发者省去了每次调试都将应用程序与操作系统内核进行连接和下载的步骤,缩短了编辑 / 调试的周期。
• 较好的兼容性:兼容 POSIX1003.1b 标准( Portable Operating System Interface for computer Environments,= Portable Operating System UNIX , IEEE 1003.1 ) 。
• 高可靠性、高可用性、高安全性。
3 组成
VxWORKS 包括进程管理、存储管理、设备管理、文件系统管理、网络协议及系统应用等部分,占用很小的存储空间,支持高度裁减,保证系统能以较高的效率运行。 VxWORKS 体系结构如图 1.5 所示 [9][10][59] 。
VxWORKS 包括以下部分:
• Wind 内核
Wind 内核包括基于优先级的抢占式多任务调度机制、任务间的同步和进程间的通讯机制以及中断处理、看门狗和内存管理机制。不仅提供多种信号量支持任务间同步和互斥的机制,而且提供消息队列、管道、套接字和信号等机制支持进程间通信。
• I/O 系统
VxWORKS 提供了快速灵活的与 ANSI C 兼容的 I/O 系统,包括 UNIX 标准的缓冲 I/O 和 POSIX 标准的异步 I/O 。还包括多个驱动程序(包括网络驱动、管道驱动、 RAM 盘驱动、 SCSI 驱动、磁盘驱动、显示驱动、键盘驱动、并口驱动等)。
• 文件系统
VxWORKS 提供了快速文件系统适合于实时系统应用。它拥有多种支持使用块设备的本地文件系统。这些设备都使用一个标准接口,从而使得文件系统能够灵活地在设备驱动程序上移植。
• 板级支持包 BSP(Board Support Package)
板级支持包对各种板的硬件功能提供了统一的软件接口,它包括硬件初始化、中断的产生和处理、硬件时钟和计时器管理、局域和总线内存地址映射、内存分配等等。每个板级支持包括一个 ROM 启动( Root ROM )或其他启动机制。
• 网络设施与产品
• 虚拟内存与共享内存
VxWORKS 的 VxWMI 为带有 MMU ( Memory Mapping Unit )的目标板提供了虚拟内存机制。 VxMP 提供了共享信号量、消息队列和不同处理器之间的共享内存区域。
• 目标代理( Target Agent )
目标代码遵循 WDB(Wind Debug) 协议,允许目标机与主机上的 Tornado 开发工具相连。如图 1.6 所示,目标代理是以 VxWORKS 的一个任务的形式运行。
Tornado 目标服务器向目标代理发送调试请求。调试请求通常决定目标代理对系统中其他任务的控制和处理。默认状态下,目标服务器与目标代理通过网络进行通信,用户也可以改变通信方式。
VxWORKS 操作系统自 1996 年进入中国,广泛应用于通信、国防、工业控制、医疗设备等嵌入式实时应用领域。它是研究嵌入式实时操作系统的一个极好对象。
⑵ VxWorks7.0中包含集成开发环境吗
需要自己配置。
Step 1. 安装vmware
首先需要安装vmware, 版本没有什么限制,我装的是vmware 8.0,关于怎么安装就不细说了,一切都用默认的就ok。安装完成后需要配置下vmware虚拟网卡1(VMnet1)的IP,设置为192.168.102.1,后面会用到这个IP设置,后面会用到这个设置。如下所示:
⑶ 什么是vxworks
vxworks
VxWorks 是美国 Wind River System 公司( 以下简称风河 公司 ,即 WRS 公司)推出的一个实时操作系统。Tornado 是WRS 公司推出的一套实时操作系统开发环境,类似Microsoft Visual C,但是提供了更丰富的调试、防真环境和工具。
VxWorks操作系统有以下部件组成:
内核(wind):
多任务调度(采用基于优先级抢占方式,同时支持同优先级任务间的分时间片调度)
任务间的同步
进程间通信机制
中断处理
定时器和内存管理机制
I/O 系统
VxWorks 提供了一个快速灵活的与 ANSI C 兼容的 I/O 系统,包括 UNIX 标准的Basic I/O(creat(), remove(), open(),close(), read(), write(), and ioctl().),Buffer I/O (fopen(), fclose(), fread(), fwrite(), getc(), putc()) 以及POSIX 标准的异步 I/O。VxWorks 包括以下驱动程序:网络驱动、管道驱动、RAM盘驱动、SCSI驱动、键盘驱动、显示驱动、磁盘驱动、并口驱动等
文件系统
支持四种文件系统: dosFs,rt11Fs,rawFs 和 tapeFs
支持在一个单独的 VxWorks 系统上同时并存几个不同的文件系统。
板级支持包 BSP(Board Support Package)
板级支持包向VxWorks操作系统提供了对各种板子的硬件功能操作的统一的软件接口,它是保证VxWorks操作系统可移植性的关键,它包括硬件初始化、中断的产生和处理、硬件时钟和计时器管理、局域和总线内存地址映射、内存分配等等。 每个板级支持包括一个 ROM 启动(Boot ROM)或其它启动机制。
网络支持:
它提供了对其它VxWorks系统和TCP/IP 网络系统的"透明"访问,包括与BSD套接字兼容的编程接口,远程过程调用(RPC),SNMP(可选项),远程文件访问(包括客户端和服务端的NFS机制以及使用RSH,FTP 或 TFTP的非NFS机制)以及BOOTP 和代理ARP、DHCP、DNS、OSPF、RIP。无论是松耦合的串行线路、标准的以太网连接还是紧耦合的利用共享内存的背板总线,所有的 VxWorks 网络机制都遵循标准的 Internet 协议。
系列网络产品:
WindNet SNMP
WindNet STREAMS
WindNet 第三方产品,包括 OSI、SS7、ATM、Frame Relay、CORBA、ISDN、X.25、
CMIP/GDMO、分布式网络管理等。
这些产品扩展了VxWorks的网络特性,并增强了嵌入式处理器的网络特性
虚拟内存( VxVMI)与共享内存(VxMP)
VxVMI 为带有 MMU 的目标板提供了虚拟内存机制。
VxMP 提供了共享信号量,消息队列和在不同处理器之间的共享内存区域。
目标代理(Target Agent)
目标代理遵循 WBD(Wind Debug)协议,允许目标机与主机上的 Tornado 开发工具相连。在目标代理的缺省设置中,目标代理是以 VxWorks 的一个任务tWdbTask 的形式运行的。
Tornado 目标服务器(Target Server)向目标代理发送调试请求。调试请求通常决定目标代理对系统中其它任务的控制和处理。缺省状态下,目标服务器与目标代理通过网络进行通信,但是用户也可以改变通信方式。
实用库
VxWorks 提供了一个实用例程的扩展集,包括中断处理、看门狗定时器、消息登录、 内存分配、字符扫描、线缓冲和环缓冲管理、链表管理和 ANSI C 标准。
基于目标机的工具
在 Tornado 开发系统中,开发工具是驻留在主机上的。但是也可以根据需要将基于目标机的Shell 和装载卸载模块加入 VxWorks。
总之,VxWorks的系统结构是一个相当小的微内核的层次结构。内核仅提供多任务环境、进程间通信和同步功能。这些功能模块足够支持VxWorks在较高层次所提供的丰富的性能的要求。