<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 134,comments - 22,trackbacks - 0
    內核態與用戶態是操作系統的兩種運行級別,intel cpu提供Ring0-Ring3三種級別的運行模式。Ring0級別最高,Ring3最低。

      當一個任務(進程)執行系統調用而陷入內核代碼中執行時,我們就稱進程處于內核運行態(或簡稱為內核態)。此時處理器處于特權級最高的(0級)內核代碼中執行。當進程處于內核態時,執行的內核代碼會使用當前進程的內核棧。每個進程都有自己的內核棧。當進程在執行用戶自己的代碼時,則稱其處于用戶運行態(用戶態)。即此時處理器在特權級最低的(3級)用戶代碼中運行。

      在內核態下CPU可執行任何指令,在用戶態下CPU只能執行非特權指令。當CPU處于內核態,可以隨意進入用戶態;而當CPU處于用戶態時,用戶從用戶態切換到內核態只有在系統調用和中斷兩種情況下發生,一般程序一開始都是運行于用戶態,當程序需要使用系統資源時,就必須通過調用軟中斷進入內核態。

      Linux使用了Ring3級別運行用戶態,Ring0作為內核態,沒有使用Ring1和Ring2。Ring3狀態不能訪問Ring0的地址空間,包括代碼和數據。Linux進程的4GB地址空間,3G-4G部分大家是共享的,是內核態的地址空間,這里存放在整個內核的代碼和所有的內核模塊,以及內核所維護的數據。用戶運行一個程序,該程序所創建的進程開始是運行在用戶態的,如果要執行文件操作,網絡數據發送等操作,必須通過write,send等系統調用,這些系統調用會調用內核中的代碼來完成操作,這時,必須切換到Ring0,然后進入3GB-4GB中的內核地址空間去執行這些代碼完成操作,完成后,切換回Ring3,回到用戶態。這樣,用戶態的程序就不能隨意操作內核地址空間,具有一定的安全保護作用。

    posted on 2010-05-30 16:08 何克勤 閱讀(260) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 日韩成人毛片高清视频免费看| 亚洲人成网站18禁止久久影院| 免费毛片在线视频| 国产午夜免费秋霞影院| 伊人久久综在合线亚洲91| 国产亚洲美女精品久久久久狼| 亚洲女人初试黑人巨高清| 女bbbbxxxx另类亚洲| 日本高清高色视频免费| 2021国产精品成人免费视频| 免费国产在线观看老王影院| 亚洲精品线在线观看| 国产AV无码专区亚洲AV琪琪| 182tv免费观看在线视频| 亚洲精品国产va在线观看蜜芽| 久久精品亚洲精品国产色婷 | 亚洲欧美日韩中文无线码| 久久久久国色AV免费观看| 真人做A免费观看| 亚洲熟妇无码av另类vr影视| 日本免费大黄在线观看| 亚洲情侣偷拍精品| 成人毛片100免费观看| 免费一看一级毛片人| 一区二区三区免费视频网站| 女人被弄到高潮的免费视频| 666精品国产精品亚洲| a在线免费观看视频| 亚洲国产综合久久天堂| a级片免费在线播放| 2022中文字字幕久亚洲| 免费在线观看亚洲| 亚洲一区无码中文字幕| 成年大片免费视频播放一级 | 看全免费的一级毛片| 久久亚洲国产午夜精品理论片| 美女视频黄频a免费观看| 在线免费视频一区| 成人久久久观看免费毛片| 亚洲精品美女久久久久9999| 日韩电影免费在线观看|