操作系統(tǒng)內(nèi)核態(tài)和用戶態(tài)_第1頁
操作系統(tǒng)內(nèi)核態(tài)和用戶態(tài)_第2頁
操作系統(tǒng)內(nèi)核態(tài)和用戶態(tài)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、操作系統(tǒng)內(nèi)核態(tài)和用戶態(tài)操作系統(tǒng)內(nèi)核態(tài)和用戶態(tài)幾乎是考研試題中必考的題目,一般是一道選擇題,但是在教材中對著一部分講解的不是很全面。在復(fù)習(xí)中(包括我在內(nèi)),往往面臨兩難的問題,一方面教材上的內(nèi)容較少,另一方面網(wǎng)上的東西又太多,看的時候又不知所措。所在在這里給大家把這一塊的知識點總結(jié)一下,希望能給大家?guī)硪恍﹩⒌希瑫r也歡迎大家一起討論。1、 操作系統(tǒng)結(jié)構(gòu):操作系統(tǒng)的發(fā)展大致經(jīng)歷了無結(jié)構(gòu)操作系統(tǒng)(第一代),模塊化的操作系統(tǒng)(第二代),分層式結(jié)構(gòu)(第三代),這些稱為傳統(tǒng)操作系統(tǒng)結(jié)構(gòu)。而微內(nèi)核操作系統(tǒng)是現(xiàn)代操作系統(tǒng)結(jié)構(gòu),他是在C/S(客戶端/服務(wù)器)這種架構(gòu)方式上發(fā)展起來的。傳統(tǒng)操作系統(tǒng)的內(nèi)容,大家只

2、需要了解就可以了。重點在微內(nèi)核操作系統(tǒng)。2、 微內(nèi)核操作系統(tǒng) 微內(nèi)核操作系統(tǒng)往往采用的是C/S模式,它把操作系統(tǒng)分為微內(nèi)核和多個服務(wù)器。微內(nèi)核主要用于(1)實現(xiàn)與硬件緊密相關(guān)的處理,(2)實現(xiàn)一些較基本的功能,(3)負(fù)責(zé)客戶和服務(wù)器之間的通信。內(nèi)核的功能:(1)進程(線程)管理 (進程或者線程的調(diào)度)(2)低級存儲器管理 (用戶程序邏輯空間到內(nèi)存空間的物理地址的變換)(3)中斷和陷入管理 (中斷和陷入)由于微內(nèi)核結(jié)構(gòu)的存在,那么程序就運行在兩種不同的地方,內(nèi)核態(tài)和用戶態(tài),內(nèi)核態(tài)與用戶態(tài)是操作系統(tǒng)的兩種運行級別,跟intel cpu沒有必然的聯(lián)系。3、 內(nèi)核態(tài)和用戶態(tài)內(nèi)核態(tài):當(dāng)一個任務(wù)(進程)執(zhí)

3、行系統(tǒng)調(diào)用而陷入內(nèi)核代碼中執(zhí)行時,我們就稱進程處于內(nèi)核運行態(tài)(或簡稱為內(nèi)核態(tài))。其他的屬于用戶態(tài)。用戶程序運行在用戶態(tài),操作系統(tǒng)運行在內(nèi)核態(tài).(操作系統(tǒng)內(nèi)核運行在內(nèi)核態(tài),而服務(wù)器運行在用戶態(tài))。用戶態(tài)不能干擾內(nèi)核態(tài).所以CPU指令就有兩種,特權(quán)指令和非特權(quán)指令.不同的狀態(tài)對應(yīng)不同的指令。特權(quán)指令:只能由操作系統(tǒng)內(nèi)核部分使用,不允許用戶直接使用的指令。如,I/O指令、置終端屏蔽指令、清內(nèi)存、建存儲保護、設(shè)置時鐘指令(這幾種記好,屬于內(nèi)核態(tài))。非特權(quán)指令:所有程序均可直接使用。所以:系統(tǒng)態(tài)(核心態(tài)、特態(tài)、管態(tài)):執(zhí)行全部指令。 用戶態(tài)(常態(tài)、目態(tài)):執(zhí)行非特權(quán)指令。2. 用戶態(tài)和內(nèi)核態(tài)的轉(zhuǎn)換1)用

