RTX的程接口.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
RTX的程接口

体系架构 RTX的架构 RTX添加一个实时子系统, 即所谓的RTSS,到Windows (参见上面的图) 。RTSS 与其它Windows子系统是概念性相似(譬如Win32, POSIX,和DOS) 因为它支持其自己的执行环境和API 。但在一个重要区域RTSS是不同的:不是使用Windows调度程序, RTSS执行其自己实时线程调度。此外, 在单处理机环境里, 所有RTSS 线程调度在所有Windows调度之前发生, 包括Windows管理的中断和延迟的过程调用(DPCs) 。 实时进程间通信 RTSS也支持能被RTSS或Win32进程操纵的进程间通信对象(IPC)。这使得在实时和非实时程序之间,简单标准的通信和同步成为可能。最后, RTSS 提供其它时间关键服务- 譬如对RTSS 进程实施时钟,定时器和中断管理。 HAL 扩展名 RTX 包括一个实时使能的硬件抽象层(HAL)扩展。这个扩展在RTSS 和Windows之间维护中断隔离。 Windows无法屏蔽(在中断控制级别) 由RTSS 管理的中断。 Windows中断在RTSS 处理期间被屏蔽。 实时HAL 扩展名支持关于RTSS的高分辨率时钟和定时器, 当它和支持关于Windows的非实时钟和定时器。 其它实时HAL 扩展名功能包括在RTSS 和Windows之间的一个软件中断机制, 基本的异常管理, 和各种各样的改进都是为了确定性。 单处理机和多处理机系统 RTX 支持单处理机和多重处理机都运行于 Windows的系统。 RTX 的运行时版本, 它支持多重处理机系统, 提供单处理机版本的所有功能, 它利用英特尔MPS兼容的多重处理机系统,在Windows和RTX 环境提供改善的性能。 运行RTX,为多重处理机系统, 实施一个专用的处理器模型。在这个模型中, RTSS 运行在一个处理器, 当其余的处理器继续运行在Windows系统。 多重处理机HAL在Windows起动次序期间获取最后逻辑处理器的控制。它为RTSS保留 。RTSS 程序可能被装载,然后被在专用处理器中执行。 关于Win32 和RTSS 进程的RTX 应用程序编程接口, 包括浮点单元(FPU) 和结构化的异常处理, 被单处理机和多重处理机系统使用。这消除了为一个多处理机平台重新编码RTX(单处理机)应用软件的需要。 应用程序设计接口(API) RTX API 是基于Win32 API的。开发人员借鉴Win32 经验, 编码基础, 和开发工具, 和加速坚硬实时应用的开发。 Win32 和RTSS 进程支持全部的RTX API, 但是, 用不同的反应时间和性能特性- 在开发环境之间允许开发人员共享或移动代码。 Win32 和实时API RTX 支持一个子集Win32 API 功能, 它提供一套特殊实时功能, 通认作为RTAPI (实时API) 。 RTAPI 函数用Rt 作为函数名的前缀。 某些RTAPI 函数与Win32 中与之对应的语义是相同的,但其他的是RTX(例如, 没有相似的Win32 调用)独有的。例如, RTAPI IPC函数与Win32 IPC函数的不同只在于他们运行的IPC 命名空间和在决定性可能以实时IPC 对象。 另一方面, Win32 API 不包括任何与中断管理有关的函数; 因此, 唯一中断管理函数被定义在RTAPI 。 对RTX API 的仔细的选择促进实时应用组件的高效率的开发。 RTX不包括Win32 功能, 譬如与GUI 相关的调用, 一般有时间要求不严格的应用程序组件使用。 实际上, Win32函数对于实时编程不是必需的, 和不切实际执行确定性行为, 不被包括在RTX API 。多数应用程序至少有两个进程一起工作- 一个基于Win32 的进程(利用GUI 和其它Win32-only 函数) 和一个基于RTSS 的进程执行时间严格的处理。 实时程序库 RTX 支持各种各样的运行时库, 并且提供基于MS Visual C++ 的 C 运行时库。 RTSS 进程可能静态被链接包含这些库, 只要他们不尝试链接到不受支持的Win32函数。 RTSS 进程链接到专用版本的动态连接库(DLLs 的),这些可能被使用模块化应用程序代码或提供实时软件环境的运行时定制。 Unicode RTX 支持Unicode 应用程序。 RTSS 进程可能使用wmain() 函数和接受广义字符输入变量。 支持函数WCS 系列,这些作为RTX 支持的C 运行时库一部分。 API 进程线程管理 进程和线程 一个进程包含一个地址空间,对象句柄,和一个或多个执行(线程)路径。线程被用于响应中断和处理线程上下文中进程相关的异步事件。RTSS和Win32的进程和线程只能进入他们自己的环境中的进程和线程。 1.R

文档评论(0)

jiaoyuguanliji + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档