




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
操作系統(tǒng)硬件機(jī)制處理器狀態(tài)、特權(quán)指令、非特權(quán)指令;中斷概念、中斷系統(tǒng)、中斷向量表、中斷響應(yīng)處理過(guò)程;系統(tǒng)調(diào)用、處理過(guò)程、分類(lèi)2操作系統(tǒng)的硬件環(huán)境任何系統(tǒng)軟件都是對(duì)硬件功能的延伸,都是建立在硬件基礎(chǔ)上的,離不開(kāi)硬件設(shè)施的支持。而操作系統(tǒng)更是直接依賴(lài)于硬件,與硬件的關(guān)系尤為密切。3計(jì)算機(jī)系統(tǒng)的體系結(jié)構(gòu)(本圖摘自Silberschatz,GalvinandGagne:“OperatingSystemConcepts”)4
受保護(hù)的指令;系統(tǒng)調(diào)用;內(nèi)存保護(hù);中斷機(jī)制;
I/O系統(tǒng);時(shí)鐘操作。OS需要的硬件特性5有些指令只有操作系統(tǒng)才有權(quán)使用,例如:訪(fǎng)問(wèn)某些硬件資源的指令,這些硬件資源
禁止用戶(hù)程序直接訪(fǎng)問(wèn);對(duì)I/O設(shè)備的直接訪(fǎng)問(wèn)指令,如磁盤(pán)、打印
機(jī)等;對(duì)內(nèi)存管理狀態(tài)進(jìn)行操作的指令(頁(yè)表指
針、刷新TLB等);某些特殊的狀態(tài)位的設(shè)置指令;
停機(jī)指令。一、受保護(hù)的指令(特權(quán)指令)6如何從硬件上實(shí)現(xiàn)OS的這個(gè)要求?處理器的狀態(tài)
根據(jù)運(yùn)行程序?qū)Y源和機(jī)器指令的使用權(quán)限,
把處理器設(shè)置為不同狀態(tài)。多數(shù)系統(tǒng)將處理器工作狀態(tài)劃分為管態(tài)和目態(tài)。管態(tài):操作系統(tǒng)的管理程序運(yùn)行時(shí)的狀態(tài),較高的
特權(quán)級(jí)別,又稱(chēng)為特權(quán)態(tài)、系統(tǒng)態(tài)、內(nèi)核態(tài)處理器處于管態(tài)時(shí):可以執(zhí)行所有的指令(包括特權(quán)
指令)、使用所有的資源,并具有改變處理器狀態(tài)的
能力。Supervisormode==“Superuser”privilege?7目態(tài):用戶(hù)程序運(yùn)行時(shí)的狀態(tài),較低的特權(quán)級(jí)別,
又稱(chēng)為普通態(tài)(普態(tài))、用戶(hù)態(tài)。在此狀態(tài)下禁止使用特權(quán)指令,不能直接使用系統(tǒng)
資源與改變CPU狀態(tài),并且只能訪(fǎng)問(wèn)用戶(hù)程序所在
的存儲(chǔ)空間。有些系統(tǒng)將處理器狀態(tài)劃分核心狀態(tài),管理狀態(tài)和
用戶(hù)程序狀態(tài)(目標(biāo)狀態(tài))三種。8實(shí)例:x86系列處理器(1)386、486、Pentium系列都支持4個(gè)處理器特權(quán)級(jí)別(特權(quán)環(huán):R0、R1、R2和R3)從R0到R3特權(quán)能力依次降低R0相當(dāng)于雙狀態(tài)系統(tǒng)的管態(tài)R3相當(dāng)于目態(tài)R1和R2則介于兩者之間,它們能夠運(yùn)行的指令集合具有包含關(guān)系:9各個(gè)級(jí)別有保護(hù)性檢查(地址校驗(yàn)、I/O限制)特權(quán)級(jí)別之間的轉(zhuǎn)換方式不盡相同四個(gè)級(jí)別運(yùn)行不同類(lèi)別的程序:R0-運(yùn)行操作系統(tǒng)核心代碼R1-運(yùn)行關(guān)鍵設(shè)備驅(qū)動(dòng)程序和I/O處理例程R2-運(yùn)行其它受保護(hù)共享代碼,如語(yǔ)言系統(tǒng)運(yùn)行環(huán)境R3-運(yùn)行各種用戶(hù)程序現(xiàn)有基于x86處理器的操作系統(tǒng),多數(shù)UNIX、Linux以及Windows系列大都只用了R0和R3兩個(gè)特權(quán)級(jí)別實(shí)例:x86系列處理器(2)10問(wèn)題一:CPU怎么來(lái)判斷當(dāng)前運(yùn)行的程序是
系統(tǒng)程序還是用戶(hù)程序呢?程序狀態(tài)字PSW一個(gè)專(zhuān)門(mén)的寄存器,用來(lái)指示處理器的狀態(tài),PSW
(ProgramStatusWord),通常包括:
CPU的工作狀態(tài)碼——指明管態(tài)還是目態(tài),用來(lái)
說(shuō)明當(dāng)前在CPU上執(zhí)行的是操作系統(tǒng)還是一般用
戶(hù),從而決定其是否可以使用特權(quán)指令或擁有其
它的特殊權(quán)力;條件碼——反映指令執(zhí)行后的結(jié)果特征;中斷屏蔽碼——指出是否允許中斷11問(wèn)題二:狀態(tài)之間如何轉(zhuǎn)換?用戶(hù)程序無(wú)法直接修改程序狀態(tài)字;那么用戶(hù)程序如何才能去做一些帶有“特權(quán)”的
事情(如I/O)呢?解決之道是————管態(tài)→目態(tài)通過(guò)設(shè)置PSW(修改程序狀態(tài)字)來(lái)實(shí)現(xiàn);目態(tài)→管態(tài)12二、系統(tǒng)調(diào)用用戶(hù)程序通過(guò)特殊的訪(fǎng)管指令,來(lái)請(qǐng)求操作系統(tǒng)
為其提供某種功能的服務(wù)。系統(tǒng)調(diào)用指令的實(shí)現(xiàn)
過(guò)程一般是:當(dāng)CPU執(zhí)行訪(fǎng)管指令時(shí),即引起訪(fǎng)管中斷;處理器保存中斷點(diǎn)的程序執(zhí)行上下文環(huán)境(PSW,
PC和其他的一些寄存器),CPU切換到管態(tài)。中斷處理程序開(kāi)始工作,調(diào)用相應(yīng)的系統(tǒng)服務(wù);中斷處理結(jié)束后,恢復(fù)被中斷程序的上下文環(huán)境,
CPU恢復(fù)為目態(tài),回到中斷點(diǎn)繼續(xù)執(zhí)行。13管態(tài)(系統(tǒng)態(tài))目態(tài)(用戶(hù)態(tài))系統(tǒng)調(diào)用(匯編指令)中斷處理程序系統(tǒng)服務(wù)程序用戶(hù)程序OS內(nèi)核陷入到
管態(tài)恢復(fù)到
目態(tài)14intsys_fork();創(chuàng)建進(jìn)程intsys_read();讀文件intsys_write();寫(xiě)文件intsys_open();打開(kāi)文件intsys_execve();執(zhí)行程序intsys_time();取當(dāng)前時(shí)間intsys_chdir();更改當(dāng)前目錄intsys_mount();安裝文件系統(tǒng)……Linux0.11版本中的系統(tǒng)調(diào)用(72個(gè))數(shù)組sys_call_table[]記錄了每個(gè)系統(tǒng)調(diào)用函數(shù)的入口地址,系統(tǒng)調(diào)用中斷int0x80,eax中是調(diào)用號(hào)。15
受保護(hù)的指令;系統(tǒng)調(diào)用;內(nèi)存保護(hù);中斷機(jī)制;
I/O系統(tǒng);時(shí)鐘操作。OS需要的硬件特性16Why內(nèi)存保護(hù)?
Youcan’thurtme,Ican’thurtyou
防止一個(gè)用戶(hù)程序去訪(fǎng)問(wèn)其他用戶(hù)
程序的數(shù)據(jù);保護(hù)操作系統(tǒng)免受用戶(hù)程序的破壞。三、內(nèi)存保護(hù)17在硬件上如何支持?最簡(jiǎn)單的做法:基址寄存器和邊界寄存器程序C程序A程序B內(nèi)存基址寄存器邊界寄存器在開(kāi)始運(yùn)行一
個(gè)程序時(shí),由
操作系統(tǒng)負(fù)責(zé)
給基址寄存器
和邊界寄存器
設(shè)置相應(yīng)的值虛擬存儲(chǔ)技術(shù):把內(nèi)存和外存結(jié)合起來(lái)使用,硬件
提供虛、實(shí)地址映射的機(jī)制。18中斷對(duì)于操作系統(tǒng)的重要性就像機(jī)器中的驅(qū)動(dòng)齒輪一樣
有人把操作系統(tǒng)稱(chēng)為是由“中斷驅(qū)動(dòng)”或者“(中斷)事件驅(qū)動(dòng)”四、中斷機(jī)制19什么是中斷(interrupt)?指的是由于某個(gè)事件的發(fā)生,改變了正在CPU上
執(zhí)行的指令的順序;這種事件對(duì)應(yīng)于CPU芯片內(nèi)部或外部的硬件電路
所生成的電信號(hào)。中斷處理的過(guò)程:當(dāng)中斷事件發(fā)生時(shí),CPU暫停正在執(zhí)行的程序,
保留現(xiàn)場(chǎng)后自動(dòng)轉(zhuǎn)去執(zhí)行相應(yīng)事件的處理程序,
待處理完成后返回?cái)帱c(diǎn),繼續(xù)執(zhí)行被打斷的程序。20中斷的類(lèi)型按照Intel公司的文檔,中斷可以分為兩大類(lèi),即同步中斷和異步中斷。同步中斷:指當(dāng)CPU正在執(zhí)行指令的時(shí)候,由CPU的控制單元所發(fā)出的中斷,也稱(chēng)為“異常”;CPU檢測(cè)到的異常,包括:錯(cuò)誤Fault、
陷阱Trap和中止Abort,例如:算術(shù)溢出、被零除、用戶(hù)態(tài)下使用了特權(quán)指令等;程序設(shè)定的異常,即程序員通過(guò)int、int3等指令來(lái)發(fā)出的中斷請(qǐng)求,也稱(chēng)為軟中斷,主要用來(lái)實(shí)現(xiàn)系統(tǒng)調(diào)用服務(wù)。21異步中斷:指由其他的硬件設(shè)備在任意的時(shí)刻所發(fā)出的中斷,簡(jiǎn)稱(chēng)為“中斷”;可屏蔽中斷,即I/O中斷,它是當(dāng)外部設(shè)備或通道操作正常結(jié)束或發(fā)生錯(cuò)誤時(shí)所發(fā)生的中斷。例如:打印機(jī)打印完成、缺紙,讀磁盤(pán)時(shí)驅(qū)動(dòng)器中沒(méi)有磁盤(pán)等;不可屏蔽中斷,例如:由掉電、存儲(chǔ)器校驗(yàn)錯(cuò)等硬件故障引起的硬件中斷;每一個(gè)中斷或異常都用一個(gè)0-255之間的整數(shù)來(lái)標(biāo)識(shí),稱(chēng)為中斷向量,系統(tǒng)根據(jù)中斷向量,來(lái)為每一個(gè)中斷或異常指定相應(yīng)的處理程序。中斷嵌套在處理一個(gè)中斷事件時(shí),系統(tǒng)又響應(yīng)了新的中斷事件。程序執(zhí)行中斷中斷處理再次中斷嵌套中斷處理返回返回中斷的作用CPU與I/O設(shè)備并行工作:設(shè)備傳輸結(jié)束發(fā)中斷硬件故障處理:出現(xiàn)故障發(fā)中斷實(shí)現(xiàn)人機(jī)聯(lián)系:干預(yù)機(jī)器運(yùn)行,了解機(jī)器狀態(tài),下達(dá)臨時(shí)命令實(shí)現(xiàn)多道程序和分時(shí)系統(tǒng):切換實(shí)現(xiàn)實(shí)時(shí)處理:以中斷方式傳送實(shí)時(shí)信號(hào)實(shí)現(xiàn)應(yīng)用程序與OS聯(lián)系:如軟中斷多處理機(jī)間的聯(lián)系:以中斷方式實(shí)現(xiàn)多處理機(jī)間的信息交流和任務(wù)切換中斷優(yōu)先級(jí)中斷優(yōu)先級(jí)是中斷響應(yīng)的優(yōu)先級(jí)別。當(dāng)多個(gè)中斷發(fā)生時(shí),系統(tǒng)根據(jù)優(yōu)先級(jí)決定響應(yīng)中斷的次序,優(yōu)先響應(yīng)高優(yōu)先級(jí)的中斷,同級(jí)中斷則按硬件規(guī)定的次序響應(yīng)。中斷優(yōu)先級(jí)由高到低的順序?yàn)椋河布收现袛?、訪(fǎng)管中斷、程序性中斷、外部中斷、輸入/輸出中斷。中斷屏蔽中斷屏蔽表示暫時(shí)封鎖對(duì)中斷的響應(yīng),待屏蔽消除后再響應(yīng)。讓屏蔽字與一些中斷事件對(duì)應(yīng),當(dāng)某中斷屏蔽時(shí),其屏蔽標(biāo)志置位,表示封鎖對(duì)相應(yīng)事件的響應(yīng);當(dāng)中斷產(chǎn)生時(shí),若沒(méi)有屏蔽則響應(yīng)中斷,若屏蔽則暫時(shí)不響應(yīng)該中斷,待屏蔽標(biāo)志消除后再響應(yīng)。注意:自愿性中斷不能屏蔽。中斷響應(yīng)中斷響應(yīng):當(dāng)處理機(jī)發(fā)現(xiàn)中斷請(qǐng)求時(shí),終止現(xiàn)行程序的運(yùn)行,并自動(dòng)引出中斷處理程序的過(guò)程。其響應(yīng)流程如下圖所示。中斷響應(yīng)流程圖執(zhí)行一條指令指令結(jié)束?Y有中斷請(qǐng)求?開(kāi)中斷?YY響應(yīng)中斷取下條指令NN中斷響應(yīng)過(guò)程中斷響應(yīng)過(guò)程一般包含以下幾步:發(fā)現(xiàn)中斷源保護(hù)現(xiàn)場(chǎng)引出中斷處理程序發(fā)現(xiàn)中斷源發(fā)現(xiàn)中斷源:通過(guò)掃描中斷寄存器檢查有無(wú)中斷請(qǐng)求。中斷裝置:發(fā)現(xiàn)中斷源而產(chǎn)生中斷過(guò)程的設(shè)備稱(chēng)為中斷裝置。中斷由軟硬件協(xié)同完成,軟硬件部分合稱(chēng)中斷系統(tǒng)。中斷系統(tǒng)的職能是實(shí)現(xiàn)中斷進(jìn)入。斷點(diǎn)及恢復(fù)點(diǎn):發(fā)現(xiàn)中斷時(shí)剛執(zhí)行完的那條指令所在的單元號(hào)稱(chēng)為斷點(diǎn),斷點(diǎn)的邏輯后繼指令的單元號(hào)稱(chēng)為恢復(fù)點(diǎn)。保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng):當(dāng)中斷發(fā)生時(shí),將現(xiàn)場(chǎng)信息保存到內(nèi)存中。現(xiàn)場(chǎng):指中斷那一刻能確保程序繼續(xù)運(yùn)行的信息,主要包括:后繼指令單元號(hào)、程序運(yùn)行時(shí)CPU狀態(tài)、指令執(zhí)行情況、程序執(zhí)行中間結(jié)果?;謴?fù)現(xiàn)場(chǎng):被中斷程序恢復(fù)運(yùn)行之前,將保存的現(xiàn)場(chǎng)信息恢復(fù)到內(nèi)存中。引出中斷處理程序引出中斷處理程序:中斷發(fā)生時(shí),中斷系統(tǒng)將程序狀態(tài)字的內(nèi)容保存到主存約定單元中,再將中斷處理程序的程序狀態(tài)字送入相應(yīng)的寄存器,于是引出了中斷處理程序。中斷響應(yīng)的本質(zhì)是交換程序狀態(tài)字的內(nèi)容以保留程序斷點(diǎn)信息、自動(dòng)轉(zhuǎn)入相應(yīng)的中斷處理程序。中斷處理過(guò)程中斷處理功能由硬件和軟件配合完成。硬件負(fù)責(zé)中斷的發(fā)現(xiàn)及進(jìn)入,軟件負(fù)責(zé)中斷的分析處理及恢復(fù)工作。軟件中斷處理過(guò)程主要有三項(xiàng)工作:保護(hù)被中斷程序的現(xiàn)場(chǎng)并傳遞參數(shù)執(zhí)行相應(yīng)的中斷服務(wù)程序恢復(fù)被中斷程序的現(xiàn)場(chǎng)并退出中斷中斷處理例程簡(jiǎn)介1硬件故障中斷的處理:這類(lèi)故障一般需要人工干預(yù),OS所做工作是:保護(hù)現(xiàn)場(chǎng)、防止事故蔓延、向操作員報(bào)告并提供故障信息。程序性中斷的處理:大體有以下處理方法對(duì)純程序性錯(cuò)誤,如地址越界,OS將出錯(cuò)程序名、出錯(cuò)地址、錯(cuò)誤性質(zhì)報(bào)告給操作員對(duì)其他程序性錯(cuò),如溢出,可交給用戶(hù)自行處理,若用戶(hù)沒(méi)有提出處理辦法,則OS將出錯(cuò)程序名、出錯(cuò)地址、錯(cuò)誤性質(zhì)報(bào)告給操作員。中斷處理例程簡(jiǎn)介2外部中斷的處理:對(duì)不同中斷分別進(jìn)行處理。如時(shí)鐘中斷完成增加時(shí)鐘計(jì)數(shù)。外部設(shè)備中斷的處理:分為以下情況傳輸結(jié)束:決定傳輸是否結(jié)束。若未結(jié)束則啟動(dòng)下一次傳輸,否則置設(shè)備狀態(tài)為空閑。傳輸錯(cuò)誤:置設(shè)備空閑,報(bào)告?zhèn)鬏斿e(cuò)誤。故障:置設(shè)備空閑,報(bào)告設(shè)備錯(cuò)誤。訪(fǎng)管中斷的處理:根據(jù)系統(tǒng)調(diào)用號(hào)查得系統(tǒng)調(diào)用程序的入口地址,并轉(zhuǎn)入執(zhí)行。2.4向量中斷向量中斷:中斷發(fā)生時(shí)由中斷源引導(dǎo)CPU進(jìn)入中斷處理程序。中斷向量:由中斷處理程序入口地址及
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 38205.1-2025液壓傳動(dòng)16 MPa系列單出桿缸的安裝尺寸第1部分:中型系列
- 北師大版五年級(jí)下冊(cè)分?jǐn)?shù)加減法巧算練習(xí)200道及答案
- 認(rèn)真對(duì)待項(xiàng)目管理考試中的試題及答案
- 學(xué)習(xí)與反思結(jié)合提高2025年注冊(cè)會(huì)計(jì)師考試的能力試題及答案
- 項(xiàng)目組建過(guò)程中的決策設(shè)計(jì)試題及答案
- 醫(yī)院感染控制與微生物檢驗(yàn)及試題及答案
- 行政機(jī)關(guān)合同糾紛處理新機(jī)制
- 廉政談話(huà)時(shí)的表態(tài)發(fā)言稿
- 股票投資策略相關(guān)試題及答案
- 室內(nèi)空氣質(zhì)量提升措施計(jì)劃
- 對(duì)患者入院評(píng)估的系統(tǒng)化方法試題及答案
- 教育與社會(huì)發(fā)展的關(guān)系試題及答案
- 七年級(jí)英語(yǔ)下學(xué)期期中押題預(yù)測(cè)卷(深圳專(zhuān)用)(原卷版)
- 2024年貴州貴州路橋集團(tuán)有限公司招聘真題
- DB11-T 2397-2025 取水供水用水排水?dāng)?shù)據(jù)庫(kù)表結(jié)構(gòu)
- 多式聯(lián)運(yùn)模式在跨境電商中的應(yīng)用-全面剖析
- 中藥學(xué)(士)基礎(chǔ)知識(shí)押題密卷1
- 2025年第三屆天揚(yáng)杯建筑業(yè)財(cái)稅知識(shí)競(jìng)賽題庫(kù)附答案(1401-1536題)
- 2025中考語(yǔ)文??甲魑难侯}(10大主題+10篇范文)
- 2024安康市專(zhuān)職消防員招聘考試題目及答案
- 2024年湖北省中考滿(mǎn)分作文《滿(mǎn)樹(shù)繁花》
評(píng)論
0/150
提交評(píng)論