4、戶態(tài)切換到內(nèi)核態(tài)的3種方式a. 系統(tǒng)調(diào)用這是用戶態(tài)進程主動要求切換到內(nèi)核態(tài)的一種方式,用戶態(tài)進程通過系統(tǒng)調(diào)用申請使用操作系統(tǒng)提供的服務(wù)程序完成工作,比如前例中fork()實際上就是執(zhí)行了一個創(chuàng)建新進程的系統(tǒng)調(diào)用。而系統(tǒng)調(diào)用的機制其核心還是使用了操作系統(tǒng)為用戶特別開放的一個中斷來實現(xiàn),例如Linux的int 80h中斷。b. 異常當(dāng)CPU在執(zhí)行運行在用戶態(tài)下的程序時,發(fā)生了某些事先不可知的異常,這時會觸發(fā)由當(dāng)前運行進程切換到處理此異常的內(nèi)核相關(guān)程序中,也就轉(zhuǎn)到了內(nèi)核態(tài),比如缺頁異常。c. 外圍設(shè)備的中斷當(dāng)外圍設(shè)備完成用戶請求的操作后,會向CPU發(fā)出相應(yīng)的中斷信號,這時CPU會暫停執(zhí)行下一條即將要

5、執(zhí)行的指令轉(zhuǎn)而去執(zhí)行與中斷信號對應(yīng)的處理程序,如果先前執(zhí)行的指令是用戶態(tài)下的程序,那么這個轉(zhuǎn)換的過程自然也就發(fā)生了由用戶態(tài)到內(nèi)核態(tài)的切換。比如硬盤讀寫操作完成,系統(tǒng)會切換到硬盤讀寫的中斷處理程序中執(zhí)行后續(xù)操作等。4、 常見的內(nèi)核態(tài)常見總結(jié):前文已經(jīng)提到,內(nèi)核的功能:(1)進程(線程)管理 (進程或者線程的調(diào)度)(2)低級存儲器管理 (用戶程序邏輯空間到內(nèi)存空間的物理地址的變換)(3)中斷和陷入管理 (中斷和陷入)具體的:(1) I/O指令、置終端屏蔽指令、清內(nèi)存、建存儲保護、設(shè)置時鐘指令。(2) 中斷、異常、陷入,比如缺頁中斷等(3)進程(線程)管理(4)系統(tǒng)調(diào)用,比如調(diào)用了設(shè)備驅(qū)動程序(5)

6、用戶內(nèi)存地址的轉(zhuǎn)換(邏輯- 物理映射)以前考過的真題:1、用戶在程序中試圖讀某文件的第100個邏輯塊,使用操作系統(tǒng)提供的()接口 A: 系統(tǒng)調(diào)用 B:圖形用戶接口 C:原語 D:鍵盤命令解析:程序需要讀取第100個邏輯塊,這里發(fā)生了邏輯地址到物理地址的轉(zhuǎn)換,必然要進入到內(nèi)核態(tài)執(zhí)行轉(zhuǎn)換,所以必然要進入到內(nèi)核態(tài),在四個選型中,只有A系統(tǒng)調(diào)用才能進入到內(nèi)核態(tài)。所以A入選。圖形用戶接口是用戶接口,他是獲得操作系統(tǒng)提供的服務(wù)一種方式,但是要想獲得操作系統(tǒng)的服務(wù),在底層仍然是使用的系統(tǒng)調(diào)用。2、 在中斷發(fā)生后,進入中斷處理的程序?qū)儆冢海ǎ〢:用戶程序 B:可能是應(yīng)用程序,也可能是操作系統(tǒng)程序C:操作系統(tǒng)程序 D:既不是是應(yīng)用程序,也不是操作系統(tǒng)程序解析:中斷的處理是由操作系統(tǒng)內(nèi)核來處理

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論