<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

用于修改目標應用的裝置、設備、方法和計算機程序與流程

文檔序號:41198321發布日期:2025-03-11 13:25閱讀:34來源:國知局

背景技術
::1、系統調用是用戶空間應用與操作系統(operating?system,os)中的內核之間的主要接口。當應用需要訪問資源或執行特權操作時,該應用作出系統調用(簡稱為“syscall”),這使得中央處理單元(central?processing?unit,cpu)從用戶模式切換至內核模式并執行對應的內核代碼,以訪問資源并執行特權操作。系統調用是用于簡化用戶空間與內核空間之間的接口的有用的設計。然而,當從內核空間切換至用戶空間時(或反之亦然),它也引入開銷。2、在數據中心,常用的優化技術是利用所謂的“內核旁路(kernel?bypass)”技術,此種內核旁路技術通過專業化的輸入/輸出(input/output,i/o)庫來實現用戶空間與硬件加速之間的直接通信。此種方式允許應用利用硬件加速,同時降低cpu負載并增強總體性能。例如,數據平面開發套件(data?plane?development?kit,dpdk)是促進網絡應用繞過內核并完全在用戶空間中執行工作負荷從而帶來更快的分組處理和改善的網絡性能的庫和驅動器的集合。在dpdk的基礎上,已經開發了多種用戶空間傳輸控制協議/網際協議(transmission?control?protocol/internet?protocol,tcp/ip)棧,使得應用能夠以用戶空間棧來代替內核空間棧,以實現顯著的性能增益。由于tcp/ip棧依賴于可移植操作系統接口(portable?operating?system?interface,posix)系統調用接口,因此攔截系統調用并用內核旁路來代替該系統調用的實現方式成為用于增強總體聯網性能的簡單但有效的方法。在數據中心中,系統調用攔截與內核旁路技術具有兩個主要的益處:一個益處是性能改善,并且第二個益處是保持現有應用不變而不要求應用的重新編譯。3、存在用于實現系統調用攔截的若干種方法,包括動態鏈接、庫插值、“ptrace(進程追蹤)”、基于kvm的攔截等。一般而言,尚不存在用于所有用例的完美解決方案。一些攔截方法聚焦于功能,但性能較差。例如,“ptrace”可以用于通過攔截系統調用來追蹤并調試另一進程,但“ptrace”自身也是系統調用,因而會生成附加的系統開銷。在一些情況下,攔截方法的性能良好,但難以適用于所有用例。例如,動態地鏈接的應用可以使用ld_preload(負載_預加載)指令來以使用內核旁路的經優化的庫來代替原始的libc庫。然而,對于靜態地鏈接的應用(諸如,“go”語言應用),此種方式無法適當地運作。技術實現思路技術特征:1.一種用于計算機系統的裝置,所述裝置包括存儲器電路系統、機器可讀指令、以及處理器電路系統,所述處理器電路系統用于執行所述機器可讀指令以進行:2.根據權利要求1所述的裝置,其中,在所述目標應用的修改之后,所述經修改的指令而不是正被所述修改進行修改的所述目標應用的原始指令被所述目標應用使用。3.根據權利要求2所述的裝置,其中,所述處理器電路系統用于執行所述機器可讀指令以進行:由所述目標應用使用所述經修改的指令而不是正被所述修改進行修改的所述目標應用的所述原始指令。4.根據權利要求1所述的裝置,其中,被所述修改進行修改的所述目標應用的原始指令是正被所述目標應用靜態地鏈接的庫的部分。5.根據權利要求1所述的裝置,其中,所述指令通過對所述目標應用進行熱補丁而被修改。6.根據權利要求1所述的裝置,其中,所述指令在所述目標應用的被啟動的實例中被修改。7.根據權利要求1所述的裝置,其中,所述經修改的指令啟動由用戶空間庫提供的操作。8.根據權利要求1所述的裝置,其中,與所述內核系統調用等效的所述操作基于內核旁路機制。9.根據權利要求1所述的裝置,其中,與已由所述目標應用作出的所述內核系統調用有關的信息從內核系統調用處置器被獲得。10.根據權利要求1所述的裝置,其中,與已由所述目標應用作出的所述內核系統調用有關的信息包括所述內核系統調用的上下文,其中對所述指令的修改基于所述內核系統調用的上下文。11.根據權利要求10所述的裝置,其中,所述處理器電路系統用于執行所述機器可讀指令以進行:基于所述內核系統調用的上下文來確定要被修改的指令在存儲器中的位置。12.根據權利要求1所述的裝置,其中,所述目標應用被啟動,以使得所述目標應用與所述加載器應用共享地址空間。13.根據權利要求1所述的裝置,其中,所述處理器電路系統用于執行所述機器可讀指令以進行:由內核系統調用處置器攔截已由所述目標應用作出的所述內核系統調用;以及由所述內核系統調用處置器向所述加載器應用提供與已由所述目標應用作出的所述內核系統調用有關的信息。14.根據權利要求13所述的裝置,其中,所述內核系統調用處置器由被安裝在正在由所述計算機系統執行的內核中的調用掛鉤觸發。15.根據權利要求13所述的裝置,其中,所述處理器電路系統用于執行所述機器可讀指令以進行:基于被攔截的系統調用,確定所述內核系統調用的上下文;以及將與已由所述目標應用作出的所述內核系統調用有關的信息同與所述內核系統調用的上下文有關的信息一起提供。16.一種用于計算機系統的裝置,所述裝置包括存儲器電路系統、機器可讀指令、以及處理器電路系統,所述處理器電路系統用于執行所述機器可讀指令以進行:17.根據權利要求16所述的裝置,其中,所述內核系統調用處置器由被安裝在正在由所述計算機系統執行的內核中的調用掛鉤觸發。18.根據權利要求16所述的裝置,其中,所述處理器電路系統用于執行所述機器可讀指令以進行:基于被攔截的系統調用,確定所述內核系統調用的上下文;以及將與已由所述目標應用作出的所述內核系統調用有關的信息同與所述內核系統調用的上下文有關的信息一起提供。19.一種用于計算機系統的方法,所述方法包括:20.根據權利要求19所述的方法,進一步包括:在所述目標應用的修改之后,所述經修改的指令而不是正被所述修改進行修改的所述目標應用的原始指令被所述目標應用使用,所述方法包括:由所述目標應用使用所述經修改的指令而不是正被所述修改進行修改的所述目標應用的所述原始指令。21.根據權利要求19所述的方法,進一步包括:與已由所述目標應用作出的所述內核系統調用有關的信息包括所述內核系統調用的上下文,其中對所述指令的修改基于所述內核系統調用的上下文,所述方法包括:由所述加載器應用基于所述內核系統調用的上下文來確定要被修改的指令在存儲器中的位置。22.根據權利要求19所述的方法,進一步包括:由內核系統調用處置器攔截已由所述目標應用作出的所述內核系統調用;以及由所述內核系統調用處置器向所述加載器應用提供與已由所述目標應用作出的所述內核系統調用有關的信息。23.根據權利要求19所述的方法,進一步包括:基于被攔截的系統調用,確定所述內核系統調用的上下文;以及將與所述內核系統調用的上下文有關的信息提供給與已由所述目標應用作出的所述內核系統調用有關的信息。24.一種用于計算機系統的方法,所述方法包括:25.一種非暫態計算機可讀介質,包括程序代碼,所述程序代碼當在處理器、計算機或可編程硬件組件上被執行時使得所述處理器、所述計算機或所述可編程硬件組件執行如權利要求19-24中的一項所述的方法。技術總結本公開描述了用于修改目標應用的裝置、設備、方法和計算機程序。示例涉及用于修改目標應用的裝置、設備、方法和計算機程序。一種用于計算機系統的裝置包括存儲器電路系統、機器可讀指令和處理器電路系統,該處理器電路系統用于執行機器可讀指令以進行:使用加載器應用啟動目標應用;由加載器應用獲得與已由目標應用作出的內核系統調用有關的信息;以及由加載器應用基于與已由目標應用作出的內核系統調用有關的信息來修改目標應用的指令,其中經修改的指令被配置成用于觸發與內核系統調用等效的操作,其中該操作在避開上下文切換的同時與內核系統調用等效。技術研發人員:虞平,顧宗敏,梁存銘受保護的技術使用者:英特爾公司技術研發日:技術公布日:2025/3/10
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影