




已阅读5页,还剩57页未读, 继续免费阅读
(计算机应用技术专业论文)neulinux平台上cldc和midp移植中若干问题的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东北大学硕士论文 n e u l i n u x 平台上c l d c 和m i d p 移植中若干问题的研究 摘要 明天的计算将进入普及计算时代。各种消费电子产品,包括智能手机,p d a , w e b e r ,将来的信息家电等等将实现随时随地的计算。这是一个异常广阔和丰富 多彩的领域,其设备极度多样化而且都将在网络中,j a v a 技术的跨平台性和网络 功能在这里大有用武之地。这就是j 2 m e ,这一丰富多彩的领域中生机勃勃的技术。 j 2 m e 的崭露头角对s u n 、对跨通讯产业、信息产业和消费类电子产品业的公司, 还有对j a v a 开发人员来说的确是个好消息。j a v a 技术将一大批设备( 从服务器 到台式机和移动设备) 集中到一种语言和一种技术之下。虽然这些设备的应用不 同,但j a v a 技术为这些不同点起到了桥梁的作用,使原本致力于单一领域的开 发人员能将其技能发挥到跨越不同设备和应用的领域。 嵌入式l i n u x 和j a v a 技术非常适于协同工作,他们的结合预示着下一代嵌入 式系统已经开始出现。同时这种组合使开发技术进入一个新的层次,也提供了一 个新的配置的选择。在嵌入式l i n u x 操作系统和j a v a 技术相结合的开发环境中工 作的开发者发现这种组合是非常有吸引力的。今天,越来越多的嵌入式开发者选 择了这种组合,因为它具有更强的伸缩性,能将产品更快的推向市场的,具有更 高的生产力。 受导师的影响,本人长期以来对以嵌入式l i n u x 操作系统比较感兴趣,并加 入n e u l i n u x 应用开发平台项目,对n e u l i n u x 系统平台、k ( k r m a l m a c h i n e ) 、 c l d c ( c o n n e c t e dl i m i m dd e v i c ec o n f i g u r a t i o n ) 和m i d p ( m o b i l eh l f o m l a t i o nd e v i c e p r o f i l e ) 进行了一定的研究,设计实现了本平台上的j 2 m e 移植的模块。在这个过 程中本人完成了开发平台的分析、参考实现的分析、k c l d c m i d p 的移植和测试 等工作。 本论文基于这些事实,对n e u l i n u x 操作系统上进行k c l d c m i d p 移植做了 较深入的探讨。 关键词:n e u l i n u x k v m c l d cm i d p 移植 i i 东北大学硕士论文 a b s t r a e t t h er e s e a r c ho fs e v e r a lp r o b l e m si np o r t i n go fc l d ca n dm i d p b a s e do nn e u l i n u xp l a t f o r m a b s t r a c t t h ef u t u r e c o m p m ew i l l b ew i d e s p r e a dc o m p m e a 1 lk i n d so fc o n s u n 2 e d e l e c t r o n i e a lp r o d u c t s ,s u c ha si n t e l l i g e n tm o b i l ep h o n e ,p d a ,w e b t va n df u t u r e i n t o - h o m ea p p l i c a n c e sw i l lh a v et h ea b i l i t yo fc o m p u t ea ta n ym o m e n t t h i si sav e r y r i c ha n dc o l o r f u la r e at h a th a v eal o to f p r o d u c t si nn e t w o r k t h ec h a r a c t e r i s t i co f j a v a s r u n n i n go na l lp l a t f o r m sa n dn e t w o r kf u n c t i o ni sj u s tf i tf o rt h i sa r e a t h i si sj 2 m et h a t i sag r o w i n gq u i c k l yt e c h n o l o g yi nt h i sa r e a t h i se m e r g e n c ei sg o o dn e w sf o rs u n , f o rb u s i n e s s e sw o r k i n ga tt h ei n t e r s e c t i o no f c o m m u n i c a t i o n s ,i n f o r m a t i o nt e c h n o l o g y , a n dc o n s u m e re l e c t r o n i c s ,a n df o rj a v a d e v e l o p e r s j a v at e c h n o l o g yb r i n g saw i d er a n g eo f d e v i c e s f r o ms e r v e r st od e s k t o p st o m o b i l ed e v i c e s ,t o g e t h e ru n d e ro n el a n g u a g ea n do n et e c h n o l o g y w h i l et h ea p p l i c a t i o n s f o rt h i sr a n g eo f d e v i c e sd i f f e r , j a v at e c h n o l o g yw o r k st ob r i d g et h o s ed i f f e r e n c e sw h e r e i tc o u n t s ,a l l o w i n gd e v e l o p e r sw h oa r ef u n c t i o n a li no n ea r e at ol e v e r a g et h e i rs l 【i l l s a c r o s st h es p e c t r u mo f d e v i c e sa n d a p p l i c a t i o n s e m b e d d e dl i n u x t ma n dj a v a t mt e c h n o l o g i e sw o r kw e l lt o g e t h e r ,a n dt h e i r c o m b i n a t i o nr e p r e s e n t sm ee m e r g e n c eo ft h en e x tg e n e r a t i o no fe m b e d d e ds y s t e m s t e c h n o l o g i e s ,p r e s e n t i n gan e wl e v e lo fd e v e l o p m e n ta n dd e p l o y m e n ta l t e r n a t i v e s d e v e l o p e r sw o r k i n gi nt h ee n v i r o n m e n to fa ne m b e d d e dl i n u xo p e r a t i n gs y s t e ma n d j a v at e c h n o l o g i e sf i n dt h ec o m b i n a t i o na t t r a c t i v e t o d a y , ag r o w i n gc o m m t m i t yo f e m b e d d e dd e v e l o p e r si sc h o o s i n gt h ec o m b i n a t i o nf o ri t sg r e a t e rf l e x i b i l i t y , f a s t e r t i m e t o - m a r k e t ,a n dh i g h e rp r o d u c t i v i t y ih a v el o l l gb e e ni n t e r e s t e di ne m b e d d e dl i n u xo sa n dh a v et a k e np a r ti nt h e n e u l i n u xp r o j e c tt e a m ih a v ed o n es u b s t a n t i a lr e s e a r c hi nt h ef i e l do f n e u l i n u xo s 、 k v m ( kv i r t u a lm a c h i n e ) 、c l d c ( c o n n e c t e dl i m i t e dd e v i c ec o n f i g u r a t i o n ) 和m i d p ( m o b i l ei n f o r m a t i o nd e v i c ep r o f i l e ) a n did e s i g n e da n di m p l e m e n t e dt h ep o r t i n go f k v m c l d c m i d po nt h en e u l i n u xp l a t f o r m b a s e do nt h ea b o v ef a c t s ,t h i sd i s s e r t a t i o np r o b e s d e e p l yi n t ot h ep o r t i n go f k v m c l d c m i d po nn e u l i n u xp l a t f o r m k e y w o r d s :n e u l i n u x k v m c l d c m i d p p o r t i n g 。 - i 独创性声明 本人声明所呈交的学位论文是在导师的指导下完成的。论文中取 得的研究成果除加以标注和致谢的地方外,不包含其他人己经发表或 撰写过的研究成果,也不包括本人为获得其他学位而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确 的说明并表示谢意。 学位论文作者签名: 一 日期:埘,叫 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、使用学 位论文的规定:即学校有权保留并向国家有关部门或机构送交论文的 复印件和磁盘,允许论文被查阅和借阅。本人授权东北大学可以将学 位论文的全部或部分内容编入有关数据库进行检索、交流。 ( 如作者和导师同意网上交流,请在下方签名;否则视为不同意。) 学位论文作者签名:导师签名: 签字日期:签字日期: 东北大学硕士学位论文第一章概述 1 1 嵌入式系统 第一章概述 1 1 1 嵌入式系统定义及特点 随着计算机技术的发展。嵌入式系统已成为计算机领域的一个重要组成部分。 嵌入式设备几乎包括了我们周围的所有电器设备:p d a 、手机、机顶盒、汽车、微 波炉、电梯、安全系统、自动售货机、医疗仪器、立体音响、自动取款机等,”越 简单越是高科技“,嵌入式系统工业是专用计算机工业,其目的就是要把一切变得 更简单、更方便、更普遍、更适用;通用计算机的发展变为功能电脑,普遍进入 社会,嵌入式计算机发展的目标是专用电脑,实现”普遍化计算”,因此可以称嵌 入式智能芯片是构成未来世界的数字基因7 。并引用了沈绪榜院士的预言,”未来 十年将会产生针头大小、具有超过一亿次运算能力的嵌入式智能芯片。,这将为我 们提供无限的创造空间。 嵌入式系统0 1 被定义为;以应用为中心以计算机技术为基础,并且软硬件可 裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计 算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户 的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。 嵌入式系统主要由嵌入式处理器、相关支撑硬件和嵌入式软件系统组成,它 是集软硬件于一体的可独立工作的“器件”。嵌入式处理器主要由一个单片机或微 控制器( m c u ) 组成。而这些嵌入式c p u 目前多是8 位和1 6 位的,与3 2 位或6 4 位 的高性能处理器相比,具有很强的经济性和现实性。相关支撑硬件包括显示卡、 存储介质( r o m 和r 枷等) 、通讯设各、i c 卡或信用卡的读取设备等。嵌入式系统 有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多 使用闪存( f l a s hm e m o r y ) 作为存储介质。嵌入式软件包括与硬件相关的底层软 件、操作系统、图形界面、通讯协议、数据库系统、标准化浏览器和应用软件等。 总体看来,嵌入式系统具有便利灵活、性能价格比高、嵌入性强等特点,可 以嵌入到现有任何信息家电和工业控制系统中。从软件角度来看,嵌入式系统具 有不可修改性、系统所需配置要求较低、系统专业性和实时性较强等特点。 1 1 2 嵌入式系统在无线设备中的应用 据信息产业部预测,在2 0 0 3 年的手机市场上,国内外手机的需求量为1 2 亿 据信息产业部预测,在2 0 0 3 年的手机市场上,国内外手机的需求量为1 2 亿 i 一 东北太擘硕士学位论文 第一章概述 部。自1 9 9 8 年以后,国内移动通信市场开始加速启动,并一直处于快速成长期, 每年用户基数呈现大幅增长。2 0 0 3 年上半年,移动电话新增用户依然达到2 8 4 6 8 万户,累计为2 3 4 亿户,比上年同期增长3 2 9 ,平均每月新增4 7 4 5 万户。据 信息产业部7 月底的统计报告显示,国产品牌手机的国内市场占有率达5 5 4 ,今 年上半年累计生产手机8 2 1 9 6 7 万部,手机产量占到全球产量的近1 3 。 随着手机的不断普及和无线数字通信带宽的不断增加,声音通话已经不再是 手机的唯一功能,数字业务在通信运营商的收入比重不断增加。除了通话、短信 等手机基本服务功能,手机的其它数字业务不断被开发。无线软件下载正是在无 线网络传输速度的大幅增加为背影下产生的。 但是由于各种移动设备的硬件、软件差异非常大,如何保证同一软件下载到 各种设备上都可以通用成为了问题的焦点。此时嵌入式系统上的j a v a 应用程序由 于其跨平台性,开始受到各大公司的关注。 k j a v a ( k v m c l d c m i d p ) t 是在这种条件下被推出的。作为j 2 m e 的组成部 分,k j a v a 是由s u n 同主要消费类设备制造商合作,为资源受限的无线消费类设备 创建的一个可移植的、安全的、资源占用少的j a v a 应用开发环境田。它的出现使 得无线设备应用提供商可以抛开各种设备的硬件细节,将重点更多放在软件的操 作性、安全性和可靠性上。利用j a v a 的跨平台性,不同型号的无线设备可以通过 无线网络下载同样的j a v a 程序,为设备增加新功能和新特性。这可以充分挖掘设 备自身的潜力,改变原来的嵌入式设备中的代码一次烧写后无法再更改的缺限。 而对于设备制造商、网络运营商、服务和内容提供商来说又减少了对不同型号设 备的重复劳动,提高了效率,降低了成本,并且开辟了新的利润来源。 基于无线设备的j a v a 支撑平台就是以j a v a 运行环境为核心的完成诸如s e a r c h 、 d o w n l o a d 、i n s t a l l 、r u n 、c o n f l i c t 、c l o s e 过程的一个综合环境。j a v a 运行环境并 不是与系统其它功能完全割裂的,而是与系统组成一个完整协调的整体。例如: 虚拟机作为系统中的一个( 或多个) 进程,需要依赖底层的o s 及其扩展a p i 的支 持,来完成l c d 描画,文件操作,网络,多媒体播放等功能。同时j a v a 还需要与 系统其它应用模块进行协作。如需要由浏览器来进行j a v a 程序下载,短信模块进 行短信的收发,a l a r m 模块进行定时器功能设置等。另外为了完成从虚拟机到一个 本地进程的封装,并完成虚拟机与其它应用的冲突管理等功能,可能还要有j a v a a p p l i c a t i o nm a n a g e r ( j a m ) 部分。 东北大学硕士学位论文 第一章概述 工具链( t o o l c h a i n ) ,它利用g n u 的g c c 做编译器,用g d b 、k g d b 、x g d b 做调试 工具,能够很方便地实现从操作系统到应用软件各个级别的调试。 完善的网络通信和文件管理机制 l i n u x 至诞生之日起就与i n t e r n e t 密不可分,支持所有标准的i n t e r n e t 网络 协议,并且很容易移植到嵌入式系统当中。此外,l i n u x 还支持e x t 2 、f a t l 6 、f a t 3 2 、 r o m f s 等文件系统,这些都为开发嵌入式系统应用打下了很好的基础。 1 3j 2 m e 概况 j 2 m e 是s u n 公司的j a v a 版本之一肼,该版本以消费类设备和嵌入式设备市场 为目标,包括各种电子用品。j 2 m e 为创建小型设备上使用的先进网络应用程序提 供了完整的解决方案,它还允许设备制造商、服务提供商和应用程序开发者为自 己的顾客部署新的应用程序和服务。然而,在此过程中,7 2 m e 并没有牺牲j a v a 的 基本方针,即:跨平台兼容性和安全性,它们在当前变得愈加重要。 从更高一些的角度来看,j 2 m e 定义了如下组件: 1 ) 一组j a v a 虚拟机,每种都用于不同的小型设备,都满足不同的需求 2 ) 一组可以运行在各种虚拟机上的库和a p i ,分别称为c o n f i g u r a t i o n 和 p r o f i l e 3 ) 部署和设备c o n f i g u r a t i o n 需要的各种工具 1 3 1j a v a 的体系结构 j a v a 的最大目标和特点,就是“一次编写,到处运行”的平台无关性。但是, 很自然的,正如s u n 认识到的,”o n es i z ed o e s n tf i ta l l ”,一套标准无法适 应各种不同的需求。因此,j a v a 技术目前共有三套,分别针对不同的平台和应用。 如图1 1 所示: - s t a n d a r de d i t i o n ( j 2 s e ,标准版) :针对桌面端p c 和工作站的个人和低端 商务应用。 e n t e r p r i s ee d i t i o n ( j 2 e e ,企业版) :针对服务器端企业级应用,支持 s e r v l e t s ,j s p 和x m l 等等。 m i c r oe d i t i o n ( j 2 m e ,袖珍版,也有翻译为小型版或者移动版的) :针对 有限内存,显示和处理能力的设备,主要是消费电子和嵌入式设备领域( 这 实际正是j a v a 语言设计最初的目标领域) 。 东北大学硕士学位论文 第一章概速 图1 1j a v a 体系结构 f i g i 1t h ea r c h i t e c t u r eo fj a v a 在消费电子和嵌入式设备领域,内存从几百k 到几十m ,从没有屏幕到w e b t v , c p i j 从低功耗的嵌入式处理器到2 0 6 m t t z 的r i s c 处理器,硬件条件的差异是相当大 的。这就使得j 2 m e 的标准需要有不同的层次和类别来适应这个复杂的领域,因此 相比之下j 2 溉就比j 2 s e 和j 2 e e 的标准要复杂得多。 1 3 2j 2 m e 体系结构 关于j 2 m e 的结构,如图l 2 所示: 智能手机 p i ) a m i d p p d a p c o n f i 殍n a f i o n :一大类设备的最小共同基础 图1 2c o n f i g u r a t i o n 和p r o f i l e 之间的关系 f i g 1 2 t h er e l a t i o no fc o n f i g u r a t i o n ga n dp r o f i l e 我们可以这样总结: j 2 m e 体系的一般结构“1 是:由c o n f i g u r a t i o n 定义的j a v a 虚拟机运行于设备 的宿主操作系统之上,构成整个平台的基础。c o n f i g u r a t i o n 提供了基本的语言特 - 5 东北大学硕士学位论文 第一章概述 性,p r o f i l e 提供针对设备的特殊功能a p i 和扩展类库。应用程序的运行环境需要 一个c o n f i g u r a t i o n 和至少一个p r o f i l e ,多个p r o f i l e 可以共存,也可以叠加。 我们用两个具体设备的实现作为例子说明,如下图1 3 所示,在一个运行p a l m 0 s 的p d a 上,c o n f i g u r a t i o n 采用c l d c ,虚拟机采用k v m ( 虚拟机和c o n f i g u r a t i o n 是紧密相连的,k v m 只是c l d c 定义的一个参考实现( r e f e r e n c ei m p l e m e n t a t i o n ) , 并不是唯一的选择) ,然后采用p d ap r o f i l e 的p r o f i l e 。在另一个运行s y m b i a n 的智能手机上,则可以采用k v m ,c l d c ,m i d p 。 p r o f i l e p d ap r o f i l em i d p c o n f i g u r a t i o n c l d cc l d c j a v a 虚拟机 k 、mk v m 设备宿主操作系统 p a l mo s s y m b i a n j 2 m e 体系一般结构一个具体例子:p d a另一个例子:手机 图1 3j 2 肛体系的一般结构和具体例子 f i g 1 3t h e f r a m e w o r ka n ds a m p l e so fj 2 l l e ss y s t e m 1 4 课题提出 目前许多计算机系统都以嵌入式的应用形态出现,无所不在的嵌入式系统将渗 透到我们工作、生活的各个方面。各类公司都在进行的嵌入式系统产品的研制与 开发,为了开发出高性价比的嵌入式系统产品,就需要有价格低廉、性能优越、 稳定可靠的开发平台。 n e u l i n u x 嵌入式软件开发平台就是在这种背景之下,东软中间件提出了面向 低端手持移动设备市场的基于n e u l i n u x 的p d a 解决方案,开发了基于l i n u x 系统 的嵌入式软件开发平台,是开发各种手持、移动智能设备以及其他信息家电设备 的理想开发平台。主要面向电子信息行业,为开发各种嵌入式系统设备提供软件 开发平台。应用范围主要针对低成本、低功耗的嵌入式系统设备,可用于消费类 电子产品、移动终端设备、p o s 机、信息家电等设备的开发。包括嵌入式操作系统、 图形用户界面、交叉编译开发环境、应用中间件四部分。随着对网络通讯以及对 安全通讯需求的日益增加,具备j a v a 功能的嵌入式设备需求越来越迫切,完善 n e u l i n u x 平台的j a v a 功能,我选择实现n e u l i n u x 平台的c l d c 和j 矗i d p 移植作为 硕士的毕业设计题目。 - 6 东北大学硕士学位论文 第一章概述 1 5 论文内容安排 本论文的章节安排如下: 第一章概述。 第二章从硬件和软件两方面介绍了n e u l i n u x 嵌入式开发平台的系统结构。 第三章分析和研究j a v a 虚拟机。 第四章描述n e u l i n u x 平台上k v m c l d c 移植中若干问题的研究和实现。 第五章描述n e u l i n u x 平台上m i d p 的移植中若干问题的研究和实现。 第六章工作总结与展望。 参考文献。 致谢。 一,一 东北失学硕士学位论文 g - = 章n e u l i n u x 嵌入式开发 ! 鱼 第二章n e u l i n u x 嵌入式开发平台 2 1 项目背景 n e u l i n u x 嵌入式软件开发平台是由东软集团有限公司所开发的基于l i n u x 系 统的嵌入式软件开发平台,是开发各种手持、移动智能设备以及其他信息家电设 备的理想开发平台,可用于消费类电子产品、移动终端设备、p o s 机、信息家电等 设备的开发。 n e u l i n u x 开发平台包括嵌入式操作系统、图形用户界面、交叉编译开发环境、 应用中间件四部分。 公司的n c u l i n u x 嵌入式平台是针对x s c a l e 等硬件平台开发的,具有体积小 ( 5 0 0 k ) ,可裁减和可扩展等特点,支持的多种外部设备;具有完备网络功能, 强大的系统管理功能。 图形用户界面是基于m i c r o w i n d o w s 图形包进行改造和优化,资源消耗极小, 典型配置体积1 0 0 k 字节左右;支持中文字符集,b m p 等各式图形文件;具有两套 标准的a p i 及丰富的控件集。 应用中间件包括窗口管理器;中英文输入法。 可视化开发环境是基于g n ug c c 交叉编译器和g d b 调试工具的,交叉编译和远 程调试工具具有远程控制目标机程序执行功能,能够设置断点、单步执行、察看 寄存器值;p c 仿真开发环境提供开发者在仿真环境中编译、调试程序的功能。 2 2n e u l i n u x 嵌入式开发平台系统结构 该平台。1 所实现的嵌入式l i n u x 系统内核是在世界著名嵌入式l i n u x 系统 u c l i n u x 系统的基础上移植而来,该嵌入式l i n u x 操作系统是面向没有m m u 的c p u 的嵌入式操作系统。它的内核是由l i n u x2 0k e r n e l 发展起来的,目前,内核可 以支持l i n u xk e r n e lv e r i o s n2 0 x 。 该嵌入式l i n u x 操作系统支持丰富的外部设备,目前在内核级已经实现了对多 种外部设备的支持,包括:l c d 、触摸屏、键盘、多路串口、m o d e m 、i r d a 、p 刚音 频输出等等,同时,内核还支持大量的文件系统:r o m d i s k ,r a m - d i s k ,n f s ,e x t 2 , f a t l 6 3 2 等。 8 东北大学硕士学位论文第二章n e u l i n u x 嵌入式开发平台 2 2 1 硬件功能模块 n e u l i n u x 平台上的硬件列表如下表2 1 所示: 表2 1 硬件模块组成 t a b l e2 1h a r d w a r eo fx s c a l e 项目描述 处理器( p r o c e s s o r ) i n t e lx s c a l ep x a 2 5 04 0 0 m h z 存储器( s d r a m ) s a m s u n g6 4 m b y t e 闪存( f l a s h ) i n t e l 咖a 乜f l a s h3 2 m b y t e 网卡( e t h e r n e t )c s 8 9 0 0 al o b a s e t 触摸屏( t o u c hs c r e e n )a d $ 7 8 4 3t o u c hs e m e n u s bu s bs l a v e 声卡( a u d i o )a c 9 7s t e r e oa u d i o l c dl g t f t l c d6 4 ”f 6 4 0 + 4 8 0 ) 时钟( r t c ) r e a lt i m ec l o c k r t c 4 5 1 3 红外( 1 r d a )h d s l 3 6 0 0 基于x s c a l e 的n e u l i n u x 应用支撑平台系统结构图如图2 1 所示 币薪 图 中文赣入 密岛嚣曝嚣 拣 i c e j v 疆 管 理 嚣 q t e m b e d d e d j 2 皑( 莲登蚪v e r 警挑) - 、_ :。,一 基予x s c a t 。的* 。疋i m g 系统 l硬件设备 i 图2 1 基于x s c a l e 的n e u l i n u x 应用支撑平台系统结构图 f i g 2 1n e u l i n u xa r c h i t e c t u r eb a s e d0 i 2x s c a l e 9 2 2 。2 软件功能模块 n e u l i n u x 嵌入式开发平台软件部分主要是由嵌入式l i n u x 操作系统、硬件设 备驱动、交叉编译器、远程调试器、嵌入式g u i 及上层应用组成。如图2 2 所示: 图2 2n e u l i n u x 软件功能模块图 f i g 2 2s o f t w a r ea r c h i t e c t u r eo nn e u l i n u x 其中内核采用的是目前比较流行的o p e ns o i i i e 的嵌入式l i n u x u c l i n u x 。 ( 1 ) 嵌入式n e u l i n u x 操作系统 内核;基于l i n u x 内核2 0 3 8 基础上开发的,体积小( 5 0 0 k ) ,可裁减性 和可扩展性好,能够对多种的外部设备进行支持。 c p u 支持:a r m 、a r m 7 t d m i 、d r a g o n b a l lv z e z 、c o l d f i r e 等。 设备驱动:l c d 、触摸屏、键盘、多路串口、u s b 、m o d e m 、i r d a 、i c 卡、 c f 卡等。 网络功能:完备的t c p i p 协议栈,p p p 拨号上网功能。 系统管理:提供电源管理、背光调节、热键设置、音量调节等系统设 1 0 东北大学硕士学位论文 第二章n e u l i n u x 嵌入式开发平台 置功能。 ( 2 ) 图形用户界面( g i j i ) ”1 基于m i c r o w i n d o w s 图形包进行改造和优化,资源消耗极小,典型配置体积 1 0 0 k 字节,运行时占用内存大约7 0 k 字节。 支持从单色到2 4 位真彩色显示,高级图形功能包括a l p h a 混合,三维支 持。 支持多字符集,包括g b 2 3 1 2 、b i g 5 、u t f 8 ,多字体支持( 包括t r u e t y p e ) 。 图形文件支持,支持b m p 、g i f 、j p e g 、p n m 、x p m 、p n g 图形文件。 两套标准的a p i ,w i n d o w sg d i 风格的a p i 以及x l i b 风格的a p i 。 丰富的控件集,开发者可以更加方便的开发应用。 ( 3 ) 应用中间件 窗口管理器,以友好的界面方便用户进行应用程序管理,系统资源管理。 中英文输入法,拼音输入法,软键盘,手写输入。 ( 4 ) 交叉编译开发环境 基于g n ug c c 交叉编译器和g d b 调试工具。 编译和远程调试工具,具有远程控制目标机程序执行功能,设置断点、单 步执行、察看寄存器值等。 p c 仿真开发环境,开发者可以在仿真环境中调试程序,并察看运行结果, 然后重新编译即可生成目标机代码。 东北大学硕士学位论文 第三章j a v a 虚拟机的研究 3 1j a 、,a 虚拟机 j a v a 的面向网络的核心就是j a v a 虚拟机,它的结构如上图3 2 。1 所示: r 程序的c l a s s 文件一i 类装载器i j a v aa p i 的c l a s s 文件 l _ j l 字节码 广 l 执行引擎 i i 一 图3 2j a v a 虚拟机的基本结构图。1 f i g 3 。2t h eb a s i cs t r u c t u r eo fj a v av m j a v a 虚拟机支持j a v a 面向网络体系结构三大支柱的所有方面:平台无关性、 安全性和网络移动性。 j a v a 虚拟机是一台抽象的计算机,其规范定义了每个j a v a 虚拟机都必须实现 的特性,但是为每个特定实现都留下了很多选择。举个例子,虽然每个j a v a 虚拟 机都必须能够执行j a v a 字节码,但是用何种技术来执行是可以选择的。而且它的 规范也是很灵活的,它允许虚拟机用纯粹软件方式来实现,也可以很多部分由硬 件实现。j a v a 规范本质上的灵活性保证了它能在很广泛的计算机和设备上得到实 现。 j a v a 虚拟机的主要任务是装载c l a s s 文件并且执行其中的字节码。在图3 2 中可以看到,j a v a 虚拟机包含一个类装载器( c l a s sl o a d e r ) ,它可以从程序和 a p i 中装载c l a s s 文件。j a v aa p i 中只有程序执行时需要的那些类才会被装载。 字节码由执行引擎来执行。 不同的j a v a 虚拟机中,执行引擎可能实现的非常不同。在由软件实现的虚拟 机中,最简单的执行引擎就是一次性解释字节码。另一种执行引擎更快,但也更 消耗内存,叫做“即使编译器”( j u s t i n t i m ec o m p i l e r ) 。在这种情况情况下, 第一次被执行的字节码会被编译成本地代码。编译出的本地机器代码会被缓存, 当方法以后被调用的时候可以重用。第三种执行引擎是自适应优化器。在这种方 面里,虚拟机开始的时候解释字节码,但是会监视运行中程序的活动,并且记录 下使用最频繁的代码段。程序运行的时候,虚拟机只把那些活动最频繁的代码编 译成本地代码,其它的代码由于使用的并不是很频繁,继续保留为字节码一一由 虚拟机继续解释他们。一个自适应的优化器可以使的j a v a 虚拟机在8 0 9 0 的 时间里执行被优化过的本地代码,而只需要编译1 0 2 0 对性能有影响的代码。 最后一种虚拟机由硬件芯片构成,它用本地方法执行j a v a 字节码,这种执行引擎 1 3 东北大学硕士学位论文 第三章j a v a 虚拟机的研究 实际上是内嵌在芯片里的“。 当j a y a 虚拟机是由主机操作系统上的软件实现的时候,j a v a 程序通过调用本 地方法( n a t i v em e t h o d ) 和主机交互。j a v a 中有两种方法:j a v a 方法和本地方 法。j a v a 方法是由j a v a 语言编写,编译成字节码,存储在c l a s s 文件中的。本地 方法是由其他语言( 比如c ,c + + ,或者汇编语言) 编写的,编译成和处理器相关 的本地代码。本地方法保存在动态连接库中,格式是各个平台专有的。j a v a 方法 是与平台无关的,但是本地方法却不是。运行中的j a v a 程序调用本地方法时,虚 拟机装载包含这个本地方法的动态库,并调用这个方法。 通过本地方法,j a v a 程序可以直接访问底层操作系统的资源。如果你这样用, 你的程序就变成了平台相关的,因为包含本地方法的动态库时平台相关的。除此 之外,使用本地方法还可能把程序变得和特定的j a v a 平台实现相关。一个本地方 法接口一一j a v a 本地接口( j a v an a t i v ei n t e r f a c e ,j n i ) 一一使得本地方法可 以在特定主机系统的任何一个j a v a 平台实现上运行。然而j a v a 平台供应商并不 一定必须支持j n i 。除了j n i 之外,他们还可以提供自己的本地方法接口( 或者按 照合同要求来取代j n i ) 。 j a v a 给人们提供了选择的机会。如果希望使用特定主机上的资源,它们又无 法从j a v aa p i 访问,那么可以写一个平台相关的j a v a 程序来调用本地方法。如 果希望保证程序的平台无关性,那么只能通过j a v aa p i 来访问底层系统资源。 3 。1 。1 类装载器的体系结构 类装载器的体系结构是j a v a 虚拟机在安全性和网络移动性上发挥重要作用的 一个方面。在实际的j a v a 虚拟机中,存在着多个类装载器,因而结构图中的类装 载器方块实际上表示的是一个可能包含多个类装载器的子系统。j a v a 虚拟机拥有 灵活的类装载器体系结构,从而使j a v a 应用程序得以用自定义的方式来实现类的 装载。 一个j a v a 应用程序可以使用两种类装载器:“启动”( b o o t s t r a p ) 类装载器和 用户定义的类装载器。启动类装载器( 这是系统中唯一的) 是j a v a 虚拟机实现的 一部分。例如,如果j a v a 虚拟机在已有操作系统上实现c 程序,那么启动类装载 器就会是此c 程序的一个部分。启动类装载器通常使用某种默认方式从本地磁盘 中装载类,包括j a v aa p i 的类( 启动类装载器也称为原始类装载器、系统类装载 器或者默认类装载器) 。 j a v a 应用程序能够在运行时安装用户定义的类装载器,这种类装载器能够使 1 4 东北大学硕士学位论文 第三章j a v a 虚拟机的研究 用自定义的方式来装载类,例如,从网络下载c l a s s 文件。尽管启动类装载器是 虚拟机实现的本质部分,而用户定义的类装载器不是:但用户定义的类装载器能 够用j a v a 编写,能够被编译为c l a s s 文件,能够被虚拟机装载,还能够像其他对 象一样实例化。它们实际上只是运行中的j a v a 应用程序可执行代码的一部分。 图3 3 描述了这种体系结构“。 ( 堆上的对象) 图3 3j a v a 类装载器的体系结构 f i g 3 3a r c h i t e c t u r eo fj a v ac l a s sl o a d e r 由于有用户定义类装载器,所以不必在编译的时候就知道运行中的j a v a 应用 程序中最终会加入的所有的类。用户定义的类装载器使得在运行时扩展j a v a 应用 程序成为可能。当它运行时,应用程序能够决定它需要哪些额外的类,能够决定 是使用一个或者更多的用户定义的类装载器来装载。由于类装载器是使用j a v a 编 写的,所以能用任何在j a v a 代码中可以表述的风格来进行类的装载。这些类可以 通过网络下载,可以从某些数据库中获取,甚至可以动态生成。 每一个类被装载的时候,j a v a 虚拟机都监视这个类,看它到底是被启动类装 载器还是被用户定义的类装载器装载。当被装载的类引用了另一个类时,虚拟机 就会使用装载第一个类的装载器装载被引用的类。例如,如果虚拟机使用一个特 定的类装载器装载v o l c a n o 这个类,它就会使用这个类装载器装载v o l c a n o 类使 用的所有类。如果v o l c a n o 使用了一个叫做l a v a 的类,比方说可能是调用了l a v a 类的一个方法,那么虚拟机将使用装载v o l c a n o 的同一个类装载器装载l a v a ,这 样,被这个类装载器返回的l a v a 类就动态地与v o l c a n o 类建立起了联系。 1 5 东北走拳硕士学位论丈 第三章j a v a 虚拟机的研究 3 。1 。2j a v aa p l j a v aa p i 通过其平台无关性和安全性,使得j a v a 适应于网络应用o “。j a v aa p i 是运行库的集合,它提供一套访问主机系统资源的标准方法。编写j a v a 程序时, 可以假设在任何可运行程序的j a v a 虚拟机上都能够获取j a v aa p ic l a s s 文件。 这是一个相对安全的假设,因为j a v a 虚拟机和j a v aa p ic l a s s 文件是任何j a v a 平台都要实现的必要部分。运行j a v a 程序时,虚拟机装载程序的c l a s s 文件所使 用的j a v a a p ic l a s s 文件。所有被装载的c l a s s 文件( 包括从应用程序中和从j a v a a p i 中提取的) 和所有已经装载的动态库( 包含本地方法) 共同组成了在j a v a 虚 拟机上运行的整个程序。为了访问主机上的本地资源,j a v a a p i 调用了本地方法。 如图3 4 所示。 图3 4 一个具有平台无关性的j a v a 程序 f i g 3 4ap l a t f o r m i n d e p e n d e n tj a v ap r o g r a m 3 1 3j a v a 虚拟机的生命周期 一个运行时的j a v a 虚拟机实例的天职就是:负责运行一个j a v a 程序。当启 动一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件无线电技术
- 司法人才招聘面经:乾县法院面试题目的启示
- 同仁堂药品推销策略
- 电工求职实战模拟题库:岗位选择与准备建议
- 幼儿园产品安全知识培训课件
- 山东教育考试必 备资料包:学前面试题库指南
- 热 门职业热 门话题新面试题库资源
- 矿场集中检修方案(3篇)
- 食堂小店招商方案(3篇)
- 操场施工要点及方案(3篇)
- 建筑工程安全管理提升方案
- 肩关节脱位-课件
- 对新员工保密基本培训
- 2025届湖北省部分学校新高三新起点暑期效果联合质量检测数学试卷(解析版)
- GB/T 6553-2024严酷环境条件下使用的电气绝缘材料评定耐电痕化和蚀损的试验方法
- 2024年苏教版四年级数学上册全册教案
- 2024新科普版英语七年级上单词默写表
- 金融行业高质量发展专题研究报告
- 2024年首届全国“红旗杯”班组长大赛考试题库(单选、多选、判断题)
- 知识题库-人社练兵比武竞赛测试题及答案(五)
- 五年级上册科学青岛版全册教案
评论
0/150
提交评论