最新VxWorks操作系统及实时多任务程序设计..doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《最新VxWorks操作系统及实时多任务程序设计..doc》由会员分享,可在线阅读,更多相关《最新VxWorks操作系统及实时多任务程序设计..doc(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateVxWorks操作系统及实时多任务程序设计.VxWorks操作系统及实时多任务程序设计.VxWorks 操作系统及实时多任务程序设计刘尉悦 张万生 邢涛 王砚方(中国科技大学近代物理系,合肥, 230027摘要 :数字式声纳系统需要实时的显示其搜索、 跟踪结果, 同时对用户命令作出及时的响应, 并实时控制前端的硬件。本文介绍基于 VxWorks 实时操作系统和 X 窗
2、口系统的显示及控制 程序设计。着重介绍本系统中基于 VxWorks 的实时多任务程序设计。关键词:实时,实时操作系统, VxWorks , X-Window一. 系 统概况本系统运行于 VME 总线系统 (MVME177上, 通过 VME 背板总线与各模件交换数据对 各处理模件进行控制并把信号处理结果显示。 MVME177模件运行于嵌入式实时操作系统 VxWorks 下,人机交互界面基于 X 窗口系统。二. 嵌 入式实时操作系统 VxWorks 简介由于声纳系统在探测到某些目标后 (例如鱼雷 要迅速作出反应, 所以要求控制及显示 系统必须是实时操作系统。 实时操作系统, 要求能够随时打断正在执
3、行的任务, 对内部和外 部发生的事件在确定的时间内作出响应。本系统采用的 VxWorks 是由美国 WindRiver 开发 的一种类 UNIX 的高性能嵌入式实时操作系统。 它是目前世界上用户数量最大的实时操作系 统。具有优越的技术性能、丰富的应用软件支持、良好的技术服务和可靠的系统稳定性。 VxWorks 的主要性能特点有:1.高度可剪裁的微内核结构 VxWorks 的 所 需 要 的 存 储 器 空 间 大 约 为 8KB488KB(ROM、 620KB29.3KB(RAM,具有极好的可伸缩性。2.高效的多任务调度 VxWorks 支持中断驱动的优先级抢占式调度和时间片轮转调度, 并具有
4、确定的、快速的上下文切换能力。3.灵活的任务间通讯手段 支持信号灯、消息队列、管道、信号和套接字等进程间通 讯和互斥手段。4.支持诸如 Ring buffer、 Link list 等共享内存技术。5.确定的、微秒级的中断延迟时间。6.适用于多种物理介质的 TCP/IP协议族支持和几乎所有常用的基于 TCP/IP协议的应 用层协议。7.极其丰富的板级支持软件包(BSP , 支持多种处理器板。8.支持 POSIX 1003.1b (实时扩充 。9.快速、灵活的 I/O系统。10.支持 MS-DOS 、 RT-11和 RAW 等文件系统和网络文件系统 (NFS。11.灵活的启动方法,支持从 ROM
5、 、本地磁盘以及网络启动。三. VxWorks 的一些技术特点VxWorks 的特点主要在于嵌入式和实时性。由于嵌入式的特点,系统内核只有任务管 理和简单的内存管理, 在此之上可以根据需要配置各种功能模块, 包括网络管理、 文件系统、 虚拟存储器等等。 实时性则体现在实时调度算法和实时内核 (高效的进程间通讯、 内存管理等 。VxWorks支持 POSIX 标准, 所以 POSIX 的概念和接口以及一些策略都被支持, 但为了 提高系统性能, VxWorks 另有一套接口及实现策略称为 wind 内核,下面的讨论主要是针对 wind 内核而言的, POSIX 标准可以参见相关资料。h 任务在 V
6、xWorks 中, 最小的程序运行单位称为任务 (Task。 每个任务包含有一段固定的代码 和数据空间,操作系统内核通过任务控制块(Task Control Block对它的执行、通讯、资源 等情况进行控制。任务具有就绪、阻塞、挂起和延迟等状态。与 Linux 和 WindowsNT 下的进程不同的是:在 VxWorks 中, 所有任务共同享有物理内 存,存在于统一的线性空间中,每个任务没有自己独立的代码段和堆,只有独立的动态栈, 任务中的地址即是真正的物理地址。 由于不需要进行地址空间映射, 在任务切换时的上下文 切换 (Context Switch时间大为减少, 符合实时操作系统要求快速响
7、应的原则。 从这个意义上 来说, VxWorks 的任务更接近 Linux 和 WindowsNT 下的线程 (Thread。VxWorks 的代码段与堆共享减少了上下文切换时间,却带来了共享代码的可重入性 (Reentrancy问题。如一个函数被两个任务所调用,当其中包含对全局、静态变量等从堆中 分配空间的数据进行访问时, 就有可能产生冲突, 从而引发错误。 在应用软件开发时要加以 注意,解决方法是使用局部变量(从栈中分配空间或使用信号灯对临界代码进行监控。h 任务调度VxWorks 有两种任务调度策略,优先级抢先调度和时间片轮转调度。这两种调度策略都是系统级的,与 POSIX 进程级的调度
8、策略不同。即整个系统里要么是优先级 抢先调度,要么是时间片轮转调度;而 POSIX 标准下可以每个进程使用自己的调度策略。 系统共有 256个优先级。优先级抢先调度指的是一个优先级较低的任务正在执行中,另一个优先高的任务进入就绪状态, 则马上进行处理器抢先, 执行高优先级任务。 直到高优先级释放处理 器(完成、挂起、阻塞 才继续执行低优先级任务。优 先级抢先调度可以保证实时系统的迅速响应特性, 但是也带来一个问题:当系统中存 在几个相同优先级的任务时, 就会使单一任务独占处理器直至完成。 所以加入了基于优先级 的时间片轮转调度方式。 在不同优先级的任务间以抢先方式调度, 相同优先级的任务则以时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 VxWorks 操作系统 实时 任务 程序设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内