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

靈活高效的跨權限級與域的調用方法

文檔序號:9787222閱讀:462來源:國知局
靈活高效的跨權限級與域的調用方法
【技術領域】
[0001]本發(fā)明涉及計算機系統(tǒng)軟件與體系結構領域。具體涉及靈活高效的跨權限級與域 的調用方法,主要是提出了一種靈活的跨域調用方法,保證安全性的同時提高系統(tǒng)的性能。
【背景技術】
[0002] 計算機系統(tǒng)技術特別是虛擬化技術的革命性發(fā)展為系統(tǒng)軟件棧增加了更多的垂 直層次,目前已經有虛擬機監(jiān)控器、虛擬機管理工具、操作系統(tǒng)和用戶態(tài)程序四種保護層 次。云計算場景的多租戶應用則在一臺計算機的橫向發(fā)展上引入了多重保護域(如虛擬 機)。此外,嵌套虛擬化場景等的逐漸流行,進一步在橫向和縱向上增加了軟件棧的復雜性。
[0003] 復雜性不斷增加的軟件棧為我們帶來了機遇與挑戰(zhàn):一方面,開發(fā)者能夠更自由 地利用不同層次的軟件棧實現(xiàn)多樣化的功能,包括安全增強、功能解耦和可管理度增強等; 另一方面,軟件層次與保護域的增加同樣導致了更加復雜的跨域調用與控制機制。例如一 個跨虛擬機的調用(從一個虛擬機中調用另一個虛擬機的代碼)通常需要在虛擬機之間以 及虛擬機與虛擬機監(jiān)控器之間頻繁的切換。這里的域指的是由處理器權限級、處理器運行 模式與程序地址空間等狀態(tài)所組成的計算環(huán)境,地址空間和模式分別是由頁表和處理器執(zhí) 行模式(如ring級、root或非root模式)決定的。
[0004] 這種復雜的跨域調用與控制機制導致了許多不必要的系統(tǒng)復雜度和性能開銷,其 原因是現(xiàn)有的跨域調用機制不夠靈活。如圖1所示,當前的硬件機制大多只支持從用戶態(tài)程 序到內核態(tài)程序的系統(tǒng)調用(稱為syscall)和從虛擬機到虛擬機監(jiān)控器的調用(稱為 hypercall,也可以稱為vmcall)。因此,一個跨域的調用需要多次往返地經過虛擬機監(jiān)控 器,以檢查調用者的身份并根據請求的具體信息決定是否授權執(zhí)行這樣的調用。
[0005] 更進一步地,跨域調用不單單需要跨越權限級(如從Ring 3到Ring 0)還會跨越 不同的地址空間,這不僅讓跨域調用變得更加復雜、低效,而且由于跨域切換會導致緩存、 快表等命中率低下從而降低整體性能。如圖2所示,當一個虛擬機需要調用另一個虛擬機中 的服務時,理想的調用過程只需要經過2次域切換即可完成;然而現(xiàn)實情況是,該調用過程 需要經過多達9次的域切換,在此過程中產生相當多的性能損耗??缣摂M機調用的系統(tǒng)由于 都需要大量的經過虛擬機監(jiān)控器或是操作系統(tǒng)內核的來回切換,從而導致實現(xiàn)的復雜性和 性能的低下,極大地限制了這類系統(tǒng)的可用性。

【發(fā)明內容】

