当前位置: 首页 > 专利查询>浙江大学专利>正文

Java操作系统中段页式虚拟存储系统的实现方法技术方案

技术编号:2852090 阅读:764 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种Java操作系统中段页式虚拟存储系统的实现方法。这种方法采用先分段,然后在段内分页来实现了在Java操作系统中的存储系统管理。这种方法使得Java程序可以在足够大的虚拟空间上运行,不但可以保证每一段拥有完整逻辑意义,又能够尽量减少内存碎片的产生。本发明专利技术对于面向嵌入式系统的Java操作系统,有重大的意义。

【技术实现步骤摘要】

本专利技术涉及Java程序设计语言和操作系统技术,特别是涉及到一种。
技术介绍
Java语言是由Sun公司推出的跨平台面向对象高级程序设计语言,目前正在各个领域取得越来越重要的地位,已经成为最重要的程序设计语言之一。Java语言的可执行代码是编译以后统一标准的Java字节码(Byte Code),只要在一个平台上有Java虚拟机,那么所有的Java可执行代码都可以在这个Java虚拟机支持之下运行,因而Java具有跨平台的优良特性。Java操作系统是一种全新的独立的基于Java的操作系统。这种方式省去了虚拟机到操作系统那一层的通讯和调度,因而较之虚拟机的方式有效率的提高。在Java操作系统中使用比较多的存储管理方法有连续地址存储,分段存储,分页存储等。连续地址存储的缺点在于,当使用一段时间之后,主存中将会出现大量的碎片,这时必须移动数据来获得连续的主存空间,这样开销比较大。分页存储中,将主存空间分为大小相等的页,这样避免了碎片的产生,节省了移动数据的开销,但是,分页没有完整的逻辑意义。而在分段存储中,可以根据用户程序的特点来进行段的划分,具有完整的逻辑意义,但是由于段的长度不等,所以会产生碎片。因此段页式存储十分必要。在页面调度中一般采用先进先出或者近似最近最少使用法。先进先出的方法效率较低,引起的缺页率页很高。而近似最近最少使用法,一般采用过一段时间将引用标志位清0来实现,这种方法t的大小不易确定,而且精确性差,很难挑选出应该淘汰的页面。所以需要一种改进的方法。
技术实现思路
本专利技术的目的在于提供一种。本专利技术解决其技术问题采用的技术方案如下1、一种,其特征在于1)分段方法I、Java操作系统为用户作业中需要放入主存的每一段分配一块连续的存储空间,并且建立局部描述符表和全局描述符表;II、一个段描述符由8个字节构成,包括段基址、长度和其他信息;2)段内分页方法I、Java操作系统将段内存储空间分成大小相等的页,并建立页表来实现页面的访问;II、将页表的一部分放入一个专用的高速存储器,形成快表,程序访问数据时,会先访问快表,只有当访问快表没有命中时,才会访问主存,这样可以提高存取速度;3)存储访问方法I、逻辑地址包括选择符和偏移;II、通过逻辑地址中的选择符在描述符表中查找相应的描述符,描述符包含段基址、长度和其他信息,其中基址与逻辑地址中的偏移一起形成线性地址;III、线性地址包括页目录号、页表号、以及页内偏移;IV、首先使用线性地址中的页目录号在页目录中查找页表,然后在页表中通过页表号来查找页,最后通过页内偏移来得到物理地址,实现真正的数据访问;4)缺页的处理方法I、当主存中页面访问缺失时发生缺页中断,需要将页面换出,并通过页面调度调入新的页面;II、页面调度采用时钟页面调度方法,通过循环检测访问位来查找最近最少访问的页面进行换出。本专利技术与
技术介绍
相比,具有的有益的效果是采用段页式存储结构,先按照程序的逻辑意义来分段,然后在每一段内再分为大小相等的页,这样既保留了段的逻辑意义,又能够以页作为存储调度的最小单位,避免了存储空间碎片的产生。在页面调度算法方面采用时钟页面调度方法,通过循环检测访问位来查找最近最少访问的页面进行换出。这样能够获得较高的性能和较低的缺页率。附图说明图1是段描述符的结构图;图2是主存中段页式寻址方式示意图;图3是时钟调度算法构造的循环队列图;图4是图3的实现流程图。具体实施例方式1)分段方法I、Java操作系统为用户作业中需要放入主存的每一段代码、数据等分配一块连续的存储空间,称为段。根据段的不同用途可分为数据段、堆栈段、代码段、扩展数据段等等。并且建立局部描述符表LDT和全局描述符表GDT。局部描述符LDT表描述局部于每个程序的段,包括代码、数据、堆栈等;全局描述符表GDT描述系统段,包括操作系统自己。II、一个段描述符由8个字节构成,包括段基址、长度和其他信息,如图1所示。其中●基地址共32位,分三处合并,生成内存段的首址,加上32位偏移形成内存地址。●长度位共20位,限定段描述符寻址的内存段的长度,计量单位可以是字节或页。●G位用于描述颗粒大小,即段长度的计量单位。G=0表示长度以字节为单位;G=1表示长度以页为单位。●D位当D=1时,为32位段;当D=0时,为16位段。●P位表示内存段是否在物理主存中,若P=1,表示段在内存中,若P=0,表示段不在内存中。●DPL位表示特权级,用于保护。0为内核级;1为系统调用级,2为共享库级,3为用户程序级。●S位为段位,当S=1时,表示当前段为应用程序;当S=0时,表示描述符将引用内存段外的系统信息。●类型字段表示内存段类型,如可执行代码段、只读数据段、调用门等等。●A位为访问位,表示是否访问过内存段。2)段内分页方法I、Java操作系统将段内存储空间分成大小相等的页。并建立页表,页表中存储有页号、驻留标志、块号、辅存地址、调出标志。作用如下驻留标志用于指出对应页是否已经装入主存,若驻留标志位为0,表明该页没有装入主存,此时可以根据辅存地址知道该页在辅助存储器中的地址。调出标志可以包括修改位、引用位、禁止缓存位和访问位,用来跟踪页的使用。当一个页被修改后,硬件自动设置修改位,一旦修改位被设置,当该页被调出主存时必须重新被写回辅存。引用位则在该页被引用时设置,无论是都或写,它的值被用来帮助操作系统进行页面淘汰。禁止缓存位可以禁止该页被缓存,这一特性对于那些正在与外设进行数据交换的页面时非常重要的。访问位则限定了该页允许什么样的访问,读、写和执行。II、将页表的一部分放入一个专用的高速存储器,形成快表。这个存储器的访问速度比主存的访问速度要快很多。程序访问数据时,首先访问快表,如果命中则直接读取,如果缺失,再去访问主存。页表中放的都是常用的数据页面,以保证较高的命中率,这样可以提高存取速度。例如,访问主存的时间为200毫微秒,访问快表的时间为40毫微秒,快表的命中率可达90%,于是按逻辑地址进行存取的平均时间为(200+40)×90%+(200+200)×10%=256毫微秒比两次访问主存的时间200毫微秒×2=400毫微秒下降了36%3)存储访问方法如图2所示I、逻辑地址包括选择符和偏移,选择符16位,其中最高的13位为索引,最低的第0位和第1位为保护位,另外第2位用来决定是全局描述符表GDT还是局部描述符表LDT。偏移为32位。II、首先通过第2位判断是全局描述符表还是局部描述符表,然后将选择符的最低的3位清0,与描述符表的起始地址相加得到一个直接指向段描述符的指针,通过这个指针来查找出段描述符。首先通过将偏移与段长度作比较,来检查地址的有效性。如果无效,则产生异常,如果有效,就将其中的基址取出并与逻辑地址中的偏移相加形成线性地址。III、32位的线性地址包括10位目录号、10位页表号以及12位的页内偏移。IV、首先从页目录基址寄存器中得到页目录的基地址,再使用线性地址中的目录号在页目录中查找页表,得到页表的基地址,然后在页表中通过页表号来查找页,得到页的基地址,最后通过页的基地址加上页内偏移来得到物理地址,实现真正的数据访问;4)缺页的处理方法I、在虚拟存储中,只有一部分页面被调入主存,其他页面放在辅存中。当主存中页面访问本文档来自技高网
...

