用戶態(tài)和核心態(tài)的區(qū)別

轉(zhuǎn)自 https://www.cnblogs.com/Allen-rg/p/7171105.html

1.操作系統(tǒng)需要兩種CPU狀態(tài):

內(nèi)核態(tài)(Kernel Mode):運(yùn)行操作系統(tǒng)程序

用戶態(tài)(User Mode):運(yùn)行用戶程序

2.指令劃分:

特權(quán)指令:只能由操作系統(tǒng)使用区拳、用戶程序不能使用的指令拘领。 舉例:啟動(dòng)I/O 內(nèi)存清零 修改程序狀態(tài)字 設(shè)置時(shí)鐘 允許/禁止終端 停機(jī)

非特權(quán)指令:用戶程序可以使用的指令。 舉例:控制轉(zhuǎn)移 算數(shù)運(yùn)算 取數(shù)指令 訪管指令(使用戶程序從用戶態(tài)陷入內(nèi)核態(tài))

3.特權(quán)級別:

特權(quán)環(huán):R0樱调、R1约素、R2和R3

R0相當(dāng)于內(nèi)核態(tài),R3相當(dāng)于用戶態(tài)笆凌;

不同級別能夠運(yùn)行不同的指令集合圣猎;

4.CPU狀態(tài)之間的轉(zhuǎn)換:

用戶態(tài)--->內(nèi)核態(tài):唯一途徑是通過中斷、異常乞而、陷入機(jī)制(訪管指令)

內(nèi)核態(tài)--->用戶態(tài):設(shè)置程序狀態(tài)字PSW

5.內(nèi)核態(tài)與用戶態(tài)的區(qū)別:

1)內(nèi)核態(tài)與用戶態(tài)是操作系統(tǒng)的兩種運(yùn)行級別送悔,當(dāng)程序運(yùn)行在3級特權(quán)級上時(shí),就可以稱之為運(yùn)行在用戶態(tài)爪模。因?yàn)檫@是最低特權(quán)級欠啤,是普通的用戶進(jìn)程運(yùn)行的特權(quán)級,大部分用戶直接面對的程序都是運(yùn)行在用戶態(tài)呻右;

2)當(dāng)程序運(yùn)行在0級特權(quán)級上時(shí)跪妥,就可以稱之為運(yùn)行在內(nèi)核態(tài)鞋喇。

3)運(yùn)行在用戶態(tài)下的程序不能直接訪問操作系統(tǒng)內(nèi)核數(shù)據(jù)結(jié)構(gòu)和程序声滥。當(dāng)我們在系統(tǒng)中執(zhí)行一個(gè)程序時(shí)朝蜘,大部分時(shí)間是運(yùn)行在用戶態(tài)下的翘瓮,在其需要操作系統(tǒng)幫助完成某些它沒有權(quán)力和能力完成的工作時(shí)就會(huì)切換到內(nèi)核態(tài)耙厚。

4)這兩種狀態(tài)的主要差別是:
處于用戶態(tài)執(zhí)行時(shí)腐缤,進(jìn)程所能訪問的內(nèi)存空間和對象受到限制瞎嬉,其所處于占有的處理機(jī)是可被搶占的 畦木;
而處于核心態(tài)執(zhí)行中的進(jìn)程娱颊,則能訪問所有的內(nèi)存空間和對象赠橙,且所占有的處理機(jī)是不允許被搶占的散吵。

  1. 通常來說龙考,以下三種情況會(huì)導(dǎo)致用戶態(tài)到內(nèi)核態(tài)的切換:

1)系統(tǒng)調(diào)用

這是用戶態(tài)進(jìn)程主動(dòng)要求切換到內(nèi)核態(tài)的一種方式,用戶態(tài)進(jìn)程通過系統(tǒng)調(diào)用申請使用操作系統(tǒng)提供的服務(wù)程序完成工作矾睦。比如前例中fork()實(shí)際上就是執(zhí)行了一個(gè)創(chuàng)建新進(jìn)程的系統(tǒng)調(diào)用晦款。
而系統(tǒng)調(diào)用的機(jī)制其核心還是使用了操作系統(tǒng)為用戶特別開放的一個(gè)中斷來實(shí)現(xiàn),例如Linux的int 80h中斷枚冗。

2)異常

當(dāng)CPU在執(zhí)行運(yùn)行在用戶態(tài)下的程序時(shí)缓溅,發(fā)生了某些事先不可知的異常,這時(shí)會(huì)觸發(fā)由當(dāng)前運(yùn)行進(jìn)程切換到處理此異常的內(nèi)核相關(guān)程序中赁温,也就轉(zhuǎn)到了內(nèi)核態(tài)坛怪,比如缺頁異常淤齐。

3)外圍設(shè)備的中斷

當(dāng)外圍設(shè)備完成用戶請求的操作后,會(huì)向CPU發(fā)出相應(yīng)的中斷信號袜匿,這時(shí)CPU會(huì)暫停執(zhí)行下一條即將要執(zhí)行的指令轉(zhuǎn)而去執(zhí)行與中斷信號對應(yīng)的處理程序更啄,
如果先前執(zhí)行的指令是用戶態(tài)下的程序,那么這個(gè)轉(zhuǎn)換的過程自然也就發(fā)生了由用戶態(tài)到內(nèi)核態(tài)的切換沉帮。比如硬盤讀寫操作完成锈死,系統(tǒng)會(huì)切換到硬盤讀寫的中斷處理程序中執(zhí)行后續(xù)操作等。

這3種方式是系統(tǒng)在運(yùn)行時(shí)由用戶態(tài)轉(zhuǎn)到內(nèi)核態(tài)的最主要方式穆壕,其中系統(tǒng)調(diào)用可以認(rèn)為是用戶進(jìn)程主動(dòng)發(fā)起的待牵,異常和外圍設(shè)備中斷則是被動(dòng)的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末喇勋,一起剝皮案震驚了整個(gè)濱河市缨该,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌川背,老刑警劉巖贰拿,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異熄云,居然都是意外死亡膨更,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門缴允,熙熙樓的掌柜王于貴愁眉苦臉地迎上來荚守,“玉大人,你說我怎么就攤上這事练般〈Q” “怎么了?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵薄料,是天一觀的道長敞贡。 經(jīng)常有香客問我,道長摄职,這世上最難降的妖魔是什么誊役? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮谷市,結(jié)果婚禮上蛔垢,老公的妹妹穿的比我還像新娘。我一直安慰自己歌懒,他們只是感情好啦桌,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般甫男。 火紅的嫁衣襯著肌膚如雪且改。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天板驳,我揣著相機(jī)與錄音又跛,去河邊找鬼。 笑死若治,一個(gè)胖子當(dāng)著我的面吹牛慨蓝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播端幼,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼礼烈,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了婆跑?” 一聲冷哼從身側(cè)響起此熬,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎滑进,沒想到半個(gè)月后犀忱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扶关,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年阴汇,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片节槐。...
    茶點(diǎn)故事閱讀 39,991評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡搀庶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出疯淫,到底是詐尸還是另有隱情地来,我是刑警寧澤戳玫,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布熙掺,位于F島的核電站,受9級特大地震影響咕宿,放射性物質(zhì)發(fā)生泄漏币绩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一府阀、第九天 我趴在偏房一處隱蔽的房頂上張望缆镣。 院中可真熱鬧,春花似錦试浙、人聲如沸董瞻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钠糊。三九已至挟秤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間抄伍,已是汗流浹背艘刚。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留截珍,地道東北人攀甚。 一個(gè)月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像岗喉,于是被迫代替她去往敵國和親秋度。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容