VxWorks基本构成模块 高效实时微内核wind 基于优先级的任务调度 一任务同步和通信 -1 中断处理 一定时器 一内存管理 ·/O处理系统 -与ANSI C兼容的I/O处理系统,主要包括: ·UNIX缓冲/O处理系统, ·面向实时的异步O处理系统 ·本机文件系统 llxx@ustc.edu.cn 16/94
VxWorks基本构成模块 • 高效实时微内核wind – 基于优先级的任务调度 – 任务同步和通信 – 中断处理 – 定时器 llxx@ustc.edu.cn 16/94 – 内存管理 • I/O处理系统 – 与ANSI C兼容的I/O处理系统,主要包括: • UNIX缓冲I/O处理系统, • 面向实时的异步I/O处理系统 • 本机文件系统
VxWorks基本构成模块(续) 。网络处理模块 -Vxworks网络处理模块能与许多运行其他协议的网络进 行通信,如TCP/IP、NFS、UDP、SNMP、FTP等 ·虚拟内存模块VxVMI -VXVM主要用于对指定内存区的保护,如内存块只读等 。 共享内存模块VXMP 一主要用于多处理器行运行任务之间的共享信号量、消 息队列、内存块管理 。 板级支持包BSP 一提供各种硬件的初始化、中断的建立、定时器、内存 映象 llxx@ustc.edu.cn 17/94
VxWorks基本构成模块(续) • 网络处理模块 – Vxworks网络处理模块能与许多运行其他协议的网络进 行通信,如TCP/IP、NFS、UDP、SNMP、FTP等 • 虚拟内存模块VxVMI – VxVMI主要用于对指定内存区的保护,如内存块只读等 llxx@ustc.edu.cn 17/94 • 共享内存模块VxMP – 主要用于多处理器行运行任务之间的共享信号量、消 息队列、内存块管理 • 板级支持包BSP – 提供各种硬件的初始化、中断的建立、定时器、内存 映象
VxWorks的评价 ·追求实时性,不以通用OS为设计目标。 一为保证实时性,去掉了一些OS模块 ·如:在内存管理中没有采用页面管理模式,而是采用平面式内存。 一 资源共享和优先级继承机制 一采用最优化的上下文切换和中断返回机制 -内核从不禁止非屏蔽中断NMl(non-maskable interrupts) 。 任务调度采用的是基于优先级的抢占式任务调度模式 -优先级分256级(0-255) 一用户可以动态的改变优先级,但是这种做法不提倡 一用户可以锁定一个任务使它不被更高的任务或中断抢占 一允许使用固定优先级响应时间来检查任务调度的性能 llxx@ustc.edu.cn 18/94
VxWorks的评价 • 追求实时性,不以通用OS为设计目标。 – 为保证实时性,去掉了一些OS模块 • 如:在内存管理中没有采用页面管理模式,而是采用平面式内存。 – 资源共享和优先级继承机制 – 采用最优化的上下文切换和中断返回机制 – 内核从不禁止非屏蔽中断 NMI (non-maskable interrupts) llxx@ustc.edu.cn 18/94 – 内核从不禁止非屏蔽中断 NMI (non-maskable interrupts) • 任务调度采用的是基于优先级的抢占式任务调度模式 – 优先级分256级(0-255) – 用户可以动态的改变优先级,但是这种做法不提倡 – 用户可以锁定一个任务使它不被更高的任务或中断抢占 – 允许使用固定优先级响应时间来检查任务调度的性能
VxWorks缺点 。 保证时限要求是设计者自己的任务 一系统的灵活性带来的弊端 ·不支持很多应用和APIs -只支持部分POSX标准的函数集 ·尽管采用了平板式内存管理,但是由于动 态分配内存,仍然存在内存段,这样仍然 存在时间不可预测性 ·应用领域主要局限在对实时性要求较严格 的硬实时系统中 llxx@ustc.edu.cn 19/94
VxWorks缺点 • 保证时限要求是设计者自己的任务 – 系统的灵活性带来的弊端 • 不支持很多应用和APIs – 只支持部分POSIX标准的函数集 llxx@ustc.edu.cn 19/94 • 尽管采用了平板式内存管理,但是由于动 态分配内存,仍然存在内存段,这样仍然 存在时间不可预测性 • 应用领域主要局限在对实时性要求较严格 的硬实时系统中
RTX,KEIL公司设计 ·基于Cortex-M3/M4架构 一支持零延迟中断特性 ·任务切换等性能优于其它RTOS -上下文切换时间<300 cycles ·调度:循环、抢先和协作 ·不限数量的任务,每个任务都具有254优先级 ·不限数量的邮箱、信号、互斥函数和计时器 ·支持多线程和线程安全运算 ·Vision IDE/调试器完全支持RTX
RTX,KEIL公司设计 • 基于Cortex-M3/M4架构 – 支持零延迟中断特性 • 任务切换等性能优于其它RTOS – 上下文切换时间< 300 cycles • 调度:循环、抢先和协作 • 不限数量的任务,每个任务都具有254优先级 • 不限数量的邮箱、信号、互斥函数和计时器 • 支持多线程和线程安全运算 • µVision IDE/调试器完全支持RTX