【技术保护点】
一种Java操作系统中段页式虚拟存储系统的实现方法,其特征在于:1)分段方法Ⅰ、Java操作系统为用户作业中需要放入主存的每一段分配一块连续的存储空间,并且建立局部描述符表和全局描述符表;Ⅱ、一个段描述符由8个字节构 成,包括段基址、长度、G、D、O、P、DPL、S和A位;2)段内分页方法Ⅰ、Java操作系统将段内存储空间分成大小相等的页,并建立页表来实现页面的访问;Ⅱ、将页表的一部分放入一个专用的高速存储器,形成快表,程序访问数 据时,会先访问快表,只有当访问快表没有命中时,才会访问主存,这样可以提高存取速度;3)存储访问方法Ⅰ、逻辑地址包括选择符和偏移;Ⅱ、通过逻辑地址中的选择符在描述符表中查找相应的描述符,其中基址与逻辑地址中的偏移一起形 成线性地址;Ⅲ、线性地址包括页目录号、页表号以及页内偏移;Ⅳ、首先使用线性地址中的页目录号在页目录中查找页表,然后在页表中通过页表号来查找页,最后通过页内偏移来得到物理地址,实现真正的数据访问;4)缺页的处理方法 Ⅰ、当主存中页面访问缺失时发生缺页中断,需要将页面换出,并通过页面调度调入新的页面;Ⅱ、页面调度采用时钟页面调度方法,通过循环检测访问位来查找最近最少访问的页面进行换出。...

【技术特征摘要】
1.一种Java操作系统中段页式虚拟存储系统的实现方法,其特征在于1)分段方法I、Java操作系统为用户作业中需要放入主存的每一段分配一块连续的存储空间,并且建立局部描述符表和全局描述符表;II、一个段描述符由8个字节构成,包括段基址、长度、G、D、O、P、DPL、S和A位;2)段内分页方法I、Java操作系统将段内存储空间分成大小相等的页,并建立页表来实现页面的访问;II、将页表的一部分放入一个专用的高速存储器,形成快表,程序访问数据时,会先访问快表,只有当访问快表没有命中时,才会访问主存,这样可以提高存取速度;3...

【专利技术属性】
技术研发人员:陈天洲戴鸿君田晓帆黄彧
申请(专利权)人:浙江大学
类型:发明
国别省市:86[中国|杭州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1