<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)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲黄色免费网址| 亚洲av乱码一区二区三区香蕉 | 亚洲性久久久影院| 无人在线观看完整免费版视频| 国产麻豆成人传媒免费观看| 国产亚洲高清在线精品不卡| 亚洲一级毛片免费看| 亚洲视频免费在线观看| 亚洲人成人一区二区三区| 免费看一级做a爰片久久| 性感美女视频免费网站午夜| 98精品全国免费观看视频| 中国一级毛片免费看视频| 四虎精品成人免费视频| 色九月亚洲综合网| 中文字幕乱码亚洲无线三区| 亚洲人成激情在线播放| 亚洲欧洲中文日产| 亚洲视频在线不卡| 亚洲视频在线观看视频| 99人中文字幕亚洲区| 亚洲日本精品一区二区| 久久久久久亚洲精品中文字幕| 国产亚洲综合成人91精品| 亚洲男同帅GAY片在线观看| 亚洲综合精品网站| 国产亚洲精品拍拍拍拍拍| 国产成人毛片亚洲精品| 久久精品国产亚洲精品| 国产亚洲精品成人a v小说| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 成年大片免费视频播放一级 | 亚洲av无码成人精品区| 亚洲 综合 国产 欧洲 丝袜| 亚洲av无码乱码在线观看野外| 免费a级毛片无码av| 久久久精品国产亚洲成人满18免费网站 | 亚洲第一网站免费视频| 亚洲人成免费网站| 亚洲午夜精品久久久久久app| 国内精品久久久久影院亚洲|