(计算机应用技术专业论文)基于构件技术的智能手机操作系统的研究与开发.pdf_第1页
(计算机应用技术专业论文)基于构件技术的智能手机操作系统的研究与开发.pdf_第2页
(计算机应用技术专业论文)基于构件技术的智能手机操作系统的研究与开发.pdf_第3页
(计算机应用技术专业论文)基于构件技术的智能手机操作系统的研究与开发.pdf_第4页
(计算机应用技术专业论文)基于构件技术的智能手机操作系统的研究与开发.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(计算机应用技术专业论文)基于构件技术的智能手机操作系统的研究与开发.pdf.pdf 免费下载

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

文档简介

摘要 随着信息技术的飞速发展,手机的功能也越来越复杂,从普通手机逐 渐过度到多功能手机,现在又出现了结合掌上电脑功能和手机功能的智能 手机。手机里面的软件也随之更新,传统手机里的简单控制程序已经不能 满足需要,尤其有必要针对智能手机研究出新的操作系统。另一个方两, 随着现代软件复杂度的与日俱增,传统的对整个软件的源代码进行静态编 译的方式已经不能适应时代发展的需要了。对此提出了构件化的编程模型, 让软件在运行的时候能够动态加载模块,且能适应软件工厂的要求。现在 已经有多种构件化的编程技术。 本文就是结合一种简单易学、功能强大的构件技术c a r 构件技术, 分析了如何设计一个完全基于构件的智能手机操作系统。在分析的过程中, 主要结合科泰世纪公司研发的e l a s t o sm o b i l ee d i t i o n ( 简称e i a m e ) ,以 c a r 构件技术为核心,从多个方面讲解了系统的设计要点。 本文首先基于实际的智能手机系统的组成,描述了基于c a r 构件的智 能手机操作系统的基本组成框架,指出了它的核心部分是融在内核中的c a r 构件运行平台。接着通过对e i a m e 的灵活内核的分析,讲解了c a r 构件运 行平台的强大功能,且具体介绍了c a r 构件运行平台如何做到构件透明调 用的机制。然后重点分析了e i a m e 中的系统级构件的设计概要。先从内核 里的构件化对象入手,对进程、线程、地址空间等传统的内核对象进行了 构件化设计,从而带来了诸如安全性等好处。由于文件系统是作为操作系 统的重要组成部分,所以也重点讲解了文件系统构件带来的优势以及具体 设计过程。另外,针对驱动程序的编写,分析了构件化的驱动模型。从应 用层面上,本文还对构件化的应用程序做了简要的描述,分析了应用构件 的一些特征和典型例子,结合具体的环境给出了应用构件的编写方法。 通过对如何把构件技术应用到智能手机操作系统中的各种描述,可以 看出构件技术的种种优势,把它运用在智能手机当中,既能满足智能手机 的功能需求,又能给手机带来高效率、灵活性、安全性等诸多优点。可以 晚,基于c a r 构件技术的智能手机操作系统,从技术上来说,是智能手机 操作系统的一个重大突破,代表了未来智能手机的一个重要的发展方向。 关键字:c a r 构件技术,智能手机,灵活内核,进程问通信 a b s t r a c t w i mt h ed e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g y 、t h 0f u n c t i o n so fm o b i l e p h o n e sb e c o m em o r ea n dm o r ec o m p l e x f e a t u r ep h o n e sh a v er e p l a c e dt h e c o m m o nm o b i l ep h o n e sr e c e n t l y ,a n dn o w s m a r t p h o n e sa p p e a r , w h i c hc o m b i n e t h ef u n c t i o n so fp d aa n dm o b i l ep h o n e s s o f t w a r ei nm o b i l ep h o n e su p d a t e s a c c o r d i n g l y ,a n d i t s n e c e s s a r yt o r e s e a r c hb r a n dn e wo p e r a t i n gs y s t e m si n s m a r t p h o n e s a s t h ec o m p l e x i t yo fs o f t w a r ei n c r e a s e s ,t h em e t h o dt h a tc o m p i l e s a l ls o u r c ec o d eo ft h es o f t w a r ei so u to fd a t es os o m e o n e b r i n g sf o r w a r dt h e s o f t w a r ec o m p o n e n tm o d e l ,w h i c hc a nm a k es o f t w a r el o a d sm o d u l e sw h e ni ti s f r a m i n g ,b e s ts u i tf o rt h en e e do f s o f t w a r ef a c t o r i e s t h e r ea r eal o to fs o f t w a r e c o m p o n e n tt e c h n o l o g i e sn o w t h i sp a p e ri n t r o d u c e sh o wt od e s i g nas m a r t p h o n eo p e r a t i n gs y s t e mb a s e d o nc o m p o n e n tt e c h n o l o g y , u s i n gc a r c o m p o n e n tt e c h n i q u e ,w h i c hi se a s yt o l e a r na n di sa l s o p o w e r f u l i t u s e se l a s t o sm o b i l e r d i t i o n ( e l a m e ) ,t h e o p e r a t i n gs y s t e md e v e l o p e db yk o r e t i d ec o r p ,i n w h i c hc a rc o m p o n e n t t e c h n i q u ei s u s e d e v e r y w h e r e ,t oi n t r o d u c et h ek e yp o i n t so fd e s i g n i n gt h e s y s t e m t h i sp a p e rf i r s td e s c r i b e st h ef r a m e w o r ko fs m a r t p h o n ep l a t f o r mb a s e do n c a r c o m p o n e n tt e c h n i q u e ,i nw h i c h c a r c o m p o n e n t r u n t i m ep l a t f o r mr u n si n t h eo sk e r n e l i ti n t r o d u c e st h ea g i l ek e r n e lo f e l a m e ,a n d g i v e st h em e c h a n i s m o fc a r c o m p o n e f l tr u n - t i m ep l a t f o r m t h e ni ta n a l y s e st h es y s t e mc o m p o n e n t s i ti n t r o d u c e st h eo b j e c t si nk e r n e l ,s u c ha sp r o c e s s ,t h r e a d ,a d d r e s ss p a c e ,a n d m a k et h e mb ec o m p o n e n t s ,w h i c hg i v e st h eu s e ra d v a n t a g e ss u c ha ss o f t w a r e s a f e t y b e c a u s ef i l e s y s t e mi s a ni m p o r t a n tp a r to fo s ,t h ep a p e rp a y sm o r e a t t e n t i o nt ot h ef i l es y s t e mc o m p o n e n t i ta d v o c a t e sf o rt h ea d v a n t a g e so ff i l e s y s t e mc o m p o n e n t ,a n d a l s od e s c r i b e sh o wt o d e s i 蛐i t a n d t h e p a p e r r e c o m m e n d st h ed r i v e r c o m p o n e n tm o d e l ,t o o t h ep a p e r i n t r o d u c e st h e a p p l i c a t i o nc o m p o n e n t s ,t o o i t t e l l st h ec h a r a c t e r i s t i co f a p p l i c a t i o nc o m p o n e n t s , a n da l s og i v e sa ne s p e c i a l l ye x a m p l eu s i n g w i d e l yi ns m a r t p h o n e s i ti n t r o d u c e s h o wt ow r i t eac o m p o n e n t u s i n g t h ec o r r e s p o n d i n ge n v i r o n m e n t i t s e a s yt o s e em a n ya d v a n t a g e so fc o m p o n e n tt e c h n o l o g y i f i ti su s e di n s m a r t p h o n eo s ,i tc a l lf u l f i lt h en e e d so f v a r i o u sf u n c t i o n so f s m a r t p h o n e s ,a n d a l s ob ee x c e l l e n ti ne f f i c i e n c y ,a g i l i t y , s a f e t y , e t c t h es m a r t p h o n eo sb a s e do i l c a r c o m p o n e n tt e c h n i q u e ,i sa l lg r e a tb r e a k t h r o u g hf o rs m a r t p h o n eo s s ,a n d r e p r e s e n t sa ni m p o r t a n td i r e c t i o no fs m a r t p h o n e si nt h ef u t u r e k e yw o r d s :c a rc o m p o n e n tt e c h n i q u es m a r t p h + n e a g i l e k e r n e l i p c 武汉理工大学硕士学位论文 主要符号表 a o p :a s p e c t o r i e m e dp r o g r a m m i n g ,面向方面编程 c a r :c o m p o n e n ta s s e m b l yr u n t i m e ,也称为c a r e f r e ea p p l i c a t i o nr u n t i m e c o r b a :c o n l n l o n 0 b j e c tr e q u e s tb r o k e r a r c h i t e c t u r e c o m :c o m p o n e n t 0 b i e c tm o d e l 一 e l a m e :e l a s t o sm o b i l ee d i t i o n e l a s t o s :“和欣”操作系统 m a r s h a l i n g :列集 i p c :i n t e r p r o c e s sc o m m u n i c a t i o nm e c h a n i s m s ,进程间通信 u n m a r s h a l i n g :散集,列集的反过程 u r l :u n i f o r mr e s o u r c el o c a t o r u u n m :u n i v e r s a l u n i q u e n a l t l e u u i d :m a i v e r s a l l yu n i q u e i d e n t i f i e r 武汉理工大学硕士学位论文 第1 章引言 1 1 智能手机的概念 随着信息技术的进步,手机已经成为日常生活中广为使用的一个通讯 设备。手机的内部结构从简单逐渐变得复杂,功能也越来越强大。如今, 具有彩色液晶显示屏、和弦铃声、摄像头的手机也比比皆是。按照手机的 发展过程以及它自身所具有的功能,可以把手机划分成吼下三类( 均指数 字手机,不包含模拟手机) : 普通手机:较早出现的手机,前几年市场上的主流机型,现在市场上 还有部分低端手机也属于此类。一般来说,此类手机只具备基本的通信功 能,比如打电话,发短信等。它内部的处理器比较简单,液晶显示屏一般 为单色的。利用有限的计算功能,它还可以处理一些简单的附加任务,比 如可以玩固定的一些小游戏等等。一般来说,软件不可以扩充。 多功能手机( f e a t u r ep h o n e ) :如今市场上的主流机型。此类手机的 功能相对来说比较强大,除了基本的通信功能之外,还拥有比较强大的附 加功能,比如上w a p 网,j a v a 游戏,多媒体短信( 删s ) 。它们的屏幕一般 都是彩色,铃声等方面也采用了和弦铃声。一般来说,软件的扩充性比较 小a 智能手机,( s m a r t p h o n e ) :如今市场上的高端机型,未来手机发展的 方向。从硬件上来讲,在嵌入式设备中已经十分强大,主c p u 的速度可以 达到i o o m h z 以上,还拥有多媒体加速等功能。这类手机都有专门的操作 系统来支撑各种应用,除了具有多功能手机的各种功能之外,还可以通过 加载不同的应用程序来实现更加复杂的功能。所以,在软件方面,它是可 以灵活扩充的。可以把它看成是电话和掌上电脑的结合体。 上面这三种手机之间并没有非常明确的界线。手机的功能必须要对应 的软件来进行支持,普通手机只有简单的控制程序,还没有操作系统的概 念;多功能手机一般也认为采用的是控制程序只是更加复杂而己,但由 于它的功能已经比较强大了,所以在部分机型中已经采用了操作系统:但 在智能手机中,操作系统的功能才更为强大,作用也更加明显。 亟堡堡! 二叁堂堡主兰垡堡茎 。 1 。2 智能手机操作系统概述 1 2 1 智能手机操作系统的基本功能 智能手机可以看成是具有完整通信功能的手持式电脑,所以它的操作 系统的基本功能和普通电脑的操作系统的功能是一致的,概括来说就是管 理硬件和软件只是这里硬件不是普通电脑,而是手机。智能手机可以 看成一个嵌入式设备,所以智能手机操作系统也属于嵌入式操作系统。同 时,由于智能手机是一个移动通信设备,在硬件上拥有自己的特点,所以 它与一般的嵌入式操作系统在具体细节上有比较大的区别。 一般来说,智能手机操作系统除了具备普通操作系统的基本功能之 外,还应当具备以下的基本功能: 紧凑高效:智能手机毕竟是嵌入式系统,在硬件设备上比桌面p c 机 还是有比较大的差距,所以在里面运行的操作系统必须更加小巧和高效。 针对移动通信优化:智能手机里的很多应用都是和无线通讯相关的,针对 它们进行优化能够提高系统的整体运行效率。 省电设计:对于手持式设备,电池的续航能力是一个受用户广为关注 的热点。电池到底能够用多久,既与电池的容量有关,也与c p u 对整个智 能手机系统的用电量的控制有密切关系。 1 2 2 市场上现有的智能手机操作系统 随着智能手机逐渐涌入市场,现在市面上已经有不少智能手机操作系 统,比如微软的w i n d o w sm o b i l e 系列,s y m b i a n 的s y m b i a no s ,p a l mi n c 的p a l mo s 以及专门面对手机市场的嵌入式l i n u x 版本。下面简要介绍以 下这几个智能手机操作系统: 微软在操作系统开发方面经验丰富,它的w i n d o w sm o b i l e 系统来源 于它的。款嵌入式系统w i n d o w sc g ,功能很强大,在界面和多媒体处理 能力上比较优秀。 s y m b i a no s 受到以诺基亚为首的业界许多大公司的支持,表现也很 出色,有极强的竞争力。它是现今市场占有率最高的智能手机操作系统, 运行稳定,且应用软件丰富。 p a l ml n c ,从做p d a 起家,可以说是p d a 市场的老大。由于智能手机 和p d a 的联系密切,所以为了适应时代需要,自然而然把p d a 上的操作系 统移植到手机当中。 武汉理工大学硕 :学位论文 g i n u x 由于在全球受到了大量爱好者的支持,且丌放源代码,这是它 的一个很大的优势。摩托罗拉的多款手机就采用了l i n u x 。 如今,国内的许多软件厂商也开始进入智能手机操作系统这个领域。 比如,国产操作系统h o p e n 已经应用在联想的多款手机上面。本人实习所 在的科泰世纪公司,也是中国智能手机操作系统的一支生力军,本文所研 究的内容就是基于科泰世纪的智能手机操作系统e l a s t o s 开展的。 1 3 基于构件技术的智能手机操作系统 传统的操作系统多多少少存在着一些缺点,比如应用程序的扩展性、 运行效率、编程模型等等,它们在许多方面都有提高的必要。如今,已经 有一些新的软件模型提出来了,可以针对具体的运用范围,对操作系统的 功能和性能进行改进。 近年来软件构件技术得到了飞速的发展,已经逐渐成为软件开发中的 一种主流技术,且应用在许多操作系统中了。所以也相应地提出了在智能 手机操作系统应用构件技术的方法,它能够有效地解决其他操作系统带来 的一些问题,特别适合于在网络环境中手机应用软件的运行。 科泰世纪公司研发的嵌入式操作系统e l a s t o s ( 中文名为“和欣”) 是一款新型的面向网络应用的操作系统,具有灵活内核,多进程,多线程, 体积小,速度快等特征。它的最大特色就是采用了自主开发的新型构件技 术c a r 构件技术( 在下一章有详细讲解) ,最大程度地支持模块化的 软件应用,符合软件工业发展的需要。 e l a s o t s 可以运行在多种嵌入式设备上面,其中它的智能手机版本叫 做e l a s t o sm o b i l ee d i t i o n ,简称e i a m e ,针对手机的应用做了许多相应 的优化,且拥有多种先进功能,已经成为智能手机操作系统市场的一个强 有力的竞争者。本文主要针对e i a m e 的一些特点,基于c a r 构件技术,说 明了智能手机操作系统的研究与开发要点,以及如何打造一个能够充分发 挥构件技术的智能手机解决方案。 武汉理1 :大学硕士学位沦文 第2 章c a r 构件技术 2 1 构件技术 随着软件复杂度的与日俱增,传统的把整个软件的源程序拿来静态编 译的方法显然不适合了。在这个前提下,产生了软件拼装模式,把软件分 成一个个相对独立的目标代码模块,称之为构件。软件丌发人员只需要做 和自己相关的构件,编译通过,就能够拿来和其他模块组装在一起使用了。 通过装卸实现某个功能的构件,就可以实现对系统的灵活升级。 如今,已经成熟且广为使用的构件技术有微软的c o m ( c o m p o n e n t o b j e e tm o d e l ) ,o m g 组织的c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e r a r c h i t e c t u r e ) 。等等,用它们生成的构件都是基于二进制目标代码的。现 在大行其道的j a v a 和n e t ,虽然生成的程序都是基于中间代码的,但也 处处体现着构件技术的思想。在本文中,所提及的构件都是指的二进制构 件。 面向对象技术实现了软件源代码层次的复用,提高了软件开发人员的 生产率。构件技术是对面向对象技术的深化,实现了二进制层次上软件的 复用,进一步提升了软件开发的效率。根据构件技术,软件系统可以拆分 成相对独立的构件,构件之间通过约定的接口进行数据交换和信息传递。 构件可以用不同的语言编写,只要符合一组二进制规范即可,这样大大提 高了开发的灵活度。 2 2o a r 构件技术 c a r ( c o m p o n e n ta s s e m b l yr u n t i m e ,也称为c a r e f r e ea p p l i c a t i o i l r u n t i m e ) 构件技术是面向构件编程的编程模型,它规定了一组构件削相 互调用的标准,使得二进制构件能够白描述,能够在运行时动态链接。微 软的c o m 技术是广为应用的一种构件技术,c a r 兼容微软的c o m 。但是和 微软c o m 相比,c a r 删除了c o m 中过时的约定,禁止用户定义c o m 的非自 描述接口;完备了构件及其接口的自描述功能,实现对c o m 的扩展;对 c o m 的用户界面进行了简化包装,易学易用。 c a r 技术能够动态加载构件,最大程度支持软件的二进制复用,进行 系统升级的时候也只需要升级相关的构件即可,具有可靠性、容错性、安 全性,代表了软件工厂化生产的方向。 武汉理: 大学硕寸一学位论文 c a r 技术采用c c + + 语言来编写构件,所以生成的构件直接是以目标平台 的二进制代码运行,相比j a v a 、n e t 技术的中间代码和虚拟机机制,在 速度上占有明显的优势,更适合系统级构件的编写以及嵌入式系统中的应 用。 2 3c a r 构件的组成 从文件类型上来看,c a r 构件均为可执行文件格式,即d l l 文件格式 或者e x e 文件格式。在w i n d o w s 中,d 1 1 文件是动态链接库的形式,般 不独立运行,需要被其他模块所调用;e x e 文件是可以独立运行的可执行 程序。在e l a m e 中,通过系统层次的支持,也能够直接运行d l l 文件。下 面我们所讲的c a r 构件均指d l l 格式的构件。 每个c a r 构件是通过接口和外面进行联系的。每个接口都有自己的方 法( 以前也称作函数) ,构件调用者就是通过这些接1 3 方法来取得构件的 功能的。构件的接口一般是比较固定的,这样即使构件内部发生了变化, 比如更新了某个具体的算法,构件调用程序也不需要改变,仍然可以实现 自己的功能。从c + + 的角度,可以把构件的接口理解为纯虚类,它有各个 方法的声明,就是没有具体的实现。从本文中,接口的定义都用字母i 开头,比如i t 。u c h 、i p h o n e 等等。 在构件内部,对接口进行了实现。从c + + 的角度来理解,就是有具体 的类从表示接口的纯虚类派生,给出了每个方法的具体定义。但是构件的 接口实现都是在构件内部进行的,不会影响构件与外部的联系。所以,如 果要对构件进行升级,也仅仅需要修改构件的内部实现即可。在本文中, 接口的实现类的定义一般以字母c 开头,比如c t o u c h 、c a d d r e s s s p a c e 等等。 每个c a r 构件还包括了足够的自描述信息,称为元i 数据( m e t a d a t a ) 。 元数据包含了构件的一些基本信息,包括构件的标识以及构件的接口方法 等内容。正是有了这些元数据,所以c a r 构件可以动态地被加载运行,可 以被其他进程取得接口信息来进行调用。 图2l 描述了一个简单的c a r 构件的结构。它提供了3 个功能接口 i i n t e r f a c e a 、i i n t e r f a c e b 、i i n t e r f a c e c ,每个接口都有自己对应的方 法( 这里省略了) 。在内部分别用类c i n t e r f a c e a 、c i n t e r f a c e b 、 c i n t e r f a c e c 对这三个接口进行了实现。当然,内部还可以由其他类,这 从文件的格,ll 来讲d i i 和e x e 基本相同,只是e x e 的加载位簧是1 古l 定的d 1 i 一;固定。 6 武汉理 一大学硕十学位论文 些不是构件使用者所关心的了。接口i u n k o w n 是所有的构件都具有的个 基本接口,其他的接口都从它派生。它提供了3 个基本的方法: q u e r y i n t e r f a c e0 、a d d r e f0 、r e e a s e02 。这几个方法是每个接口都必 须实现的。 圈2 1 一个c a r 构件的结构简图 2 4c a r 构件技术的由来 8 0 年代以来,目标指向型软件编程技术有了很大的发展,为大规模 的软件协同开发以及软件标准化、软件共享、软件运行安全机制等提供了 理论基础。其发展可以大致分为以下几个阶段。 a ) 面向对象编程 通过对软件模块的封装,使其相对独立,从而使复杂的问题简单化。 面向对象编程强调的是对象的封装,但模块( 对象) 之间的关系在编译的 时候被固定,模块之 目的关系是静态的,在程序运行时不可改变模块之间 的关系,就是说在运行时不能换用零件。其代表是c + + 语言所代表的面向 对象编程。 图22 面向对象编程的运行模型( 模块之间的关系固定) j ! q u e 。y e r f a c e ( ) 用来沓| 旬接口指针,a d d r e h ) 用来添加接口的引用计数tr e l e a s e ( ) 用来减少接l i 的引用计数。 7 厂 武汉理工大学硕七学位呛文 b ) 面向构件编程 为了解决不同软件开发商提供的构件模块( 软件对象) 可以相互操作 使用,构件之间的连接和调用要通过标准的协议来完成。构件化编程模型 强调协议标准,需要提供各厂商都能遵守的协议体系。就像公制螺丝的标 准咩 ,所有彳哿合标准的螺丝和螺母都可以相互装配。构件化编程模型建 立在面向对象技术的基础之上,是完全面向对象的,提供了动态构造部件 模块( 运行中可以构造部件) 的机制。构件在运行时动态装入,是可换的。 其代表是c o m 技术。 、 ( 用户程序) 、 恻23 构件化程序的运行模型( 运行时零件可以替换) c ) 面向中间件编程 由于因特网的普及,构件可来自于网络,系统要解决自动下载,安全 等问题。因此,系统中需要根据构件的自描述信息自动生成构件的运行环 境,生成代理构件即中间件,通过系统自动生成的中问件对构件的运行状 态进行干预或控制,或自动提供针对不同网络协议、输入输出设备的服务 ( 即运行环境) 。中间件编程更加强调构件的自描述和构件运彳亍环境的透 明性,是网络时代编程的重要技术。其代表是c a r 、j a y # 和n e t ( c # 语言) 。 爹鬣 图2 4 中间件运行,环境的模型( 动态生成代理构件) 在这样的发展过程中,人们逐步深化了对大规模软件开发所需的科学 模型、网络环境下软件运行必要机制的理解,使软件技术达到了更高的境 界,实现了: 构件的相互操作性。不同软件开发商开发的具有独特功能的构件,可 武汉理工人学硕士学位论文 以确保与其他人开发的构件实现互操作。 软件升级的独立性。实现在对某一个构件进行升级时不会影响到系统 中的其他构件。 编程语言的独立性。不同的编程语言实现的构件之f b 可以实现互操 作。 构件运行环境的透明性。提供一个简单、统一的编程模型,使得构件 可以在进程内、跨进程甚至于跨网络运行。同时提供系统运行的安全、保 护机制。 c a r 技术就是在总结面向对象编程、面向构件编程技术的发展历史和 经验,为更好地支持面向以w e bs e r v i c e ( w e b 服务) 为代表的下一代网 络应用软件开发而发明的。c a r 很大程度地借鉴了c o m 技术,保持了和c o i 的兼容性,同时对c o n 进行了重要的扩展。 为了在资源有限的嵌入式系统中实现面向中间件编程技术,同时又能 得到c c + + 的运行效率,c a r 没有使用j a v a 和n e t 的基于中间代码一虚拟 机的机制,而是采用了用c + + 编程。用c 什编程实现构件技术,使得更多 的程序员能够充分运用自己熟悉的编程语言知识和开发经验,很容易掌握 面向构件、中间件编程的技术。在不同操作系统上实现的c a r 构件运行平 台,可以使c a r 构件的二进制代码可以实现跨操作系统平台兼容。 为了避免使用”中间件”这个有不同语义解释的词汇造成概念上的混 淆,我们简单地将c a r 技术统称为c a r 构件技术。 2 5 o a r 构件技术的作用 对软件开发者来说,c a r 构件技术具有如下的特征: a ) 易学易用 基于c o m 的构件化编程技术是大型软件工程化开发的重要手段。微软 v i n d o w s2 0 0 0 的软件全部是用c o m 实现的。但是微软c o m 的繁琐的构件 描述体系令人望而生畏。c a r 的开发环境提供了结构简洁的构件描述语言 和自动生成辅助工具等,使彳导c + + 程序员可以很快地掌握c a r 编程技术。 b ) 可以动态加载构件 在网络时代,软件构件就相当于零件,零件可以随时装配。c a r 技术 实现了构件动态加载,使用户可以随时从网络得到最新功能的构件。 c ) 采用第三方软件丰富系统功能 c a r 技术的软件互操作性,保证了系统开发人员可以利用第三方开发 武汉理_ j 一人学硕士学位论文 的,符合c a r 规范的构件,共享软件资源,缩短产品丌发周期。同时用户 也可以通过动态加载第三方软件扩展系统的功能。 d ) 软件复用 软件复用是软件工程长期追求的目标,c a r 技术提供了构件的标准, 二进制构件可以被不同的应用程序使用,使软件构件真正能够成为”工业 零件”。充分利用”久经考验”的软件零件,避免重复性丌发,是提高软件 生产效率和软件产品质量的关键。 e ) 系统升级 传统软件的系统升级是一个令软件系统管理员头痛的工程问题,一个 大型软件系统常常是”牵一发而动全身”,单个功能的升级可能会导致整个 系统需要重新调试。c a r 技术的软件升级独立性,可以圆满地解决系统升 级问题,个别构件的更新不会影响整个系统。 f ) 实现软件工厂化生产 上述几个特点,都是软件零件工厂化生产的必要条件。构件化软件设 计思想规范了工程化、工厂化的软件设计方法,提供了胡晰可靠的软件接 口标准,使软件构件可以像工业零件一样生产制造,零件可用于各种不同 的设备上。 g ) 提高系统的可靠性、容错性 由于构件运行环境可控制,可以避免因个别构件的崩溃而波及到整个 系统,提高系统的可靠性。同时,系统可以自动重新启动运行中意外停止 的构件,实现系统的容错。 h ) 有效地实现系统安全性 系统可根据构件的自描述信息自动生成代理构件,通过代理构件进行 安全控制,可以有效地实现对不同来源的构件实行访问权限控制、监听、 备份容错、通信加密、自动更换通信协议等等安全保护措施。 2 6c a r 构件技术对智能手机的意义 用户往往要求智能手机在保持便携性的同时能够带来更多的功能。所 以,针对智能手机提出了下面的要求: 可以动态加载应用程序。动态加载应用程序是在因特网时代的需要, 因为智能手机的功能越来越多,不能像以前那样由厂家把所有的功能都做 好固定在里面,所以必须要求用户能够自己根据自己的兴趣,有选择地从 网上下载应用程序。 武汉理。r 大学预士学位论文 随时和动态地实现软件升级。智能手机的功能也是在不断增强的,” 发商不必为了添加部分功能而重新发布整套软件,只需要升级部分的功能 即可。 灵活的模块结构,便于移植和裁减。因为不同型号的智能手机的配置 可能差异非常之大,所以需要增对不同的硬件配置紧凑高效的系统,目添 加和删除功能模块也要相当容易。 如果在操作系统中采用构件技术,能够很好地解决上述问题。特别地, 利用c a r 构件技术,把应用程序按模块划分做成一个个构件,能够方便地 实现网上下载,动态加载,自动升级,且具有结构灵活等特点。c a r 构件 的设计初衷,就是面向消费类电子市场,且实现用户零维护的功能,这点 从它的名字就可以看出来。 武汉理t 入学硕士学位论文 第3 章系统的整体结构 本文所研究的,就是采用c a r 构件技术,在智能手机平台上面实现一 个完全面向构件的高性能的操作系统。本章首先分析了智能手机特有的硬 件体系,然后根据这个体系提出来了系统的整体架构。 3 1 智能手机的硬件体系 一般来说,智能手机需要处理的数据有两大类:通讯数据以及应用程 序的数据。通讯数据指的需要通过电信运营商的网络所传递的原始数据, 在手机中有专门的通讯协议栈软件负责打包解包。应用程序数据指手机上 的各种应用软件运行的时候所震要的数据。针对处理数据的不同,所以很 多智能手机都采取了双c p u 的解决方案,即一个c p u 用来专门处理通讯协 议栈,另一个c p u 用来负责运行应用程序。按照这个解决方案,可以把智 能手机划分成通讯模块和应用处理模块。 ,、- 、 通讯横块应用处理模块 通讯控制协议 回 回 ,l 、 叵 、r i 圃 固 图3 1双c p u 的智能手机的构成原理图 通讯模块所运行的程序一般比较固定,且运算量相对较小。一般来晚, 很多厂商把通讯模块的软件固化在它所附带的r o m 中了。应用程序要求的 运算量相对较大,所以它对应的c p u 也更强大一些,且软件可能需要经常 更换。所以,在智能手机操作系统的设计方案中,一般只考虑应用处理模 块,我们所说的智能手机操作系统和应用程序都运行在应用处理模块的 c p u 上面。如果要控制通讯模块,则通过专门的一组通讯控制协议进行。 注意,通讯模块本身也可能用到一个操作系统,但不是我们所说的智能手 机操作系统,它只是用来运行通讯协议处理程序而己。拐外,为了降低硬 件成本,一些厂商也在设计单c p u 手机,即把通讯模块和应用处理模块的 c p u 合并。这样的话,智能手机操作系统就要直接控制通讯协议的处理。 武汉理工人学硕十学位论文 3 2 a r m 处理器 操作系统理论上应该是跨平台的,所以我们设计出来的智能手机操作 系统,也应该跨硬件平台,能适应采用不同的c p u 的手机。实际上,现在 的智能手机基本上基本都采用了a r m 系列的c p u ,所以,这个系统的实际 运行平台也就只考虑a r m 处理器,因此必须针对a r m 处理器进行优化。这 并不妨碍该操作系统运行在其他平台上的可能性,在通用的柏6 系列c p u 上它也可以运行,在开发人员调试与平台无关的应用程序的时候可以事先 在x 8 6 上开发,等初期开发完毕之后再转移到a r m 平台中。 英国a r m 公司设计了3 2 位的r i s c 的a r m 核心,然后世界各大芯片设 计生产厂商得到a r m 核心的授权,在此基础上生产出来了自己的c p u ,比 如现在采用得比较广泛的i n t e l 的x s c a l e 系列c p u 。基于a r m 的c p u 不 仅具有a r m 核心,一般都集成了其他的一些辅助功能,比如内存控制器, d m a 控制器等,。这样有效地减少了系统中的芯片数量,特别适用于嵌入式 系统等小体积的设备中。a r m 在智能手机中广为应用的一个最大的理由就 是省电设计智能手机都由电池供电,所以p c 机中那些功率奇大的c p u 当然不适合了。当然,a r m 的频率相对较低,但现在生产的a r m 处理器的 频率都已经在l o o m h z 之上,已经能够满足手机的应用的需要。 下面简要地介绍一下a r m 处理器的特点。 a r m 是采用精简指令集的3 2 位r i s e 处理器,功率一般在m w 级别, 特别适合手持设备。 a r m 的地址空间采用统一编制方案,即内存和外设的访问地址进行统 一编制,操作外设采用访问内存的指令即可。 c p u 的运行模式:按c p u 运行例外如中断、指令错误等分成6 种运行 态。 采用二级纯分页机制,没有x 8 6 中段的概念,实现比较简单。 指令可以条件执行,减少了代码所占的空间。 不仅支持3 2 位的a r m 指令集,而且也支持1 6 位的t h u m b 指令集,可 以有效地压缩代码体积。 3 3 基于构件技术的智能手机解决方案 本文通过在智能手机操作系统内部建立对构件技术的支持,采用了完 全构件化的技术来搭建整个系统应用框架,从操作系统底层就开始支持构 件机制,对智能手机来说,形成了一个灵活而高效的解决方案。对c a r 1 3 武汉理l 人学硕士学位论文 构件技术的支持是通过紧密搭在内核之上的c a r 构件运行平台这层软件 来实现的。 图32 一个g p r s 手机的软件体系结构图 图3 2 描述的是一个采用g p r s 功能的智能手机的软件构成图。其中 智能手机操作系统直接控制的是图中右边的应用模块。从图中可以看出, c a r 构件平台运行在操作系统内核之上,一方面,它与j 内核联系紧密,替 内核接管了负责整个系统中应用程序运行的任务;另一方面,它又是一个 相对独立的模块,这样能够方便地进行移植,让更多的系统都能运行c a r 构件,保持着c a r 构件的软件平台无关性。c a r 构件运行平台支持系统级 和应用级两个层次的构件的运行。同时,该系统也提供了一些函数库,比 如c 的库函数,在一定程度上兼容以前编写的一些应用软件。另外,如今 的智能手机都支持丰富的j a v a 应用程序,所以该系统也提供了专门的构 件来对运行k - , l a v a 程序。 图3 2 左边的通讯模块是相对独立的一部分,虽然不由操作系统直接 控制,但是通过它提供的一组通讯协议,可以对它进行全方位的操作。打 电话、发短信、收发电子邮件,都是由相应的应用构件通过控制通讯模块 来完成的。从功能上来说,可以把g p r s 通讯模块看成一个无线网卡,各 个应用构件,就是通过这个无线网卡,来实现网络应用的。 3 4c a r 构件运行平台 在整个系统中,通过c a r 构件运行平台来提供对构件运行的支持的。 它让系统中的各种构件天衣无缝地搭配在一起,实现自己的功能,同时又 武汉理工人学硕士学位论文 针对智能手机的硬件特点进行了优化,且提供给构件的是完全的二进制运 行环境,所以能够保证系统的高效运行。 每个构件只关心自己的功能实现,构件之间的相互联系由约定的接口 来实现。对于同一个进程内的构件,由于共享同一个地址空间,其方法可 以直接调用。但是,对于不同进程的构件,则必须通过代理构件来实现。 代理构件由c a r 构件运行平台动态地生成,它可以看成是中间件的一个特 例,既解决了跨进程,甚至跨机器的构件通信和方法调用,而且还提供了 许多有用的特性。代理构件能对构件的运行状态进行干预和控制,给系统 提供了强大的安全保护机制,能对软件的访问权限进行有效的控制,对于 加密、解密、防黑客、防病毒的设计提供了必要的条件,为信息系统的安 全一眭提供了坚实的基础。 3 5 各种c a r 构件库 智能手机的所要完成的各种功能就是由各种各样的构件所负责的。有 了c a r 构件运行平台之后,必须有充足的外围c a r 构伴,整个系统的功能 力。能充分发挥出来。可以把不同功能的构件归结到不同的构件库中。一般 来说,可以划分为系统构件库和应用构件库两大类。系统构件库与操作系 统内核联系紧密,提供一些通用的功能供应用程序调用,是应用程序的必 要支持。应用构件库呈的构件与用户直接进行交互,用来实现智能手机罩 的丰富的应用功能。 系统构件库是操作系统运行的必要支撑环境,可以总结出以下几类: 图形系统构件库:提供图形用户操作界面,因为用于掌上设备,所以 是一套小巧、紧凑的图形系统。 设备驱动构件库:用于各种输入输出设备的驱动,主要包括l c d 显示 屏驱动、触摸屏驱动、声卡驱动、摄像头驱动等等,系统的省电设计也需 要体现在设备驱动之中。 文件系统构件库:提供对各种文件系统的支持,尤其是对采用最为广 泛的f a t 文件系统的支持。还提供了对f l a s h 存储器等掌上设备最常用的 外存储器的支持。 网络系统构件库:用于对t c p i p 协议的网络支持,针对无线网络的 特性,对协议进行了优化。同时提供了常用的网络应用工具。 应用构件库就更加丰富多彩,实现了游戏、浏览器、电子邮件、阅读 工具、媒体播放器等多种功能,而且可以由第三方的开发者不断扩充。 本文主要是讲解操作系统的设计,所以重点讨论的是系统构件库的设 计。 武汉理工夫学硕+ 学位论文 第4 章灵活内核以及c a r 构件运行平台 设计一个操作系统,最核心的当然就是操作系统的内核了。针对c a r 构件技术的特点以及构件运行的需要,本章首先探讨了灵活内核的设计力 案,它有别于传统的微内核以及大内核设计,结合了两者的优点。灵活内 核的实现主要依赖于c a r 构件运行平台,所以本章主要讲解了c a r 构件运 行平台如何设计。 4 1 灵活内核的设计 整个系统从内核到应用处处体现了构件的思想,且为了适应需要,c a r 构件既可以运行在内核态,也可以运行在用户态,所以在内核的设计中采 用了灵活内核( a g i l ek e r n e l ) 的设计思想。 迄今为止,操作系统体系结构大致分为两种:大内核 b i n d ( p f i

温馨提示

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

评论

0/150

提交评论