亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

保護(hù)模式

保護(hù)模式,是一種80286系列和之后的x86兼容CPU操作模式。保護(hù)模式有一些新的特色,設(shè)計用來增強(qiáng)多工和系統(tǒng)穩(wěn)定度,像是內(nèi)存保護(hù),分頁系統(tǒng),以及硬件支援的虛擬內(nèi)存。大部分的現(xiàn)今x86操作系統(tǒng)都在保護(hù)模式下運(yùn)行,包含Linux、FreeBSD、以及微軟Windows2.0和之后版本。
  • 匯編+保護(hù)模式+教程

    九.輸入/輸出保護(hù)為了支持多任務(wù),80386不僅要有效地實(shí)現(xiàn)任務(wù)隔離,而且還要有效地控制各任務(wù)的輸入/輸出,避免輸入/輸出沖突。本文將介紹輸入輸出保護(hù)。 這里下載本文源代碼。 <一>輸入/輸出保護(hù)80386采用I/O特權(quán)級IPOL和I/O許可位圖的方法來控制輸入/輸出,實(shí)現(xiàn)輸入/輸出保護(hù)。 1.I/O敏感指令輸入輸出特權(quán)級(I/O Privilege Level)規(guī)定了可以執(zhí)行所有與I/O相關(guān)的指令和訪問I/O空間中所有地址的最外層特權(quán)級。IOPL的值在如下圖所示的標(biāo)志寄存器中。 標(biāo)  志寄存器 BIT31—BIT18 BIT17 BIT16 BIT15 BIT14 BIT13—BIT12 BIT11 BIT10 BIT9 BIT8 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 00000000000000 VM RF 0 NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF I/O許可位圖規(guī)定了I/O空間中的哪些地址可以由在任何特權(quán)級執(zhí)行的程序所訪問。I/O許可位圖在任務(wù)狀態(tài)段TSS中。 I/O敏感指令 指令 功能 保護(hù)方式下的執(zhí)行條件 CLI 清除EFLAGS中的IF位 CPL<=IOPL STI 設(shè)置EFLAGS中的IF位 CPL<=IOPL IN 從I/O地址讀出數(shù)據(jù) CPL<=IOPL或I/O位圖許可 INS 從I/O地址讀出字符串 CPL<=IOPL或I/O位圖許可 OUT 向I/O地址寫數(shù)據(jù) CPL<=IOPL或I/O位圖許可 OUTS 向I/O地址寫字符串 CPL<=IOPL或I/O位圖許可 上表所列指令稱為I/O敏感指令,由于這些指令與I/O有關(guān),并且只有在滿足所列條件時才可以執(zhí)行,所以把它們稱為I/O敏感指令。從表中可見,當(dāng)前特權(quán)級不在I/O特權(quán)級外層時,可以正常執(zhí)行所列的全部I/O敏感指令;當(dāng)特權(quán)級在I/O特權(quán)級外層時,執(zhí)行CLI和STI指令將引起通用保護(hù)異常,而其它四條指令是否能夠被執(zhí)行要根據(jù)訪問的I/O地址及I/O許可位圖情況而定(在下面論述),如果條件不滿足而執(zhí)行,那么將引起出錯碼為0的通用保護(hù)異常。 由于每個任務(wù)使用各自的EFLAGS值和擁有自己的TSS,所以每個任務(wù)可以有不同的IOPL,并且可以定義不同的I/O許可位圖。注意,這些I/O敏感指令在實(shí)模式下總是可執(zhí)行的。 2.I/O許可位圖如果只用IOPL限制I/O指令的執(zhí)行是很不方便的,不能滿足實(shí)際要求需要。因為這樣做會使得在特權(quán)級3執(zhí)行的應(yīng)用程序要么可訪問所有I/O地址,要么不可訪問所有I/O地址。實(shí)際需要與此剛好相反,只允許任務(wù)甲的應(yīng)用程序訪問部分I/O地址,只允許任務(wù)乙的應(yīng)用程序訪問另一部分I/O地址,以避免任務(wù)甲和任務(wù)乙在訪問I/O地址時發(fā)生沖突,從而避免任務(wù)甲和任務(wù)乙使用使用獨(dú)享設(shè)備時發(fā)生沖突。 因此,在IOPL的基礎(chǔ)上又采用了I/O許可位圖。I/O許可位圖由二進(jìn)制位串組成。位串中的每一位依次對應(yīng)一個I/O地址,位串的第0位對應(yīng)I/O地址0,位串的第n位對應(yīng)I/O地址n。如果位串中的第位為0,那么對應(yīng)的I/O地址m可以由在任何特權(quán)級執(zhí)行的程序訪問;否則對應(yīng)的I/O地址m只能由在IOPL特權(quán)級或更內(nèi)層特權(quán)級執(zhí)行的程序訪問。如果在I/O外層特權(quán)級執(zhí)行的程序訪問位串中位值為1的位所對應(yīng)的I/O地址,那么將引起通用保護(hù)異常。 I/O地址空間按字節(jié)進(jìn)行編址。一條I/O指令最多可涉及四個I/O地址。在需要根據(jù)I/O位圖決定是否可訪問I/O地址的情況下,當(dāng)一條I/O指令涉及多個I/O地址時,只有這多個I/O地址所對應(yīng)的I/O許可位圖中的位都為0時,該I/O指令才能被正常執(zhí)行,如果對應(yīng)位中任一位為1,就會引起通用保護(hù)異常。 80386支持的I/O地址空間大小是64K,所以構(gòu)成I/O許可位圖的二進(jìn)制位串最大長度是64K個位,即位圖的有效部分最大為8K字節(jié)。一個任務(wù)實(shí)際需要使用的I/O許可位圖大小通常要遠(yuǎn)小于這個數(shù)目。 當(dāng)前任務(wù)使用的I/O許可位圖存儲在當(dāng)前任務(wù)TSS中低端的64K字節(jié)內(nèi)。I/O許可位圖總以字節(jié)為單位存儲,所以位串所含的位數(shù)總被認(rèn)為是8的倍數(shù)。從前文中所述的TSS格式可見,TSS內(nèi)偏移66H的字確定I/O許可位圖的開始偏移。由于I/O許可位圖最長可達(dá)8K字節(jié),所以開始偏移應(yīng)小于56K,但必須大于等于104,因為TSS中前104字節(jié)為TSS的固定格式,用于保存任務(wù)的狀態(tài)。 1.I/O訪問許可檢查細(xì)節(jié)保護(hù)模式下處理器在執(zhí)行I/O指令時進(jìn)行許可檢查的細(xì)節(jié)如下所示。 (1)若CPL<=IOPL,則直接轉(zhuǎn)步驟(8);(2)取得I/O位圖開始偏移;(3)計算I/O地址對應(yīng)位所在字節(jié)在I/O許可位圖內(nèi)的偏移;(4)計算位偏移以形成屏蔽碼值,即計算I/O地址對應(yīng)位在字節(jié)中的第幾位;(5)把字節(jié)偏移加上位圖開始偏移,再加1,所得值與TSS界限比較,若越界,則產(chǎn)生出錯碼為0的通用保護(hù)故障;(6)若不越界,則從位圖中讀對應(yīng)字節(jié)及下一個字節(jié);(7)把讀出的兩個字節(jié)與屏蔽碼進(jìn)行與運(yùn)算,若結(jié)果不為0表示檢查未通過,則產(chǎn)生出錯碼為0的通用保護(hù)故障;(8)進(jìn)行I/O訪問。設(shè)某一任務(wù)的TSS段如下: TSSSEG                  SEGMENT PARA USE16                        TSS     <>             ;TSS低端固定格式部分                        DB      8 DUP(0)       ;對應(yīng)I/O端口00H—3FH                        DB      10000000B      ;對應(yīng)I/O端口40H—47H                        DB      01100000B      ;對用I/O端口48H—4FH                        DB      8182 DUP(0ffH) ;對應(yīng)I/O端口50H—0FFFFH                        DB      0FFH           ;位圖結(jié)束字節(jié)TSSLen                  =       $TSSSEG                  ENDS 再假設(shè)IOPL=1,CPL=3。那么如下I/O指令有些能正常執(zhí)行,有些會引起通用保護(hù)異常:                         in      al,21h  ;(1)正常執(zhí)行                        in      al,47h  ;(2)引起異常                        out     20h,al  ;(3)正常實(shí)行                        out     4eh,al  ;(4)引起異常                        in      al,20h  ;(5)正常執(zhí)行                        out     20h,eax ;(6)正常執(zhí)行                        out     4ch,ax  ;(7)引起異常                        in      ax,46h  ;(8)引起異常                        in      eax,42h ;(9)正常執(zhí)行 由上述I/O許可檢查的細(xì)節(jié)可見,不論是否必要,當(dāng)進(jìn)行許可位檢查時,80386總是從I/O許可位圖中讀取兩個字節(jié)。目的是為了盡快地執(zhí)行I/O許可檢查。一方面,常常要讀取I/O許可位圖的兩個字節(jié)。例如,上面的第(8)條指令要對I/O位圖中的兩個位進(jìn)行檢查,其低位是某個字節(jié)的最高位,高位是下一個字節(jié)的最低位。可見即使只要檢查兩個位,也可能需要讀取兩個字節(jié)。另一方面,最多檢查四個連續(xù)的位,即最多也只需讀取兩個字節(jié)。所以每次要讀取兩個字節(jié)。這也是在判別是否越界時再加1的原因。為此,為了避免在讀取I/O許可位圖的最高字節(jié)時產(chǎn)生越界,必須在I/O許可位圖的最后填加一個全1的字節(jié),即0FFH。此全1的字節(jié)應(yīng)填加在最后一個位圖字節(jié)之后,TSS界限范圍之前,即讓填加的全1字節(jié)在TSS界限之內(nèi)。 I/O許可位圖開始偏移加8K所得的值與TSS界限值二者中較小的值決定I/O許可位圖的末端。當(dāng)TSS的界限大于I/O許可位圖開始偏移加8K時,I/O許可位圖的有效部分就有8K字節(jié),I/O許可檢查全部根據(jù)全部根據(jù)該位圖進(jìn)行。當(dāng)TSS的界限不大于I/O許可位圖開始偏移加8K時,I/O許可位圖有效部分就不到8K字節(jié),于是對較小I/O地址訪問的許可檢查根據(jù)位圖進(jìn)行,而對較大I/O地址訪問的許可檢查總被認(rèn)為不可訪問而引起通用保護(hù)故障。因為這時會發(fā)生字節(jié)越界而引起通用保護(hù)異常,所以在這種情況下,可認(rèn)為不足的I/O許可位圖的高端部分全為1。利用這個特點(diǎn),可大大節(jié)約TSS中I/O許可位圖占用的存儲單元,也就大大減小了TSS段的長度。 <二>重要標(biāo)志保護(hù)輸入輸出的保護(hù)與存儲在標(biāo)志寄存器EFLAGS中的IOPL密切相關(guān),顯然不能允許隨便地改變IOPL,否則就不能有效地實(shí)現(xiàn)輸入輸出保護(hù)。類似地,對EFLAGS中的IF位也必須加以保護(hù),否則CLI和STI作為敏感指令對待是無意義的。此外,EFLAGS中的VM位決定著處理器是否按虛擬8086方式工作。 80386對EFLAGS中的這三個字段的處理比較特殊,只有在較高特權(quán)級執(zhí)行的程序才能執(zhí)行IRET、POPF、CLI和STI等指令改變它們。下表列出了不同特權(quán)級下對這三個字段的處理情況。 不同特權(quán)級對標(biāo)志寄存器特殊字段的處理 特權(quán)級 VM標(biāo)志字段 IOPL標(biāo)志字段 IF標(biāo)志字段 CPL=0 可變(初POPF指令外) 可變 可變 0  不變 不變 可變 CPL>IOPL 不變 不變 不變 從表中可見,只有在特權(quán)級0執(zhí)行的程序才可以修改IOPL位及VM位;只能由相對于IOPL同級或更內(nèi)層特權(quán)級執(zhí)行的程序才可以修改IF位。與CLI和STI指令不同,在特權(quán)級不滿足上述條件的情況下,當(dāng)執(zhí)行POPF指令和IRET指令時,如果試圖修改這些字段中的任何一個字段,并不引起異常,但試圖要修改的字段也未被修改,也不給出任何特別的信息。此外,指令POPF總不能改變VM位,而PUSHF指令所壓入的標(biāo)志中的VM位總為0。 <三>演示輸入輸出保護(hù)的實(shí)例(實(shí)例九)下面給出一個用于演示輸入輸出保護(hù)的實(shí)例。演示內(nèi)容包括:I/O許可位圖的作用、I/O敏感指令引起的異常和特權(quán)指令引起的異常;使用段間調(diào)用指令CALL通過任務(wù)門調(diào)用任務(wù),實(shí)現(xiàn)任務(wù)嵌套。 1.演示步驟實(shí)例演示的內(nèi)容比較豐富,具體演示步驟如下:(1)在實(shí)模式下做必要準(zhǔn)備后,切換到保護(hù)模式;(2)進(jìn)入保護(hù)模式的臨時代碼段后,把演示任務(wù)的TSS段描述符裝入TR,并設(shè)置演示任務(wù)的堆棧;(3)進(jìn)入演示代碼段,演示代碼段的特權(quán)級是0;(4)通過任務(wù)門調(diào)用測試任務(wù)1。測試任務(wù)1能夠順利進(jìn)行;(5)通過任務(wù)門調(diào)用測試任務(wù)2。測試任務(wù)2演示由于違反I/O許可位圖規(guī)定而導(dǎo)致通用保護(hù)異常;(6)通過任務(wù)門調(diào)用測試任務(wù)3。測試任務(wù)3演示I/O敏感指令如何引起通用保護(hù)異常;(7)通過任務(wù)門調(diào)用測試任務(wù)4。測試任務(wù)4演示特權(quán)指令如何引起通用保護(hù)異常;(8)從演示代碼轉(zhuǎn)臨時代碼,準(zhǔn)備返回實(shí)模式;(9)返回實(shí)模式,并作結(jié)束處理。

    標(biāo)簽: 匯編 保護(hù)模式 教程

    上傳時間: 2013-12-11

    上傳用戶:nunnzhy

  • 保護(hù)模式教程

    保護(hù)模式教程,經(jīng)典!!!!學(xué)習(xí)系統(tǒng)編程必看

    標(biāo)簽: 保護(hù)模式 教程

    上傳時間: 2015-01-09

    上傳用戶:lanwei

  • 80x86保護(hù)模式編程教程

    80x86保護(hù)模式編程教程,幫助文檔(匯編)

    標(biāo)簽: 80x86 保護(hù)模式 編程 教程

    上傳時間: 2015-01-12

    上傳用戶:exxxds

  • 保護(hù)模式下的8259A芯片編程及中斷處理探究_上.pdf

    保護(hù)模式下的8259A芯片編程及中斷處理探究_上.pdf

    標(biāo)簽: 8259A 保護(hù)模式 中斷處理

    上傳時間: 2014-06-07

    上傳用戶:a6697238

  • 保護(hù)模式下的8259A芯片編程及中斷處理探究_下.rar

    保護(hù)模式下的8259A芯片編程及中斷處理探究_下.rar

    標(biāo)簽: 8259A 保護(hù)模式 中斷處理

    上傳時間: 2015-01-18

    上傳用戶:mhp0114

  • 保護(hù)模式下的80386及編程

    保護(hù)模式下的80386及編程

    標(biāo)簽: 80386 保護(hù)模式 編程

    上傳時間: 2015-02-22

    上傳用戶:13188549192

  • DOS保護(hù)模式下匯編程序設(shè)計.zip

    DOS保護(hù)模式下匯編程序設(shè)計.zip

    標(biāo)簽: DOS zip 保護(hù)模式 匯編

    上傳時間: 2014-01-19

    上傳用戶:nairui21

  • 80x86保護(hù)模式教程

    80x86保護(hù)模式教程

    標(biāo)簽: 80x86 保護(hù)模式 教程

    上傳時間: 2015-03-06

    上傳用戶:拔絲土豆

  • 80x86保護(hù)模式系列教程 作者:李彥昌

    80x86保護(hù)模式系列教程 作者:李彥昌

    標(biāo)簽: 80x86 保護(hù)模式 教程

    上傳時間: 2015-03-10

    上傳用戶:縹緲

  • x86保護(hù)模式編程教程,簡明易懂

    x86保護(hù)模式編程教程,簡明易懂,進(jìn)入低層編程的門檻,很不錯的資料哦

    標(biāo)簽: x86 保護(hù)模式 編程 教程

    上傳時間: 2014-12-22

    上傳用戶:lanwei

亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久婷婷国产综合国色天香 | 在线亚洲一区二区| 国产精品国产三级国产专播精品人 | 久热re这里精品视频在线6| 香蕉成人啪国产精品视频综合网| 国产精品久久久久久模特| 国产精品成人在线| 国产精品v欧美精品v日本精品动漫| 美国成人直播| 国产精品露脸自拍| 国产亚洲一区在线| 亚洲国产欧美一区| 一区二区三区成人| 亚洲自拍偷拍网址| 久久免费精品日本久久中文字幕| 久久午夜激情| 国产精品高潮呻吟久久av无限 | 狂野欧美激情性xxxx欧美| 欧美自拍偷拍午夜视频| 美日韩在线观看| 国产精品久久午夜夜伦鲁鲁| 国内精品美女在线观看| 一区二区精品| 欧美日韩和欧美的一区二区| 国产亚洲电影| 日韩午夜免费视频| 性做久久久久久免费观看欧美| 久久国产免费看| 国产精品一区二区男女羞羞无遮挡| 亚洲第一搞黄网站| 久久精品99久久香蕉国产色戒| 欧美日韩视频| 一区二区三区 在线观看视频| 免费在线欧美视频| 亚洲国产精品欧美一二99| 久久综合久久久久88| 国产精品久久999| 亚洲午夜视频在线| 国产有码在线一区二区视频| 欧美影视一区| 国产精品自拍一区| 久久精品一二三区| 91久久中文| 国产精品视频免费一区| 久久精品一区二区国产| 亚洲电影在线观看| 欧美三级小说| 久久久久国产精品人| 日韩一区二区精品视频| 亚洲第一区中文99精品| 欧美国产1区2区| 亚洲深夜福利视频| 亚洲二区在线观看| 国产精品嫩草99a| 欧美阿v一级看视频| 宅男噜噜噜66一区二区66| 国产精品亚洲人在线观看| 美女精品自拍一二三四| 亚洲一区日韩| 亚洲午夜性刺激影院| 亚洲国产精选| 精久久久久久久久久久| 国产精品日本欧美一区二区三区| 欧美成人精品福利| 久久久久这里只有精品| 亚欧成人精品| 欧美在线一二三区| 西西裸体人体做爰大胆久久久| 激情综合网激情| 国产乱人伦精品一区二区| 欧美激情女人20p| 久久一区中文字幕| 蜜臀久久99精品久久久久久9| 久久中文在线| 欧美激情亚洲国产| 欧美精品自拍偷拍动漫精品| 欧美xart系列高清| 欧美国产欧美亚州国产日韩mv天天看完整| 午夜精品区一区二区三| 久久精品国产欧美亚洲人人爽| 亚洲欧美一区二区三区极速播放 | 亚洲成在人线av| 亚洲成人在线视频播放| 91久久精品一区二区三区| 久久成人免费视频| 1000精品久久久久久久久| 亚洲日本成人网| 亚洲欧美日产图| 久久综合精品一区| 欧美日韩一区二区在线| 国产精品一区二区三区四区| 国产精品推荐精品| 亚洲精品一区二区三区樱花| 中文亚洲欧美| 欧美 日韩 国产在线 | 欧美成人精品福利| 国产精品久久久久9999高清 | 欧美亚洲日本网站| 免费日韩av电影| 国产偷国产偷精品高清尤物| 亚洲欧洲另类国产综合| 久久久久久久久岛国免费| 你懂的网址国产 欧美| 国产精品成人观看视频免费| 国产区日韩欧美| 亚洲欧美日韩视频二区| 欧美日韩在线视频一区二区| 亚洲国语精品自产拍在线观看| 欧美亚洲免费| 一色屋精品视频在线看| 欧美成人四级电影| 一区二区三区精品| 国产精品少妇自拍| 亚洲欧美在线另类| 国产精品无码永久免费888| 在线亚洲电影| 国产精品国产三级国产aⅴ入口| 亚洲欧洲精品一区二区精品久久久| 久久久久久69| 激情久久久久| 欧美精品亚洲精品| 91久久国产综合久久| 欧美亚州韩日在线看免费版国语版| 亚洲欧美视频一区| 亚洲高清不卡| 欧美午夜无遮挡| 免费毛片一区二区三区久久久| 亚洲美女中文字幕| 狠狠色狠狠色综合日日小说| 欧美黄色成人网| 久热精品在线视频| 欧美一区二区三区的| 一区二区精品在线观看| 国语精品一区| 国产一区久久久| 国产精品二区二区三区| 欧美黑人一区二区三区| 久久综合电影一区| 麻豆freexxxx性91精品| 亚洲欧美精品一区| 亚洲手机视频| 欧美在线黄色| 久久这里只精品最新地址| 久久se精品一区二区| 香蕉视频成人在线观看 | 亚洲啪啪91| 日韩视频在线一区二区| 一本大道久久精品懂色aⅴ| 日韩一二三区视频| 9久re热视频在线精品| 一区二区三区色| 久久久777| 亚洲国产日韩欧美在线99| 久久精品91| 欧美一区二区视频免费观看| 亚洲免费人成在线视频观看| 亚洲无毛电影| 久久在线91| 国产精品扒开腿做爽爽爽软件| 国产精品日韩精品欧美精品| 国产农村妇女精品一二区| 在线观看91精品国产入口| 日韩亚洲精品在线| 久久久久成人精品免费播放动漫| 久久综合久久综合久久| 欧美日韩美女| 91久久国产综合久久蜜月精品| 亚洲特色特黄| 欧美不卡高清| 国产午夜久久久久| 亚洲综合另类| 国产精品综合视频| 亚洲伊人一本大道中文字幕| 欧美国产日韩一区| 亚洲精品国产精品国自产观看| 久久国产综合精品| 国内成人在线| 久久九九久久九九| 韩日视频一区| 久久久99爱| 在线精品视频在线观看高清 | 亚洲高清视频在线| 日韩一级成人av| 欧美国产成人在线| 亚洲精品美女在线观看播放| 免费中文字幕日韩欧美| 欧美午夜大胆人体| 亚洲视屏一区| 国产精品日韩欧美一区二区三区| 一区二区三区鲁丝不卡| 久久午夜影视| 亚洲一区二区成人| 国产在线一区二区三区四区| 美女网站在线免费欧美精品| 亚洲电影在线| 欧美午夜激情小视频| 欧美一区综合| 亚洲第一综合天堂另类专| 欧美激情综合| 久久黄色影院|