(计算机科学与技术专业论文)基于java语言的操作系统设计与实现技术研究.pdf_第1页
(计算机科学与技术专业论文)基于java语言的操作系统设计与实现技术研究.pdf_第2页
(计算机科学与技术专业论文)基于java语言的操作系统设计与实现技术研究.pdf_第3页
(计算机科学与技术专业论文)基于java语言的操作系统设计与实现技术研究.pdf_第4页
(计算机科学与技术专业论文)基于java语言的操作系统设计与实现技术研究.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

(计算机科学与技术专业论文)基于java语言的操作系统设计与实现技术研究.pdf.pdf 免费下载

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

文档简介

国防科学技术大学研究生院硕士学位论文 摘要 随着网络技术的迅速发展,人们对普适计算的需求越来越高。传统的操作系 统加中间件的方式已经不能满足普适计算的需求。普适计算需要既具有平台无关 性又具有高安全性的新型操作系统。利用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 t o c ( j a v a t a b l e o fc o n t e n t s ) 为基础的进程软隔离技术,通过确定进程的“内存边界 和“接口边 界”来实现进程间的隔离。提出j a v a 操作系统需要将垃圾收集技术和系统的存储 管理相结合实现全系统的垃圾收集技术,从而实现安全高效自动的内存管理。 j a v a 对象生命行为规律可以为垃圾收集算法的设计提供重要依据,但目前对 j a v a 运行时程序行为的分析还是基于1 0 多年前的统计数据,由于当时的软硬件环 境和现在差别较大,所以前人的分析数据已经不能满足需求。本文设计实现了j a v a 对象生命行为的追踪统计框架和e m e r l i n 程序精确追踪算法,实现了对象生命行 为的追踪。应用此框架对s p e c j v m 9 8 中的测试程序进行追踪后,通过对追踪结果 进行解析和统计发现:1 ) j a v a 对象几乎平均分布在5 个范围之内,每类对象中,边 界对象占绝大多数;2 ) j a v a 对象在内存中的组织类似一个深度很浅的大胖树,在根 下,挂了很多小的j a v a 对象簇,而且对象聚集成簇的现象非常普遍。 目前的垃圾收集算法都是针对应用进程设计的,如果直接作为系统的垃圾收 集算法,由于不能和系统的内存管理相配合,所以性能低下。本文在深入研究了 经典垃圾收集算法( 引用计数、标记清扫、半区复制和分代算法) 和新型垃圾收 集算法( 火车算法,m a r k c o p y 算法) 原理的基础上,基于m a r k c o p y 算法,利 用系统内存管理机制和j a v a 对象的内存行为规律,设计实现了全系统垃圾收集算 法一f s m c ( f u l ls y s t e mm a r k c o p y ) 。经过测试,f s m c 算法相对于m a r k c o p y 算法节省了2 0 以上的时间,取得了较好的效果。 本文基于x 8 6 平台设计实现了j u n i c o m 原型系统。j u n i c o m 系统的硬件抽象层 采用c 和汇编语言实现,完成系统的引导和硬件设备的初始化并对上层提供基本 的硬件控制与中断处理服务。微内核层基于j i k e s r v m 实现了动态编译引擎,基于 分代式垃圾收集算法实现了系统垃圾收集器,并设计了中断异常服务框架,目前 可以处理x 8 6 中的大多数异常( 如缺页异常,除法异常等) ,提供了时钟中断和 第i 页 国防科学技术大学研究生院硕士学位论文 键盘中断处理服务。目前j u n i c r o n 支持键盘和显示器两种设备,可以在华硕e p c 上运行s p e c j v m 9 8 中的测试程序。 关键词:普适计算,进程软隔离,全系统垃圾收集,j a v a 对象统计框架,硬件抽 象层,动态编译引擎,j u n i c o r n 原型系统 第i i 页 国防科学技术大学研究生院硕士学位论文 a b s t r a c t w 池t h en e t w o r kt e c h n o l o g yd e v e l o p i n gr a p i d l y ,p e o p l ei n q u i r em o r ea n dm o r e a b o u tu b i q u i t o u sc o m p u t i n g t h et r a d i t i o n a lt e c h n o l o g yw h i c hc o m b i n e so p e r a t i n g s y s t e ma n dm i d w a r et o g e t h e rc a nn o ts a t i s f yt h en e e do fu b i q u i t o u sc o m p u t i n g u b i q u i t o u sc o m p u t i n gr e q u i r e san e wk i n d o fo p e r a t i n gs y s t e mw h i c hi sb o t h p l a t f o r m i n d e p e n d e n ta n dh i g h l y - s e c u r e u s i n gj a v al a n g u a g et oi m p l e m e n tt h i st y p eo f o p e r a t i n gs y s t e mn o to n l yc a l lm a k et h es y s t e mp l a t f o r m - i n d e p e n d e n t ,b u ta l s oc a n s o l v es a f e t yt h r e a t ss u c ha s b u f f e r - o v e r f l o w a t t a c k u s i n gj a v at oi m p l e m e n ta n o p e r a t i n gs y s t e mw i l lb r i n gu sal o to fa d v a n t a g e s ,a l s oi tw i l li n t r o d u c es o m e c h a l l e n g e s 眦st h e s i sd e e p l ys t u d i e st h ea r c h i t e c t u r ed e s i g no fj a v ao p e r a t i n gs y s t e m b e h a v i o rr u l e so fj a v ao b je c t s ,f u l l s y s t e mg a r b a g ec o l l e c t i o na l g o r i t h ma n dt h e i m p l e m e n t i n gt e c h n o l o g yo f j a v ao p e r a t i n gs y s t e m 1 1 1 ea r c h i t e c t u r ed e s i g ni st h eb a s i co f o p e r a t i n gs y s t e mt e c h n o l o g y a c c o r d i n gt o t h ef e a t u r e so fj a v al a n g u a g e ,t h i st h e s i sd e s i g n st h ea r c h i t e c t u r eo fj a v ao p e r a t i n g s y s t e m ,u n d e rt h en e wa r c h i t e c t u r e ,s t u d i e st h et e c h n o l o g yo fs o f t w a r e i s o l a t i o na m o n g p r o c e s s e sw h i c hb a s e do nt h ej t o c ( j a v at a b l eo fc o n t e n t s ) c a nd e f i n et h em e m o r y a n di n t e r f a c eb o r d e r i no r d e rt om a k et h es y s t e mm e m o r ym a n a g e m e n ts e c u r ea n d e m c i e n t t h i st h e s i sp u tf o r w a r d st h ei d e aw h i c hs h o u l di n t e g r a t et h eg a r b a g ec o l l e c t i o n a n ds y s t e mm a n a g e m e n tt o g e t h e rt oi m p l e m e n tf u l l s y s t e mg a r b a g ec o l l e c t i o n l i f eb e h a v i o rr u l e so fj a v ao b j e c t sc a np r o v i d ei m p o r t a n te v i d e n c ef o rt h ed e s i g n o fg a r b a g ec o l l e c t i o na l g o r i t h m s ,b u tt h ea n a l y s i so fj a v ap r o g r a mb e h a v i o ru s i n gd a t a w h i c hw a sg a t h e r e dm o r et h a nt e ny e a r sa g oa n di sn o ts u i t a b l ef o rc u r r e n ta p p l i c a t i o i l s b e c a u s eo ft h ed i f f e r e n c e si nh a r d w a r ea n ds o f t w a r e t 1 l i st h e s i s d e s i g n san e w f r a m e w o r ka n di m p l e m e n t se - m e r l i nt r a c i n ga l g o r i t h mt ot r a c et h eb e h a v i o ro fe v e r y j a v ao b j e c t a f t e ru s i n gt h i sf r a m e w o r kt ot r a c ep r o g r a m si ns p e c j v m 9 8 ,w ed i s c o v e r t w ob a s i cr u l e sa b o u tj a v ao b j e c t s f i r s t ,j a v ao b j e c t st y p i c a l l yd i s t r i b u t ee q u a l l yi nf i v e c a t e g o r i e sa n di ne a c hc a t e g o r y ,b r o a d e ro b j e c t sa c c o u n tf o rl a r g ep e r c e n t s s e c o n d ,t h e s t r u c t u r eo fj a v ao b j e c t si nm e m o r yi sj u s tl i k eab r o a df a t - t r e ew h i c hi sf l a t t h e r ea r ea l o to fo b j e c t sd i r e c t l ya t t a c ht ot h er o o to b j e c t a l lo fg a r b a g ec o l l e c t i o na l g o r i t h m sa r ed e s i g n e df o rp r o c e s s e sc u r r e n t l y ,n o tf o r o p e r a t i n gs y s t e m s t ou s et h e md i r e c t l ya s t h eg a r b a g ec o l l e c t i o na l g o r i t h m so f o p e r a t i n gs y s t e m w i l lb ei n e f f i c i e n t ,b e c a u s e t h e yc o u l dn o tc o o p e r a t ew i t h t h e m e c h a n i s mo fm e m o r ym a n a g e m e n te f f e c t i v e l y t i l i st h e s i sd e e p l ys t u d i e st h ep r i n c i p l e o ff o u rc l a s s i cg a r b a g ec o l l e c t i o na l g o r i t h m s ( r e f e r e n c ec o u n t ,m a r k s w e e p ,s e m i s p a c e a n dg e n e r a t i o na l g o r i t h m ) a n dt w on e wa l g o r i t h m s ( t r a i na n d m a r k c o p ya l g o r i t h m ) ,a n d a n a l y s e st h ea d v a n t a g e sa n ds h o r t a g e so fe v e r ya l g o r i t h m u s i n gt h ep r i n c i p l eo f m a r k c o p ya l g o r i t h ma n db e h a v i o rr u l e so fj a v ao b j e c t s ,t h i st h e s i sd e s i g n sa n d 第i i i 页 国防科学技术大学研究生院硕士学位论文 i m p l e m e n t san e wf u l ls y s t e ma l g o r i t h mn a m e df s m c a c c o r d i n gt ot h et e s tr e s u l t s , f s m ci m p r o v e st h ep e r f o r m a n c eb y2 0 c o m p a r e dw i t hm a r k c o p y , w h i c hi s v e r y e f f i c i e n t t h i st h e s i si m p l e m e n t sap r o t o t y p eo fj a v ao p e r a t i n gs y s t e mn a m e dj u n i c o mo n t h ex 8 6 p l a t f o r m t h eh a r d w a r ea b s t r a c tl a y e ro fj u n i c o m w h i c hi si m p l e n t e di nca n d a s s e m b l el a n g u a g e ,a c c o m p l i s h e ss y s t e mb o o t i n ga n dt h ei n i t i a l i z a t i o no fh a r d w a r e , p r o v i d e sb a s i ch a r d w a r ec o n t r o la n di n t e r r u p tm a n a g e m e ms e r v i c ef o rm i c r o k e r n e l t h em i c r o - k e r n e lo fj u n i c o mi m p l e m e n t st h ed y n a m i c c o m p i l i n ge n g i n ea n df u l ls y s t e m g a r b a g ec o l l e c t o rb a s i n go nj i k e s r v ma n dt h eg e n e r a t i o ng a r b a g ec o l l e c t i o na l g o r i t h m , d e s i g n si n t e r r u p ta n de x c e p t i o ns e r v i c ef r a m e w o r kf o rt h es y s t e m n o wj u n i c o m s u p p o r t sk e y b o a r da n dc h a r a c t e ro u t p u t ,c a nr u nt e s t i n gp r o g r a m so fs p e c j v m 9 8o n h u a s u o e p c k e yw o r d s :u b i q u i t o u sc o m p u t i n g ,p r o c e s ss o f t - i s o l a t i o n ,f u l ls y s t e mg a r b a g e c o l l e c t i o n ,j a v ao b j e c t st r a c i n gf r a m e w o r k ,h a r d w a r ea b s t r a c tl a y e r , d y n a m i cc o m p i l i n ge n g i n e ,j u n i c o r np r o t o t y p es y s t e m 第i v 页 国防科学技术大学研究生院硕十学位论文 表目录 表3 12 0 0c h e c k 的对象大小分布2 0 表3 2 2 0 1c o m p r e s s 的对象大小分布2 0 表3 3 2 0 9d b 的对象大小分布2 l 表3 4 2 0 2i e s s 的对象大小分布2 1 表3 5j a v a 程序对象大小总体分布2 l 表4 1b e n c h m a r k s 程序的描述3 2 表4 2 垃圾收集算法测试结果3 2 表5 1c l a s s p a t h 修改的接1 2 1 4 1 表5 2m a g i c 代理接口4 2 表5 3 s y s c a l l 代理接1 2 1 4 2 表6 1 多重引导头5 0 表6 2内存管理接口5 5 表6 3 显示器驱动接口5 7 第1 v 页 国防科学技术大学研究生院硕士学位论文 图1 1 图1 2 图1 3 图1 4 图2 1 图2 2 图2 3 图2 4 图3 1 图3 2 图3 3 图3 4 图3 5 图3 6 图 图 图 图 0 图3 1 l 图3 1 2 图3 1 3 图4 1 图4 2 图4 3 图4 4 图4 5 图4 6 图4 7 图4 8 图4 9 图4 1 0 图4 1 1 图 目录 j x 系统体系结构2 j n o d e 系统体系结构3 s i n g u l a r i t y 系统体系结构3 本文各章节之间的关系5 微内核系统进程间通信过程9 j a v a 应用程序内存结构10 进程与外界交互的界面11 j a v a 操作系统总体结构1 2 j a v a 对象行为统计框架结构1 4 对象创建事件拦截算法16 指针更新事件拦截算法16 对象死亡的三种情况17 对象死亡时间的计算1 7 e m e r l i n 算法初始状态( 1 ) 18 处理对象d 所在的连通块( 2 ) 18 处理对象d 所在的连通块( 3 ) 1 8 处理对象d 所在的连通块( 4 ) 1 9 处理对象e ( d ) 所在的连通块( 5 ) 1 9 处理对象f ( d ) 所在的连通块( 6 ) 19 处理对象m 所在的连通块( 7 ) 1 9 j a v a 对象引用拓扑2 2 引用计数2 4 标记清扫2 5 半区复制2 5 火车算法收集前的状态2 6 火车算法收集后的状态2 7 m c 堆空间布局2 7 f s m c 堆布局2 9 页表项2 9 系统对象模型2 9 次级收集算法流程3 0 j a v a 对象引用拓扑图3 2 第v 页 国防科学技术大学研究生院硕士学位论文 图5 1 图5 2 图5 3 图5 4 图5 5 图5 6 图5 7 图6 1 图6 2 图6 3 图6 4 图6 5 图6 6 图6 7 图6 8 图6 9 图6 1 0 图6 1 1 图6 图6 图6 图6 1 5 图6 1 6 图6 1 7 优化编译工作过程3 5 自适应编译器的组成3 6 j i k e sr v m 与s u nj v m 性能比较3 8 s u nj v m 3 8 j i k e s r v m 3 9 j i k e s l w m 三种编译器性能对比3 9 动态编译引擎结构4 0 e f l a g 寄存器4 4 控制寄存器4 5 线性地址格式4 6 段变换过程4 6 页变换过程4 6 j u n i c r o n 系统结构4 8 多重引导头的设置5 l 全局描述符格式5 1 g d t r 寄存器5 2 门描述符格式5 3 i d t r 寄存器5 3 页表设置程序示例5 4 抽象层异常处理过程5 4 抽象层中断处理过程5 5 键盘中断处理过程5 6 j a v a 系统调试器结构5 8 调试器运行界面5 8 第v l 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文题目:基王! 垒! 垒适宣鲍握笠丕红遮盐曼塞丑遮苤盈窒 学位论文作者签名:乏爱些日期:二口。p 年,月弓日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题目:基王垒! 垒适主鲍握笠丕统遮进生塞塑拉盔盈窒 学位论文作者签名:鹰妙 作者指导教师签名: 日期:口口9 年j 月弓日 日期:2 神年,蝴2 妇 国防科学技术大学研究生院硕十学位论文 1 1 1 选题背景 第一章绪论弟一早三百v 匕 1 1 背景 随着网络技术的迅速发展,人们对普适计算的需求越来越高。人们希望能够 通过支持普适计算的系统软件或应用软件将由p c 机、工作站、服务器、p d a 、手 机和其它各种嵌入式设备组成的异构计算环境构成一个无缝的、可以快捷地支持 用户任务迁移的计算环境【l 】。传统的操作系统加中间件的解决方案虽然可以在一定 程度上满足人们对普适计算的需求,但存在的问题也十分明显: 1 ) 在操作系统加中间件的方式中,中间件运行在用户态,程序运行效率低下; 2 ) 现有的操作系统大都采用c 语言实现,缓冲区溢出漏洞是系统的固有缺陷, 难以满足普适计算环境的安全性需求。 所以,传统的操作系统和中间件技术已无法有效满足普适计算的需求,需要 设计一种新型的系统软件框架和实现方式,通过融合操作系统和中间件的功能, 同时提供良好的安全性支持,从而满足普适计算环境对平台无关性和安全性的需 求【1 。3 1 。 j a v a 语言是一种强类型的语言,具有平台无关和类型安全的特点【4 】。利用j a v a 语言开发操作系统具有以下优点:1 ) j a v a 语言的平台无关性可以使系统实现平台无 关;2 ) j a v a 语言的类型安全机制不允许程序通过自由指针操作内存,可以解决系统 面临的缓冲区溢出攻击等安全问题【5 】;3 1 由于j a v a 操作系统中不再需要j a v a 虚拟 机的支持,因而可以大大提高程序的执行效率;4 ) j a v a 的垃圾收集机制避免了因程 序员错误的释放内存而引起程序出错,提高了系统的可靠性【6 ,7 】。 同时,基于j a v a 语言设计和实现操作系统也给我们带来了新的技术挑战: 1 ) 动态编译技术与操作系统技术的融合。j a v a 语言采用动态编译技术来提高效 率,但是目前动态编译程序做为操作系统的一个进程运行【4 】,而在j a v a 操作系统 中必须将动态编译技术融入到系统内核才能满足系统的性能需求。 2 ) 操作系统级的垃圾收集技术。j a v a 语言的垃圾收集技术提高了程序员的效 率,避免了程序员因错误释放内存对象而引起程序的崩溃【8 1 。但j a v a 虚拟机的垃 圾收集器工作在用户层,无法感知系统的虚存管理。系统级垃圾收集器需要将垃 圾收集和虚存管理结合起来,使得垃圾收集与内存资源的管理策略相适应,以便 充分利用虚存和c a c h e 的局部性来提高程序性能。 3 ) 进程软隔离技术。目前操作系统中进程间的隔离是通过m m u 来实现的【9 】, 第1 页 国防科带技术大学研究生皖硕t 学位论文 但j a v a 程序的所有对象可以从根集通过引用关系访问到。这样通过确定进程的根 集就可以实现进程问的隔离【】,而不再需要借助m m u 来实现。 4 ) 安全高效的进程间通信技术。目前进程间通信主要是借助内核进行数据拷贝 束实现】,进程软隔离技术的引入要求我们研究一种新的进程问通信机制,既可 以保证进程叫的隔离,又可以实现进程间高效的通信。 1 12 相关研究 目前对j a v a 操作系统的研究逐渐成为热点,但是还都处于起步阶段。比较著 名的j a v a 操作系统有德国e r l a n g e n - n u m b e r g 大学的系统、开源项日t n o d e 系 统和微软公司的s i n g u l a r 时系统,下面将分别对这三个系统的特点和不足进行分 析。 1 1 2 1j x 系统 2 0 0 1 年德国e r l a n g e n 大学船动了j x 操作系统研究项目,目的是要用j a v a 语 言来实现操作系统,研究如何使用类型安全的语言而不使用m m u 实现进程的隔 离,j x 系统的体系结构如图l1 所示。j x 系统采用微内核体系结构,通过将进程 封装在各自的d o m a i n 巾来实现软隔离,但d o m a i n 之间可以共事代码( 非静态类 和接v i ) 。每个d o m a i n 有自己独立的垃城收集器,不同d o m a i n 中的进程通过p o r t a i 机制进行通信旧1 ”。 图l lj x 系统体系结构” j x 系统虽然实现了进程的软隔离和垃圾收集,但是存在以下三点不足:1 ) 没 有实现进程问的完全隔离。仅通过d o m a i n 实现了进程的数据隔离,而没有实现进 程问的代码隔离( d o m a i n 问- 以共享代码) 。这样,一个进程崩溃将会影响到其它 的进程,甚至会导致系统的崩溃:2 ) 进程间通信效率低。由于进程间通信机制p o r t a l 基于r p c ( r e m o t ep r o c e d u r ec a l l ) 实现,而r p c 的效率根低;3 1 没有实现系统级的 第2 页 国防科学技术大学研究生院硕士学位论文 垃圾收集器。垃圾收集器工作在用户层,不能和系统内存管理相结合,因此垃圾 收集的性能不高。 1 1 2 2j n o d e 系统 j n o d e 系统是基于j a v a 虚拟机实现的一个简单的j a v a 操作系统,体系结构如 图i2 所示。j a v a 虚拟机直接运行在系统n a n o k e m e l 上,是系统的主体。j n o d e 系 统不能称为真正意义的操作系统,它仅将j a v a 虚拟机移植到了系统的底层,没有 从操作系统的角度去设计系统的整体结构,也没有应用先进的操作系统技术。 习基丑 _fa”lj h 自d w a m 图l2j n o d e 系统体系结构”i 1 1 2 3s i a g u i n r i 竹系统 2 0 0 4 年微软雷德蒙德( r e d m o a d ) 研究院启动了s i n g u l a r i t y 操作系统项目,目的 是利用类型安全的语言来实现安全的操作系统,体系结构如图1 3 所示。s i n g u l a r i t y 系统采用微内核结构,几乎全部采用s i n 酣语言( 改进的甜语言,c # 特点和j a v a 语言类似) 实现。进程运行在各自的s i p ( s o l , w a r e i s o l a t e dp r o c e s s e s ) q a ,s i p 实现 了进程间的软隔离。各个进程拥有自己的代码、运行时库和垃圾收集器等。进程 间通信采用交换堆来实现,这样就避免了通信数据的拷贝【l - z 4 1 。 、厂q “4p p i 。”# y m “” l l _ i - l ;。g # 。e 。 图1 3 s i n g u l a r i t y 系统体系结构i 但是s i n g u l a r i t y 系统目前还不支持运行时动态编译,所有代码必须提前编译 成为可执行代码才可以在s i n g u l a r i t y 系统中运行。s i n g u l a r i t y 采用每个进程一个垃 第3 页 藕 国防科学技术大学研究生院硕士学位论文 圾收集器的设计方式而没有实现全系统垃圾收集,这样就不能利用系统资源来加 速垃圾收集。 1 2 本文工作 针对j a v a 操作系统为操作系统的设计和实现技术带来的挑战,本文将围绕j a v a 操作系统的体系结构设计、j a v a 对象内存行为规律、全系统垃圾收集算法以及j a v a 操作系统的实现技术展开研究。本文的研究工作主要包括四部分内容: ( 1 ) j a v a 操作系统体系结构技术研究 j a v a 语言具有平台无关和类型安全的特点,本文结合j a v a 语言的特点和现代 操作系统的体系结构研究了j a v a 操作系统的体系结构设计技术。在新型体系结构 下,研究了以j t o c ( j a v at a b l eo f c o n t e n t s ) 为基础的进程软隔离技术,通过确定 进程的“内存边界 和“接口边界”来实现进程间的隔离。提出j a v a 操作系统自 动内存管理的关键是要实现全系统的垃圾收集技术,这样不仅可以实现对全系统 的内存访问进行管理控制,而且可以提高垃圾收集的效率。 ( 2 ) j a v a 对象内存行为规律的研究 j a v a 对象内存行为规律可以为垃圾收集算法的设计提供重要依据,但目前对 j a v a 运行时程序行为的分析还是基于1 0 多年前的统计数据,由于当时的软硬件环 境和现在差别较大,所以前人的分析数据已经不能满足需求。 针对这一问题,本文设计实现了j a v a 对象生命行为的追踪统计框架和e m e r l i n 精确追踪算法,实现了对象生命事件的精确追踪。应用此框架对s p e c j v m 9 8 中的 测试程序进行追踪后,通过对结果的分类解析发现:1 ) j a v a 对象几乎平均分布在5 个范围之内( ( o ,1 6 字节、( 1 6 - 2 4 】字节、( 2 4 3 2 字节、( 3 2 ,6 4 1 字节、( 6 4 ,1 2 8 】) , 每类对象中,边界对象( 1 6 字节、2 4 字节、3 2 字节、6 4 字节和1 2 8 字节的对象) 占绝大多数;2 ) j a v a 对象在内存中的组织类似一个深度很浅的大胖树,在根下,挂 了很多小的j a v a 对象簇,而且对象聚集成簇的现象非常普遍。 ( 3 ) 全系统垃圾收集算法f s m c 目前的垃圾收集算法都是针对应用进程设计的,如果直接作为系统的垃圾收 集算法,由于不能和系统的内存管理相配合,所以性能低下。针对这一问题,本 文深入研究了经典垃圾收集算法( 引用计数、标记清扫、半区复制和分代算法) 和新型垃圾收集算法( 火车算法,m a r k c o p y 算法) 的原理,并分析了每种算法的 优势与缺陷。基于m a r k c o p y 算法,利用系统内存管理机制和j a v a 对象的内存行 为规律,本文设计实现了全系统垃圾收集算法- f s m c ( f u us y s t e mm a r k c o p y ) 。 经过测试,f s m c 算法相对于m a r k c o p y 算法节省了2 0 以上的时间,取得了较 好的效果。 第4 页 国防科学技术大学研究生院硕士学位论文 ( 4 ) j u n i c o r n 原型系统 为了研究j a v a 操作系统的设计和实现问题,本文基于x 8 6 平台设计实现了j a v a 原型系统j u n i c o m 。j u n i c o m 硬件抽象层采用c 和汇编语言实现,完成系统的引导 和硬件设备的初始化并对上层提供基本的硬件控制与中断处理服务。微内核层基 于j i k e s r v m 实现了动态编译引擎,基于分代式垃圾收集算法实现了系统垃圾收集 器,并设计了中断异常服务的框架,目前可以处理x 8 6 中的大多数异常( 如缺页 异常,除法异常等) ,提供了时钟和键盘中断服务。目前系统支持键盘和显示器 两种设备,可以在华硕e p c 上运行s p e c j v m 9 8 中的测试程序。 1 3 论文结构 本文一共分为七章,章节之间的关系如图1 4 所示。第一章介绍了本文的背景 和研究现状,概括了本文的主要工作。第二章研究了j a v a 操作系统的体系结构设 计技术,是后续章节的基础和依据。第三章重点研究了j a v a 对象的内存行为规律, 为第四章全系统垃圾收集算法的设计提供了依据。第四章研究了全系统垃圾收集 技术,设计实现了全系统垃圾收集算法f s m c 。第五章和第六章结合前面的工作, 重点研究了j a v a 操作系统的实现技术,设计实现了j u n i c o r n 原型系统。论文具体 结构如下文所述: 图1 4 本文各章节之间的关系 第一章为绪论,首先介绍了本文研究工作的背景,阐明了j a v a 操作系统所面 临的挑战,然后介绍了j a v a 操作系统的研究现状和不足,最后对本文的主要工作 进行归纳,并对论文的结构进行介绍。 第二章主要研究了j a v a 操作系统体系结构技术,设计了j a v a 操作系统的体系 结构,研究了进程软隔离技术和全系统垃圾收集技术。 第三章设计了j a v a 对象的内存行为统计框架,实现了e m e r l i n 精确追踪算法, 第5 页 国防科学技术大学研究生院硕士学位论文 通过追踪s p e c j v m 9 8 中的测试程序得出了j a v a 对象的行为规律。 第四章首先研究了j a v a 垃圾收集算法的原理并分析了它们的优缺点,然后结 合m a r k c o p y 算法和j a v a 内存行为规律设计实现了全系统垃圾收集算法f s m c , 并对m a r k c o p y 和f s m c 算法的性能进行了评测。 第五章首先结合j a v a 虚拟机j i k e s r v m 分析了j a v a 的动态编译技术,并对 j i k e s r v m 的性能进行了评测。然后研究了如何基于现有的开源j a v a 虚拟机来设计 和实现j a v a 操作系统的动态编译引擎。 第六章介绍了我们自行设计开发的j u n i c o m 原型系统,以及基于全系统模拟 器s i m i c s 开发的j a v a 系统调试器。研究了j a v a 操作系统的硬件抽象层和微内核层 的设计和实现技术。 第七章对已经完成的工作做了总结,并对未来工作进行了展望。 第6 页 国防科学技术大学研究生院硕士学位论文 第二章j a v a 操作系统的体系结构设计 体系结构的设计是操作系统的基础,针对j a v a 语言的平台无关性和类型安全 的特点,结合现代操作系统的体系结构,本章设计了新型的j a v a 操作系统的总统 结构,提出了适合j a v a 操作系统的进程软隔离技术和自动内存管理技术。 2 1 1 类型安全 2 1j a v a 语言的特点 j a v a 是类型安全的语言,程序中的一切变量都是对象,不同类型的对象通过 引用关系联系在一起 4 1 。j a v a 程序中,访问一个变量的唯一途径是通过引用来访问, 而不像c + + 还可以通过指针来访问。这样,通过对象的引用就可以访问到所有的 存活对象,访问不到的对象就是垃圾对象。j a v a 语言的这个特性使j a v a 虚拟机对 j a v a 对象的管理非常方便和可靠,也是垃圾回收正确实行的基础。 2 1 2 平台无关 用j a v a 语言编写的程序编译为c a l s s 文件后,可以不加修改的在其它平台运行, 这就是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 虚拟机的执 行,而虚拟机只相当于操作系统的一个普通的进程。 2 1 3 垃圾收集 j a v a 语言中引入了垃圾收集器负责对象的分配和回收,它负责管理j a v a 虚拟 机的堆空间,相当于j a v

温馨提示

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

评论

0/150

提交评论