VxWorks 是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。Tornado 是WRS 公司推出的一套实时操作系统开发环境,类似MicrosoftVisual C,但是提供了更丰富的调试、仿真环境和工具。
外文名
VxWorks
公    司
Wind River System(风河公司 )
产品类型
实时操作系统
开发时间
1983年
产    地
美国
开发环境
Tornado/Wind River Workbench
 

目录

简介编辑

VxWorks 操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。在美国的 F-16、FA-18战斗机、B-2 隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器、2008年5月登陆的凤凰号,和2012年8月登陆的好奇号也都使用到了VxWorks上。

组成编辑

VxWorks操作系统有以下部件组成:

内核

多任务调度(采用基于优先级抢占方式,同时支持同优先级任务间的分时间片调度)
任务间的同步
定时器和内存管理机制

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 协议。

工具编辑

在 Tornado 开发系统中,开发工具是驻留在主机上的。但是也可以根据需要将基于目标机的Shell 和装载卸载模块加入 VxWorks。
嵌入式Vxworks系统的主要应用领域主要有以下几方面:
1.数据网络:如:以太网交换机、路由器、远程接入服务器等
2.远程通讯:如:电信用的专用分组交换机和自动呼叫分配器,蜂窝电话系统
3.医疗设备:如:放射理疗设备
4.消费电子:如:个人数字助理
5.交通运输:如:导航系统、高速火车控制系统
6.工业:如:机器人
7.航空航天:如:卫星跟踪系统
8.多媒体:如:电视会议设备
9.计算机外围设备:如:X终端、I/O 系统等
总之,VxWorks的系统结构是一个相当小的微内核的层次结构。内核仅提供多任务环境、进程间通信和同步功能。这些功能模块足够支持VxWorks在较高层次所提供的丰富的性能的要求。
VxWorks6.0版本新增功能:
风河通用平台VxWorks版(GPP)是所有设备软件应用程序的首要基础平台。此通用平台基于全球应用最广泛的运行时操作系统--VxWorks而构建。最新版本(VxWorks 6.1)中的各运行时组件可向后兼容VxWorks的早期版本。此最新版本包含了增强的内存保护、容错管理,并支持最新的网络和安全协议以及设备与企业间的连通性。
通用平台组合了最为严格和确定性的实时操作系统,其产品完全集成了现有的产品开发解决方案,从而能够满足贵企业的各种苛刻需求。它无缝集成了业界标准的RTOS(VxWorks 6.1)、功能强大的开发套件(Workbench 2.3)、网络和安全协议、用于工程人员快速启动项目的培训以及迅速扩展您开发团队综合技能的各种专业服务。
新增功能:
通用平台VxWorks 3.1版扩展了的3.0功能:它扩展了架构支持、多处理器消息处理(基于业界标准的开源式TIPC协议)、增强了网络堆栈以及支持风河Workbench的最新版本。

新架构编辑

ARM 9,ARM 11
- Intel Pentium M
- Intel XScale
- MIPS
- PowerPC
- Renesas SuperH-4,SuperH-4a
* 支持通用平台VxWorks 3.0版中的所有架构和BSP
* 多处理器消息通道(基于TIPC协议)
* 网络堆栈包括PPP、PPPoE以及多链路PPP
* 风河Workbench 2.3

产品编辑

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 标准。
是一个实时操作系统。

