欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

Java操作系統(tǒng)中段頁式虛擬存儲系統(tǒng)的實(shí)現(xiàn)方法

文檔序號:6556454閱讀:570來源:國知局
專利名稱:Java操作系統(tǒng)中段頁式虛擬存儲系統(tǒng)的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及Java程序設(shè)計(jì)語言和操作系統(tǒng)技術(shù),特別是涉及到一種Java操作系統(tǒng)中段頁式虛擬存儲系統(tǒng)的實(shí)現(xiàn)方法。
背景技術(shù)
Java語言是由Sun公司推出的跨平臺面向?qū)ο蟾呒壋绦蛟O(shè)計(jì)語言,目前正在各個(gè)領(lǐng)域取得越來越重要的地位,已經(jīng)成為最重要的程序設(shè)計(jì)語言之一。
Java語言的可執(zhí)行代碼是編譯以后統(tǒng)一標(biāo)準(zhǔn)的Java字節(jié)碼(Byte Code),只要在一個(gè)平臺上有Java虛擬機(jī),那么所有的Java可執(zhí)行代碼都可以在這個(gè)Java虛擬機(jī)支持之下運(yùn)行,因而Java具有跨平臺的優(yōu)良特性。
Java操作系統(tǒng)是一種全新的獨(dú)立的基于Java的操作系統(tǒng)。這種方式省去了虛擬機(jī)到操作系統(tǒng)那一層的通訊和調(diào)度,因而較之虛擬機(jī)的方式有效率的提高。在Java操作系統(tǒng)中使用比較多的存儲管理方法有連續(xù)地址存儲,分段存儲,分頁存儲等。連續(xù)地址存儲的缺點(diǎn)在于,當(dāng)使用一段時(shí)間之后,主存中將會出現(xiàn)大量的碎片,這時(shí)必須移動(dòng)數(shù)據(jù)來獲得連續(xù)的主存空間,這樣開銷比較大。分頁存儲中,將主存空間分為大小相等的頁,這樣避免了碎片的產(chǎn)生,節(jié)省了移動(dòng)數(shù)據(jù)的開銷,但是,分頁沒有完整的邏輯意義。而在分段存儲中,可以根據(jù)用戶程序的特點(diǎn)來進(jìn)行段的劃分,具有完整的邏輯意義,但是由于段的長度不等,所以會產(chǎn)生碎片。因此段頁式存儲十分必要。
在頁面調(diào)度中一般采用先進(jìn)先出或者近似最近最少使用法。先進(jìn)先出的方法效率較低,引起的缺頁率頁很高。而近似最近最少使用法,一般采用過一段時(shí)間將引用標(biāo)志位清0來實(shí)現(xiàn),這種方法t的大小不易確定,而且精確性差,很難挑選出應(yīng)該淘汰的頁面。所以需要一種改進(jìn)的方法。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種Java操作系統(tǒng)中段頁式虛擬存儲系統(tǒng)的實(shí)現(xiàn)方法。
本發(fā)明解決其技術(shù)問題采用的技術(shù)方案如下1、一種Java操作系統(tǒng)中段頁式虛擬存儲系統(tǒng)的實(shí)現(xiàn)方法,其特征在于1)分段方法I、Java操作系統(tǒng)為用戶作業(yè)中需要放入主存的每一段分配一塊連續(xù)的存儲空間,并且建立局部描述符表和全局描述符表;II、一個(gè)段描述符由8個(gè)字節(jié)構(gòu)成,包括段基址、長度和其他信息;2)段內(nèi)分頁方法I、Java操作系統(tǒng)將段內(nèi)存儲空間分成大小相等的頁,并建立頁表來實(shí)現(xiàn)頁面的訪問;II、將頁表的一部分放入一個(gè)專用的高速存儲器,形成快表,程序訪問數(shù)據(jù)時(shí),會先訪問快表,只有當(dāng)訪問快表沒有命中時(shí),才會訪問主存,這樣可以提高存取速度;3)存儲訪問方法I、邏輯地址包括選擇符和偏移;II、通過邏輯地址中的選擇符在描述符表中查找相應(yīng)的描述符,描述符包含段基址、長度和其他信息,其中基址與邏輯地址中的偏移一起形成線性地址;III、線性地址包括頁目錄號、頁表號、以及頁內(nèi)偏移;IV、首先使用線性地址中的頁目錄號在頁目錄中查找頁表,然后在頁表中通過頁表號來查找頁,最后通過頁內(nèi)偏移來得到物理地址,實(shí)現(xiàn)真正的數(shù)據(jù)訪問;4)缺頁的處理方法I、當(dāng)主存中頁面訪問缺失時(shí)發(fā)生缺頁中斷,需要將頁面換出,并通過頁面調(diào)度調(diào)入新的頁面;II、頁面調(diào)度采用時(shí)鐘頁面調(diào)度方法,通過循環(huán)檢測訪問位來查找最近最少訪問的頁面進(jìn)行換出。
本發(fā)明與背景技術(shù)相比,具有的有益的效果是采用段頁式存儲結(jié)構(gòu),先按照程序的邏輯意義來分段,然后在每一段內(nèi)再分為大小相等的頁,這樣既保留了段的邏輯意義,又能夠以頁作為存儲調(diào)度的最小單位,避免了存儲空間碎片的產(chǎn)生。
在頁面調(diào)度算法方面采用時(shí)鐘頁面調(diào)度方法,通過循環(huán)檢測訪問位來查找最近最少訪問的頁面進(jìn)行換出。這樣能夠獲得較高的性能和較低的缺頁率。


