国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

網(wǎng)站access數(shù)據(jù)怎么做朝陽seo推廣

網(wǎng)站access數(shù)據(jù)怎么做,朝陽seo推廣,企業(yè)建站新聞內容,wordpress頁面設計SYSENTER指令—快速系統(tǒng)調用 指令格式沒有什么重要的內容,只有opcode ,沒有后面的其他字段 指令的作用: 執(zhí)行快速調用到特權級別0的系統(tǒng)過程或例程。SYSENTER是SYSEXIT的配套指令。該指令經過優(yōu)化,能夠為從運行在特權級別3的用戶代碼到特權級別0的操作系統(tǒng)或執(zhí)行過程…

SYSENTER指令—快速系統(tǒng)調用

?指令格式沒有什么重要的內容,只有opcode ,沒有后面的其他字段

指令的作用:

?執(zhí)行快速調用到特權級別0的系統(tǒng)過程或例程。SYSENTER是SYSEXIT的配套指令。該指令經過優(yōu)化,能夠為從運行在特權級別3的用戶代碼到特權級別0的操作系統(tǒng)或執(zhí)行過程的系統(tǒng)調用提供最大性能。

IA-32e模式下的?SYSENTER

在IA-32e模式下執(zhí)行時,SYSENTER指令將邏輯處理器切換到64位模式;否則,邏輯處理器保持在保護模式.

切換的過程

在執(zhí)行SYSENTER指令之前,先確定

1.特權級別0環(huán)的? ?代碼段(CS)和代碼入口點(EIP)

2.特權級別0環(huán)的? ?堆棧段(SS)和堆棧指針(ESP)

WRMSR指令 將以上的信息寫入以下模型特定寄存器(MSR)中

  • IA32_SYSENTER_CS (MSR地址174H) — 該MSR的低16位是特權級別0代碼段的段選擇子(Segment Selector)。該值還用于確定特權級別0堆棧段的段選擇符(參見操作部分)。此值不能表示空選擇符(Null Selector)。

  • IA32_SYSENTER_EIP (MSR地址176H) — 該MSR寄存器保存的值被加載到RIP中(因此,該值引用了所選函數(shù)的第一條指令)。在保護模式下,僅加載位31:0。

  • IA32_SYSENTER_ESP (MSR地址175H) — 該MSR的值被加載到RSP中(因此,該值包含特權級別0環(huán)的堆棧的ESP)。此值不能表示非規(guī)范地址(Non-Canonical Address)。在保護模式下,僅加載位31:0。

雖然 SYSENTER 使用 IA32_SYSENTER_CS MSR 中的值來設置 CSSS 段選擇符,但 CSSS 的描述符緩存不會從這些選擇符所對應的描述符(位于 GDT 或 LDT)中加載。相反,描述符緩存會加載一組固定值。詳細信息請參見操作部分。操作系統(tǒng)有責任確保選擇符所對應的描述符(位于 GDT 或 LDT)與加載到描述符緩存中的固定值一致;SYSENTER 指令不保證這種對應性。

?可以通過RDMSR指令 讀取MSR寄存器的內容? WRMSR/RDMSR指令=都屬于特權級別(0環(huán))指令

需要遵循的約定:

  • 特權級別0代碼段和堆棧段以及特權級別3代碼段和堆棧段的段描述符必須在描述符表中連續(xù)。這種約定允許處理器根據(jù)SYSENTER_CS_MSR MSR中輸入的值計算段選擇符。

  • 用戶代碼執(zhí)行的快速系統(tǒng)調用“存根”例程(通常位于共享庫或DLL中)必須保存所需的返回IP和處理器狀態(tài)信息,以便在需要返回到調用過程時使用。同樣,通過SYSENTER指令調用的操作系統(tǒng)或執(zhí)行過程在返回到用戶代碼時必須能夠訪問并使用這些保存的返回和狀態(tài)信息。
    ?

Operation(偽代碼)

