- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
从浅到深的介绍
VxWorks 由浅入深介绍
关键词:实时操作系统 任务 消息 VxWorks Tornado
摘 要:本文档对实时操作系统作了简要介绍,并针对VxWorks系统的特点进行了具体的说明和分析,从VxWorks系统的任务管理、通信机制、系统配置、系统接口几个方面展开。
VxWorks操作系统概述
VxWorks 操作系统简介
基于微内核的,可裁减,可抢占(也可支持任务优先级反转),实时多任务操作系统.
VxWorks系统最提供多处理器间和任务间高效的信号灯、消息队列、管道、网络透明的套接字。为了获得最快速可靠的中断响应,VxWorks系统的中断服务程序ISR有自己的上下文。
VxWorks实时操作系统由400多个相对独立的、短小精炼的目标模块组成,用户可根据需要选择适当模块来裁剪和配置系统,这有效地保证了系统的安全性和可靠性。系统的链接器可按应用的需要自动链接一些目标模块。这样,通过目标模块之间的按需组合,可得到许多满足功能需求的应用。
VxWorks操作系统的基本构成模块包括以下部分:
? 高效的实时内核Wind
VxWOrks实时内核(Wind)主要包括基于优先级的任务调度、任务同步和通信、中断处理、定时器和内存管理。
? 兼容实时系统标准POSIX
VxWOrks提供接口来支持实时系统标准P.1003.1b.
? I/O系统
VxWOrks提供快速灵活的与ANSI-C相兼容的I/O系统,包括UNIX的缓冲I/O和实时系统标准POSIX的异步I/O。VxWOrks包括以下驱动:
网络 --- 网络设备(以太网、共享内存)
管道 --- 任务间通信
RAM --- 驻留内存文件
SCSI --- SCSI硬盘,磁碟,磁带
键盘 --- PC x86键盘(BSP仅支持x86)
显示器 --- PC x86显示器(BSP仅支持x86)
磁碟 --- IDE和软盘(BSP仅支持x86)
并口 --- PC格式的目标硬件
? 本机文件系统
? I/O系统
VxWorks的文件系统与MS-DOS、RT-11、RAM、SCSI等相兼容。
? 网络特性
VxWorks网络能与许多运行其它协议的网络进行通信,如TCP/IP、4.3BSD、NFS、UDP、SNMP、FTP等。VxWorks可通过网络允许任务存取文件到其它系统中,并对任务进行远程调用。
? 虚拟内存(可选单元VxVMI)
VxVMI主要用于对指定内存区的保护,如内存块只读等,加强了系统的健壮性。
? 共享内存(可选单元VxMP)
VxMP主要用于多处理器上运行的任务之间的共享信号量、消息队列、内存块的管理。
? 驻留目标工具
Tornado集成环境中,开发工具工作于主机侧。驻留目标外壳、模块加载和卸载、符号表都可进行配置。
? Wind基类
VxWorks系统提供对C++的支持,并构造了系统基类函数。
? 工具库
VxWorks系统向用户提供丰富的系统调用,包括中断处理、定时器、消息注册、内存分配、字符串转换、线性和环形缓冲区管理,以及标准ANSI-C程序库。
? 性能优化
VxWorks系统通过运行定时器来记录任务对CPU的利用率,从而进行有效地调整,合理安排任务的运行,给定适宜的任务属性。
? 目标代理
目标代理可使用户远程调试应用程序。
? 板级支持包(BSP)
板级支持包提供硬件的初始化、中断建立、定时器、内存映象等。
? VxWorks仿真器(VxSim)
可选产品VxWorks仿真器,能模拟VxWorks目标机的运行,用于应用系统的分析。
VxWorks操作系统内核
VxWorks内核(wind)的基本功能可以分为如下几大类:
任务管理;
事件和异步信号服务;
信号量服务;
消息队列服务;
内存管理;
中断服务程序;
时钟管理和定时器服务;
出错处理。
在以下各节中将对VxWorks内核的各类功能分别进行描述。
任务管理
任务是代码运行的一个映象,从系统的角度看,任务是竞争系统资源的最小运行单元。任务可以使用或等待CPU、I/O设备及内存空间等系统资源,并独立于其它任务,与它们一起并发运行(宏观上如此)。VxWorks内核使任务能快速共享系统的绝大部分资源,同时有独立的上下文来控制个别线程的执行。
任务结构
多任务设计能随时打断正在执行着的任务,对内部和外部发生的事件在确定的时间里作出响应。VxWorks实时内核Wind提供了基本的多任务环境。从表面上来看,多个任务正在同时执行,实际上,系统内核根据某一调度策略让它们交替运行。系统调度器使用任务控制块的数据结构(简记为TCB)来管理任务调度功能。任务控制块用来描述一个任务,每一任务都与一个TCB关联。TCB包括了任务的当前状态、优先级、要等待的事件或资源、任务程序码的起始地
文档评论(0)