操作系統(tǒng)之內(nèi)核態(tài)與用戶(hù)態(tài)

看面經(jīng)的是發(fā)現(xiàn)這個(gè)經(jīng)常被問(wèn)到领跛,在這里記錄一下。

首先要搞明白這個(gè)用戶(hù)態(tài)和內(nèi)核態(tài)作用的對(duì)象和他存在的意義。這個(gè)概念是針對(duì)CPU的狀態(tài)的描述串结。在內(nèi)核態(tài)可以執(zhí)行一切特權(quán)代碼,在用戶(hù)態(tài)只能執(zhí)行那些受限級(jí)別的代碼舅列。如果需要調(diào)用特權(quán)代碼需要進(jìn)行內(nèi)核態(tài)切換肌割。這個(gè)概念存在的本質(zhì)意義是為了進(jìn)行權(quán)限保護(hù)。限定用戶(hù)的程序不能亂搞操作系統(tǒng)帐要,如果人人都能任意讀寫(xiě)任意地址空間軟件管理就亂套了把敞。在intel的設(shè)計(jì)下操作系統(tǒng)分為4個(gè)ring,分別是ring0榨惠,1先巴,2其爵,3。用戶(hù)態(tài)的程序工作在3伸蚯,內(nèi)核態(tài)的程序處于0摩渺。

2. 用戶(hù)態(tài)和內(nèi)核態(tài)的轉(zhuǎn)換

1)用戶(hù)態(tài)切換到內(nèi)核態(tài)的3種方式

a. 系統(tǒng)調(diào)用 (本質(zhì)是內(nèi)中斷)

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

b. 異常 (是內(nèi)中斷)

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

c. 外圍設(shè)備的中斷 (是外中斷)

當(dāng)外圍設(shè)備完成用戶(hù)請(qǐng)求的操作后憨栽,會(huì)向CPU發(fā)出相應(yīng)的中斷信號(hào)帜矾,這時(shí)CPU會(huì)暫停執(zhí)行下一條即將要執(zhí)行的指令轉(zhuǎn)而去執(zhí)行與中斷信號(hào)對(duì)應(yīng)的處理程序,如果先前執(zhí)行的指令是用戶(hù)態(tài)下的程序屑柔,那么這個(gè)轉(zhuǎn)換的過(guò)程自然也就發(fā)生了由用戶(hù)態(tài)到內(nèi)核態(tài)的切換屡萤。比如硬盤(pán)讀寫(xiě)操作完成,系統(tǒng)會(huì)切換到硬盤(pán)讀寫(xiě)的中斷處理程序中執(zhí)行后續(xù)操作等掸宛。

這3種方式是系統(tǒng)在運(yùn)行時(shí)由用戶(hù)態(tài)轉(zhuǎn)到內(nèi)核態(tài)的最主要方式死陆,其中系統(tǒng)調(diào)用可以認(rèn)為是用戶(hù)進(jìn)程主動(dòng)發(fā)起的,異常和外圍設(shè)備中斷則是被動(dòng)的唧瘾。CPU是怎么知道目前所處于的狀態(tài)呢措译?這就要考PSW (Program Status Word)寄存器里的值來(lái)辨別。這三種狀態(tài)切換本質(zhì)都是走了中斷處理流程饰序。

至于從內(nèi)核態(tài)切換到用戶(hù)態(tài)則是通過(guò)設(shè)置PSW字段來(lái)進(jìn)行轉(zhuǎn)換瞳遍。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市菌羽,隨后出現(xiàn)的幾起案子掠械,更是在濱河造成了極大的恐慌,老刑警劉巖注祖,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件猾蒂,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡是晨,警方通過(guò)查閱死者的電腦和手機(jī)肚菠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)罩缴,“玉大人蚊逢,你說(shuō)我怎么就攤上這事层扶。” “怎么了烙荷?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵镜会,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我终抽,道長(zhǎng)戳表,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任昼伴,我火速辦了婚禮匾旭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘圃郊。我一直安慰自己价涝,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布持舆。 她就那樣靜靜地躺著色瘩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪吏廉。 梳的紋絲不亂的頭發(fā)上泞遗,一...
    開(kāi)封第一講書(shū)人閱讀 49,007評(píng)論 1 284
  • 那天惰许,我揣著相機(jī)與錄音席覆,去河邊找鬼。 笑死汹买,一個(gè)胖子當(dāng)著我的面吹牛佩伤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播晦毙,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼生巡,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了见妒?” 一聲冷哼從身側(cè)響起孤荣,我...
    開(kāi)封第一講書(shū)人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎须揣,沒(méi)想到半個(gè)月后盐股,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡耻卡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年疯汁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卵酪。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡幌蚊,死狀恐怖谤碳,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情溢豆,我是刑警寧澤蜒简,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站沫换,受9級(jí)特大地震影響臭蚁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜讯赏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一垮兑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧漱挎,春花似錦系枪、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至膊夹,卻和暖如春衬浑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背放刨。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工工秩, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人进统。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓助币,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親螟碎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子眉菱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345