vxworks的更多相关文章

  1. vxworks下网络编程一:网络字节序问题

    inet_addr("192.168.1.1");//返回网络字节序整型ip地址inet_ntoa(saddr);//将包含网络字节序整型ip地址的in_addr对象转换成本地ch ...

  2. 程序调试手段之gdb, vxworks shell

    调试一个程序主要用到的功能: 启动程序 设置函数断点 设置数据断点 单步执行 查看内存值 修改内存值 linux下的gdb,和vxworks下的shell 虽然使用方式和调试命令略有不同,但是都能满足 ...

  3. vxworks 实时操作系统

    VxWorks 是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统.Tornado 是WRS 公司推出的一套实时操作系统开发环境,类似Mi ...

  4. VxWorks 6.9 内核编程指导之读书笔记 -- POSIX

    POSIX能力 VxWorks扩展了POSIX,为了移植,VxWorks提供了额外的POSIX接口作为可选组件.VxWorks实现了POSIX 1003.1(POSIX .1)一些传统接口以及POSI ...

  5. VxWorks 6.9 内核编程指导之读书笔记 -- ISRs和Watchdog Timer

    中断服务程序 ISR 硬件中断处理是实时系统的关键,因为它是外部时间通知系统的方式. ISR亦称为中断处理函数,是对中断的正确响应.可以使用任何ISR连接到任何没有被VxWorks使用的中断上.当关联 ...

  6. VxWorks 6.9 内核编程指导之读书笔记 -- Singnals

    Signals 信号是操作系统用于异常处理和异步控制流的关键.在很多方面,信号相当于软件方面的硬件中的中断.操作系统产生的信号包括总线错误和浮点处理异常.信号也提供了API来管理和产生信号.在应用程序 ...

  7. VxWorks 6.9 内核编程指导之读书笔记 -- 多任务

    概述 VxWork系统任务 任务调度 任务创建和管理 任务的错误状态 任务异常处理 共享代码和重入 概述 现代实时操作系统是基于多任务和任务间通信的概念的.多任务环境运行一个实时进程RTP可以被作为一 ...

  8. VxWorks 6.9 内核编程指导之读书笔记 -- 多任务(二)

    VxWorks的系统任务 VxWorks在引导时启动的系统任务依赖于配置,有些总是运行.任务集与VxWorks的基本配置相关,很少的任务常用于可选的组件. 注意:别挂起.删除或改变任何系统任务的优先级 ...

  9. VxWorks 6.9 内核编程指导之读书笔记 -- C++开发

    5.1 介绍 针对C++的VxWorks配置 C++头文件 使用C++启动任务 C和C++之前调用代码 C++编译器说明 在信号处理和ISR中使用C++ 下载C++编写的内核模块 C++编译器的不同 ...

  10. VxWorks 6.9 内核编程指导之读书笔记 -- VxWorks Kernel application (二)

    #1 内核对象的静态实例化 内核对象的静态实例化 任务的静态实例化 VX_TASK宏用来在编译时声明一个任务对象.该宏带有2个参数:任务名和栈大小.不像taskSpawn函数,任务名称可以是NULL. ...

随机推荐

  1. sublime部署开发环境

    安装nodejs 去官网下载安装,暂时不建议安装5.0以上版本. 命令行运行以下命令查看是否安装成功: 全局安装gulp $ npm install -g gulp 全局安装requirejs 压缩资 ...

  2. hdu 4454 Stealing a Cake

    简单的计算几何: 可以把0-2*pi分成几千份,然后找出最小的: 也可以用三分: #include<cstdio> #include<cmath> #include<al ...

  3. uva 1267 - Network

    这个题目关键在于把无根树变成有根树:这个用dfs: 然后用贪心的方法,从最深的那层开始,每次找到节点的上k层,建一个服务器,然后用一个dfs把这个服务器能够覆盖的节点标记: #include<c ...

  4. JAVA 内存泄漏与内存溢出

    一.Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址.Java中对象是采用new或者反射或者clone或者反序列化的方法创建的, 这 ...

  5. Perl脚本学习经验(三)--Perl中ftp的使用

    使用use Net::FTP;Demo:    my $Server = '192.168.1.1';    my $User = 'admin';    my $Password = 'admin' ...

  6. JavaScript数学函数的操作

    <script> var a=3.14; var a1=Math.ceil(a);//大于当前小数的最小整数; alert(a1); var a2=Math.floor(a);//小于当前 ...

  7. BZOJ_1565_[NOI2009]_植物大战僵尸_(Tarjan+最大流+最大权闭合图)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1565 n*m的矩阵,可以种植植物,僵尸从图的右边进入吃植物.前面的植物可以保护后面的植物,还有 ...

  8. 推荐一个Xcode插件: KSImageNamed (自动补全图片文件名称, 并显示图片大小)

    http://www.csdn.net/article/2014-05-04/2819586-the-best-xcode-plugins 5. KSImageNamed KSImageNamed是一 ...

  9. 水题:HDU 5119 Happy Matt Friends

    Matt has N friends. They are playing a game together.Each of Matt's friends has a magic number. In t ...

  10. 城市连动纯js代码DEMO

    前台代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" co ...