




已阅读5页,还剩50页未读, 继续免费阅读
(计算机软件与理论专业论文)windows环境测控系统中实时扩展技术的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
两北工业大学硕士论文摘要 摘要 由于w i n d o w s 2 0 0 0 操作系统友好的图形用户接口、出色的多任务性能和优 越的硬件兼容性,在当今的计算机测控领域中,越来越多的测控系统采用 w i n d o w s 2 0 0 0 作为其开发和运行平台。然而由于w i n d o w s 2 0 0 0 并不是针对实时 性应用而设计的,如果采用普通的技术手段进行测控系统的开发和设计,在实 时性要求较高的情况下将无法达到应用的要求。因此,对w i n d o w s2 0 0 0 的内核 机制进行深入分析,从而研究扩展w i n d o w s 2 0 0 0 的实时性能的方法,具有很强 的理论意义和实用价值。 本文结合中航二集团“十五”预研课题( 4 1 8 0 1 1 0 0 1 0 1 ) 一“直升机飞行载 荷数字化协调加载及数据采集技术研究”,对数据采集系统中的实时性问题和实 时扩展技术展开深入研究,最终实现了基于w i m a w s2 0 0 0 测控系统的实时扩展, 并将其应用于实际的采集系统研制和开发中。 本文首先在研究了w i n d o w s 2 0 0 0 体系结构和系统机制后,详细分析了 w i n d o w s 2 0 0 0 用于实时系统时存在的问题,并研究了国内外对此问题的研究状 况。结合工程项目的实际情况,提出了基于w i n d o w s 2 0 0 0 测控系统实时扩展的 总体分析与设计,并分析和解决了实时扩展中的定时器管理、任务管理和调度、 i 0 管理和缓冲池管理等关键技术。 针对实时扩展的定时器管理问题,本文在研究了w i n d o w s 中断调度机制的 基础之上,设计并实现了通过软件和硬件两种手段获得时钟的方法,并研究了 时钟中断的功能和实现方法。 对于实时扩展中的实时任务调度问题,本文在研究了w i n d o w s 2 0 0 0 的进线 程机制,并对测控系统任务进行分类和分解之后,设计并实现了_ 种新的基于 周期任务的动态优先级调度算法,有效的解决了采集和控制任务的实时性问题。 本文在研究了w in d o w s 内核驱动程序模型的基础之上,设计并实现i o 的 初始化管理、请求派发机制、同步管理机制以及缓冲池的分配与回收机制、非 分页内存链表管理等机制和方法,较好的解决了实时扩展中的i o 管理和缓冲 池问题。 利用所研究和设计的实时扩展方法,本文设计了具体的数据采集系统,并 对其功能和性能进行了测试、分析和评价。结果表明该方法简单易行,调度算 法高效实用,可显著改善基于w i n d o w s 2 0 0 0 测控系统的实时性能,具有较强的 实用和推广价值。 关键字:w i n d o w s 实时扩展实时系统系统内核测控系统 实时调度算法 n p um s ,d i s s e r t a t i o n k b s t r a c t a b s t r a c t b e c a u s ew i n d o w s 2 0 0 0 o p e r a t i n gs y s t e mh a sf a m i l i a rg r a p h i c a lu s e ri n t e r f a c e , e x c e l l e n tm u t i l t a s ka b i l i t y , g o o dh a r d w a r ec o m p a t i b i l i t y , m o r ea n dm o r e t c s t i n g a n d c o n t r o l i n gs y s t e mu s i n gw i n d o w s 2 0 0 0 a st h e i rd e v e l o p i n ga n dr u n n i n gp l a t f o r m b u t ,a si ti sn o td e s i g n e df o rr e a l t i m ea p p l i c a t i o n w i n d o w s 2 0 0 0i sn o tar e a l t i m e o p e r a t i n gs y s t e m ,a n di fw ed e s i g na n dd e v e l o pt e s t i n ga n dc o n t r o l i n gs y s t e mb y c o m m o nm e t h o d t l l er e a l t i m er e q u i r e m e n to f t h ea p p l i c a t i o nw i l ln o tb es a t i s f i e di n s o m et i m e - c r i t i c a lc a s e f o rt h i sr e a s o n w em u s ts t u d yt h ek e r n e lm e c h a n i s mo f w i n d o w s 2 0 0 0 ,f i n do u taf e a s i b l em e t h o d t oe x t e n dt h er e a l - t i m ep e r f o r m a n c eo ft h e t e s t i n g a n dc o n t r o l l i n gs y s t e mw h i c hb a s e do nw i n d o w s 2 0 0 0 b yu s i n gt h i s m e t h o d ,w ec o u l dm a k et h ee x t e n d e dt e s t i na n dc o n 打o l i n gs y s t e mt os a t i s f yt h e - r e a l - t i m er e q u r i e m e n t o f a p p l i c a t i o n t h i sa r t i c l ei sb a s e do nt h er e s e a r c ho f ”t h eh e l i c o p t e r sa v i a t i n gl o a d d a t a h a r m o n i z e d l o a d i n ga n ds a m p l i n gt e c h n o l o g y 。w es t u d i e d t h e q u e s t i o n o f r e a l t i m ei nt h eh e l i c o p t e r s a v i a t i n gl o a d - d a t as a m p l i n gs y s t e m ,a n df i n a l l y r e a l i z e dt h er e a l t i m ee x t e n s i o no ft h es y s t e mw h i c hb a s e do nw i n d o w s 2 0 0 0t o i m p r o v et h er e a l t i m ep e r f o r m a n c e o f t h es y s t e r n a t i e rs t u d i e dt h es y s t e r na r c h i t e c t u r ea n dm e c h a n i s mo fw i n d o w s 2 0 0 0 。t h i s a r t i c l ea n a l y z e dt h ep r o b l e me x i s ti nt h ea p p l i a c t i o no f w i n d o w s 2 0 0 0f o rar e a l t i m e c o n t 【i o l i n gs y s t e m ,a n ds t u d y t h em e t h o d s o f r e s o l v i n g t h i sp r o b l e m c o n s i d e r i n gt h e p r a c t i c eo f t h ep r o j e c t , w ea n a l y s ea n dd e s i g nt h er e a l - t i m ee x t e n s i o no f t e s t i n g a n dc o n t r i n gs y s t e mw h i c hb a s eo nw i n d o w s 2 0 0 0 b y s t u d i e dt h em e c h a n i s mo fw i n d o w si n t e r r u p td i s p g c h i n g 。w ef i n do u tt w o d i f f r e n tw a y st or e a l i z et h et i m e r i n t e r r u p ti ns y s t e r nb y h a r d w a r eo rs o f t w a r e a t i e r a n a l y z e dt h ec h a r a c t e r i s t i co f t a s k s i nt e s t i n ga n d c o n t r o l l i n gs y s t e m w e c l a s s i f yt h e s et a s k s a n dd e s i g nan e ws c h e d u l i n ga r i t h m e t i cb a s e do nd y n a m i c p r i o r i t y t os c h e d u l et h e s e t a s k s u s i n gt h i sa r i t h m e t i c ,w e c o u l d i m p r o v e t h e r e a l t i m ep e r f o r n l a n c eo f t h e t e s t i n ga n dc o n t m l i n gs y s t e m w er i s ef h er e a l t i m ee x t e n s i o nj nd e v e l o p i n gar e a lr e a l t i m ec o n t r o l i n g s y s t e r n a n dt e s tt h ep e r f o r m a n c ea n df u n c n t i o no ft h es y s t e r n b yt h er e s u l to ft e s t w ec o u l d a u t h e n t i c a tt h ec o r r e c t n e s sa n dt h ef e a s i b i l i t yo ft h e s em e t h o d sd i c u s s e di n t h i s a r t i c l e k e y w o r d s :r e a l t i m ee x t e n s i o nr e a l - t i m es y s t e m s y s t e mk e r n e l d e v i c ed r i v e r r e a l t i m e s c h e d u l i n g a r i t h m e t i c 西北工业大学硕上论文 第一章绪论 第一章绪论 1 1 研究背景和目的 计算机技术的飞速发展,己使p c 机在实时数据采集和控制领域占主导地 位。在p c 操作系统当中,w i n d o w s 操作系统具有完善的内存管理机制和网络功 能,支持多c p u 以及基于w i n 3 2a p i 的编程接口,这些优点已经使得它成为事 实上的标准桌面通用操作系统。在w i n d o w s 环境下,程序员可将数据采集、界 面显示、控制等功能分解成多个线程同时运行,各线程之间采用进程通信技术 进行数据交换。w i n d o w s 2 0 0 0 作为微软公司w i n d o w s 家族的全新产品,在继承 n t4 x 先进的设计思想的基础上,又具有了全新的特点。包括完整的即插即用 支持、系统电源管理、活动目录、c o m 组建模型扩充、分布式安全性等,使得 w i n d o w s 2 0 0 0 具有很高的可靠性、安全性、易用性。同时由于有大量的开发软 件、编程语言的支持,使得开发基于w i n d o w s 2 0 0 0 的应用软件已成为一件轻松 而充满乐趣的事情,并且由于w i n d o w s 2 0 0 0 对w i n d o w s 家族其他早期产品的向 上兼容,以前在w i n 9 8 ,w i n n t 下开发的应用软件可容易的移植在w i n d o w s 2 0 0 0 下。现在在测控领域中,开发基于w i n d o w s 2 0 0 0 的测控系统已成为不可逆转 的潮流和趋势。 由于测控系统的特殊性,经常要求在确定的、有限的时间内进行大量数据 的采集,同时对采集到的数据进行计算,并根据计算的结果输出控制信号,有 时还有对数据进行存储和显示。这就要求测控系统具有一定的实时性和并发性, 并可对多个实时任务进行调度,从而满足工程实际的需要。然而,w i n d o w s 2 0 0 0 并不是实时操作系统。这是由于其先天并不是为实时性应用而设计的,因此, 在实时性要求较高的情况下,就无法达到应用的要求。因此,需要对 w i n d o w s 2 0 0 0 内核进行研究和改造,以合理而可行的方法解决这个问题。 中航二集团“十五”支撑技术预研课题一直升机飞行载荷数字化协调加 载及数据采集技术研究中,需要在w i n d o w s2 0 0 0 下对直升机的飞行载荷数据进 行数据采集和协调加载。由于直升机气动力载荷的加载通道多、载荷变化快, 因此必须研究实时多通道数据采集、存储和处理技术以获取多通道的高速信号, 满足协调加载过程的实时监控、数据记录、状态姿态显示及参数曲线显示等基 本需求,从而保障整个系统的实时控制和测试分析的要求。而且直升机载荷数 据的采集时间短,数据量大,并且精度要求高,因此,必须解决系统的实时性 和实时调度问题。 1 2 国内外研究现状 现在,国外对w i n d o w s 实时扩展技术已进行了深入的研究,并已生产出成 熟的产品,如v e n t u r c o m 公司的r t x ( r e a lt i m ee x t e n s i o n ) ,n e m a t r o n 公司 的h y p e r k e r n e l ,以及r a d i s y s 公司的i n t i m e 等。但是各公司都对本公司的技 西北工业大学硕士论文第一章绪论 术资料进行严格保密,因此在该领域的交流与合作并不广泛。 国内尚未开展对相关领域的研究,也没有相关产品问世。但是,基于p c 硬件平台的数据采集和控制技术近年来在国内得到迅猛发展,广泛应用于包括 军事、通信、传输、医学、游戏、政府和仿真模拟的广大市场中,这些应用已 提出了越来越苛刻的实时性要求,因此对w i n d o w s 实时扩展的研究具有深刻的 现实意义和应用价值。 1 3 论文的研究目标和方法 在基于w i n d o w s 2 0 0 0 的测控系统中,面对通道多、变化快、强度弱的信号, 要在较小的误差范围内对这些信号进行采集和测量,就必须深入到 w i n d o w s 2 0 0 0 系统内核中,针对w i n d o w s 2 0 0 0 的不足,采用新方法新技术,确 保测控系统能够在确定的微小周期内对这些信号进行采集,并在确定的时间内 产生控制信号。而对于这些新方法、新技术的研究就是本文的研究目的。 本论文将就实时扩展的定时器管理、任务管理、i o 管理和缓冲池管理等 问题展开深入的研究。 对于定时器管理问题,将结合w i n d o w s 2 0 0 0 中断调度机制。主要研究在系 统中加入时钟中断的硬件和软件方法,以及时钟中断的功能和实现等问题。 对于任务管理问题,本文首先研究w i n d o w s 2 0 0 0 线程管理和调度机制,然 后结合工程实际,分析测控系统中实时任务的特点,并根据这些特点研究实时 任务的调度模型和调度算法,从而实现任务的实时调度。 对于i o 管理和缓冲池问题,本文从研究内核驱动模式所提供的i 0 和内 存分配功能入手,研究在实时扩展中如何实现i f o 的请求派发、同步管理和缓 冲池的分配与回收、非分页内存的链表管理等问题。 最后,在实现了的实时扩展的基础之上针对科研项目的具体实际,构建相 应的实时数据采集系统,使该系统达到预期的性能指标。因此基于w i n d o w s 2 0 0 0 测控系统的实时扩展应该具有以下几个特点: 实时性。实时扩展的实时性表现在在其之上构建的测控系统的实时性,实 时测控系统必须在预定的时候之内作出响应,能够对测试信号进行精确的 采集,并在确定的时间之内根据采集的结果输出控制信号。 可靠性。实时扩展必须具有较高的可靠性,才能保证建立在其上的测控系 统的测量结果的可靠性和控制信号的可靠性。因此,在设计模型和算法时, 不仅要使模型和算法简单高效,而且应尽可能避免异常的发生,并在发生 异常时保证系统的可靠行。 通用性。因为实时扩展是构建实时测控系统的基础,而且可用在其他对实 时性要求较高的应用程序的设计上。因此,要考虑实时扩展的通用性设计, 使其可以满足更广泛的应用需要。 易用行。由于需要在实时扩展之上进行二次开发才能得到在实际中应用的 测控系统,因此,在设计实时扩展中必须具有与应用程序的接口部分。这 样,通过应用程序接口可以很简单而快捷的开发出相应的测控系统。 西北工业大学硕士论文第一章绪论 1 4 论文结构 本论文各章节的安排如下: 第一章介绍论文的研究背景,所研究技术的国内外研究现状、研究内容及 组织结构。 第二章从对实时扩展的相关概念和常用方法的研究入手,根据测控系统中 实时任务的特点,设计实时扩展的总体结构,并分析实时扩展与w i n d o w s 2 0 0 0 和测控系统的层次关系以及时序和调用关系,提出实时扩展中存在的定时器管 理、任务管理和调度、i o 管理和缓冲池管理等关键技术。 第三章主要研究并实现实时扩展中的定时器管理技术,其中包括时钟中断 的实现技术和时钟中断服务程序功能的实现技术等。 第四章针对实时扩展中的任务管理技术展开深入的研究,其中包括 w i n d o w s 线程调度的研究、实时任务的分解与分类研究、实时任务的调度算法 等。设计并实现了新颖的基于周期任务的动态优先级调度算法作为实时任务的 主调度算法。 第五章研究和实现实时扩展中的i o 管理和缓冲池管理技术,i o 管理完 成i 0 的初试化、请求和派发以及i 0 的同步问题,缓冲池管理中需要研究缓 冲池的分配与回收,非分页内存链表管理以及数据复制等技术。 第六章总结了论文的研究内容并为未来的发展方向做出展望。 西北工业大学硕士论文第二章基于w i n d o w s 2 0 0 0 测控系统实时扩展的分析与设计 第二章基于w i n d o w s 2 0 0 0 测控系统 实时扩展的分析与设计 本章主要研究基于w i n d o w 2 0 0 0 测控系统实时扩展的总体设计和方案,以及 各实时扩展主要部分的功能和相互关系等问题。首先介绍与实时扩展相关的技 术和概念。 2 1 实时扩展的相关技术 实时扩展概念的提出是建立在实时系统概念之上的,因此首先应该了解实 时系统和实时操作系统的概念以及w i n d o w s 2 0 0 0 的体系结构。 2 1 1 实时系统和实时操作系统的概念 所谓“实时”,是指在一个确定的时间里,对外部产生的事件做出响应,并 在确定的时间里,完成这种响应及处理 1 。而具有实时性的计算机系统就是实 对系统,实时系统可以定义为:一个能够在事先指定或确定的时间内完成系统 功能和对外部或内部、同步或异步时间做出响应的系统。系统的正确性不仅仅 依赖于计算的逻辑结果而且依赖于结果产生的时间 4 。 实时系统必须作出反跌的时问限制被称为截至期( d e a d l i n e ) 。实时系统根 据对截至期的响应不同又被分为硬实时系统和软实时系统。硬实时系统不允许 工作有任何的逾时。所以硬实时系统可以定义为:系统必须及时的对事件做出 反应,绝对不能发生错过事件处理时限的情况。在硬实时系统中旦发生了这 种情况就意味着巨大的损失和灾难。而软实时系统则是比较宽松,容许工作在 时限内尚未完成。所以软实时系统可以定义为:当系统在重负载的情况下允许 发生错过时限的情况而不会造成非常大的危害。 实时操作系统是相对于分时操作系统的一个概念。在分时操作系统中,系 统资源会被平均分配给系统内所有任务,每个任务都有机会得到运行。其追求 的是系统资源的最大利用率。而在实日寸操作系统不仅要求任务的正确完成,还 要按给定的时限完成每一个任务,其追求的是实时性、可确定性和可靠性。 i e e e 实时u n i x 分委会认为实时操作系统应该具备以下几种特征 4 : 异步的事件响应。实时操作系统在系统要求的时间内响应异步的外部条 件,要求有异步i o 和中断处理能力。 确定的任务时间和中断延迟时间。 优先级中断和调度。必须允许用户定义中断优先级和被调度的任务优先级 并指定如何进行中断服务。 抢占式调度。为保证响应时间,实时操作系统必须允许高优先级任务旦 准备好允许,就能马上抢占低优先级任务的执行。 内存锁定。必须具有将程序或部分程序锁定在内存的能力而不被换出到外 西北工业大学硕士论文 第二章基于w i n d o w s 2 0 0 0 测控系统实时扩展的分析与设计 存上,从而保证了快速的响应能力。 连续文件。应提供存盘资料的优化方法使得存取资料时查找时间最少。 同步。提供同步和协调共享资料使用的执行手段。 2 1 2w i n d o w s 2 0 0 0 的体系结构 w i n d o w s 2 0 0 0 通过硬件机制实现了核心态和用户态两个特权级别,操作系 统代码以处理器特权态运行,即运行在内核模式,能够访问系统数据和硬件; 应用程序代码则以处理器非特权模式运行,即运行在用户模式,具有有限的可 用接口,有限的访问系统数据,不能直接访问硬件。当用户模式的程序调用系 统服务时,处理器俘获该调用并将调用线程切换为内核模式。 w i a d o w s 2 0 0 0 的体系结构简图如图2 - 1 所示。 图2 - 1w i n d o w s 2 0 0 0 的体系结构简图 核心态 粗线将w i n d o w s 2 0 0 0 分为用户态和核心态两部分,粗线上部是用户进程。 它们运行在私有地址空间中。用户进程有四种基本类型: 系统支持进程。系统运行所需要的固定的支持进程,但它们不是 w i n d o w s 2 0 0 0 的服务,如登陆进程、会话管理器等。 服务进程。服务进程提供w i n 3 2 服务,如任务调度和s p o o l e r 服务等。 环境子进程。环境子系统通过一系列可调度函数,将本机操作系统服务提 供给用户应用程序。 用户应用程序。 服务进程和应用程序不能直接调用操作系统服务。必须通过子系统动态连 接库与系统交互。 粗线以下是w i n c l o w s 2 0 0 0 的核心态组件,它们都运行在统一的核心态地址 空间中。核心态组件包括以下内容: w i n d o w s 2 0 0 0 的执行程序。实现基本的操作系统服务,如存储管理、进程 和线程管理、安全、i o 和进程间通信。 西北工业人学硕士论文第二章基于w i n d o w s 2 0 0 0 测控系统实时扩展的分析与设计 w i n d o w s 2 0 0 0 的内核。提供低级的操作系统服务,如线程调度、中断和异 常调度和多处理器同步。它还提供一系列的例程和基本对象,供其他执行 程序用来实现高级构造。 设备驱动程序。包括将用户i o 函数调用翻译为特定的硬件设备i o 请求 的硬件设备驱动程序以及文件系统和网络驱动程序。 硬件抽象层( h a l ) 。它将内核、设备驱动程序和其他w i n d o w s 2 0 0 0 执行程 序与特定平台硬件差别隔离。 窗口和图形系统。实现图形用户界面( g d i ) 函数,如处理窗口、用户界 面和绘图。 2 2 实时扩展的概念和常用方法 2 2 1 实时扩展的概念 由于w i n d o w s 2 0 0 0 不以任何可控方式优化设备的中断优先级( i r o l ) ,并且 用户级的应用程序只有当处理器的i r q l 为无源级别时才得到执行。决定最坏情 况下的延时时间的是系统的设备和设备驱动程序而不是操作系统本身,因此设 计人员很难确定每个现成设备的中断处理程序( i s r ) 和延迟过程调用( d p c ) 在最坏情况下可能需要的时间。因此w i n d o w s 2 0 0 0 作为实时操作系统是不合适 的。 然而,对w i n d o w s 2 0 0 0 进行一定的扩展之后是可以作为实时系统的运行平 台的。文献 6 从实时系统所关心的外部事件响应、优先级调度、同步需求、确 定性的响应时间四个角度论证了对将w i n d o w s 2 0 0 0 改造为实时系统的可行性, 它认为: 对于外部事件响应。w i n d o w s 2 0 0 0 提供了中断、d p c 、多处理器系统、异步 i o 等机制。 对于优先级调度。w in d o w s 2 0 0 0 的线程调度是基于优先级的,同时提供了 内存管理和系统缓冲管理的机制。 对于同步需求。w i n d o w s 2 0 0 0 提供了内核同步、系统定时器、自旋锁等机 制。 对于确定的响应时间。w i n d o w s 2 0 0 0 的延迟时间包括硬件延迟时问和上下 文切换时间。 因此,虽然w i n d o w s 2 0 0 0 不是实时操作系统,但是如果将w i n d o w s 2 0 0 0 进 行扩展和改造,应用于实时系统是可行的。其方法是为w i n d o w s 2 0 0 0 加上实时 性扩展软件和相关硬件。扩展后的实时系统应提供高速、确定性响应的性能, 可以满足实时应用程序的需要。实时扩展应具有以下性能: 固定的、多优先级的线程调度程序,并且与w i n d o w se x e c u t i v e 分离。 提供定时器和中断管理服务。 线程调度程序可以给设备中断提供最快速的响应。 响应时间应是高度确定性的。 确保与标准w i n 3 2 a p i 相兼容,并能运用各种已有的基于w i n 3 2 的软件包 和工程资源。 西北工业大学硕士论文第二章基于n i n d o w s 2 0 0 0 测控系统实时扩展的分析与设计 同时,实时扩展应当提高基于w i n d o w s 2 0 0 0 的测控系统的实时性,使其满 足应用的需要。因此实时扩展不仅是对w i n d o w s 2 0 0 0 的扩展,也是对在此之上 的测控系统的扩展。 2 2 2 实时扩展的常用方法 实时扩展主要采用以下三种方法: ( 1 ) 将w i n d o w s 2 0 0 0 作为一个任务或线程运行于一个实时执行环境中 扩展系统运行在与w i n d o w s 2 0 0 0 相连接的线程的最高优先级上以达到时间 确定性,它将抢先得到w i n d o w s 2 0 0 0 资源,而用户应用程序则将被保持。扩展 系统的应用程序则运行在与所有w i n d o w s 2 0 0 0 应用程序的连接上以独立于其他 基于w i n d o w s 的应用程序而保持其确定性。利用这种方法的扩展系统的结构如 图2 2 所示。v e n t u r c o m 公司的r t x 就是采用这种方法进行实时扩展的。 用户态模式( r i n g3 ) w i n d o w sn t 应用程序 运行时管理 实时扩展系统共享 w i n 3 2 系统 内核态( r i n g0 ) w i n d o w n t 设备驱动程 w i n d o w n t 硬件抽象层 实时扩展系 统应用程序 实时扩展系 统内核 实时扩展系统调度 硬件 共享内存 区 图2 2 第一种w i n d o w s n t 实时扩展方法的结构图 ( 2 ) 改造w i n d o w s 2 0 0 0 的硬件抽象层( h a l ) 这种方法为w i n d o w s 2 0 0 0 增加了一个称为r t s s ( r e a l t i m es u b s y s t e m ) 的实时子系统,r t s s 与其它的w i n d o w s 2 0 0 0 子系统相似,如w i n 3 2 和p o s i x , 但是r t s s 具有自己的实时线程调度。r t x 利用一个允许实时的硬件抽象层( h a l ) 以替代w i n d o w s n t 的非实时h a l ,将硬件中断重定向于一个在w i n d o w s 2 0 0 0 内 核之外的调度d l l 程序。w i n d o w s n t 不能屏蔽被r t s s 管理的中断。同时实时扩 展的应用程序接口( r t x a p i ) 是基于w i n 3 2 a p i 的,并包含实时性的功能。采用 这种方法的实时扩展的体系结构如图2 3 所示。这种方法的典型代表是 n e m a t r o n 公司的h y p e r k e r n e l 系统。 西北工业大学硕二e 论文第二章基于w i n d o w s 2 0 0 0 测控系统实时扩展的分析与设计 _ | :5 i n 3 2 进程jjw i n 3 2 r t a p i 进程 w i n 3 2 l1 w i n 3 2l 旦坚 w i n d o w sn t 内核 r t a p l 只读进程 盯a p i w i n 3 2 ( r t ) 实时硬件抽象层( r e a lt i m eh a l ) 图2 - 3 第二种w i n d o w s n t 实时扩展方法的结构图 ( 3 ) 实时内核中断捕获与执行流程改进方法 利用安装在本地总线上的一个专用硬件设备,捕获中断,并忽略当前进程 的中断屏蔽状态,而产生n m i 信号中断当前进程。此时,通过一个精简的特定 中断服务程序( i s r ) 来决定是否允许最初的中断通过实时内核。r a d i s y s 公司 的i n t i m e 通过这种方法实现了实时扩展。 但是前二种方法均有不同程度的缺点:第一种方法,由于将w i n d o w s n t 作 为一个人或线程由实时内核调度,因此如果资源长时间被大量的实时任务占用, n t 将不被实时内核调度,这将会产生“n t 饿死”现象。对于第二种方法,由于 实时内核是与n t 内核处于平级状态,因此如果系统运行n t 核心态下的某些不 稳定的线程,则可能会对实时性产生不利影响。 2 3 实时扩展的总体设计与关键技术 2 3 1 实时扩展的总体方案 虽然常用的对w i n d o w z 0 0 0 进行实时扩展的方法为上节中所描述台匀三种, 但是根据本课题和项目的实际情况以及高速采集系统对实时性的要求,同时考 虑到系统的易用性和开发成本,实际中采用全新的方法对w i n d o w s 2 0 0 0 进行实 时扩展。 本文采用的对w i n d o w s 2 0 0 0 进行实时扩展的基本思想是: 通过修改系统时钟中断或加入硬件定时器板实现实时扩展的时钟中断,时 钟中断的i r q l 定为设备i r q l 中的最高级,这样外部设备的中断不会影响 实时扩展的实时性。 在时钟中断中按照实时任务调度算法进行调度,根据选择执行的任务的优 先级,将其直接在中断服务程序中执行或作为d p c 执行; 西北工业人学硕士论文 第二章基于w i n d o w s 2 0 0 0 测控系统实时扩展的分析与设计 i 在执行的任务中进行i o 端口的读写操作,并将输入数据存放在内存管理 模块为其分配的缓冲池中; 外部应用程序通过应用程序接口访问缓冲池,得到数据后进行存储显示。 因此,本文实现的实时扩展将位于内核态下,对定时器、i o 设备和存储 器驱动程序以及硬件抽象层和w i n d o w s 2 0 0 0 内核的部分功能进行封装,使用户 态的应用程序通过实时扩展获得这些资源,同时接受实时扩展对其进行管理和 约束。 2 3 2 实时扩展与w i n d o w s 2 0 0 0 和测控系统应用的层次关系 实时扩展是测控系统的基础,完成实时采集和控制的主要功能,运行在核 心态下并通过应用程序接口与测控系统联系。测控系统运作在用户态下,通过 实时扩展获得硬件资源,同时也可通过执行程序或系统a p l 访问w i n d o w s2 0 0 0 内核。实时扩展与测控系统之间的关系如图2 - 4 所示。 图2 4 实时扩展与测控系统的关系 2 3 3 实时扩展与测控系统的调用关系 测控系统通过实时扩展取得硬件资源,并从中获得采集数据和输出控制信 号。本文通过数据采集的过程说明测控系统与实时扩展之间的调用关系。 首先,采集系统对实时扩展进行初试化。实时扩展是一个s y s 文件,当采 集系统要求进行数据采集时,通过i n s t a l i d e v i c e d r i v e r 例程将实时扩展装载 到系统内核中。此时,实时扩展完成内部各数据结构的初试化。 然后,采集系统创建采集任务。采集系统通过实时扩展的a p l 创建一个或 多个采集任务,并给出每个采集任务的采集周期、i 0 端口、采集数据类型以 及数据缓冲区。实时扩展为采集任务建立任务控制块,进行i o 初试化和分配 缓冲池,并根据采集数据的类型创建非分页内存链表。 采集系统开始数据采集时,通过实时扩展a p l 运行采集任务。实时扩展将 西北工业大学硕士论文第二章基于w i n d o w s 2 0 0 0 测控系统实时扩展的分析与设计 任务控制块添加到等待队列中,开始为实时任务计时。当实时任务到时时,通 过调度程序调度任务为运行态。在运行态中根据初试化时设置好的i l o 派发路 径进行i o 请求和派发,并将采集到的数据存储在非分页内存链表中。实时扩 展的缓冲池管理模块负责非分页内存链表的管理。 实时扩展中的数据复制系统线程负责定期将数据从核心态非分页内存缓冲 池复制到由测控系统分配和指定的用户态分页内存缓冲池中。测控系统从中获 得数据采集的结果并进行显示和存储。 采集停止时,测控系统调用实时扩展a p i ,实时扩展释放缓冲池、i o 和 t c b 。 采集系统退出时。调用r e m o v e d e v i e e d r i v e r 卸载实时扩展。 采集系统的采集流程及与实时扩展的调用关系如图2 5 所示。 图2 - 5 采集系统的采集流程及与实时扩展的调用关系 西北工业大学硕士论文 第二二章基于w i n d o w s 2 0 0 0 测控系统实时扩展的分析与漫计 2 3 4 实时扩展中的关键技术 实时扩展中的关键技术主要有:定时器管理技术、任务管理和任务调度技 术、i o 管理技术和缓冲池管理技术等。各个关键技术将在以后的章节中进行 详细的研究和分析。 2 3 4 1 定时器管理技术 实时扩展中的定时器是为系统提供精确的时间,处理周期任务的延时和到 期,并为任务调度提供时机等。因此,定时器管理器的主要功能包括:定时器 的加入、定时器中断服务、时钟调整、精确时间获取等。 其中,通过定时器的加入功能采用软件或硬件方法在w i n d o w s 2 0 0 0 中加入 实时扩展的时钟,这个时钟可以与w i n d o w s 2 0 0 0 系统时钟一致,也可与系统时 钟不同步。定时器中断服务程序中完成任务调度、就绪队列和等待队列的调整 等功能。实时调整是在一定的时间( 如系统初试化时) 对实时扩展中的时钟进 行调整,使其与系统时候同步。某些实时任务需要获得被处理时的具体时间, 因此定时器管理模块为这些任务提供了高精度的日历时间,是这些任务在运行 中调用相应函数即可获的该时间。 2 3 4 2 任务管理技术 任务管理是实时扩展的核心部分,主要为测控系统中的实时任务提供功能 支持和调度策略。任务管理器的主要功能为:任务创建、任务执行、任务终止、 任务调度、就绪队列维护、等待队列维护等。 测控系统根据实时任务的功能和性能要求以及实时任务的分类原则对实时 任务进行分类,针对每一类的任务通过调用相应的接口函数创建实时任务并设 置周期和优先级,同时编写实时任务的实际功能。任务管理部分根据实时任务 的类型、周期和优先级对其进行调度。任务管理的相关问题将在第五章进行详 细的讨论和研究。 2 3 4 3 i 0 管理技术 实时扩展部分的i o 操作由i o 管理模块进行统一管理,实现i o 初试化、 1 1 0 请求派发、t o 资源同步等功能。在w i n d o w s 2 0 0 0 中,i o 操作由i 0 请求 包( i r p ) 来表达,系统初试化时设置i r p 的派发路径,当实时任务进行i o 操作时,系统将根据派发路径找到相应的s t a r t i o 例程,在此进行实际的i o 操作,当操作完成后,将结果返回到实时任务中去。当多个任务同时同时要使 用某个i o 资源时,i o 资源同步模块将解决资源的争用问题。 2 3 4 4 缓冲池管理技术 实时任务将采集到的数据放入输入缓冲池中,同时将输出缓冲池中的数据 进行d a 输出。实时扩展对实时任务的缓冲池进行统一分配和管理已经回收。因 此缓冲池管理包括:缓冲池分配与回收、非分页内存链表管理、数据复制系统 西北工业大学硕士论文第二章基于w i n d o w s 2 0 0 0 测控系统实时扩展的分析与设计 线程等功能。 2 4 实时扩展的开发平台 实时扩展的开发采用的硬件平台为x 8 6 体系,当采用硬件方法实现时钟中 断时需要一块定时器板,该定时器板上有8 2 5 3 定时器,定时产生时钟中断。 由于本实时扩展是针对w i n d o w s 2 0 0 0 内核的,因此软件开发平台为 w i n d o w s 2 0 0 0p r o f e s s i o n a l 版,开发工具采用w i n d o w s 2 0 0 0 d d k 和v i s u a lc + + 6 o 。 2 5 本章小结 本章首先研究了实时扩展的相关概念,包括实时系统和实时操作系统的概 念,以及w i n d o w s 2 0 0 0 的体系结构。然后研究了实时扩展的概念和常用方法。 根据测控系统中实时任务的特点,设计了实时扩展的总体结构,并分析了实时 扩展与w i n d o w s 2 0 0 0 和测控系统的层次关系以及时序和调用关系,提出了实时 扩展中需要用到的定时器管理、任务管理和调度、i 0 管理和缓冲池管理等关 键技术。此外,还选定了实时扩展的软、硬件开发环境。 西北工业大学硕士论文 第三章实时扩展中的定时器管理技术的研究与实现 第三章实时扩展中的定时器管理技术 的研究与实现 定时器在实时扩展中具有重要的位置,它为系统提供精确的时间,处理周 期任务的延时和到期,并为任务调度提供时机等。实时扩展中的定时器是在通 过修改w i n d o w s 2 0 0 0 系统时钟中断或为硬件定时器编写时钟中断而添加到系统 中的。因此,有必要首先研究w i n d o w s 2 0 0 0 的中断调度机制。 3 1w i n d o w s 2 0 0 0 的中断调度分析 中断机制是w i n d o w s2 0 0 0 提供给执行程序、内核以及设备驱动程序等内核 模块组件所使用的基本机制之一。当异常或中断发生时,硬件或软件可以检测 到它们,并捕获正在执行的线程,处理器会从用户态切换到核心态,并将控制 转交给操作系统中相对固定的地址,当中断完成时,处理器又会回到用户态继 续执行被中断的线程。 中断由中断调度程序的子模块响应。它确定中断源并将控制转交给处理中 断的外部例程( i s r ) ,或转交给响应中断的内核例程。设备驱动程序给服务设 备中断提供i s r ,内核则提供其他类型中断的中断处理例程。 3 1 - l 中断类型和优先级 w i n d o w s2 0 0 0 中断调度程序将硬件中断级映射到由操作系统识别的中断请 求级别( i r q l ) 的标准集上。中断请求级别如图3 一l 所示。i r q l 按优先级排列 中断,并进行中断服务,较高优先级的中断服务可以抢占较低优先级的中断服 务。i r q l 从高往低到设备都是为硬件中断保留的。d i s p a t c h d p c 和a p c 级中断 是内核和设备驱动器产生的软件中断。低优先级实际上并不是真正的中断级, 在该级上执行普通的线程,并允许发生所有的中断。 3 l 3 0 2 9 2 8 2 7 2 6 高优齐鳋 电源故瞳 处理罂内部中断 时钟中断 配冒立件 设备n 设备l d p c d i s o a t c h a p c 低优先级 图3 一l 中断请求级别 西北工业大学硕士论文第三章实时扩展中的定时器管理技术的研究与实现 i r q l 设置决定了处理器可以接收的中断。当核心态线程运行时,它可以提 高或降低处理器的i r q l 来屏蔽一些事件。如果中断源的i r q l 高于当前中断设 置,则它的中断可以中断该处理器;如果中断源的i r q l 等于或低于当前中断设 置,则它的中断将被屏蔽,直到一个正在执行的线程降低了i r q l 。当产生中断 时,处理程序将
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 分配生考试题及答案
- 2024-2025学年高中数学第一讲坐标系三简单曲线的极坐标方程1圆的极坐标方程讲义含解析新人教A版选修4-4
- 四年级数学下册3.1折线统计图的认识教案3沪教版
- 四年级数学下册1.2整数的运算性质教案4沪教版
- 激光技术在新材料研发中的应用案例研究试题及答案
- 药物制造工艺基础知识试题及答案
- 育婴师考试复习中不可忽视的环节试题及答案
- 药剂师在公共卫生中的重要性试题及答案
- 文化产业管理考试中与经济发展的关联试题及答案
- 色彩环境测试题及答案
- 消防设施、器材台账
- 科学坐月子课件(PPT 31页)
- 风速与体感温度对照表(最新版)
- 膜系设计结构及调试
- 35kv配电系统继电保护方案设计(共33页)
- 文件模板(平行文)
- 漱口水公司绩效计划(范文)
- Theme and Rheme 主位与述位(课堂PPT)
- 压力容器设计计算书
- 尿毒症脑病ppt课件
- 部编版四年级下册语文课件-第三单元-单元解读-共64张PPT)
评论
0/150
提交评论