这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 工业控制与自动化 » INtime实时操作系统

共2条 1/1 1 跳转至

INtime实时操作系统

菜鸟
2007-11-27 17:25:44     打赏
INtime实时操作系统(RTOS
For
Microsoft Windows XP
Microsoft Windows XP Embedded
Microsoft Windows XP Embedded with Service Pack 1

引言   人们正在越来越多地选择 Microsoft Windows XP 和 Windows XP Embedded 操作系统来运行需要某种实时性行为的专用应用程序。Windows XP Embedded 与 Windows XP 桌面软件基于相同的二进制文件,它在许多方面都是可供选择的最佳平台,但 Windows XP Embedded 和 Windows XP 自己无法管理此类系统所需要的具有严格实时性要求,因此需要增强该平台的实时功能。在Windows XP 平台上添加实时扩展方案时,已有许多解决方案在 Windows XP 内核设备驱动程序提供了某种实时功能,但此类解决方案没有考虑到为用户提供可容易进行应用程序开发的应用环境,也没有考虑对于许多应用程序进行调用。TenAsys Corporation 出品的 INtime 软件可以做到不仅为应用程序增加实时性功能,并且使实时应用程序存在于强大、可靠和可调用资源的环境。
一 INtime简介

     IRMX® RTOS 技术的发展已有25年以上的历史,非常的成熟、可靠。INtime以此技术为基础,它将强大的工业级控制与丰富的Windows功能相结合,从而使得应用程序能够充分利用所有Windows特性和成千上万现有的应用程序,而无需牺牲实时响应。使用TenAsys软件来执行实时Windows应用程序不仅能够降低软件的复杂性,而且还可以压缩冗余的硬件成本,显著地压缩了产品上市时间。 通过使用INtime软件,可获得非常精确且稳定的的微秒级响应时间,并丝毫不会降低安全性、可靠性和系统性能。正如Windows应用程序在用户模式下(ring3)执行时一样,通过INtime的保护模式编程模型来进行管理的实时应用程序也可在用户模式下执行,因而获得高稳定性。其他类型的解决方案要求实时应用程序在Windows内核中(ring0)完全无保护地运行,在这种情况下,可导致错误指针、栈溢出、页面错误等编程错误,这些将会十分明显的影响到实时环境和Windows环境的稳定性。但是,如果在INtime受保护的实时系统内部运行实时应用程序,就绝对不会发生这种问题。 TenAsys实时操作系统已在全球成千上万种应用程序中得到验证,并且至今已无故障运行了数百万小时。   二INtime 系统体系结构

   INtime 是与 Windows 操作系统共享硬件平台的实时操作系统。Windows中安装的组件包括一个 Windows内核驱动程序和一些 Windows 服务。该驱动程序管理用于运行内核和实时应用程序的内存,并且管理这两个系统之间的通讯接口。
   Windows将实时内核加载到已分配的内存中,然后使Context从 Windows 切换到 INtime 内核。将创建一个低优先级线程,其功能是将计算机Context切换回 Windows 系统。因为该线程将被所有其他实时线程占先,所以只要牵涉到实时内核,Windows 系统都是实时系统的空闲任务。 在 INtime中,任何实时中断都被直接处理,并且所有其他中断都在中断控制器被屏蔽。当Context返回到 Windows 时,这些中断将被解除屏蔽,以使其可以被 Windows 正常处理。当在 Windows Context中发生实时中断时,将插入 Windows IDT 以引起到 INtime Context的上下文切换,以便可以处理中断。
    系统计时器通常在 Windows 和 INtime 之间共享。硬件计时器被改编以便以 Windows 要求的速率更高的速率中断,并且只根据需要调用 Windows 处理程序。通常情况下,INtime 内核以高得多的速率(时间间隔可以低至 100μs)获得计时器中断,以便提供更精确的计时服务。计时器处理优化能够避免在 Windows 和 INtime 之间进行不必要的Context切换。
    某些硬件抽象层 (HAL) 入口点被截获和监控,以便防止 Windows 内核执行某些不需要的操作,例如屏蔽实时中断或者更改硬件系统计时器频率。HAL 文件不是由软件修改或替换的。
    Ntime 内核为实时虚拟机提供操作系统服务。它提供此类内核通常会提供的实时服务,包括一个基于优先级的抢先式计划程序,该程序执行基于优先级的中断处理。线程优先级的范围是从 0(最高优先级)到 255(最低优先级),低于可配置的优先级阈值的线程可以与多个具有相同优先级的线程分享其时间片。内核计划程序已经进行优化,以获得最佳的中断性能。 得到的平台表现出良好的性能,最重要的是它的行为是可预测的。 1 应用程序环境
INtime 应用程序环境被设计为具有下列功能:
   每个进程都是其他对象(包括线程和物理内存)的容器。由该进程所属线程创建的每个对象都由该进程所有,并且在进程终止时不再存在。
   每个进程都具有一个与其他进程的地址空间隔离的平面虚拟地址空间。进程中的代码以用户模式(IA 权限等级 3)执行,从而防止意外访问系统对象和数据。
  每个进程都可以直接访问处理器的输入/输出 (I/O) 空间,而且可以直接访问物在任何进程中,都可以通过系统调用以及用户为中断处理程序和线程编写的代码来直接处理中断。
    错误是按进程分别处理的。默认情况下会挂起出错的线程,并且向全局邮箱中写入一个记录。可以更改默认操作,以便能够在出错地址进入静态系统调试器或应用程序调试器。进程还可以选择获得有关该进程中错误的通知。
 2 提供了多个 API 以便进程可以使用系统服务。下面的部分中将详细介绍这些 API
    通过将请求转发给 Windows 服务以执行所请求的操作,向实时应用程序提供 Windows 服务(对注册表、事件日志和文件系统的访问)。
实时 API
INtime 内核提供的标准 API 提供了适合于同步和通讯的对象,以及在进程之间(包括 INtime 和 Windows 进程之间)共享内存的手段。所有对象都通过句柄引用,并且所有句柄对于实时系统都是全局的。对象包括: 进程
进程拥有其他对象(包括其他进程)和物理内存。当进程创建时,将向其分配一个内存池,它限制了可以分配给该进程的物理内存的数量。尽管 INtime 内核使用分页硬件进行内存管理,但它并不采用请求调页功能。因此,进程被限制在它可以分配的物理内存量的范围内。进程还具有对象编录,可以在此命名对象。可以按名称搜索该编录。
线程
线程总是由某个进程所有,并且线程所创建的对象由其进程所有。线程会被分配一个优先级,范围为从 0 到 254,其中 0 是最高优先级。
信号量
这些同步对象由一个线程队列和一个计数器组成,类似于 Microsoft Win32 信号量。对象创建时,所有 INtime 线程队列都可以被指定为先入先出 (FIFO) 队列或优先级队列。如果是 FIFO 队列,则线程按照等待顺序排队;如果是优先级队列,则线程的排队方式为优先级较高的线程出现在队头。
 区域
这些对象是单个单元信号量,带有防止优先级颠倒的保护。它们采用标准的优先级提升技术,以避免这种情况。另外,拥有区域的线程不能删除,除非它放弃该区域。这些对象类似于 Win32 临界区。
 邮箱
这些对象由一个线程队列和一个消息队列组成。邮箱可以将两种类型的消息排队。消息可以是其他对象的句柄,也可以是最多包含 128 个字节的数据消息。在 Win32 中没有直接等效的对象。
 
堆对象类似于 Windows 堆。它为应用程序提供动态内存源。
其他内存对象
可以为内存区域创建一个句柄,并且随后将该句柄传递给另一个进程以进行映射。然后,可以从这两个进程中访问该内存。
  实时 API 提供参数检查和内联状态报告。 Win32 API
尽管 Win32 API 缺少一些用于实时编程的有用功能,INtime 仍然提供了一个 Win32 API,以便方便地从 Windows 应用程序传输代码。该实现是 Windows CE Win32 实现的丰富子集,包括 Win32 对象的有用子集 (WaitForMultipleObjects),并带有扩展以管理中断和外围设备互联 (PCI) 总线配置。 Windows API
为 Windows 应用程序提供了 API,以使其能够共享在实时内核上创建的对象。标准的实时对象和 Win32 对象都是可共享的,以便 Windows 和实时应用程序可以同步和共享数据。阻塞调用由实时内核上的代理线程池处理。 C 库与 C++ 支持
INtime 提供了美国国家标准局(与 ANSI 兼容)的 C 库,以及用标准模板库 (STL) 提供了对 EC++ (Embedded C++) ANSI 标准的支持。 其他服务
提供了一个传输控制协议/网际协议 (TCP/IP) 的协议组,它派生于 BSD Net3 体系结构。为 Intel、3Com 和 Realtek 接口适配器提供了以太网驱动程序,并且为与 NE2000 兼容的 ISA 接口提供了以太网驱动程序。通过串行线路网际协议 (SLIP) 支持串行链路。 以开发工具包的形式提供了 USB 支持,以便开发 USB 客户端软件。为 Universal Host Controller (UHCI)、Open Host Controller (OHCI) 和 Enhanced Host Controller (EHCI) 接口提供了标准驱动程序。为一系列标准接口和行业接口提供了其他驱动程序。 可靠性功能
INtime 的用于增强可靠性的功能包括针对非灾难性系统错误的异常处理以及 Distributed System Manager (DSM) ,它可以监控 INtime 和 Windows 进程,并可以在 Windows 操作系统失败时进行检测和提供帮助。
异常处理
INtime 内核设计所关注的主要问题之一是提供处理系统异常错误(一般性保护错误、页面错误、堆栈错误等等)的非灾难性手段,并且尽量减少对实时内核和 Windows 系统的损害。因此,实时系统具有一个默认异常处理程序,该程序会向全局邮箱中写入一个记录,详细描述出错的线程及其环境,然后挂起出错的线程。可以从 INtime 或 Windows 系统中监控该邮箱,并且存在可以从错误记录中提取信息(包括寄存器转储、堆栈跟踪和相关调试信息)的工具。
Distributed System Manager
Distributed System Manager(“DSM”)是一个协作性多进程应用程序,用于管理整个 INtime 系统。任何进程(Windows 或 INtime)都可以选择监控任何其他参与协作的进程,或者被其他参与协作的进程监控。如果被监控的进程被删除,或者到该进程的通讯途径被中断,或者 Windows 系统或 INtime 系统被破坏,都会向监控进程发送通知消息。可以使用该服务来提供系统级完整性。
Windows 停止处理
DSM 的一个重要优点是它能够检测到 Windows 平台何时失败。如果出现这种情况,INtime 内核中的 DSM 软件将通知所有参与的进程 Windows 已经失败,并且还将负责调度 Windows 的线程挂起。此时,INtime 内核可以继续无限期地执行其进程,而这些进程可以选择在此情况下采取特殊操作,例如使外围设备进入已知状态。在稍后某个时刻,实时进程可以选择恢复 Windows 线程,并使 Windows 可以继续关闭和重置计算机。
可扩展性功能
INtime 操作系统能够支持复杂的大型应用程序。在上述共享体系结构中,已经发现典型的平台能够允许 INtime 内核消耗 CPU 带宽的 50% 到 60%,然后 Windows 图形用户界面 (GUI) 和其他服务才会开始受到不利影响。INtime 中独立内核的优势是可以将它重定位到另一 CPU 或另一平台,从而使应用程序能够随着其对平台的需求的增加而扩大规模。接口模式将从虚拟机体系结构更改为共享内存,然后又更改为物理通讯链路(如以太网或串行线路),但 Windows 和实时应用程序之间的软件接口不会改变。这样,无论选择了哪种硬件体系结构,都可以使用相同的二进制文件。
小结
TenAsys Corporation 的 INtime 软件被设计为不仅能够向 Windows 平台添加实时功能,而且其添加这些功能的方式能够为实时应用程序提供可靠且可伸缩的平台。如果将该解决方案与 Windows XP Embedded 配合使用,则能够为您的嵌入式设备提供强大的、可扩展的、确定性的操作系统。



关键词: INtime     实时     操作系统     Windows     应用    

菜鸟
2008-04-01 17:14:39     打赏
2楼
蓝宇PC104产品业界领先特色 1完全自主版权的BIOS 我公司完全自行编制的BIOS,不需要支付版费,降低了成本,蓝宇BIOS具有如下特点: A、支持多种DOS操作系统,用户可以自由选择免费的操作系统如DR-DOS、FREE-DOS,一般的ROM-DOS 和MS DOS 都是需要付费的。 B、BIOS不需要用户配置参数,启动时间短,1.8秒可启动小的应用程序,复位=0.5S,BIOS=1.2S,DOS=0.1,与专用嵌入式系统相当,实现了快速启动特性。 C、BIOS启动配置参数存储在FLASH中,不需要电池,电池掉电仅仅影响RTC时间,因此不会出现传统的工控板掉电后无法启动的问题 D、双BIOS备份,主要用于升级bios或者写入参数时意外断电,参数意外损坏后,仍然可以从主bios启动,无需返厂维修,进一步提高了产品可靠性和现场可维护性。 E、有开机LOGO,提供工具,客户可以自行自定开机画面,开机不显示自检画面,于专用系统相同。 由于编制BIOS 的技术复杂,不易掌握,国内真正自己编制的其他公司的BIOS 在市场上还没有见到。     2独创的虚拟显示技术 虚拟显示是我公司独特的一项技术,用串口把BBPC4X86 与一台普通电脑连接起来,在电脑上使用键盘和屏幕显示,就像BBPC4X86 是一台完整的PC一样,开发测试简单,不干扰应用显示设备,生产维护方便。一般嵌入式应用,在开发阶段需要完整的开发环境,系统交付使用后,这些环境就没有用了,如果为了开发方便买一个带显示和键盘的X86主板,实际上就增加了不必要的成本。一般嵌入式开发,经常会需要直接调试硬件设备,很多用户习惯使用DEBUG 等工具,直接操作端口,甚至编一段小的测试程序,还有用户喜欢使用一些直接写屏的软件进行开发,比如Q 编辑器,TUBROC2.0,DEBUG 等,对用户开发非常方便。用户开发完成后,需要对电子盘进行格式化、传系统、拷贝文件等等,可以自由使用免费的DOS 操作系统,方便生产,降低成本。   3大常规内存 一般X86 体系,在DOS 下只能直接寻址640KB 内存,高端内存只能用作数据,无法直接作为程序区使用,使用ROM-DOS 的系统只有512KB 可用内存。BBPC4X86 系列产品独有大内存技术,在大内存模式下可以直接使用896KB 内存,使用Borland C 开发时不需要任何特殊操作,您的天空一下子大了很多!注意此模式下,不能使用直接写屏的软件,如Q 编辑器、TC2.0,但是DEBUG 可以正常使用。小内存模式下可以直接使用736KB 内存,直接写屏的软件如Q 编辑器、TC2.0 都可以使用。   4支持标准的IDE硬盘、软驱和CF 直接支持低价格、大容量的ide硬盘/高速中等容量CF卡和小容量软驱,在需要大量数据存储的应用中使用方便,成本低廉,一般相同容量的CF 卡比DOC 电子盘价格低得多,而标准硬盘的价格之低就更不需要说了。嵌入式应用有时会需要使用大容量存储介质,CF卡价格便宜,接口标准,运行无噪音,速度快,抗震,容量大,是一种理想的解决方案,IDE 接口也可以挂接标准硬盘,但是一般电子盘在嵌入式应用中使用较为普遍。   5内置大容量电子盘 同类内置电子盘的产品,一般只有300KB 的电子盘,与PC 系统的寻址能力(1MB)不匹配,用户程序和数据稍微大一点就不够用了,使用汉字显示的时候,汉字库就有256KB,用户基本无法使用,只能去购买昂贵的DOC,成本增加100 多元,这时的300KB 电子盘形同虚设。我公司产品板载360KB~7MB电子盘,存放操作系统和应用程序,不需要频繁修改数据,抗震动,可靠性高,与PC 系统的寻址能力(1MB)相匹配,绝大多数情况下,用户不必另外购置电子盘,节约了成本。   6内置2级汉字库 在汉字应用中,一般的300K 电子盘不能满足用户要求,因为16 点阵汉字库256KB,再加上操作系统64KB,应用程序和数据空间所剩无几,为此使用电子盘需要增加100 元成本,而且字库加载到内存后需要占用256KB 内存,减少了用户内存。BBPC4X86 内置二级16 点阵汉字库和字符库,不占用用户内存和电子盘空间,还可以作为掉电保持存储器使用,用于存放小时级别更新的用户数据,节约了系统成本。   7实时时钟 内置的RTC 实时时钟完全与DOS 和BIOS 兼容,使用系统函数很容易访问,对于需要日历时间的应用是必不可少的。   8支持标准PC键盘 标准的PS/2 键盘,编程简单,价格便宜量又足,很多用户都非常喜欢使用,我公司提供了标准的驱动程序,可以直接支持标准键盘(包括大键盘和小键盘),节约了成本。对于需要矩阵键盘的用户,我公司也提供完整软硬件方案,使用方法和标准键盘一样。     9、多种显示方案 虽然BBPC4X86 系列产品可以直接支持液晶显示模块,但是有一些高端用户需要动态的画面显示或者使用真彩液晶屏,此时液晶模块就不能满足要求了。我公司配套的液晶显示卡,可以直接支持128*64~1204*768 的单色、彩色液晶屏,显示速度快,适合动态画面的显示,同时提供图形库,用户编程极为方便。

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]