亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

內核態,用戶態

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

當正在執行用戶程序而突然被中斷程序中斷時,此時用戶程序也可以象征性地稱為處于進程的內核態,因為中斷處理程序將使用當前進程的內核棧。這與處于內核態的進程的狀態有些類似。內核態與用戶態是操作系統的兩種運行級別,跟intel cpu沒有必然的聯系,intel cpu提供Ring0-Ring3三種級別的運行模式,Ring0級別最高,Ring3最低。

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

保護模式,通過內存頁表操作等機制,保證進程間的地址空間不會互相沖突,一個進程的操作不會修改另一個進程的地址空間中的數據。在內核態下,CPU可執行任何指令,在用戶態下CPU只能執行非特權指令。當CPU處于內核態,可以隨意進入用戶態;而當CPU處于用戶態,只能通過中斷的方式進入內核態。一般程序一開始都是運行于用戶態,當程序需要使用系統資源時,就必須通過調用軟中斷進入內核態.

使用nm查看用戶態程序的符號表內容

使用System.map(內核符號表)查看內核符號表內容

1. 測試程序中打印用戶態函數地址,并調用系統調用(在內核中打印系統調用函數地址),用"用戶態符號表"和"內核態符號表"示例說明內核態和用戶態地址空間的差異

2. 說明內核態地址映射ioremap();用戶態地址映射mmap()
      
轉自: http://zhidao.baidu.com/question/363231653.html

內核態,用戶態


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 99久久久久国产 | 国产亚洲欧美日韩v在线 | 亚洲国产天堂久久综合 | 一级一级 a爱片免费视频 | 国内精品久久久久影院嫩草 | 视频一区在线免费观看 | 亚洲免费成人在线 | 久久久久综合国产 | 99久久这里只精品麻豆 | 久久精品视频热 | 另类日本人xxxxbbbb | 狠狠躁夜夜躁人人爽天天天天 | 亚洲免费a | 伊人久久国产免费观看视频 | 韩日中文字幕 | 婷婷色网站| 免费观看黄色a一级录像 | 中文字幕 日韩在线 | 国产区免费 | 91在线免费视频 | 亚州综合激情另类久久久 | 中文字幕网在线 | 亚洲人成依人成综合网 | 欧美日韩一本大道香蕉欧美 | 免费一级特黄欧美大片勹久久网 | 欧美午夜激情影院 | 久久成人精品免费播放 | 久久黄色网址 | 一区二区三区高清在线 | 久久久福利 | 亚洲精品乱码久久久久久蜜桃 | 精品国产日韩亚洲一区91 | 日韩中文字幕在线观看视频 | 亚洲精品一区二区四季 | 999成人精品视频在线 | 377p亚洲欧洲日本大胆色噜噜 | 久久艹综合 | 四虎影视在线影院www | 九九久久99 | 九九全国免费视频 | 日韩色视频一区二区三区亚洲 |