[0006] 針對現(xiàn)有技術中的缺陷,本發(fā)明的目的是提供一種靈活高效的跨權限級與域的調 用方法,其給出的靈活高效而又安全的跨域調用機制,能夠解決目前域間切換性能低下且 復雜的問題。
[0007] 根據本發(fā)明提供的一種靈活高效的跨權限級與域的調用方法,采用認證與授權分 離的方式;
[0008] 所述認證與授權分離的方式,是指:在發(fā)生域調用時,通過向被調用域傳遞調用域 的信息完成認證,由被調用域決定是否授權該域調用的執(zhí)行。
[0009] 優(yōu)選地,包括調用準備階段步驟;
[0010] 在一次域調用過程中,所述調用準備階段步驟僅執(zhí)行一次;
[0011] 所述調用準備階段步驟,包括如下步驟:
[0012] 步驟A1,調用者與被調用者分別通過一條系統(tǒng)調用指令或虛擬機調用指令調用下 層軟件,并分別將自身域注冊到域表中;
[0013] 步驟A2,調用者與被調用者通過下層軟件的協(xié)助建立兩個域間共享的內存區(qū)域, 所述內存區(qū)域用于存儲跨域調用中的內存拷貝;所述兩個域是指調用者所處域和被調用者 所處域;
[0014] 步驟A3,調用者與被調用者分別通過下層軟件獲取到對方所處域的域ID; 即,調用 者通過下層軟件獲取到被調用者所處域的域ID,被調用者通過下層軟件獲取到調用者所處 域的域ID。
[0015] 優(yōu)選地,還包括軟件調用者執(zhí)行調用步驟;
[0016] 所述軟件調用者執(zhí)行調用步驟,包括如下步驟:
[0017] 步驟Bl,調用者提供要調用的被調用者所處域的域ID,然后執(zhí)行域調用指令;
[0018] 所述域調用指令的執(zhí)行,包括如下步驟:
[0019] 步驟il,調用域提供被調用域的作為令牌唯一標識的域ID,其中,所述域ID表示域 表項的ID,記為WID;
[0020] 步驟i2,處理器首先根據調用者的自身WID在域表中查找是否存在該項WID;若不 存在,則說明該被調用域未被創(chuàng)建并返回錯誤;若存在,則進入步驟i 3繼續(xù)執(zhí)行;
[0021] 步驟i3,處理器根據調用域所提供的自身WID在域表緩存中查找被調用域對應的 域表項;若查找到,則進入步驟i4繼續(xù)執(zhí)行;若沒有查找到,則進入步驟if繼續(xù)執(zhí)行;
[0022] 步驟i4',處理器認為產生異常并從內存中的域表中查找對應的域表項并填充到 域表緩存中,然后轉入步驟i3繼續(xù)執(zhí)行;如果處理器在內存中的域表也沒有查找到對應的 域表項,則認為域調用失敗,處理器在調用域中產生一個異常并交由調用域軟件進行處理;
[0023] 步驟i4,處理器找到被調用域對應的域表項后,將當前的調用域的狀態(tài)進行保存, 然后處理器加載被調用域對應的域表項中的信息,在寄存器中保存調用域的自身WID以供 被調用域作進一步授權,并跳轉到被調用域中執(zhí)行;跳轉的地址是根據被調用域對應的域 表項中的信息的PC值而定,其中,PC值用于指示域表項對應的域調用的入口地址;如果該PC 值不為〇,則跳到這個PC值所指向的地址中;如果該PC值為0,則跳轉的地址由調用域指定; [0024]其中,使用一個域表保存一個域的信息,并通過不可偽造的令牌來唯一地識別一 個域;一個域僅在域表上注冊方才成為一個可被調用的域,注冊時處理器會在域表中增加 一項,每項代表著一個域并由一個域ID作為令牌唯一標識。
[0025] 優(yōu)選地,還包括處理器硬件執(zhí)行調用切換步驟;
[0026] 所述處理器硬件執(zhí)行調用切換步驟,包括如下步驟:
[0027]步驟Cl,處理器執(zhí)行域調用指令;
[0028]其中,所述步驟Cl具體包括如下步驟:
[0029] 步驟Cl. 1,將當前調用者所處域的狀態(tài)進行保存;
[0030] 步驟Cl. 2,根據調用者提供的被調用者所處域的域ID,在域表中查找對應的域表 項;
[0031 ]步驟Cl. 3,將處理器當前寄存器的狀態(tài)更改為所查找到的域表項的值;
[0032]步驟Cl.4,處理器將一寄存器的值設置為調用域的域ID。
[0033]優(yōu)選地,還包括軟件被調用者執(zhí)行授權步驟;
[0034]所述軟件被調用者執(zhí)行授權步驟,包括如下步驟:
[0035]步驟Dl,處理器開始執(zhí)行被調用域入口處對應的命令,根據所獲取的調用域ID,實 施對調用者的權限檢查。
[0036] 優(yōu)選地,調用域的身份與被調用域的身份均是通過硬件產生或管理的不可偽造的 令牌進行標識的,調用執(zhí)行時由處理器硬件向被調用域提供調用域的令牌實現(xiàn)認證,并且 調用域調用某一被調用域是通過軟件授權方式完成的。
[0037] 優(yōu)選地7、根據權利要求6所述的靈活高效的跨權限級與域的調用方法,其特征在 于,所述軟件授權的具體過程是:跨域調用執(zhí)行時,被調用域根據硬件提供的不可偽造的令 牌獲知該跨域調用的源調用域,并進行授權。
[003
當前第1頁1 2 3 4 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
满城县| 云安县| 慈利县| 伊川县| 项城市| 湛江市| 翁源县| 沈阳市| 新闻| 思茅市| 九台市| 辉县市| 嘉义县| 屯留县| 新余市| 尼勒克县| 新巴尔虎右旗| 清镇市| 陆良县| 稷山县| 巴中市| 丹阳市| 姚安县| 台北县| 饶河县| 商南县| 临颍县| 湘潭市| 科技| 军事| 会泽县| 改则县| 林芝县| 黔西县| 资中县| 康平县| 桐梓县| 河曲县| 专栏| 新绛县| 七台河市|