首先了解一下使用者模式和核心模式。
一般說來,程序既可在使用者模式下執行,又可在核心模式下執行。核心模式的許可權高於使用者模式的許可權。程序每次呼叫乙個系統呼叫時,程序的執行方式都發生變化:從使用者模式切換到核心模式,然後繼續執行。
可見:乙個程序在cpu上執行可以有兩種執行模式(程序狀態):使用者模式和核心模式。如果當前執行的是使用者程式(使用者**),那麼對應程序就處於使用者模式(使用者態),如果出現系統呼叫或者發生中斷,那麼對應程序就處於核心模式(核心態)。
在unix系統上,核心對外的介面是系統呼叫,系統呼叫以c函式的形式出現,所以核心外的程式都必須經由系統呼叫才能獲得作業系統的服務。那麼系統呼叫在核心模式執行和使用者**在使用者模式執行有什麼區別呢?
由於系統呼叫能直接進入核心執行,所以其執行效率很高。系統呼叫包含一種特殊的程式段,這些程式段成為原語,其特點是必須作為整體執行,不允許被中斷,也不允許併發執行。你說效率高不高?
核心與使用者模式
1.windows使用兩種處理器特權級別 1.核心 2.使用者 2.幾乎所有的 都在使用者模式,除了作業系統和硬體驅動 3.使用者模式不能直接訪問硬體,它被限制只能訪問cpu上所有暫存器和可用指令的乙個子集,所以我們為了改變硬體或者修改核心中的狀態,必須依賴api 4.進入核心模式的方式 sysen...
理解Windows核心模式與使用者模式
理解windows核心模式與使用者模式 核心層次架構 windows程式執行分為核心模式和使用者模式,核心模式可以訪問所有的記憶體位址空間,並且可以訪問所有的cpu指令。一般程式執行在使用者模式,通過系統呼叫切換到核心模式執行系統功能,windows系統通過這種方式來確保系統的安全和穩定。下面是核心...
理解Windows核心模式與使用者模式
核心層次架構 windows程式執行分為核心模式和使用者模式,核心模式可以訪問所有的記憶體位址空間,並且可以訪問所有的cpu指令。一般程式執行在使用者模式,通過系統呼叫切換到核心模式執行系統功能,windows系統通過這種方式來確保系統的安全和穩定。下面是核心的層次劃分 硬體抽象層 hardware...