新四季網

Java作業系統中段頁式虛擬存儲系統的實現方法

2023-05-26 23:33:51 1

專利名稱:Java作業系統中段頁式虛擬存儲系統的實現方法
技術領域:
本發明涉及Java程序設計語言和作業系統技術,特別是涉及到一種Java作業系統中段頁式虛擬存儲系統的實現方法。
背景技術:
Java語言是由Sun公司推出的跨平臺面向對象高級程序設計語言,目前正在各個領域取得越來越重要的地位,已經成為最重要的程序設計語言之一。
Java語言的可執行代碼是編譯以後統一標準的Java字節碼(Byte Code),只要在一個平臺上有Java虛擬機,那麼所有的Java可執行代碼都可以在這個Java虛擬機支持之下運行,因而Java具有跨平臺的優良特性。
Java作業系統是一種全新的獨立的基於Java的作業系統。這種方式省去了虛擬機到作業系統那一層的通訊和調度,因而較之虛擬機的方式有效率的提高。在Java作業系統中使用比較多的存儲管理方法有連續地址存儲,分段存儲,分頁存儲等。連續地址存儲的缺點在於,當使用一段時間之後,主存中將會出現大量的碎片,這時必須移動數據來獲得連續的主存空間,這樣開銷比較大。分頁存儲中,將主存空間分為大小相等的頁,這樣避免了碎片的產生,節省了移動數據的開銷,但是,分頁沒有完整的邏輯意義。而在分段存儲中,可以根據用戶程序的特點來進行段的劃分,具有完整的邏輯意義,但是由於段的長度不等,所以會產生碎片。因此段頁式存儲十分必要。
在頁面調度中一般採用先進先出或者近似最近最少使用法。先進先出的方法效率較低,引起的缺頁率頁很高。而近似最近最少使用法,一般採用過一段時間將引用標誌位清0來實現,這種方法t的大小不易確定,而且精確性差,很難挑選出應該淘汰的頁面。所以需要一種改進的方法。

發明內容
本發明的目的在於提供一種Java作業系統中段頁式虛擬存儲系統的實現方法。
本發明解決其技術問題採用的技術方案如下1、一種Java作業系統中段頁式虛擬存儲系統的實現方法,其特徵在於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、在虛擬存儲中,只有一部分頁面被調入主存,其他頁面放在輔存中。當主存中頁面訪問缺失時發生缺頁中斷,需要將頁面從輔存調入,如果此時主存已經沒有剩餘的空間,就必須通過頁面調度算法,將不用的頁面調出到輔存,然後再調入新的頁面;II、頁面調度採用時鐘頁面調度方法。首先在每個頁面上設置一個訪問標誌位,在頁面被調入主存時,該位被設置為0,如果被訪問過之後,該位被置為1。所有在主存中的頁面構成一個循環隊列,有一個指針指向某一個頁面,如圖3所示。當有頁面需要被換出時,首先檢查指針指向的頁面,如果標誌位為0,則將其換出,並把新頁插入這個位置,然後指針前移一個位置;否則如果標誌位為1,則將其清0,指針前移一個位置,繼續重複上述過程直到找到一個訪問位為0的頁面將其換出。這樣可以將近似的最近最少訪問的頁面換出,流程見圖4。
本Java作業系統軟體已經向中華人民共和國版權局申請計算機軟體著作權登記。
權利要求
1.一種Java作業系統中段頁式虛擬存儲系統的實現方法,其特徵在於1)分段方法I、Java作業系統為用戶作業中需要放入主存的每一段分配一塊連續的存儲空間,並且建立局部描述符表和全局描述符表;II、一個段描述符由8個字節構成,包括段基址、長度、G、D、O、P、DPL、S和A位;2)段內分頁方法I、Java作業系統將段內存儲空間分成大小相等的頁,並建立頁表來實現頁面的訪問;II、將頁表的一部分放入一個專用的高速存儲器,形成快表,程序訪問數據時,會先訪問快表,只有當訪問快表沒有命中時,才會訪問主存,這樣可以提高存取速度;3)存儲訪問方法I、邏輯地址包括選擇符和偏移;II、通過邏輯地址中的選擇符在描述符表中查找相應的描述符,其中基址與邏輯地址中的偏移一起形成線性地址;III、線性地址包括頁目錄號、頁表號以及頁內偏移;IV、首先使用線性地址中的頁目錄號在頁目錄中查找頁表,然後在頁表中通過頁表號來查找頁,最後通過頁內偏移來得到物理地址,實現真正的數據訪問;4)缺頁的處理方法I、當主存中頁面訪問缺失時發生缺頁中斷,需要將頁面換出,並通過頁面調度調入新的頁面;II、頁面調度採用時鐘頁面調度方法,通過循環檢測訪問位來查找最近最少訪問的頁面進行換出。
全文摘要
本發明公開了一種Java作業系統中段頁式虛擬存儲系統的實現方法。這種方法採用先分段,然後在段內分頁來實現了在Java作業系統中的存儲系統管理。這種方法使得Java程序可以在足夠大的虛擬空間上運行,不但可以保證每一段擁有完整邏輯意義,又能夠儘量減少內存碎片的產生。本發明對於面向嵌入式系統的Java作業系統,有重大的意義。
文檔編號G06F12/08GK1794209SQ20061004913
公開日2006年6月28日 申請日期2006年1月17日 優先權日2006年1月17日
發明者陳天洲, 戴鴻君, 田曉帆, 黃彧 申請人:浙江大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