青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

jake1036

讀書筆記之五-----保護(hù)

                                                         80x86的保護(hù)
  

  1段級保護(hù)
    包括以下幾種方式 :
     1.1 段界限檢查 
           段描述符中的段限長字段用于防止程序或過程尋址到段外內(nèi)存位置。段限長的有效值依賴于顆粒度G標(biāo)志的設(shè)置狀態(tài)。 

     1.2 段類型TYPE檢查
            
     1.3特權(quán)級檢查
         段保護(hù)機制提供了四種特權(quán)級,0級到3級。
          特權(quán)級有以下三種:
          1.3.1 當(dāng)前特權(quán)級 CPL 
                  CPL是當(dāng)前正在執(zhí)行程序或任務(wù)的特權(quán)級。它存放在CS活著SS段寄存器中位0和位1中。 通常CPL等于當(dāng)前代碼段的特權(quán)級。當(dāng)程序把控制轉(zhuǎn)移到
                另一個具有不同特權(quán)級的代碼段中時,處理器就會改變CPL。 
               當(dāng)訪問一個一致代碼段的時候,處理器對CPL的設(shè)置有所不同,特權(quán)級高于或等于一致代碼段DPL的任何段都可以訪問一致代碼段,并且當(dāng)處理器訪問一個
               特權(quán)級不同于CPL的一致代碼段時,CPL不會修改成一致代碼段的DPL 。

          1.3.2 描述符特權(quán)級 DPL
                   
                  DPL是一個段或者門的特權(quán)級,它存放在段或門的DPL字段中。當(dāng)執(zhí)行代碼段試圖訪問一個段或者門的時候,段或者門DPL就會于
                  CPL以及短或者門選擇符中的RPL相比較。 根據(jù)被訪問的段或者門的類型不同,DPL也有不同的含義。
                  (1) 數(shù)據(jù)段 
                        其DPL指出允許訪問本程序段的程序或任務(wù)應(yīng)具有的最大特權(quán)級數(shù)值。例如,如果數(shù)據(jù)段的特權(quán)級DPL是1,那么只有運行在CPL為0或者1的
                       程序,才可以訪問這個段。
                 
                 (2) 非一致代碼段
                       其DPL指出程序或者任務(wù)訪問該段必須具有的特權(quán)級。 例如如果某個非一致代碼段的DPL為0 ,那么就只有運行在CPL為0 的程序能夠訪問這個段。
               
                  (3) 調(diào)用門
                         與數(shù)據(jù)段的訪問規(guī)則相同。
                    
                  (4) 一致和非一致代碼段(通過調(diào)用門訪問)
                       DPL指示允許代碼段的程序或者任務(wù)應(yīng)該具有的最小特權(quán)級數(shù)值。如果一致代碼段的DPL是2,那么CPL為0的程序段就不能訪問。
                   
                 (5) 任務(wù)狀態(tài)段 TSS
                       其DPL指出訪問TSS的當(dāng)前執(zhí)行程序或任務(wù)可處于的最大特權(quán)級。與數(shù)據(jù)段訪問規(guī)則相同。
 
                1.3.3 請求特權(quán)級 RPL  
                            RPL是一種賦予段選擇符的超越特權(quán)級,它存放在選擇符的位0或者位1中。處理器會同時檢查RPL或者CPL 。以確定是否允許訪問一個段。
                            始終取RPL或者CPL之間數(shù)值最大的特權(quán)級作為訪問段時的最大比較對象。
                
          2  訪問數(shù)據(jù)段時的特權(quán)級檢查
               為了訪問數(shù)據(jù)段中的操作數(shù),數(shù)據(jù)段中的段選擇符,必須加載進(jìn)數(shù)據(jù)段寄存器中或者堆棧段寄存器中。在把一個段選擇符加載進(jìn)段寄存器中之前,
                處理器就會進(jìn)行特權(quán)級檢查。
      
                 它會把當(dāng)前的段描述符的DPL與 當(dāng)前段選擇符的RPL 和任務(wù)的CPL 進(jìn)行比較,只有DPL大于或者等于 CPL或者RPL 時,CPU才會把選擇符加載進(jìn)段寄存器。
                 
           3 代碼段之間的轉(zhuǎn)移控制時的特權(quán)級檢查
              當(dāng)程序的控制權(quán)從一個代碼段移到另一個代碼段中時,目標(biāo)代碼段的段選擇符必須加載進(jìn)代碼段寄存器,作為這個加載過程的一部分,處理器會檢測目標(biāo)代碼段的段描述符,并執(zhí)行各種安全的檢測。如果這些檢查都通過了,那么CPU就會把目標(biāo)代碼段的選擇符加載進(jìn)段寄存器,于是程序的控制權(quán)就被轉(zhuǎn)移到新的代碼段中。
               JMP CALL 指令可以利用以下四種方法來引用另外一個代碼段:
                (1) 目標(biāo)操作數(shù)含有目標(biāo)代碼段的段選擇符。
                (2)目標(biāo)操作數(shù)指向一個調(diào)用門描述符,該描述符含有目標(biāo)代碼段的選擇符。
                (3) 目標(biāo)操作數(shù)指向一個TSS ,而該TSS中含有目標(biāo)代碼段的選擇符 。
                (4) 目標(biāo)操作數(shù)指向一個任務(wù)門,該任務(wù)指向一個TSS ,該TSS中含有目標(biāo)代碼段的選擇符。
                         
    3.1 當(dāng)不通過門調(diào)用把程序控制權(quán)轉(zhuǎn)移到另一個代碼段時,程序會進(jìn)行以下四種特權(quán)級和類型信息。 
         

    目的代碼段中的一致性標(biāo)志C, 它確定了一個代碼段是非一致代碼段還是一致代碼段。
   當(dāng)C==0 ,即為非一致代碼段,則調(diào)用者的CPL必須等于目的代碼段的DPL ,RPL 則作用不大。RPL在數(shù)值上必須小于或者等于調(diào)用者的CPL才能使它的
    控制轉(zhuǎn)移成功。 當(dāng)非一致代碼的段選擇符被加載進(jìn)CS寄存器中時,特權(quán)級字段并不會改變,它仍然是調(diào)用者的CPL ,即使段選擇符的RPL與CPL不同,但是
   仍然是正確的。

         當(dāng)C == 1 時,即訪問一致代碼段的時候,CPL必須在數(shù)值上大于或者等于目的代碼段的DPL,CPU忽略對RPL的檢查。對于一致代碼段,DPL表示調(diào)用者對代碼段進(jìn)行成功調(diào)用可以處于的最低數(shù)值特權(quán)級。

      大多數(shù)代碼段都是非一致代碼段,這樣代碼段只能轉(zhuǎn)移到相同特權(quán)級的代碼段上,除非轉(zhuǎn)移是通過一個調(diào)用門來進(jìn)行的。
   
  

     4 門描述符 
        為了對不同特權(quán)級的代碼段進(jìn)行受控的訪問,處理器提供了稱為門描述符的特殊描述符集。
          有以下四種門描述符:
           (1) 調(diào)用門 TYPE = 12
           (2) 陷阱門 TYPE = 15 
           (3) 中斷門 TYPE = 14 
           (4) 任務(wù)門 TYPE = 5 。

          
 
            當(dāng)CPU訪問調(diào)用門時,它會使用調(diào)用門的段選擇符來定位目的代碼段的段描述符,然后CPU會把代碼段描述符的基地址與調(diào)用門中的偏移值進(jìn)行組合。
            形成代碼段中指定程序的入口點的線性地址。 
           
            通過調(diào)用門進(jìn)行程序控制轉(zhuǎn)移的時候,CPU會對4種不同的特權(quán)級進(jìn)行檢查。
            (1)當(dāng)前特權(quán)級CPL 。
            (2) 調(diào)用門描述符的請求特權(quán)級RPL 。
            (3) 調(diào)用門描述符特權(quán)級DPL 。
            (4) 目的代碼段描述符中的DPL。 
            (5)目的代碼段描述符的DPL 。 
            
     
     5 棧的切換
            
         每當(dāng)調(diào)用門用于把程序控制轉(zhuǎn)移到一個更高級別的非一致代碼段時,CPU會自動切換到目的代碼段特權(quán)級的堆棧去。 
         執(zhí)行堆棧切換的目的是為了,防止高級特權(quán)程序由于堆棧空間不足而引起的崩潰。 同時也為了防止低特權(quán)級程序,通過共享堆棧
         而干擾高特權(quán)級程序。
      
         每個任務(wù)最多定義4個堆棧,一個運行在特權(quán)級3的應(yīng)用程序代碼,其他分別運行在特權(quán)級0,1,2上。 
               
       5.1堆棧的具體切換 

          當(dāng)特權(quán)級3的程序在執(zhí)行時,特權(quán)級3的堆棧的段選擇符和棧指針會被存放在SS和ESP中,并且在發(fā)生堆棧切換時保存在被調(diào)用過程的堆棧上。
           而特權(quán)級0、1和2 的堆棧的初始指針都存放在當(dāng)前運行任務(wù)的TSS段中,TSS段中這些指針都是只讀值。當(dāng)調(diào)用更高特權(quán)級的時候,CPU才會
           使用它們建立新的堆棧。 當(dāng)從調(diào)用過程返回時,相應(yīng)的棧就不存在了,下一次調(diào)用該過程的時候,就會再次使用TSS中的初始指針建立一個
           新棧。
        
           OS需要負(fù)責(zé)為所有用到的特權(quán)級建立堆棧和堆棧段描述符,并且在任務(wù)的TSS中設(shè)置初始指針值。

           當(dāng)通過一個過程調(diào)用其他過程時而造成的特權(quán)級改變的時候,CPU會執(zhí)行以下步驟進(jìn)行切換操作,并開始在新的特權(quán)級上執(zhí)行調(diào)用過程。
           (1) 使用目的代碼段的DPL從TSS中選擇新棧的指針,從當(dāng)前的TSS中讀取新棧的段選擇符和棧指針。
           (2) 檢查棧段描述符特權(quán)級和類型是否有效 ,若無效則產(chǎn)生一個無效的TSS 。
           (3) 臨時保存SS和ESP寄存器的當(dāng)前值,把新棧的段選擇符和棧指針加載到SS中和ESP中。然后把臨時保存的SS和ESP壓入到新棧中。
           (4) 把調(diào)用門中描述符中指定參數(shù)個數(shù)的參數(shù)從調(diào)用過程棧復(fù)制到新棧中。
           (5) 把返回指令指針壓入(即當(dāng)前CS和EIP內(nèi)容) 壓入新棧。把新代碼段選擇符加載到CS中,同時把調(diào)用門中偏移值加載到EIP中。最后開始執(zhí)行
                 被調(diào)用的過程。
             


         5.2   從被調(diào)用過程返回 
         指令RET用于執(zhí)行近返回、同特權(quán)級遠(yuǎn)返回、不同特權(quán)級遠(yuǎn)返回。
         當(dāng)執(zhí)行遠(yuǎn)返回到一個調(diào)用過程時,CPU會執(zhí)行以下步驟:
         (1) 檢查保存的CS寄存器中RPL字段,以確定在返回時特權(quán)級是否需要改變。
         (2) 彈出并使用被調(diào)用過程堆棧上的值加載CS和EIP寄存器



    6 頁級保護(hù)
        頁目錄和頁表項中的讀寫標(biāo)志R/W和用戶/超級用戶標(biāo)志U/S提供了分段機制保護(hù)屬性的一個子集。
         超級用戶級為 特權(quán)級 0 ,  1 , 2 。 
         普通用戶級為 特權(quán)級 3 。

   6.1 頁轉(zhuǎn)換高速緩沖  TLB
         為了避免每次內(nèi)存訪問都要訪問駐留在內(nèi)存中的頁表,最近使用到的線性地址到物理地址的轉(zhuǎn)換信息被保存在處理器內(nèi)的
         頁轉(zhuǎn)換高速緩沖中。只有當(dāng)前需要的轉(zhuǎn)換信息不在高速緩存時,才會訪問內(nèi)存中的頁表。
    
    6.2 組合頁級別和段級保護(hù)
          當(dāng)啟用了分頁機制,CPU會首先執(zhí)行段級保護(hù),然后再處頁級保護(hù)。               

  



    
         




           












           





          
    






        
 














                 







                
   









