




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
操作系統硬件機制處理器狀態、特權指令、非特權指令;中斷概念、中斷系統、中斷向量表、中斷響應處理過程;系統調用、處理過程、分類2操作系統的硬件環境任何系統軟件都是對硬件功能的延伸,都是建立在硬件基礎上的,離不開硬件設施的支持。而操作系統更是直接依賴于硬件,與硬件的關系尤為密切。3計算機系統的體系結構(本圖摘自Silberschatz,GalvinandGagne:“OperatingSystemConcepts”)4
受保護的指令;系統調用;內存保護;中斷機制;
I/O系統;時鐘操作。OS需要的硬件特性5有些指令只有操作系統才有權使用,例如:訪問某些硬件資源的指令,這些硬件資源
禁止用戶程序直接訪問;對I/O設備的直接訪問指令,如磁盤、打印
機等;對內存管理狀態進行操作的指令(頁表指
針、刷新TLB等);某些特殊的狀態位的設置指令;
停機指令。一、受保護的指令(特權指令)6如何從硬件上實現OS的這個要求?處理器的狀態
根據運行程序對資源和機器指令的使用權限,
把處理器設置為不同狀態。多數系統將處理器工作狀態劃分為管態和目態。管態:操作系統的管理程序運行時的狀態,較高的
特權級別,又稱為特權態、系統態、內核態處理器處于管態時:可以執行所有的指令(包括特權
指令)、使用所有的資源,并具有改變處理器狀態的
能力。Supervisormode==“Superuser”privilege?7目態:用戶程序運行時的狀態,較低的特權級別,
又稱為普通態(普態)、用戶態。在此狀態下禁止使用特權指令,不能直接使用系統
資源與改變CPU狀態,并且只能訪問用戶程序所在
的存儲空間。有些系統將處理器狀態劃分核心狀態,管理狀態和
用戶程序狀態(目標狀態)三種。8實例:x86系列處理器(1)386、486、Pentium系列都支持4個處理器特權級別(特權環:R0、R1、R2和R3)從R0到R3特權能力依次降低R0相當于雙狀態系統的管態R3相當于目態R1和R2則介于兩者之間,它們能夠運行的指令集合具有包含關系:9各個級別有保護性檢查(地址校驗、I/O限制)特權級別之間的轉換方式不盡相同四個級別運行不同類別的程序:R0-運行操作系統核心代碼R1-運行關鍵設備驅動程序和I/O處理例程R2-運行其它受保護共享代碼,如語言系統運行環境R3-運行各種用戶程序現有基于x86處理器的操作系統,多數UNIX、Linux以及Windows系列大都只用了R0和R3兩個特權級別實例:x86系列處理器(2)10問題一:CPU怎么來判斷當前運行的程序是
系統程序還是用戶程序呢?程序狀態字PSW一個專門的寄存器,用來指示處理器的狀態,PSW
(ProgramStatusWord),通常包括:
CPU的工作狀態碼——指明管態還是目態,用來
說明當前在CPU上執行的是操作系統還是一般用
戶,從而決定其是否可以使用特權指令或擁有其
它的特殊權力;條件碼——反映指令執行后的結果特征;中斷屏蔽碼——指出是否允許中斷11問題二:狀態之間如何轉換?用戶程序無法直接修改程序狀態字;那么用戶程序如何才能去做一些帶有“特權”的
事情(如I/O)呢?解決之道是————管態→目態通過設置PSW(修改程序狀態字)來實現;目態→管態12二、系統調用用戶程序通過特殊的訪管指令,來請求操作系統
為其提供某種功能的服務。系統調用指令的實現
過程一般是:當CPU執行訪管指令時,即引起訪管中斷;處理器保存中斷點的程序執行上下文環境(PSW,
PC和其他的一些寄存器),CPU切換到管態。中斷處理程序開始工作,調用相應的系統服務;中斷處理結束后,恢復被中斷程序的上下文環境,
CPU恢復為目態,回到中斷點繼續執行。13管態(系統態)目態(用戶態)系統調用(匯編指令)中斷處理程序系統服務程序用戶程序OS內核陷入到
管態恢復到
目態14intsys_fork();創建進程intsys_read();讀文件intsys_write();寫文件intsys_open();打開文件intsys_execve();執行程序intsys_time();取當前時間intsys_chdir();更改當前目錄intsys_mount();安裝文件系統……Linux0.11版本中的系統調用(72個)數組sys_call_table[]記錄了每個系統調用函數的入口地址,系統調用中斷int0x80,eax中是調用號。15
受保護的指令;系統調用;內存保護;中斷機制;
I/O系統;時鐘操作。OS需要的硬件特性16Why內存保護?
Youcan’thurtme,Ican’thurtyou
防止一個用戶程序去訪問其他用戶
程序的數據;保護操作系統免受用戶程序的破壞。三、內存保護17在硬件上如何支持?最簡單的做法:基址寄存器和邊界寄存器程序C程序A程序B內存基址寄存器邊界寄存器在開始運行一
個程序時,由
操作系統負責
給基址寄存器
和邊界寄存器
設置相應的值虛擬存儲技術:把內存和外存結合起來使用,硬件
提供虛、實地址映射的機制。18中斷對于操作系統的重要性就像機器中的驅動齒輪一樣
有人把操作系統稱為是由“中斷驅動”或者“(中斷)事件驅動”四、中斷機制19什么是中斷(interrupt)?指的是由于某個事件的發生,改變了正在CPU上
執行的指令的順序;這種事件對應于CPU芯片內部或外部的硬件電路
所生成的電信號。中斷處理的過程:當中斷事件發生時,CPU暫停正在執行的程序,
保留現場后自動轉去執行相應事件的處理程序,
待處理完成后返回斷點,繼續執行被打斷的程序。20中斷的類型按照Intel公司的文檔,中斷可以分為兩大類,即同步中斷和異步中斷。同步中斷:指當CPU正在執行指令的時候,由CPU的控制單元所發出的中斷,也稱為“異常”;CPU檢測到的異常,包括:錯誤Fault、
陷阱Trap和中止Abort,例如:算術溢出、被零除、用戶態下使用了特權指令等;程序設定的異常,即程序員通過int、int3等指令來發出的中斷請求,也稱為軟中斷,主要用來實現系統調用服務。21異步中斷:指由其他的硬件設備在任意的時刻所發出的中斷,簡稱為“中斷”;可屏蔽中斷,即I/O中斷,它是當外部設備或通道操作正常結束或發生錯誤時所發生的中斷。例如:打印機打印完成、缺紙,讀磁盤時驅動器中沒有磁盤等;不可屏蔽中斷,例如:由掉電、存儲器校驗錯等硬件故障引起的硬件中斷;每一個中斷或異常都用一個0-255之間的整數來標識,稱為中斷向量,系統根據中斷向量,來為每一個中斷或異常指定相應的處理程序。中斷嵌套在處理一個中斷事件時,系統又響應了新的中斷事件。程序執行中斷中斷處理再次中斷嵌套中斷處理返回返回中斷的作用CPU與I/O設備并行工作:設備傳輸結束發中斷硬件故障處理:出現故障發中斷實現人機聯系:干預機器運行,了解機器狀態,下達臨時命令實現多道程序和分時系統:切換實現實時處理:以中斷方式傳送實時信號實現應用程序與OS聯系:如軟中斷多處理機間的聯系:以中斷方式實現多處理機間的信息交流和任務切換中斷優先級中斷優先級是中斷響應的優先級別。當多個中斷發生時,系統根據優先級決定響應中斷的次序,優先響應高優先級的中斷,同級中斷則按硬件規定的次序響應。中斷優先級由高到低的順序為:硬件故障中斷、訪管中斷、程序性中斷、外部中斷、輸入/輸出中斷。中斷屏蔽中斷屏蔽表示暫時封鎖對中斷的響應,待屏蔽消除后再響應。讓屏蔽字與一些中斷事件對應,當某中斷屏蔽時,其屏蔽標志置位,表示封鎖對相應事件的響應;當中斷產生時,若沒有屏蔽則響應中斷,若屏蔽則暫時不響應該中斷,待屏蔽標志消除后再響應。注意:自愿性中斷不能屏蔽。中斷響應中斷響應:當處理機發現中斷請求時,終止現行程序的運行,并自動引出中斷處理程序的過程。其響應流程如下圖所示。中斷響應流程圖執行一條指令指令結束?Y有中斷請求?開中斷?YY響應中斷取下條指令NN中斷響應過程中斷響應過程一般包含以下幾步:發現中斷源保護現場引出中斷處理程序發現中斷源發現中斷源:通過掃描中斷寄存器檢查有無中斷請求。中斷裝置:發現中斷源而產生中斷過程的設備稱為中斷裝置。中斷由軟硬件協同完成,軟硬件部分合稱中斷系統。中斷系統的職能是實現中斷進入。斷點及恢復點:發現中斷時剛執行完的那條指令所在的單元號稱為斷點,斷點的邏輯后繼指令的單元號稱為恢復點。保護現場保護現場:當中斷發生時,將現場信息保存到內存中。現場:指中斷那一刻能確保程序繼續運行的信息,主要包括:后繼指令單元號、程序運行時CPU狀態、指令執行情況、程序執行中間結果。恢復現場:被中斷程序恢復運行之前,將保存的現場信息恢復到內存中。引出中斷處理程序引出中斷處理程序:中斷發生時,中斷系統將程序狀態字的內容保存到主存約定單元中,再將中斷處理程序的程序狀態字送入相應的寄存器,于是引出了中斷處理程序。中斷響應的本質是交換程序狀態字的內容以保留程序斷點信息、自動轉入相應的中斷處理程序。中斷處理過程中斷處理功能由硬件和軟件配合完成。硬件負責中斷的發現及進入,軟件負責中斷的分析處理及恢復工作。軟件中斷處理過程主要有三項工作:保護被中斷程序的現場并傳遞參數執行相應的中斷服務程序恢復被中斷程序的現場并退出中斷中斷處理例程簡介1硬件故障中斷的處理:這類故障一般需要人工干預,OS所做工作是:保護現場、防止事故蔓延、向操作員報告并提供故障信息。程序性中斷的處理:大體有以下處理方法對純程序性錯誤,如地址越界,OS將出錯程序名、出錯地址、錯誤性質報告給操作員對其他程序性錯,如溢出,可交給用戶自行處理,若用戶沒有提出處理辦法,則OS將出錯程序名、出錯地址、錯誤性質報告給操作員。中斷處理例程簡介2外部中斷的處理:對不同中斷分別進行處理。如時鐘中斷完成增加時鐘計數。外部設備中斷的處理:分為以下情況傳輸結束:決定傳輸是否結束。若未結束則啟動下一次傳輸,否則置設備狀態為空閑。傳輸錯誤:置設備空閑,報告傳輸錯誤。故障:置設備空閑,報告設備錯誤。訪管中斷的處理:根據系統調用號查得系統調用程序的入口地址,并轉入執行。2.4向量中斷向量中斷:中斷發生時由中斷源引導CPU進入中斷處理程序。中斷向量:由中斷處理程序入口地址及
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 嵌入式開發職業生涯交流試題及答案
- 測試執行中常見的錯誤與解決方案試題及答案
- 探索軟件缺陷管理的技巧試題及答案
- 公路交通工程試車試題及答案
- 四級計算機考試日常練習試題及答案
- 安全生產維修管理制度
- 廣東會所店長管理制度
- 出口企業備案管理制度
- 公路視頻監控管理制度
- 地面保潔人員管理制度
- 2024草原承包合同書
- 鋼結構閣樓合同范例
- 2022年首都師范大學計算機科學與技術專業《數據結構與算法》科目期末試卷A(有答案)
- 福建省福州教育學院附屬中學2025屆高考數學四模試卷含解析
- 全國扶貧開發信息系統業務管理子系統用戶操作手冊20171110(升級版)
- 4.1自由擴散和協助擴散課件高一上學期生物人教版必修1
- 主動脈夾層完整版課件
- 《飛向太空的航程》名師課件
- 科學普及講座模板
- 高標準農田 建設規范DB41-T 2412-2023
- 國開《Windows網絡操作系統管理》形考任務5-配置DNS服務實訓
評論
0/150
提交評論