IF CR0.PE = 0 OR IA32_SYSENTER_CS[15:2] = 0 THEN #GP(0); FI;
如果 CR0 寄存器的 PE(保護使能,Protection Enable)位為 0(表示處理器未處于保護模式)或 IA32_SYSENTER_CS MSR(模型特定寄存器)寄存器的位 15 到 2 為 0,處理器將觸發(fā)一般保護異常 #GP,且錯誤碼為 0RFLAGS.VM := 0;    (* 確保保護模式執(zhí)行 *)
RFLAGS.IF := 0;    (* 屏蔽中斷 *)
IF in IA-32e mode  THEN            (* 如果在IA-32e處理器模式 *)RSP := IA32_SYSENTER_ESP;RIP := IA32_SYSENTER_EIP;ELSE            (*不在IA-32e模式下*)ESP := IA32_SYSENTER_ESP[31:0];EIP := IA32_SYSENTER_EIP[31:0];
FI;(*if語句結束*)CS.Selector := IA32_SYSENTER_CS[15:0] AND FFFCH; (* 操作系統(tǒng)提供 CS;強制 RPL 為 0 *)(* 將 CS 的其余部分設置為固定值 *)CS.Base := 0; (* 平坦段 *)
CS.Limit := FFFFFH; (* 具有4KB粒度,表示4GB限制 *)
CS.S := 1;     (*數(shù)據(jù)或代碼段*)
CS.Type := 11; (* 執(zhí)行/讀取已訪問 代碼段*)
CS.DPL := 0;
CS.P := 1;IF in IA-32e modeTHEN        (*如果在IA32-e架構下)CS.L := 1; (* 進入64位模式 *)CS.D := 0; (* 若 CS.L = 1 時必需設置 *)ELSE        (X86架構下)CS.L := 0;CS.D := 1; (* 32位代碼段 *)
FI; (*if語句結束*)CS.G := 1;(* 4KB粒度 *)CPL := 0;
SS.Selector := CS.Selector + 8;(* SS 緊接在 CS 之上 *)(*將SS的剩余部分設置為固定值*)SS.Base := 0; (* 平坦段 *)
SS.Limit := FFFFFH; (* 具有4KB粒度,表示4GB限制 *)
SS.Type := 3;(* 讀/寫數(shù)據(jù),已訪問 *)
SS.S := 1;
SS.DPL := 0;
SS.P := 1;
SS.B := 1; (* 32位堆棧段 *)
SS.G := 1; (* 4KB粒度 *)

SYSEXIT指令--快速系統(tǒng)調用的快速返回

?1.快速返回到特權級別3的用戶代碼。

2.快速返回到64位模式特權級別3的用戶代碼。

?指令的作用:

執(zhí)行快速返回到特權級別3的用戶代碼。SYSEXIT 是 SYSENTER 指令的配套指令。此指令經過優(yōu)化,旨在為從特權級別0的系統(tǒng)過程返回到特權級別3的用戶過程提供最高性能。它必須從特權級別0的代碼執(zhí)行。
?

不同模式下指令的行為:

1.如果 SYSEXIT 指令在64位模式下并使用64位操作數(shù)(REX.W前綴),它將繼續(xù)保持在64位模式下運行。這意味著當 SYSEXIT 執(zhí)行返回時,處理器將保持在64位模式下。
2.如果沒有使用64位操作數(shù)大小,那么 SYSEXIT 的行為會根據(jù)邏輯處理器的模式而不同:

  • 如果邏輯處理器處于 IA-32e 模式:即如果處理器當前在 IA-32e 模式下(即啟用了64位模式),但 SYSEXIT 指令沒有使用64位操作數(shù),它將返回到兼容模式(Compatibility Mode)。兼容模式允許32位應用在64位操作系統(tǒng)上運行,這樣操作系統(tǒng)可以在保持64位模式的情況下,執(zhí)行32位代碼。

  • 如果處理器不在 IA-32e 模式下:即處理器在普通的保護模式 (Protected Mode) 下,則 SYSEXIT 返回時保持在保護模式。

指令的執(zhí)行流程:

在執(zhí)行 SYSEXIT 之前,軟件必須通過寫入以下 MSR 和通用寄存器來指定特權級別3代碼段和代碼入口點,以及特權級別3的堆棧段和堆棧指針:

  • IA32_SYSENTER_CS (MSR 地址174H) —— 包含一個32位值,用于確定特權級別3代碼段和堆棧段的段選擇符(參見操作部分)。
  • RDX —— 此寄存器中的規(guī)范地址加載到 RIP 中(因此該值指向將在用戶代碼中執(zhí)行的第一條指令)。如果返回時不處于64位模式,僅加載位31:0。
  • ECX —— 此寄存器中的規(guī)范地址加載到 RSP 中(因此該值包含特權級別3堆棧的堆棧指針)。如果返回時不處于64位模式,僅加載位31:0。

IA32_SYSENTER_CS MSR 可以使用 RDMSR 和 WRMSR 進行讀寫。

偽代碼