posted on 2010-09-23 10:21 kahn 閱讀(268) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美亚洲一区二区三区| 欧美岛国在线观看| 欧美国产日韩精品| 国产精品播放| 亚洲欧洲精品一区二区| 最近中文字幕mv在线一区二区三区四区| 欧美一区二区三区在线观看视频| 亚洲国产精品久久久久秋霞影院| 日韩一区二区精品| 黄色在线一区| 亚洲一级黄色| 中国成人在线视频| 美女视频黄免费的久久| 国产精品播放| 国产精品99久久久久久www| 韩日精品在线| 欧美在线看片| 亚洲欧美日韩成人高清在线一区| 欧美日韩亚洲不卡| 国产丝袜美腿一区二区三区| 亚洲激情专区| 欧美日韩综合在线| 一本久久综合亚洲鲁鲁| 国产精品久久久久久五月尺| 欧美日韩国产123区| 亚洲欧美日本精品| 亚洲国产专区| 一区二区三区.www| 亚洲国产精品久久人人爱蜜臀| 亚洲影视九九影院在线观看| 久久人人97超碰人人澡爱香蕉| 欧美成人资源网| 亚洲电影免费观看高清完整版在线观看 | 亚洲精品美女| 午夜久久电影网| 久久漫画官网| 亚洲国产欧美日韩精品| 欧美精品在线播放| 中国av一区| 久久精品国产77777蜜臀| 亚洲第一福利社区| 亚洲第一色中文字幕| 老牛影视一区二区三区| 亚洲高清不卡一区| 欧美一区二区三区四区视频| 欧美好骚综合网| 老牛嫩草一区二区三区日本| 亚洲图片欧洲图片av| 日韩系列欧美系列| 亚洲一区二区免费看| 欧美亚洲三区| 中文精品一区二区三区| 欧美日本免费| 国产精品xxxxx| 最新亚洲一区| 香蕉国产精品偷在线观看不卡| 欧美成人一区二区三区| 久久一区二区三区超碰国产精品| 亚洲一区三区电影在线观看| 亚洲一二三级电影| 欧美欧美天天天天操| 亚洲图中文字幕| 一区二区三区产品免费精品久久75 | 久久精品动漫| 国产亚洲精品成人av久久ww| 欧美激情综合| 欧美在线免费观看| 久久全国免费视频| 在线精品视频一区二区| 欧美日韩成人综合天天影院| 亚洲欧美综合国产精品一区| 欧美伦理视频网站| 亚洲第一中文字幕| 亚洲国产欧美另类丝袜| 欧美一二三视频| 亚洲欧美日韩人成在线播放| 久久美女性网| 欧美在线不卡视频| 国产精品a久久久久| 新狼窝色av性久久久久久| 欧美/亚洲一区| 午夜精品亚洲| 国产亚洲二区| 久久久久欧美| 欧美大片免费观看| 91久久久国产精品| 欧美精品一区二区三区在线看午夜 | 亚洲美洲欧洲综合国产一区| 欧美成人官网二区| 亚洲精品四区| 亚洲欧美一级二级三级| 国产麻豆91精品| 久久精品成人一区二区三区 | 国产精品你懂的| 欧美一区二区高清| 欧美高清在线一区二区| aa级大片欧美三级| 国产精品剧情在线亚洲| 欧美一区二区三区男人的天堂| 欧美激情在线播放| 久久婷婷蜜乳一本欲蜜臀| 欧美激情一区二区三区在线| 亚洲少妇自拍| 国产一区在线视频| 欧美成人在线免费视频| 亚洲一级在线观看| 91久久久久久久久| 一区二区欧美日韩视频| 午夜精品福利一区二区蜜股av| 久久免费视频在线观看| 亚洲精品日韩在线| 久久精品女人| 欧美午夜一区二区三区免费大片| 国产日韩一区欧美| 亚洲精品日韩激情在线电影| 久久久久久亚洲精品不卡4k岛国| 亚洲人精品午夜| 亚洲免费观看| 麻豆精品在线播放| 国产精品亚洲不卡a| 国产日韩精品一区二区三区| 亚洲欧美电影院| 久久亚洲视频| 欧美成人小视频| 在线亚洲欧美专区二区| 一二三区精品福利视频| 亚洲国产精品久久| 亚洲盗摄视频| 小嫩嫩精品导航| 欧美福利视频| 一区二区三区日韩在线观看 | 香蕉久久国产| 亚洲精品你懂的| 亚洲片国产一区一级在线观看| 久久精品30| 99国产精品视频免费观看一公开 | 欧美精品福利| 国产主播一区二区三区| 亚洲免费在线播放| 午夜国产一区| 亚洲精品三级| 亚洲少妇自拍| 国产视频精品xxxx| 一区二区三区成人| 欧美成人r级一区二区三区| 一区二区三区偷拍| 欧美片在线观看| 久久久青草青青国产亚洲免观| 9国产精品视频| 亚洲国产美女| 欧美日韩综合久久| 99re成人精品视频| 欧美激情自拍| 亚洲大胆人体视频| 欧美一级在线播放| 一区二区三区国产在线| 91久久精品视频| 亚洲国产美女久久久久| 亚洲电影有码| 久久av二区| 亚洲国产精品小视频| 蜜桃久久av一区| 欧美一区午夜精品| 久久久久久黄| 久久精品视频亚洲| 免费亚洲电影在线| 亚洲激情视频在线播放| 欧美成年人视频网站欧美| 亚洲国产你懂的| 91久久久久| 亚洲欧美激情精品一区二区| 久久成人免费| 久久嫩草精品久久久精品一| 欧美不卡三区| 欧美日韩不卡| 国产欧美一区二区精品性| 国产日韩专区在线| 亚洲国产精品一区二区第四页av| 免费一区视频| 欧美人与禽猛交乱配| 欧美精品在线观看| 国产精品va在线播放我和闺蜜| 国产欧美激情| 激情久久婷婷| 亚洲人人精品| 中文日韩欧美| 久久人人爽国产| 欧美成人有码| 亚洲精品一区在线观看| 性色av一区二区三区| 麻豆成人在线| 欧美ed2k| 亚洲一区久久久| 久久久噜噜噜久久| 欧美午夜影院| 久久久91精品国产一区二区精品| 国产精品色在线| 久久一二三四| 夜夜嗨一区二区| 99爱精品视频|