(计算机应用技术专业论文)基于反射机制的构件化嵌入式操作系统.pdf_第1页
(计算机应用技术专业论文)基于反射机制的构件化嵌入式操作系统.pdf_第2页
(计算机应用技术专业论文)基于反射机制的构件化嵌入式操作系统.pdf_第3页
(计算机应用技术专业论文)基于反射机制的构件化嵌入式操作系统.pdf_第4页
(计算机应用技术专业论文)基于反射机制的构件化嵌入式操作系统.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机应用技术专业论文)基于反射机制的构件化嵌入式操作系统.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

渐扛大学顿 学位论文 摘要 近年来,随着构件化嵌入式操作系统的迅速发展,构件豹灵活性、构件运行 的性能、构件对资源的利用率等方面的问题变得越来越突出对此我们在构件化 嵌入式操作系统p 伽试的微内核中加入活动管理器,空间管理器及维护与构件运 行相关的管理信息以支持反射式调度和反射式空间管理。反射式调度使嵌入式操 作系统的性能得到较大提升,反射式空间管理使嵌入式操作系统对有限存储资源 的利用率得到显著提高,而且反射机制使得构件的动态配置成为可能。此外,由 于只是在线程调度和存储管理两个方面支持反射机制,构件化嵌入式操作系统的 设计变得相对简单,进一步提高了构件化嵌入式操作系统的性能。 本文针对反射机制在构件化嵌入式操作系统中的应用展开深入研究,提出了 将反射机制应用到p c 锄d 的构件模型s m 耐c m 中的方法,并设计实现了这一模 型体系,使s m a r t c m 支持反射式调度和反射式空间管理。主要贡献和创新点表现 为如下工作: 1 ) 根据元模型体系,在p c d 的构件模型s m a 惦m 及其微内核c k o m e l 中设计并实现了反射机制的架构。通过在c k m l e l 中加入活动管理器和空间管理 器以及与线程活动相关的管理信息来支持反射机制在p c d 操作系统中的应用。 2 ) 完成了与反射式调度相关的设计与实现。在线程的组织结构中加入了对 反射机制的支持。特权线程的应用使得构件能与微内核进行交互,是反射机制实 现的基础。线程问通信的设计则关系到反射式调度的效率,而且反射式调度的最 终实现还是要依靠线程间的通信实现。 3 ) 完成了与反射式空间管理相关的设计与实现。p c a n d 的存储管理使用了共 享地址空间以及相应的保护机制,提高了空间利用的灵活性。而反射式空间管理 器进一步增强了空间利用的灵活性。使得有限资源的利用率大大提高,使p c a l l e l 更加适合在嵌入式系统中应用。 关键词反射机制;构件化嵌入式操作系统;反射式中间件:活动管理器;空间 管理器 浙江大学硕士学位论文 a b s t r a c t 触o n gw “ht h e 强p i dp g 瞄so fc 0 嘲p o n c m _ b 8 s c d 脚l b 酣d e do 删n gs y s t 帅, t l l ep r o b l e mo f n e x i b i l i t y 、p e r f b r m 柚c ca n dr e u r u g ea i n 盯s - m 西yp i 瑚n i n 即t a c 虹v n ym o l l i l o r 、s p a c em o n i t 盯柚dm 锄a 鲫e n ti 砌m a 虹衄a 梯a d d e dt 0a n b c d d o d o p 啪t i n gs y s t 锄t og i 】科 研r e n 枷v e h c 删m ga n dr e n 6 v es p a m 趴a g e r n 吼t r c f i o c t i v es c h 酣u l j l l gr a i s 髂t h e p e r i - o r i n 她c eo f 锄b c d d e d0 p e r 撕n gs y s 协n ; r e f l e c t i v es p a c em a n a l 哪雌tm i s 璐l em t eo fl 佃n “e dr e t l r c eu s a 留eo f 锄b e d d e d o l 删n gs y s t 咖f 吣e m o 壕r e f i e c i i o n a l l a w s d ”1 a m i cc o n t i g i 】伯时o n o f 。o m p o n e n b h ia d d i 石o i i o l l i ym r 戡l ds c h e d u l i i l gm l ds f o 托g em 锄a l r a m c n ta 托 飘| p p c n e db yr c n e c t i o i l ,w h i c hm a l c i t 掣t od 鄂i g nt i l ec o m p o n e m - b a s e d 朋1 b e d d e d o p 啪矗n gs y s t c ma n dr a i s 嚣p c 响御肋c ee v 如m o r c t l l i st h e s i s 向q 培e 8o nn l es t l l d y 锄也ea p p l i c 砒i o no fr e n 硎蛐m e c h 锄i s mm c o m p o n 饥t - b c dc f n b c d d e do p e 删 i i l g5 y s t e m i tp r 嚣删am 劬o do f 印p l 撕n g 阳n e 鲥叩t ds m 州:m ,ac 咖p o n 啪tm o d e lo f p c 锄d nd 髂i 扣e da n dd w c l o p c d 五s m o d d 锄埘t e c 咖e ,w h j c h 哪r t c d 托n 洲v e3 c h e d u l i n g 蛆d 坤n e c t i v e 印e m 孤a g 翱1 li 缸c o n 缸b u “o 鹏蛆dn o v t i l t 醅a m a i l l i yi n 也ef o l l o w 抽g 舔p b : 1 ) a c r d i n gt 0m e t a 棚0 d d ,伸f l e d i o n 盯c h i t e c h 啪w 鹤d e 8 i 印e d 柚d i m p l 锄e n t e di nn 悖册p o n 册tm o d ds m a n c m n 啪u g ha d d i i i ga c t i v 时i n i o r 、 s p a m o l l i t o r 壮dm 柚a 蹦n e n ti n f o n m 血o nt oc k 锄d ,r c n c c 6 0 nw 酗翱p p 删i n m e p c 锄d 2 ) w ed i 印e d d 蚰p i 锄e m c dr e n o 鲥v c3 c h e d m 啦s 唧p o f to fr e n e c t i w a d d e d 幻出e 咖咖邛o ft h 捌s 蹦“l c g c dt h 瑚dw 越d c s i 黟同t o 鲥p p o r t o o m m 嘣l i o nb e f w 嘲c o 叩n b 柚dc - k 鲫d i n t * p l d c e c o 唧皿i c a t i o n ( i p c ) w 抽r e l a l e dt 0m ee 佑d 锄c yo f r e n 6 v es c h o d q l i n 昏 3 ) w bd c s i 弘。da l i di n 巾1 锄螂n e d 忙n e 甜v e 即a m 锄a g e m 肌t 1 1 l ei n 舶o r y m 锄a g 锄m to fp :如da p p l i c dm cm 。c h a l l i 锄o fs 1 1 删s p a c ca n d 即t e c 虹o l i w 1 1 i c h 蛐1 1 锄c e d 曲ef l 既i b i l i t yo f s p a 删哪璐a g e r e n 优t i v es p a m 柚a 静n e n t 如舳 a 血锄c c dt l l en e x f b i l i l yo f t t i es p a u 铀g e m a l d n gt 量l cl n i l i z a t i 蛳o fl i l l 【l i 吲u 黼 目训yi l i c r e a s e d a n d ,j tm a d ep c 鼬e lm o 蛳t a b l ef o r 咖b c d d c ds y s t 咖 k e y w o r d sr e n e c d 蚰;c 伽m p 蚰舶卜b 鼬e de m b e d d c do p 盯a t i n gs 坶t 鼬;r c n e 甜v e m i d d l e w 蹦苟a 嘶“t ym o n i 峨s p a m a n i 锄 浙江大学硕士学位论文图目录 图目录 图1 1 元层体系结构图3 图1 2p e b b l e 体系结构1 1 图i 3m m l i t c 最小化配置1 3 图1 4o s k j t 整体结构示意图1 4 图2 1p d 系统架构图1 6 图2 - 2 四个内核优先级。l8 图3 1 构建模型s m a n c m 反射元层体系结构图一2 2 图3 - 2 构件在线演化过程2 5 图4 1p c e l 线程组织结构2 8 图4 2 线程服务器3 0 图4 3i p c 的结果3 3 图4 - 4 反射式调度3 4 豳4 5 基于口c 的反射调度过程3 5 图s l 地址空间的组成3 8 图5 2 反射式空间管理4 0 图每ls m a r t c m 与o p 蛐o r b 、j a c o r b 的性能比较一4 3 l 浙江大学颈十学位论文表目录 表目录 表1 1 反射式中问件比较9 表6 1s m a r t c m 与主流反射式中间件系统比较4 2 浙江大学顾l 学位论文 第1 章绪论 第1 章绪论 1 1 课题背景 在复杂的嵌入式系统中,软件系统除了解决功能方面的问题之外,还要处理 诸如系统容错性、灵活性、稀缺的计算资源的利用等非功能方面的问题。计算平 台的复杂架构更加剧了操作系统设计的困难。例如,实时的多媒体应用,常常使 用d s p 处理器,操作系统对它们的调度算法应有别于通用应用程序的实时调度。 从传统操作系统的角度看,它实现底层计算资源的管理,为应用软件提供抽象的 计算平台,进程调度和内存管理这类基本功能都是预先设计好的,难以针对特定 应用相关的软硬件特性做灵活的变动。大多数操作系统采用固定的、静态的设计, 适合通用类型的应用,或者为一类特定应用做定制,无法实现动态重配景。这些 操作系统常常使用一些优化的方法或技术,但对于动态改变行为的应用帮助不 大。 另一方面,从嵌入式应用的角度看,它需要能够根据环境的变化,动态的调 整自己和操作系统的缺省行为,从而获得最佳的效能。在很多情况下,操作系统 改变资源管理策略会有效。例如,为了处理外都网络或内部电源等变化,多媒体 处理程序需要调整单个进程的执行速度或者使用的资源。操作系统提供适当的反 射机制,允许程序在维持功能和实时要求的同时,对资源管理策略做一些调整, 例如,支持电压调节的程序能够为自身提供基于q o s 的调节策略。 本文对反射机制的研究重点是,在构件化的操作系统中,设计并实现反射体 系架构,用户态程序能够通过反射机制实现更灵括的线程调度和空间管理,适应 嵌入式系统的要求。用户态程序借助反射机制访问操作系统中重要的信息和资源 管理策略,从而获取和改变当前系统运行的状态。 1 2 相关技术 这一节介绍与本文工作相关技术,第一部分介绍了反射的概念,并对反射体 系做了详细的介绍,这是本文的技术基础。第二部分介绍了一些主流的反射中间 件,包括d y n 锄i c t a o ,2 k 【n 、 c o l i l p 憾e 【2 】、o p 伽o r b 嘲、 c a r i s m a 【4 】、 c o 咖“a 砌e m i s - 3 c 吲、p k u a s 【6 】、o p c l 陀o r b a f 7 l ,m a i 撒“引等。本文的所要 做的工作就是借鉴反射式中间件的原理与思想,将反射机制引入到我们设计的构 件化嵌入式操作系统p c a n d l 9 i 的构件模型s m a n c m 中。 浙江大学硕仁学位论立 第1 章绪论 1 2 1 反射机制 反射的概念首先出现在人工智能领域。2 0 世纪7 0 年代末,它被引入程序设 计语言的研究中,并在这里得到了很多关注。在此后一段时日l 内出现的许多程序 设计语言中,反射的概念都得到了体现。 1 2 1 1 计算反射 1 9 8 2 年,m i t 的s l t i i m 在他的博士论文1 1 0 】中最早介绍了程序反射的概念并提 出了反射假说:“既然我们可以构造包含负责管理有关某个外鄢世界的表示的内 部过程的计算过程,并通过它来对那个外部世界进行推理;那么我们也可以构造 能够对自身进行推理的计算过程,它包含负责管理有关自身的操作和结构的表示 的内部过程。”也就是说。借助反射,计算过程能够访问、推理和改变有关自身 的表示。 1 9 8 7 年,m a 龆首先系统地阐述了计算反射和反射系统的概念】,m a 对计 算反射的定义如下:计算反射简称反射,是反射系统在运行中所做的有关自身的 计算和控制。反射系统是一类特殊的计算系统。计算系统是负责解决某个领域中 的问题而且能对这个领域进行作用的基于计算机的系统。计算系统是关于特定领 域的,系统中包含用来描述领域中的实体和实体间关系的数据结构以及处理这些 数据结构的规则。反射系统关于的领域是系统本身,而且系统中用于描述系统的 数据结构和系统本身之间存在因果联系。这里的因果联系是指,如果系统或者有 关系统的描述发生了改变,那么有关系统的描述或者系统本身就会发生相应的改 变。在反射系统中,用于描述系统本身的数据结构被称为系统的自描述信息,它 们是实现反射的基础。反射系统通过维护正确的自描述信息来实现运行时对系统 行为的监视并根据环境和应用程序的需要对系统进行重新配置。 1 2 1 2 反射系统 反射系统常采用被称为元层体系结构【1 2 j 的两层结构,其中的两层是基层和元 层,如图i 1 所示。其中元层又可以进一步细分,如元元层等。 2 浙江大学硬十学位论文 第1 章绪论 图1 i 兀层体系结构图 位于下层的基层完成有关外部领域豹计算,实现系统对外提供的功能,这是 任何计算系统都要完成的计算;位于上层的元层完成有关系统自身的计算,这是 只有反射系统才要完成的计算。基层和元层通过具体化【”l 和吸收1 1 4 】这两个过程相 联系。具体化是指用元层实体对来描述基层的特性的过程。元层提供元接口,使 用户能够访问和修改元层实体的状态。吸收与具体化相反。它根据用户对元层实 体的状态所做的修改来调整基层中相应的特性,使基层的特性和元层实体的状态 保持一致。具体讹和吸收实现了系统和有关系统的表示之间的因果联系,7 。 元对象协议【1 6 j 是反射技术与面向对象的方法相结合的产物。这里的“对象”, 是指用对象来描述元层实体并表示为元对象。元对象对应的类被称为元类元对 象协议是系统中的元对象向系统用户提供的接口的总和。这些接口可以分为访问 接口和调整接口两类。用户通过访问接口获取系统的状态信息,通过调整接口调 整系统中的策略来改变系统的行为。访问接口和调整接口所提供的服务通过系统 内部的具体化和吸收这两个过程来实现。 1 2 1 3 反射分类 反射类型分为行为反射1 1 ”和结构反射”1 两种,其概念均是起源于反射式程序 语言设计系统。 在反射式程序设计语言中,所谓结构反射是指编程语言具有这样的一种能 力,它能提供对当前运行程序的完全具体化和对其所采用抽象数据类型的完全具 体化,可使应用程序对其进行修改和调整;而所谓行为反射则是指编程语言所具 有这样一种能力,它能够提供对其自身语义、运行与实现时刻系统的数据和实现 的一个完全具体化,并可使应用程序对其进行修改和调整。 反射中间件中结构反射和行为反射的概念与上述相比则发生了一些变化。这 浙江大学碗十学位论文 第1 章绪论 里的结构反射主要是指系统元层可对基层实体的运行结构实施相关的具体化和 反射过程,从而达到观察和修改目的。行为反射则是指可通过系统元层对基层实 体内部及实体之间的运行行为、系统环境等方面实施相关的具体化和反射过程, 从而达到观察和修改的目的。 目前反射中间件系统中,对结构反射的实现工作主要体现为元层可观察和调 整基层实体内部成分及实体之间的功能结构和接口方法等。如d y n a 耐c 1 a o ,2 k 系统通过构件配置器可在线给某特定的应用服务增加、删除、替换一个新的功能 构件,从而改变该应用的功能特性;o p e l l o r b 可通过增加、删除、替换某基层 构件内的成分子构件,从而实现对该基层应用构件的重配置;c o m p e 系统可通 过对元层几个基本服务的组合,生成基层新功能服务等。目前反射中间件系统中, 对行为反射的实现工作主要集中在对实体之闻协同交互方式的反射、与接口方法 相关联的反射、资源信息及运行调度策略的反射等方面。对协同交互方式实行反 射时,行为反射中问件系统的一般做法是将这样的协同交互方式抽象为一个独立 的基层成分,以实现对其的观察和修改;对于拦截者( i n c r c e p t i 哪的具体化和反射, 系统一般提供了元接口。用于动态地加载、替换和删除拦截者;对于环境资源的 反射,行为反射中间件系统一般也提供相关的元模型、元接口,可使客户用于观 察、修改系统环境资源信息和运行策略等方面。 1 2 2 反射式中间件 反射机制应用最为广泛的领域是中间件系统,现在已经开发出了很多反射式 中间件系统,比较有名的就有d y 岫i c l a o ,2 k 、c o m p 0 、o p e i l o r b 、c a r j s m a 、 c o g a 彬 r n m i s 3 c 、p k u a s 、o l 瑚c o r b a 、m a i 啦m 等。下面我们分别介绍 这些中间件系统。 1 2 2 ld y n 4 m i c t a o ,2 k d y n m i c l a o 系统是伊利诺斯大学计算机科学系k o n 等人所完成的反射中间 件系统,2 k 则是基于该系统发展而成的反射式操作系统。其目的是提供一种灵 活、可变的中间件系统架构,为处于不同物理场所的用户动态定制系统环境,同 时克服传统分布式构件【9 l 系统缺乏对资源动态管理能力和对系统自动配置的能 力阻及在可靠性、可管理性方面存在的一些闻题,从而实现移动计算应用所使用 中间件平台的轻量化,即w y n f w y g ( w b a ty _ o un di sw h a ty 如g 哪宗旨 d 孙m i c l a o ,2 k 系统为运行过程中被加载的服务构件设置了构件配置器 ( 踟n p o n e mc o n f i g l 】r 瞰神,构件配置器之问彼此相连,用于表示这些构件之间动 4 浙江大学硕上学位论文第1 章绪论 态关系和构件之问的消息传递,构件配置器构成了系统的元层。每个构件配置器 均有c l i 口端和h k 端,每端均有一个或多个连接点,分别连接着其它构件配 置器的h o o k 端和c i i e n t 端。其中,c l i t 端表示与之相连的其它构件对本构件的 依赖关系,h o o k 端表示本构件对其它构件的依赖关系。因此d y n i c l a o 2 k 系 统通过构件配置器表述实际的构件系统。同时,构件配置器还提供了h o o k 连接 点加载、h 0 0 k 连接点删除、c l i e n t 连接点注册、c 1 i m i 连接点注销和来自c h e n t 端的事件接收、来自h o o k 端的事件接收等较为丰富的方法,且系统中所有对构 件配置器的调整与修改将直接反射到实际构件系统中,构件系统内部结构的变化 也将直接表现为构件配置器之例相互关系的变化,从而实现构件配置器层与构件 系统之间的因果相连。这样既较好地表示了系统运行过程中服务构件之阃的动态 关系,又实现系统的轻量化,并支持了系统运行过程中动念重配置能力。 1 2 2 2c o m p o o e c p 0 系统由加利福尼亚大学信息与计算机科学系的n “岫等学者研制而 成。其目的是为了解决网络多媒体方面的应用需求及提供全局分布式计算的资源 管理架构,并能对网络多媒体系统的各种服务、协议和资源做良好协调,以维持 整个系统的正确性和高效性。c o m 口o s e 系统通过对一些基本服务的组合来生成各 种复杂服务。c o m p o 系统元层可分为四层服务,从上到下依次为q l o s 服务、中 间件服务、对象服务和核心服务。每层服务均有其下一层的一个或多个服务动态 组合而成,本层服务可根据需求为自己定制具有特定运行机制的下层服务。 c o m p o 系统中的核心服务有4 类: ( 1 ) 远程创建服务,用于在远程节点创建一个对象 ( 2 ) 分布快照服务,对环境中的信息进行收集,包括节点的可达性、正在处 理的消息数目等; ( 3 ) 分布分发服务,遍历各个节点,保持信息的一致性; ( 4 ) 目录服务,用来实现访问控制、资源发现和组通信等。 1 2 上3o p 蛐o r b o p o r b 系统由兰开斯特大学计算机系的b l a i r 等学者研制。其元层中有四 类元模型组成,分别为体系结构元模型、接口元模型、拦截元模型和资源元模型。 在此四类元模型中,体系结构元模型和接口元模型用于实现结构反射类型;拦截 元模型和资源元模型用于实现行为反射类型。体系结构元模型主要提供对构件软 件结构的访问,该元模型包含构件图和体系结构约束两类元素,并支持可对该构 浙旺大学硕十学位论文 第1 章绪论 件进行动态调整以适应当前需要,而这些动态修改需满足约束:接口元模型则提 供一组接口使得应用可访问基层功能构件的外部表示,它支持对环境中构件接口 的动态发现。拦截元模型允许对于基层的应用构件动态插入和接口相关的拦截 者,包括前序l p 螭和后续p o 蛳蹲种,前序拦截者用于在执行对构件接口方法调用 前所作的一些数据预处理工作 后续拦截者用于在完成对构件的接口方法调用后 所作的一些收尾工作。资源元模型用于提供对底层资源及资源管理的访问,使得 资源使用和管理策略可随着系统进化而变化。其内容包含抽象资源、资源工厂和 资源管理者三个组成部分。抽象资源用于对本地资源的抽象化描述,它是一个层 次化结构,高层的资源抽象建立在低层基础之上。资源工厂则用于产生抽象资源, 其自身也为层次化结构,每层用于产生与本层等同的抽象资源。资源管理者用于 管理本节点的资源调度,其层次结构从上到下可分为任务调度、组调度、进程调 度、c p u 调度等,以支持对调用策略的动态调整。 l - 2 z 4c a r i s m a 伦敦大学计算机系c 椰等人在设计用于移动计算中间件系统时,考虑到移 动计算设施所处环境是动态、快速变化的,移动计算中间件系统应能觉察这样的 变化,并能相应作出调整以适应环境。对此他们在设计系统时引入了环境感知 ( c o n t d t a w a r e 俨0 j 的设计思想,即随着客户应用使用场所、周围资源、其它设 备上服务可达性等物理环境因素的改变,中间件自身行为也需能作出相应的变化 与调整。基于环境感知的基本思想,c a m 等人在设计c a r j s m a 系统时,一方 面使得系统能在运行过程中,不断探测底层操作系统和网络环境,并把相关信息 组织成一定数据格式反馈给用户,用户据此作出选择判断,为自己定制相应的移 动服务;另一方面,移动用户也可根据自身要求向中阐件递送请求,实现服务的 定制与配置。在中间件和移动用户的交互过程中,c a r i s m a 系统中用到了应用 剖面,它是c a r i s m 系统的反射元层,主要包括服务情况、环境资源情况、服 务运行策略等三方面内容。中间件系统可将系统服务当前运行的结构行为和相关 环境信息具体化成应用剖面形式提供给客户应用,客户应用对应用剖面的修改和 调整将直接反射到中间件系统中去,完成对功能服务的重配置。 1 2 2 5c o g 姐们国r e m i s 3 c c c 掣n t 系统是南京大学软件新技术国家重点实验室研制的基于移动a g 锄t 主 动构件框架系统,以提高在开放网络环境下对构件组装绑定的灵活性、代码可重 用性,解决异构构件之间的互操作等问题,以增强系统对动态变化网络环境的适 6 浙江大学硕士学位论文 第l 章绪论 应性。在c o g c n i 系统框架中,构件的组装机制由组调用表( g m 叩t a b l e ) 和定位表 ( l o c 鲥o n1 曲l e ) 两部分,系统底层的移动a g t 将根据组调用表和定位表所描述 的元数据信息完成对相关服务构件的组装调用。组调用表给出了移动a g c n t 对构 件调用的执行逻辑信息,a g t 将根据组调用表中的功能元数据迁移至提供服务 构件的目标节点完成请求并返回结果其结构为七元组( 调用表名、参数列表、 变量声明、私有数据区、调用表体、类型结构、调用条件) ;其中调用表体项的 结构又为四元组( 指引名、方法型构、接口方法调用、后处理定义) 。定位表用 于描述服务构件所在的位置信息,a g e n t 将根据该表迁移至提供服务构件的目标 节点完成请求并返回结果,其结构为 ,o f ,共享地址空 问指的是,v j ,o s f 一,助y ( a ) = 助y ( 磊) ,及j 一c c 哪( n ) 爿c 螂( 毋) 。由于 c k m e l 的构件模型s m a n c m 支持共享地址空间机制,因此所有的构件都可以处 于同一个空间内。使用同一个一级页表。 浙江大学硬士学位论文第j 章反射式字间管理 图5 1 地址空问的组成 当c k m c l 从一个构件的运行状态切换到另一个构件的切换状态时,仅仅需 要改变若干个二级页表以及相对应的指令数掘缓冲。相对的l i m l ) 【内核采用进 程作为基本运行单位,每个进程使用独立的一级页表,l i x 内核则处于所有 l i n 进程的地址空问的某个特定的区间同样的,采用共享地址空间机制的构 件都处于某个特定的区内,如图5 一l 所示。 当m c 传递的数据较多时,可以通过共享一部分地址空间来完成。c - k m e l 对客户端,服务端i p c 做进一步扩展,以支持地址空间的传递。 通常的情况是,客户端给服务端发送一个参数是指针,服务端将在指针指向 的空间中填入数据,也就是说,服务端必须对客户端的某一块空间具有可写的协 议等,例如文件系统的构件提供了一个读取文件的远程方法调用接口, s s i z e 删( i n l i n t f d ,【o u t j v o i d 峋u f ,【嘲s i z e _ t n b 鹏: 对于a d 接口的m 和d 哪c 两个参数,客户端只需要使用前面所述的寄存器 进行传递即可,对于b u f 参数,客户端通过c 锄d 将b u f 指向的空间共享给服 务端。 在共享期间,服务端一直可以访问这块空间,直到服务端再次通过坤c 向客 户端发送结果后,对该空间的访问权限被c k l e l 消除。 5 1 2 共享地址空问及保护机制 c 融n e l 采用共享地址空间的保护技术,避免这类参数封装和还原所引起的 性能开销。有一些著名的单地址空间操作系统,如n e m i 8 1 和m 珈瞬蜘,它们 浙江大学顿士学位论文第5 章反射式窄问管理 主要是为分椎式系统设计的。d 妯n d 采用了独特的共享地址空间机制,目的是 用硬件m m u 保护每个构件,同时提高远程方法调用时传递数据的效率。 c k l e l 把地址空间按访问权限划分为只读空间和可写空阃。所有构件在 c k 啪e l 中运行时,共享一个只读空阃。每一个构件具有单独的可写空间。唯一 的只读空间。意味着任何数据结构,在任何构件的地址空间中能够以相同的方式 读取。单独的可写空间,能保护构件免受来自其它构件的错误影响。 此外,空间管理需要通过空间管理器来实现,因此多了一层监管,构件无法 直接进行地址空问的存储,保证了数据存储具有较高的安全性。 5 2 反射式空问管理实现 c k m e l 支持应用程序通过反射机制对地址空间进行管理,从而实施更为有 效的内存管理策略。d 黼l e l 内核缺省支持基于页的虚拟内存管理。基于页的优 点是,能够把分散的物理内存空问合并为连续的虚拟空闯,页的细粒度能够支持 动态加载代码等功能。通过内存管理的反射,应用程序能够对自身的页面使用和 管理作出最好的策略,例如,决定一个页面是否被替换出去或永久保留在内存中。 假设一个应用程序分配不同的内存用于实时和其它计算,那么反射机制能够 帮助它在内存读写过程中实现若干完全不同的内存管理。例如在c 编程语言中, 分别对三个数组进行赋值: 在编程语言中同样是对数组赋值,假设数组a 参与实时计算,则在内存管理 上采用缓冲区加锁的技术避免缓冲失配;数组b 是关键性的数据,在内存管理上 则可采用直接写入日志机制。数组c 用于普通计算,数量较多而不经常使用,在 内存管理上则可采用存储卡作为虚拟内存空闻。 反射式的空间管理在机制上与反射式的调度类似,也是通过口c 实现。当线 程访问一个虚拟地址的页时,如果权限不允许或者出现非法地址,则c k d 将 接收到m m u 产生的硬件异常,它将此信息通过m c 发送给空闻管理器。空问管 浙江大学硕士学位论文 第5 章反射式宅问管理 理器决定如伺处理该异常,并同样通过口陀返回对应地址访问的结果。最后 c - k m e i 继续执行原来的线程在空间管理器执行期间,它可随时更改线程的地 址空间,倒如将一个虚拟页映射到物理地址或改变某个页的访问权限。 与上面的反射调度不同,c k c f i l e i 并不提供任何缺省的反射式空间管理器, p c e l 操作系统所运行的第一个用户念程序担当起空间管理器的角色,其它应用 程序根据需要自行添加新的空间管理器因此,反射式空间管理器的结构如图5 2 所示,原理图基本与反射式调度一样,但有一点明显的不同,由于任何一个应用 定制的空间管理器自身是一个线程,因此也具有更上一级的空间管理器。 图5 - 2 反射式空间管理 在用户态实现反射式空闻管理器需要遵循如下若干规则: 应用程序可以在创建线程时指定一个空间管理器; 空间管理器能够改变虚拟内存的页面映射表,当应用程序所访问的虚拟页面 映射到不存在的物理内存地址或者产生访问权限的硬件异常时,c k e 兀l c l 内 核将调用应用程序的空间管理器解决该问题; 空间管理器可以对缓冲表加锁,避免虚拟地址域切换造成的缓冲失配; 空间管理器一般只对本应用程序创建的线程有效,除非其它应用程序明确指 定使用该空问管理器。 5 0 本章小结 地址空问是实现反射式空间管理的基础。p m d 采用了共享地址空间的形式, 4 0 浙江大学硕士学位论文 第5 章反射式卒同管理 即构件闻共享同一个地址空间。同时,通过软硬件之间的合作来完成对构件运行 空问的保护 反射式空间管理的实现原理是与反射式调度相同的,通过空问管理器实现元 数据的推导,从而实现的构件的在线演化,继而可实现构件的动态配置。 浙江大学顾十学位论文 第6 章相关丁作 第6 章相关工作 我们在上面凡章中研究了反射机制的实现,重点研究反射式调度和反射式空 间管理的实现。下面我们需要对反射机制在p c m e l 的实现做性能测试并与其它一 些主流的反射式中间件进行比较。 6 1 实例比较 我们针对反射类型、反射时问、元层实现、反射联接方式及应用情况等5 个 方面将s m a n c m 与其它几个主流反射式中阃件系统进行了比较。 表6 - is n 埘忙m 与主流反射式中闻件系统比较 群w 鬻翌歹 榔删警糍姆羚零8 9 8 罗攀甲秽擎”飘 反射式巾j 川作 厦甜爱型反射埘瓣 兀崧反射联 奠现 接卉- i 电用情 兑凑 镕2 饿g 寤女赫糍女女m 蛾眺捌 部署时,话动管理器;窄同 己开麓小胤璺系统,拟用十智能 s m 盯0 c m鲒构反射过程式手机平台及各种商端嵌入式设 远行时管理器l 管理信息 备 部署时,单一的构件配置分布式多媒体应用传输协议的 由蛆m i c t a 0 幢k 结构反射过程式 运行时 嚣 白适应。异构设备的管理等 结构反射,部署时, 元模型:元协议; p u s 过程式已开发出媛型系统 行为反射运行时兀数据 韶署时,服务、运行策略,已开发出原型系统,拟用于移动 c a 砌s m a鲒构反射说明式 运行对服务瓷潭元崔鼬 会 芷 部署时, 呐l c o 曲a 行为反射单一的7 c 袭过程式传统c o 髓a 平台的应用 运行时 部署时 m a 豫r m 行为反射单一的多通道过程式系统实体同的通信 运行时 如表6 1 所示,s m a r t c m 使用了微内核结构的平台架构,在内部实现上使用 了严格的隔离机锅,即不同线程问调度和空间是隔离的,不会相互干扰,因此具 有很高的安全性一个线程的崩溃不会影响到其它线程。 此外,我们在对元层进行实体划分时,只分出了两个最为关键的实体,即线 程调度和空间管理,这样做带来的好处就是系统的设计变得相对简单,不容易出 浙江大学硕仁学位论文第6 章相差工作 错,而且因为只需考虑两个方面。构件运行的效率也大大提高。 6 2 性能分析 我们在构件化嵌入式操作系统p c d 的c k e r n e l 内核及构件模型s m a r t c m 中加入了对反射机制的支持。其中构件模型s m a r t c m 采用o m gi d l 标准作为 构件的接口描述语言,通过自动生成的桩代码配合c - 融n d 的工作。 下面我们对p d 的构件模型s i r i a r t c m 实现与其它两种主流的反射式中问 件模型实现( o 啪o r b 、j o r b i “1 ) 进行了性能测试,评估反射机制对s m a i t c m 所带来的性能上的影响。又考虑到要突出反射机制在性能上的影响,我们针对图 3 所示的例子,分以下四种情况对模型进行性能测试: c a l构件只生成a 类线程,它适用于默认的调度器; c a 构件只生成b 类线程,它适用于e d f 调度算法; c a 构件只生成c 类线程,它适用于f i f o 调度算法; c e 构件同时生成a ,b ,c 三类线程。 图6 - is n i a r 删与0 | 崩,o r b ,j a c 0 r b 的性能比较 测试结果如图6 - i 所示。测试结果表明,与其它通用的反射式中间件相比 构件模型s m a n c m 具有更明显的优势,反射机制应用的效果比较好。 浙江大学硕士学位论文第6 章相关t 作 6 3 本章小结 通过与m c h a r m 、功m i i l i c l a o 、p k u a s 和o p c o l u a 等几个主流反射 式中间件的比较可以发现,p c d 的构件模型s m a n c m 在设计上和功能上的优势 都比较明显。 随后我们用第四章反射式调度的例子对模型的实现进行了测试,并同 。唧o r b 和j a c o r b 进行了性能上的比较。从性能比较图中可以清楚的看到, s m a r t c m 的性能要明显优于o p 目i o r b 和j 们r b ,而且在稳定性上也相对较高, 极少出现调用失败或抛出其它异常的情况。 浙江大学硕士学位论文第7 章总结与展望 第7 章总结与展望 随着嵌入式系统的迅速发展,嵌入式操作系统的设计成为人们f 1 益关注的问 题。近年来,构件化的嵌入式操作系统发展很快,比如p e b b l e ,币n y o s ,t h i n k 等等,这是嵌入式操作系统的趋势。构件化嵌入式操作系统虽然克服了传统嵌入 式操作系统设计和功能上的很多困难,但是很多问题仍然没有解决,而且又提出 了新的挑战。这主要包括:构件的灵活性,构件的运行效率以及构件的资源利用 率及灵活程度等。研究反射机制正是为了解决这三个至关重要的问题。 7 1 本文工作的总结 本文提出了将反射机制应用到p e l 的构件模型s m a r t c m 中的方法,并设计 实现了这一模型体系,使s m a 巾c m 支持反射式调度和反射式空问管理。根据元模 型体系,s m a 坼m 及其微内核c k e l 被依次划分成两层:基层,元层。基层包 括整个构件模型s “l 州孙i ,具体来说就是,s m a r t c m 所支持的构件库,例如,多 媒体应用构件、网络应用构件、安全应用构件、实时应用构件等。这一层是实现 系统对外提供的功能,是任何计算系统都要完成的计算。它通过元层,即下一层 提供的接口来完成自身的功能和任务。活动管理器、空闻管理器和管理信息用来 实现元协议。c 1 e l 维护一个运行时管理信息用于反射时提供必要信息。管理 信息在元层体系结构中充当元数据的角色,它包括o k 1 e 1 管理和调度线程的相 关信息。c - k e m e l 的反射机制,基于活动管理器和空问管理器。它们在元层体系 中充当元协议的执行者。活动管理器和空问管理器通过对管理信息的在线推导, 实现构件的在线演化,即实现构件模型的反射机制。基层、元层通过具体化和吸 收两个过程相联系。具体化就是用元层实体来描述基层的特性,如,某个构件的 线程与活动管理器以及活动管理器与线程调度器之间的关系。元层提供元接口, 使用户能够访问元层实体的状态。 7 2 未来工作的展望 本文研究了将反射机制在构件化嵌入式操作系统中实现的方法,并实现了这 个元模型。未来的研究工作将对反射机制的应用作更多实例研究和扩展改进工 作 改进活动管理器和空间管理器的性能 浙江大学硕卜学位论文第7 章总结与展望 活动管理器和空间管理器是实现元模型体系的元协议的关键实体,直接影响 反射机制实现的效率。要做到这一点,需要对活动管理器和空间管理器所实现的 协议作一些改动,提高他们对元数据即管理信息的推导效率。从而加快构件在线 演化的进程,减少反射过程的开销。 将反射机制扩展到其它几个内核 本文只是实现了s m a n c m 模型的反射机制支持。因此有必要进一步将反射机 制扩展到m 酬和v :k = r i i d 中。相信,在这些内核中加入反射机制后将对p 咖d 的性能有更大的提升。 利用反射机制对p d 操作系统进行实时性改造 现在p c e 1 操作系统的实时性大多是依靠t k e m c l 来实现。我们可以将反射 机制用来对p 埘的c k d 进行实时性改造,这样,s m a n c m 就可以支持对 实时性要求比较高的构件的运行。 浙江大学硕十学位论立 参考文献 参考文献 【l 】f a b i ok 0 i l ,m a m l c lr o m 钒p i n gl i t 吱a i m 0 1 i i t o f i n 舀s 瞰一壤叩dd y n 锄i c c o n 6 删0 nw i mn l ed 卿i d i a o 他e c t i v eo r b p r o c d i n 学o fm i d d l e w a 糟s 2 ( ) 0 0 b c d i n :跚t l g * :f l a 岛2 0 0 0 1 2 l 1 4 3 2 1n a l i n iv ,m a y i | rd ,s k v a j i tm ,c ia 1 d e s i 印叩d 面p l 锄髓锄蚰o fa c o m p o s 曲i er e n e c “v em j d d l 州a 台a m 踟r k p r o c c c d i n 擎o f - 1 1 e2 ls ti e e e i n t 锄a 士i 伽mc 0 n f 两嘲c eo nd i 阳b i l t e dc 砌p u t 盯s y s t 锄s ,a r i z o 舱,2 0 0 l ,6 “ 6 5 3 3 】l l i n g b i a i r gs ,a a r k e m ,c ta 1 1 kd e s i 朗o f a l i i g i i l yc o n f i g u r 曲l e a n dr d n 右g 叶a b l e 1 i d m e w a 托p l a t l r 0 彻j o u m a lo fa c md i s 蛹b u t c dc 哪p u t i n g 2 0 0 2 ,1 5 ( 2 ) :l o 虬1 2 6 4 】c a p ml ,e 蛐n c r i c hw - c a r i s m a :c o n t a 【t 删眦栅群b v em i d d l 州a 坞 s y s t 啪m e e1 h n s a c t i 伽伽s o f t w a e n 西n e e 咖g ,2 0 0 3 ,2 9 ( 1 0 ) :9 2 9 9 4 5 【5 】陶先平,吕建,马晓星a r r m i s :基于a g t 的多模式协同中间件南京大 学软件新技术国家重点实验室,南京:技术报告b g 2 0 0 1 0 1 2 ,2 0 0 3 【6 】黄罡,王千祥,梅宏等基于软件体系结构的反射式中间件研究软件学报, 2 0 0 3 ,1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论