圖1是段描述符的結(jié)構(gòu)圖;圖2是主存中段頁式尋址方式示意圖;圖3是時(shí)鐘調(diào)度算法構(gòu)造的循環(huán)隊(duì)列圖;圖4是圖3的實(shí)現(xiàn)流程圖。
具體實(shí)施例方式
1)分段方法I、Java操作系統(tǒng)為用戶作業(yè)中需要放入主存的每一段代碼、數(shù)據(jù)等分配一塊連續(xù)的存儲空間,稱為段。根據(jù)段的不同用途可分為數(shù)據(jù)段、堆棧段、代碼段、擴(kuò)展數(shù)據(jù)段等等。并且建立局部描述符表LDT和全局描述符表GDT。局部描述符LDT表描述局部于每個(gè)程序的段,包括代碼、數(shù)據(jù)、堆棧等;全局描述符表GDT描述系統(tǒng)段,包括操作系統(tǒng)自己。
II、一個(gè)段描述符由8個(gè)字節(jié)構(gòu)成,包括段基址、長度和其他信息,如圖1所示。其中●基地址共32位,分三處合并,生成內(nèi)存段的首址,加上32位偏移形成內(nèi)存地址。
●長度位共20位,限定段描述符尋址的內(nèi)存段的長度,計(jì)量單位可以是字節(jié)或頁。
●G位用于描述顆粒大小,即段長度的計(jì)量單位。G=0表示長度以字節(jié)為單位;G=1表示長度以頁為單位。
●D位當(dāng)D=1時(shí),為32位段;當(dāng)D=0時(shí),為16位段。
●P位表示內(nèi)存段是否在物理主存中,若P=1,表示段在內(nèi)存中,若P=0,表示段不在內(nèi)存中。
●DPL位表示特權(quán)級,用于保護(hù)。0為內(nèi)核級;1為系統(tǒng)調(diào)用級,2為共享庫級,3為用戶程序級。
●S位為段位,當(dāng)S=1時(shí),表示當(dāng)前段為應(yīng)用程序;當(dāng)S=0時(shí),表示描述符將引用內(nèi)存段外的系統(tǒng)信息。
●類型字段表示內(nèi)存段類型,如可執(zhí)行代碼段、只讀數(shù)據(jù)段、調(diào)用門等等。
●A位為訪問位,表示是否訪問過內(nèi)存段。
2)段內(nèi)分頁方法I、Java操作系統(tǒng)將段內(nèi)存儲空間分成大小相等的頁。并建立頁表,頁表中存儲有頁號、駐留標(biāo)志、塊號、輔存地址、調(diào)出標(biāo)志。作用如下駐留標(biāo)志用于指出對應(yīng)頁是否已經(jīng)裝入主存,若駐留標(biāo)志位為0,表明該頁沒有裝入主存,此時(shí)可以根據(jù)輔存地址知道該頁在輔助存儲器中的地址。調(diào)出標(biāo)志可以包括修改位、引用位、禁止緩存位和訪問位,用來跟蹤頁的使用。當(dāng)一個(gè)頁被修改后,硬件自動(dòng)設(shè)置修改位,一旦修改位被設(shè)置,當(dāng)該頁被調(diào)出主存時(shí)必須重新被寫回輔存。引用位則在該頁被引用時(shí)設(shè)置,無論是都或?qū)?,它的值被用來幫助操作系統(tǒng)進(jìn)行頁面淘汰。禁止緩存位可以禁止該頁被緩存,這一特性對于那些正在與外設(shè)進(jìn)行數(shù)據(jù)交換的頁面時(shí)非常重要的。訪問位則限定了該頁允許什么樣的訪問,讀、寫和執(zhí)行。
II、將頁表的一部分放入一個(gè)專用的高速存儲器,形成快表。這個(gè)存儲器的訪問速度比主存的訪問速度要快很多。程序訪問數(shù)據(jù)時(shí),首先訪問快表,如果命中則直接讀取,如果缺失,再去訪問主存。頁表中放的都是常用的數(shù)據(jù)頁面,以保證較高的命中率,這樣可以提高存取速度。例如,訪問主存的時(shí)間為200毫微秒,訪問快表的時(shí)間為40毫微秒,快表的命中率可達(dá)90%,于是按邏輯地址進(jìn)行存取的平均時(shí)間為(200+40)×90%+(200+200)×10%=256毫微秒比兩次訪問主存的時(shí)間200毫微秒×2=400毫微秒下降了36%3)存儲訪問方法如圖2所示I、邏輯地址包括選擇符和偏移,選擇符16位,其中最高的13位為索引,最低的第0位和第1位為保護(hù)位,另外第2位用來決定是全局描述符表GDT還是局部描述符表LDT。偏移為32位。
II、首先通過第2位判斷是全局描述符表還是局部描述符表,然后將選擇符的最低的3位清0,與描述符表的起始地址相加得到一個(gè)直接指向段描述符的指針,通過這個(gè)指針來查找出段描述符。
首先通過將偏移與段長度作比較,來檢查地址的有效性。如果無效,則產(chǎn)生異常,如果有效,就將其中的基址取出并與邏輯地址中的偏移相加形成線性地址。
III、32位的線性地址包括10位目錄號、10位頁表號以及12位的頁內(nèi)偏移。
IV、首先從頁目錄基址寄存器中得到頁目錄的基地址,再使用線性地址中的目錄號在頁目錄中查找頁表,得到頁表的基地址,然后在頁表中通過頁表號來查找頁,得到頁的基地址,最后通過頁的基地址加上頁內(nèi)偏移來得到物理地址,實(shí)現(xiàn)真正的數(shù)據(jù)訪問;4)缺頁的處理方法I、在虛擬存儲中,只有一部分頁面被調(diào)入主存,其他頁面放在輔存中。當(dāng)主存中頁面訪問缺失時(shí)發(fā)生缺頁中斷,需要將頁面從輔存調(diào)入,如果此時(shí)主存已經(jīng)沒有剩余的空間,就必須通過頁面調(diào)度算法,將不用的頁面調(diào)出到輔存,然后再調(diào)入新的頁面;II、頁面調(diào)度采用時(shí)鐘頁面調(diào)度方法。首先在每個(gè)頁面上設(shè)置一個(gè)訪問標(biāo)志位,在頁面被調(diào)入主存時(shí),該位被設(shè)置為0,如果被訪問過之后,該位被置為1。所有在主存中的頁面構(gòu)成一個(gè)循環(huán)隊(duì)列,有一個(gè)指針指向某一個(gè)頁面,如圖3所示。當(dāng)有頁面需要被換出時(shí),首先檢查指針指向的頁面,如果標(biāo)志位為0,則將其換出,并把新頁插入這個(gè)位置,然后指針前移一個(gè)位置;否則如果標(biāo)志位為1,則將其清0,指針前移一個(gè)位置,繼續(xù)重復(fù)上述過程直到找到一個(gè)訪問位為0的頁面將其換出。這樣可以將近似的最近最少訪問的頁面換出,流程見圖4。
本Java操作系統(tǒng)軟件已經(jīng)向中華人民共和國版權(quán)局申請計(jì)算機(jī)軟件著作權(quán)登記。
權(quán)利要求
1.一種Java操作系統(tǒng)中段頁式虛擬存儲系統(tǒng)的實(shí)現(xiàn)方法,其特征在于1)分段方法I、Java操作系統(tǒng)為用戶作業(yè)中需要放入主存的每一段分配一塊連續(xù)的存儲空間,并且建立局部描述符表和全局描述符表;II、一個(gè)段描述符由8個(gè)字節(jié)構(gòu)成,包括段基址、長度、G、D、O、P、DPL、S和A位;2)段內(nèi)分頁方法I、Java操作系統(tǒng)將段內(nèi)存儲空間分成大小相等的頁,并建立頁表來實(shí)現(xiàn)頁面的訪問;II、將頁表的一部分放入一個(gè)專用的高速存儲器,形成快表,程序訪問數(shù)據(jù)時(shí),會先訪問快表,只有當(dāng)訪問快表沒有命中時(shí),才會訪問主存,這樣可以提高存取速度;3)存儲訪問方法I、邏輯地址包括選擇符和偏移;II、通過邏輯地址中的選擇符在描述符表中查找相應(yīng)的描述符,其中基址與邏輯地址中的偏移一起形成線性地址;III、線性地址包括頁目錄號、頁表號以及頁內(nèi)偏移;IV、首先使用線性地址中的頁目錄號在頁目錄中查找頁表,然后在頁表中通過頁表號來查找頁,最后通過頁內(nèi)偏移來得到物理地址,實(shí)現(xiàn)真正的數(shù)據(jù)訪問;4)缺頁的處理方法I、當(dāng)主存中頁面訪問缺失時(shí)發(fā)生缺頁中斷,需要將頁面換出,并通過頁面調(diào)度調(diào)入新的頁面;II、頁面調(diào)度采用時(shí)鐘頁面調(diào)度方法,通過循環(huán)檢測訪問位來查找最近最少訪問的頁面進(jìn)行換出。
全文摘要
本發(fā)明公開了一種Java操作系統(tǒng)中段頁式虛擬存儲系統(tǒng)的實(shí)現(xiàn)方法。這種方法采用先分段,然后在段內(nèi)分頁來實(shí)現(xiàn)了在Java操作系統(tǒng)中的存儲系統(tǒng)管理。這種方法使得Java程序可以在足夠大的虛擬空間上運(yùn)行,不但可以保證每一段擁有完整邏輯意義,又能夠盡量減少內(nèi)存碎片的產(chǎn)生。本發(fā)明對于面向嵌入式系統(tǒng)的Java操作系統(tǒng),有重大的意義。
文檔編號G06F12/08GK1794209SQ20061004913
公開日2006年6月28日 申請日期2006年1月17日 優(yōu)先權(quán)日2006年1月17日
發(fā)明者陳天洲, 戴鴻君, 田曉帆, 黃彧 申請人:浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
普宁市| 昌图县| 卓资县| 雷波县| 二连浩特市| 顺昌县| 兴仁县| 若尔盖县| 皋兰县| 广南县| 菏泽市| 吉林省| 会泽县| 格尔木市| 江门市| 威宁| 万安县| 红原县| 张家界市| 庆城县| 柞水县| 铅山县| 沧源| 闽清县| 华宁县| 延边| 微山县| 佛冈县| 逊克县| 和政县| 大埔县| 望奎县| 邵阳市| 广汉市| 广元市| 勃利县| 宿松县| 兴安盟| 铅山县| 双峰县| 武穴市|