IF IA32_SYSENTER_CS[15:2] = 0 OR CR0.PE = 0 OR CPL ≠ 0 THEN #GP(0); FI;IF operand size is 64-bitTHEN (* Return to 64-bit mode *)RSP := RCX;RIP := RDX;ELSE (* Return to protected mode or compatibility mode *)RSP := ECX;RIP := EDX;
FI;IF operand size is 64-bit (* Operating system provides CS; RPL forced to 3 *)THEN CS.Selector := IA32_SYSENTER_CS[15:0] + 32;ELSE CS.Selector := IA32_SYSENTER_CS[15:0] + 16;
FI;CS.Selector := CS.Selector OR 3; (* RPL forced to 3 *)
(* Set rest of CS to a fixed value *)
CS.Base := 0; (* Flat segment *)
CS.Limit := FFFFFH; (* With 4-KByte granularity, implies a 4-GByte limit *)
CS.Type := 11; (* Execute/read code, accessed *)
CS.S := 1;
CS.DPL := 3;
CS.P := 1;IF operand size is 64-bitTHEN (* return to 64-bit mode *)CS.L := 1; (* 64-bit code segment *)CS.D := 0; (* Required if CS.L = 1 *)ELSE (* return to protected mode or compatibility mode *)CS.L := 0;CS.D := 1; (* 32-bit code segment*)
FI;CS.G := 1; (* 4-KByte granularity *)
CPL := 3;
IF ShadowStackEnabled(CPL)THEN SSP := IA32_PL3_SSP;
FI;
SS.Selector := CS.Selector + 8; (* SS just above CS *)
(* Set rest of SS to a fixed value *)
SS.Base := 0; (* Flat segment *)
SS.Limit := FFFFFH; (* With 4-KByte granularity, implies a 4-GByte limit *)
SS.Type := 3; (* Read/write data, accessed *)
SS.S := 1;
SS.DPL := 3;
SS.P := 1;
SS.B := 1; (* 32-bit stack segment*)
SS.G := 1; (* 4-KByte granularity *)

解釋:?

特權級別0代碼段和堆棧段以及特權級別3代碼段和堆棧段的段描述符必須在描述符表中連續(xù)

?總結:

通過sysenter指令,切換特權級別時,CPU不會保存任何寄存器的值,并且會修改elfags寄存器的IF位.
通過sysexit指令返回時,將讀取msr174的 3環(huán)選擇子,設置cs段寄存器,通過cs段選擇子+8的位置就是3環(huán)的ss段選擇子.RDX?的值加載到EIP,RCX的值加載到ESP中.
所有其他的寄存器 需要操作系統(tǒng)軟件保存,并且在特權級別0 能夠訪問到這塊內存

http://aloenet.com.cn/news/36951.html

相關文章:

  • 專業(yè)鄭州做網(wǎng)站的公司百度關鍵詞seo優(yōu)化
  • 網(wǎng)站域名授權怎么做什么叫seo
  • 佛山網(wǎng)站建設收費標準seo索引擎優(yōu)化
  • 國內哪里在搞建設長沙快速排名優(yōu)化
  • 中小企業(yè)服務肇慶seo
  • 電腦瀏覽器網(wǎng)頁打不開是什么原因關鍵詞seo排名優(yōu)化軟件
  • 網(wǎng)站委托書找誰做市場推廣怎么做
  • 湖南網(wǎng)站建設競價推廣教程
  • 一個網(wǎng)站域名多少錢做網(wǎng)站的軟件叫什么
  • dw網(wǎng)站站點建立后怎么做推廣工作的流程及內容
  • 四川住房和城鄉(xiāng)建設九大員網(wǎng)站百度知道官網(wǎng)手機版
  • 為什么多個網(wǎng)站域名有同個網(wǎng)站備案活動策劃
  • 國內做化妝刷的比較好的網(wǎng)站如何進行品牌宣傳與推廣
  • 學校網(wǎng)站建設方案書全球最大的中文搜索引擎
  • 手機版網(wǎng)站如何做圖片滾動網(wǎng)站搜索
  • javascript面試題做優(yōu)化關鍵詞
  • seo關鍵詞如何設置seo研究中心教程
  • 上海品牌網(wǎng)站開發(fā)推廣小程序拿傭金
  • 剛做的網(wǎng)站怎么才能搜索到免費b站推廣入口
  • 寺廟建設網(wǎng)站的意義百度搜索引擎的原理
  • 免費行情網(wǎng)站seo優(yōu)化軟件哪個好
  • 深圳南頭網(wǎng)站建設公司百度招聘官網(wǎng)
  • 石家莊造價工程信息網(wǎng)杭州新站整站seo
  • 課程資源網(wǎng)站開發(fā) jsp谷歌搜索引擎鏡像入口
  • 目前基金會網(wǎng)站做的比較好的專業(yè)培訓
  • vs做網(wǎng)站怎樣添加圖片鄭州網(wǎng)站seo外包公司
  • 一個網(wǎng)站交互怎么做整合營銷理論
  • 網(wǎng)站建設與優(yōu)化百度推廣怎么優(yōu)化關鍵詞的質量
  • 河南省網(wǎng)站建設最新最好的磁力搜索
  • 北京裝修公司電話名單手機網(wǎng)站排名優(yōu)化