新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > VxWorks操作系统及实时多任务程序设计

VxWorks操作系统及实时多任务程序设计

作者:时间:2012-03-27来源:网络收藏
  系统概况

  本系统运行于(MVME177)上,通过VME背板总线与各模件交换数据对各处理模件进行控制并显示信号处理结果。MVME177模件运行于嵌入式下,人机交互界面基于X窗口系统。

  一、 嵌入式简介

  由于声纳系统在探测到某些目标(如鱼雷)后要迅速作出反应,所以要求控制及显示系统必须是。实时操作系统要求能够随时打断正在执行的任务, 对内部和外部发生的事件在确定的时间内作出响应。本系统采用的 是由美国WindRiver开发的一种类UNIX的高性能嵌入式实时操作系统。它是目前世界上用户数量最大的实时操作系统,具有优越的技术性能、丰富的应用软件支持、良好的技术服务和可靠的系统稳定性。

  VxWorks的主要性能特点有:

   (1) 高度可剪裁的微内核结构。VxWorks所需要的存储器空间大约为8KB~488KB(ROM)、620KB~29.3KB(RAM),具有极好的可伸缩性。
  (2) 高效的多任务调度。VxWorks 支持中断驱动的优先级抢占式调度和时间片轮转调度,并具有确定的、快速的上下文切换能力。
  (3) 灵活的任务间通信手段。支持信号灯、消息队列、管道、信号和套接字等进程间通信和互斥手段。
  (4) 支持诸如Ring buffer、Link list 等共享内存技术。
  (5) 确定的μs级的中断延迟时间。
  (6) 适用于多种物理介质的TCP/IP协议族支持和几乎所有常用的基于TCP/IP协议的应用层协议。
  (7) 极其丰富的板级支持软件包(BSP),支持多种处理器板。
  (8) 支持POSIX 1003.1b (实时扩充)。
  (9) 快速、灵活的I/O系统。
  (10) 支持MS DOS、RT 11和RAW等文件系统和网络文件系统(NFS)。
  (11) 灵活的启动方法。支持从ROM、本地磁盘以及网络启动。

  二、 VxWorks的一些技术特点

  VxWorks的特点主要在于嵌入式和实时性。由于嵌入式的特点,系统内核只有任务管理和简单的内存管理,在此之上可以根据需要配置各种功能模块,包括网络管理、文件系统、虚拟存储器等等。实时性则体现在实时调度算法和实时内核(高效的进程间通信、内存管理等)。

  VxWorks支持POSIX标准,所以POSIX的概念和接口以及一些策略都被支持。但为了提高系统性能,VxWorks另有一套接口及实现策略称为wind内核。下面的讨论主要针对wind内核。POSIX标准可以参见相关资料。

  (1) 任务在VxWorks中,最小的程序运行单位称为任务(task)。每个任务包含一段固定的代码和数据空间。操作系统内核通过任务控制块(task control block)对它的执行、通信、资源等情况进行控制。任务具有就绪、阻塞、挂起和延迟等状态。

  与Linux和 WindowsNT下的进程不同的是:在VxWorks中,所有任务共同享有物理内存,存在于统一的线性空间中。每个任务没有自己独立的代码段和堆,只有独立的动态栈。任务中的地址即是真正的物理地址。由于不需要进行地址空间映射,在任务切换时的上下文切换(context switch)时间大为减少,符合实时操作系统要求快速响应的原则。从这个意义上来说,VxWorks的任务更接近Linux和WindowsNT下的线程(thread)。 VxWorks的代码段与堆共享减少了上下文切换时间,却带来了共享代码的可重入性(reentrancy)问题。如1个函数被2个任务所调用,当其中包含对全局、静态变量等从堆中分配空间的数据进行访问时,就有可能产生冲突,从而引发错误。在应用软件开发时要加以注意。解决方法是使用局部变量(从栈中分配空间)或使用信号灯对临界代码进行监控。

  (2) 任务调度 VxWorks有2种任务调度策略:优先级抢先调度和时间片轮转调度。这2种调度策略都是系统级的,与POSIX进程级的调度策略不同,即整个系统里要么是优先级抢先调度,要么是时间片轮转调度;而POSIX标准下可以每个进程使用自己的调度策略。系统共有256个优先级。

  优先级抢先调度指的是一个优先级较低的任务正在执行中,另一个优先级高的任务进入就绪状态,则马上进行处理器抢先,执行高优先级任务,直到高优先级释放处理器(完成、挂起、阻塞等)才继续执行低优先级任务。

  优先级抢先调度可以保证实时系统的迅速响应特性,但是也带来1个问题:当系统中存在几个相同优先级的任务时,就会使单一任务独占处理器,直至完成。为此加入了基于优先级的时间片轮转调度方式。在不同优先级的任务间以抢先方式调度,相同优先级的任务则以时间片进行轮转。

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