下载此文档

vxworks653编程手册.docx


文档分类:IT计算机 | 页数:约21页 举报非法文档有奖
1/21
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/21 下载此文档
文档列表 文档介绍
VxWorks653运行时系统
运行时层
一个vxworks653模块由下面四层组成:
■ core OS—必需
■ partition—至少需要一个 (vThreads 或 COIL-based),每个都在一个分区的操作系_TYPE;
PERIOD : SYSTEM_TIME_TYPE;
DURATION : SYSTEM_TIME_TYPE;
LOCK_LEVEL : LOCK_LEVEL_TYPE;
OPERATING_MODE : OPERATING_MODE_TYPE;
START_CONDITION : START_CONDITION_TYPE;
end record;
type OPERATING_MODE_TYPE is (IDLE, COLD_START, WARM_START, NORMAL);
type START_CONDITION_TYPE is (NORMAL_START,
PARTITION_RESTART,
HM_MODULE_RESTART,
HM_PARTITION_RESTART);
Where:
NORMAL_START is a normal power-up.
PARTITION_RESTART is either due to COLD_START or WARM_START by the partition
itself, through the SET_PARTITION_MODE service.
HM_MODULE_RESTART is a recovery action taken at module level by the HM.
HM_PARTITION_RESTART is a recovery action taken at partition level by the HM.
设置分区模式
SET_PARTITION_MODE函数可以设置分区模式为IDLE,COLD_START,WARM_START,NORMAL。
其中
IDLE模式:分区关闭。分区未被初始化,没有进程正在运行,但是分配给该分区的时间窗口未被改变。
COLD_START模式:分区重启使用冷启动初始化。
WARM_START模式:分区重启使用热启动初始化。
NORMAL模式:激活的进程被调度。
控制分区中的抢占
进程的LOCK_PREEMPTION函数可以为分区中的抢占上锁。该函数增加了分区的锁级,使得进程不能在分区中重调度。当进程访问临界区时,或资源被同一分区中的多个进程共享时,这个能力十分重要。
LOCK_PREEMPTION函数不会影响其他分区的调度。如果一个位于临界区的进程由于分区窗口结束而被中断时,当分区再次运行时仍然是该进程最先运行。
UNLOCK_PREEMPTION函数可以解锁分区的抢占。这个函数降低了分区的锁级,仅当锁级到达零时,进程的重调度才能恢复。
分区调度
对于时间分区,ARINC653提供了两级调度机制。在核心模块级,采用预先确定的基于时间
窗的循环调度算法来调度各个分区,分区没有优先级。核心操作系统根据每个分区的周期与持续时间信息,维护一个固定时间长度的主时间帧,该主时间帧的时间长度为所有分区周期的最小公倍数。静态调度算法为每个分区生成该主时间帧内相应的分区调度窗口,每个分区调度窗口由从主时间帧开始的偏移和期待的持续时间来定义。分区的调度窗口事先定义在配置表中。每个分区在其分区调度窗口内被激活并占用CPU,并保证每个分区在其调度窗口内运行时不被其他分区打断。主时间帧在模块的运行期内周期性的重复,每个主时间帧中拥有相同的分区调度窗口执行次序。
进程管理
APEX进程是包含在APEX分区内的编程单元。同一分区内的进程可以并发执行。进程由可执行程序、数据和栈、程序计数器、栈指针以及优先级期限组成。
进程管理包含创立进程、改变进程当前优先级、得到进程的当前状态、得到进程ID、挂起和恢复进程、停止和启动进程、控制抢占等函数。
进程类型
周期性进程
非周期性进程
进程调度
在分区级,调度单元是APEX进程。每个进程拥有优先级,调度算法

vxworks653编程手册 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数21
  • 收藏数0 收藏
  • 顶次数0
  • 上传人916581885
  • 文件大小412 KB
  • 时间2022-03-03