用户模式 内核模式 linux,linux – “内核模式”和“用户模式”硬件...
內(nèi)核模式和用戶模式是硬件功能,特別是處理器的功能.專為中高端系統(tǒng)(PC,功能手機,智能手機,除最簡單的網(wǎng)絡(luò)設(shè)備之外的所有系統(tǒng)……)設(shè)計的處理器都包含此功能.內(nèi)核模式可以使用不同的名稱:管理程序模式,特權(quán)模式等.在x86(PC中的處理器類型)中,它被稱為“ring 0”,用戶模式稱為“ring 3”.
處理器在寄存器中有一點存儲空間,用于指示它是處于內(nèi)核模式還是用戶模式. (在具有兩個以上模式的處理器上,這可能不止一位.)某些操作只能在內(nèi)核模式下執(zhí)行,特別是通過修改控制MMU的寄存器來更改虛擬內(nèi)存配置.此外,還有從用戶模式切換到內(nèi)核模式的方法很少,它們都需要跳轉(zhuǎn)到內(nèi)核代碼控制的地址.這允許在內(nèi)核模式下運行的代碼控制在用戶模式下運行的代碼可以訪問的內(nèi)存.
類Unix操作系統(tǒng)(以及大多數(shù)其他具有進程隔離的操作系統(tǒng))分為兩部分:
>內(nèi)核以內(nèi)核模式運行.內(nèi)核可以做任何事情.
>進程以用戶模式運行.進程無法訪問硬件,無法訪問其他進程的內(nèi)存(顯式共享除外).
因此,操作系統(tǒng)利用硬件功能(特權(quán)模式,MMU)來強制進程之間的隔離.
基于Microkernel的操作系統(tǒng)具有更細粒度的體系結(jié)構(gòu),在內(nèi)核模式下運行的代碼更少.
當用戶模式代碼需要執(zhí)行不能直接執(zhí)行的操作(例如訪問文件,訪問外設(shè),與另一個進程通信,……)時,它會生成system call:跳轉(zhuǎn)到內(nèi)核代碼中的預(yù)定義位置.
當硬件外圍設(shè)備需要從CPU請求注意時,它會將CPU切換到內(nèi)核模式并跳轉(zhuǎn)到內(nèi)核代碼中的預(yù)定義位置.這稱為interrupt.
進一步閱讀
總結(jié)
以上是生活随笔為你收集整理的用户模式 内核模式 linux,linux – “内核模式”和“用户模式”硬件...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 大数据技术原理与应用(第三版)林子雨教材
- 下一篇: 《深入理解Java虚拟机》读书笔记一
