[發(fā)明專利]硬件化的進(jìn)程內(nèi)存管理核的方法無效
| 申請(qǐng)?zhí)枺?/td> | 200810062346.9 | 申請(qǐng)日: | 2008-05-09 |
| 公開(公告)號(hào): | CN101315602A | 公開(公告)日: | 2008-12-03 |
| 發(fā)明(設(shè)計(jì))人: | 陳天洲;張楠;謝斌;嚴(yán)力科;章鐵飛;項(xiàng)凌翔;王罡;陳劍;馮德貴;陳度 | 申請(qǐng)(專利權(quán))人: | 浙江大學(xué) |
| 主分類號(hào): | G06F9/44 | 分類號(hào): | G06F9/44;G06F9/46 |
| 代理公司: | 杭州中成專利事務(wù)所有限公司 | 代理人: | 唐銀益 |
| 地址: | 310027浙*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 硬件 進(jìn)程 內(nèi)存 管理 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及硬件化的操作系統(tǒng)設(shè)計(jì),更具體的說,是涉及一種硬件化的進(jìn)程內(nèi)存管理核的方法。?
背景技術(shù)
隨著計(jì)算機(jī)應(yīng)用在人們生活中普及,依靠計(jì)算機(jī)進(jìn)行自動(dòng)化的管理,控制,計(jì)算和服務(wù)處理變得越來越重要。特別在金融,工業(yè),控制等領(lǐng)域,除了需要保證計(jì)算機(jī)可靠與安全,對(duì)處理速度,響應(yīng)時(shí)間高效性的需求也顯得非常重要。?
同時(shí)由于互聯(lián)網(wǎng)的飛速發(fā)展,大型服務(wù)器和某些專門用于實(shí)時(shí)任務(wù)處理的機(jī)器需要服務(wù)的響應(yīng)和請(qǐng)求的處理有非常高的速度。但是,軟件的使用限制了速度的進(jìn)一步提升。作為軟件管理者的操作系統(tǒng)也實(shí)際上成為了速度提升的瓶頸。因此出現(xiàn)了許多針對(duì)原有操作系統(tǒng)的改進(jìn)版本,Linux2.4版本里時(shí)鐘的最小粒度為10毫秒,而Linux2.6將時(shí)鐘粒度降低到1毫秒,但這還遠(yuǎn)達(dá)不到實(shí)時(shí)系統(tǒng)的要求。RTLinux通過將任務(wù)分解成實(shí)時(shí)部分和非實(shí)時(shí)部分,在原有操作系統(tǒng)核的基礎(chǔ)上進(jìn)一步獨(dú)立出實(shí)時(shí)核來專門處理和分發(fā)實(shí)時(shí)任務(wù),提高了響應(yīng)速度,幾乎可以達(dá)到了十幾個(gè)微秒級(jí)的調(diào)度粒度。但是,一味地提高時(shí)鐘粒度會(huì)使調(diào)度的開銷增大,也就是說當(dāng)時(shí)鐘粒度小到某個(gè)極限時(shí),系統(tǒng)的性能不會(huì)因?yàn)闀r(shí)鐘頻率的增加而提高了。?
另外,軟件技術(shù)的改進(jìn)受到的硬件本身的制約,只有能夠通過硬件本身的改進(jìn)來進(jìn)行加速,才能取得好的效果。比如,在Intel公司每次對(duì)處理器的改進(jìn)上,都會(huì)加入一些新的指令針對(duì)特定的應(yīng)用程序進(jìn)行加速,比如在SSE4指令集中過提供了一條新的計(jì)算CRC(Cyclic?Redundancy?Check)指令,因此數(shù)據(jù)的集成檢查可以更加迅速的完成。而且,軟件存在于內(nèi)存中,容易被惡意的代碼進(jìn)行篡改,盡管安全防護(hù)技術(shù)層出不窮,但相比于實(shí)現(xiàn)同樣功能的硬件單元,軟件的安全性就略顯不足。?
因此,將操作系統(tǒng)中與調(diào)度性能直接相關(guān)的進(jìn)程內(nèi)存管理,包括頁表創(chuàng)建,?切換,頁面映射等功能設(shè)計(jì)成硬件,可以消除軟件處理時(shí)的瓶頸,同時(shí)能夠進(jìn)一步減少由于時(shí)鐘粒度的細(xì)化而帶來的額外調(diào)度開銷,提高整個(gè)系統(tǒng)的工作效率。?
發(fā)明內(nèi)容
本發(fā)明的主要目的在于克服現(xiàn)有技術(shù)中的不足,提供一種涉及硬件化的進(jìn)程內(nèi)存管理核的方法。?
為了解決上述技術(shù)問題,本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的。?
硬件化的進(jìn)程內(nèi)存管理核的方法,包括以下步驟:?
(1)進(jìn)程頁表的創(chuàng)建:?
讀入要?jiǎng)?chuàng)建頁表的進(jìn)程的進(jìn)程號(hào)PID,在進(jìn)程號(hào)與頁表基地址轉(zhuǎn)換表中找到進(jìn)程號(hào)所對(duì)應(yīng)的表項(xiàng),并將進(jìn)程頁表的基地址,即PID*1024寫入該表項(xiàng)中;?
(2)進(jìn)程虛擬地址到硬件地址的映射:?
根據(jù)輸入的進(jìn)程號(hào)PID,計(jì)算出該進(jìn)程的頁表基地址,利用輸入的虛擬地址的高10位作為索引,找到頁表中該虛擬地址對(duì)應(yīng)的項(xiàng),檢查表項(xiàng)中的合法位是否置位,如果已經(jīng)置位則操作失敗,將用于指示操作是否成功的寄存器suc賦值為0,表示操作失敗;否則將物理地址的高10位填入該表項(xiàng)中并將表項(xiàng)中的合法位置位,該合法位標(biāo)識(shí)了該虛擬頁已經(jīng)被映射使用;?
(3)進(jìn)程虛擬地址到硬件地址的取消映射:?
根據(jù)輸入的進(jìn)程號(hào)PID,計(jì)算出該進(jìn)程的頁表基地址,利用輸入的虛擬地址的高10位作為索引,找到頁表中該虛擬地址對(duì)應(yīng)的項(xiàng),將表項(xiàng)中的合法位清除,表示該虛擬頁已經(jīng)被釋放;?
(4)進(jìn)程頁表的切換:?
首先將切換前運(yùn)行的進(jìn)程PID存儲(chǔ)到用來記錄上一個(gè)運(yùn)行進(jìn)程PID號(hào)寄存器last_pid中,然后將輸入的進(jìn)程PID號(hào)賦給標(biāo)志當(dāng)前運(yùn)行進(jìn)程PID的寄存器curr_pid;?
(5)進(jìn)程頁表的刪除:?
讀入要?jiǎng)?chuàng)建頁表的進(jìn)程的進(jìn)程號(hào)PID,在進(jìn)程號(hào)與頁表基地址轉(zhuǎn)換表中找到進(jìn)程號(hào)所對(duì)應(yīng)的表項(xiàng),并將該表項(xiàng)清空,表明該進(jìn)程的頁表映射已經(jīng)完全失效,同時(shí)要將實(shí)際頁表中所有項(xiàng)的合法位清空;?
(6)進(jìn)程虛擬地址到物理地址的轉(zhuǎn)換:?
將輸入虛擬地址的前10位作為索引,首先在TLB(頁表緩沖)中進(jìn)行查找,如果查找到則直接返回物理地址;否則以curr_pid計(jì)算出當(dāng)前進(jìn)程頁表的基地址,在該頁表中選擇出對(duì)應(yīng)的表項(xiàng);然后檢查該表項(xiàng)的合法位,如果該位為零則表明無此虛擬地址,程序訪問錯(cuò)誤,置suc為0;否則將表項(xiàng)中存儲(chǔ)的物理地址高10位讀出到PA寄存器(輸出物理地址寄存器)中和TLB的對(duì)應(yīng)項(xiàng)中;TLB的替換策略采用先進(jìn)先出的替換策略。?
作為一種改進(jìn),進(jìn)程頁表創(chuàng)建、刪除、切換、虛擬地址映射、反映射以及虛擬地址到物理地址的轉(zhuǎn)換由硬件來完成,可降低進(jìn)程切換時(shí)的開銷,提高進(jìn)程切換時(shí)效率。?
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:?
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浙江大學(xué),未經(jīng)浙江大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810062346.9/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 一種進(jìn)程自動(dòng)恢復(fù)方法
- 進(jìn)程啟動(dòng)方法及內(nèi)核、進(jìn)程
- 一種進(jìn)程間的通信方法和裝置
- 進(jìn)程解析裝置、進(jìn)程解析方法和進(jìn)程解析程序
- 32位進(jìn)程和64位進(jìn)程交叉注入方法及裝置
- 一種應(yīng)用進(jìn)程控制方法及裝置
- 插件下載方法及裝置
- 進(jìn)程間的數(shù)據(jù)傳輸方法和裝置
- 進(jìn)程監(jiān)視裝置、進(jìn)程監(jiān)視方法和進(jìn)程監(jiān)視程序
- 一種基于動(dòng)態(tài)監(jiān)測(cè)的進(jìn)程優(yōu)化調(diào)度方法





