【OS】操作系统运行环境
文章目錄
- 操作系統運行機制
 - 中斷和異常
 - 系統調用
 
操作系統運行機制
CPU執行兩種不同性質的程序:
1. 操作系統內核程序
 2. 用戶自編程序(應用程序)
其中內核程序用于執行一些特權指令,應用程序則不能執行。
特權指令,指計算機中不允許用戶直接使用的指令。
在實現上,為了避免操作系統及其關鍵數據受到用戶程序的破壞,將CPU的狀態劃分為用戶態(目態)和核心態(管態、內核態)。
特權指令:只能由操作系統內核部分使用,不允許用戶直接使用的指令。
內核程序運行在核心態(CPU執行特權指令) 應用程序運行在用戶態(CPU執行非特權指令)
內核是計算機配置的底層軟件,操作系統中一些與硬件關聯的模塊和運行頻率高的程序構成了操作系統的內核,內核的指令操作工作在核心態,包含四方面內容:
時鐘管理
 時鐘是各部件中最關鍵的設備。
 第一功能是計時,操作系統需要通過時鐘管理向用戶提供標準的系統時間
 第二功能是中斷管理,實現進程的切換(如時間片的輪轉)
中斷機制
 提高多道程序運行環境中CPU的利用率,是操作系統各項操作的基礎(eg:鼠標鍵盤的鍵入,進程管理調度,系統功能調用,設備驅動,文件訪問),現代操作系統是靠中斷驅動的軟件。
 中斷機制中,只有一小部分屬于內核,負責保護和恢復中斷現場的信息,轉移控制權到相關的處理程序,減少終端處理時間,提高系統并行處理能力
原語
 原語是一些關閉中斷的公用小程序,特點如下:
 ①處于操作系統最底層,是最接近硬件的部分
 ②程序運行具有原子性,操作只能一氣呵成(從操作安全性和便于管理方面考慮)
 ③這些程序的運行時間較短,調用頻繁
 把具有這些特點的程序稱為原語,定義原語的直接方法就是關閉中斷,讓所有動作不可分割完成后再打開中斷。
系統的設備驅動、CPU切換、進程通信等功能中部分操作都可以定義為原語,使其成為內核的組成部分。
系統中用來登記狀態信息的數據結構很多,為了實現有效的管理,系統需要一些基本操作,常見操作有:
①進程管理
②存儲器管理
③設備管理
核心態指令實際上包括系統調用類指令和一些針對時鐘、中斷和原語的操作指令。
中斷和異常
異常會引起中斷,中斷不一定引起異常
 中斷(外中斷)————異常(內中斷)
 
上述提到了核心態和用戶態兩種工作狀態,操作系統內核工作在核心態,用戶程序工作在用戶態。
 系統不允許用戶程序實現核心態的功能,但是又必須使用這些功能,所以要在核心態建立通道,向系統資源發出申請,由系統資源直接訪問核心態,實現從用戶態進入核心態。在實際操作系統中,CPU運行上層程序時唯一進入通道的途徑就是通過中斷和異常,運行用戶態的CPU就會立即進入核心態。
 中斷對于一個運行在計算機上的實用操作系統,是不可缺少的。操作系統的發展大體上就是一個不斷提高資源利用率的過程,而資源利用率就需要在程序并未使用某種資源時,把它對那種資源的占有權釋放,這一行為就需要中斷機制的實現。
定義
 ① 中斷(外中斷)指來自CPU執行指令以外事件的發生(如設備發出的I/O結束中斷,表示設備I/O處理已經完成,希望處理機能夠向設備發下一個I/O請求,同時讓完成I/O后的程序繼續運行)。時鐘中斷,表示一個固定的時間片已到,讓處理機處理計時、啟動定時運行的任務等。這一類中斷通常是與當前指令執行無關的事件,即它們與當前處理機運行的程序無關。
 ②異常(內中斷、例外、陷入)指源自CPU執行指令內部的事件。對異常的處理一般要依賴于當前程序的運行現場,而且異常不能被屏蔽,一旦出現要立即處理。
中斷處理過程
 
①關中斷
 CPU響應中斷后,首先保護程序的現場,在保護現場的過程中,CPU不應響應更高級中斷源的中斷請求;否則如果程序現場保存不完整,在中斷服務程序結束后,就不能正確的恢復并繼續執行現行程序。
 ②保存斷點
 為保證中斷服務程序執行完畢后能正確返回原來程序,必須將原來程序的斷點(程序計數器PC)保存起來。
 ③引出中斷服務程序
 取出中斷服務程序的入口地址送入PC。
 ④保存現場和屏蔽字
 進入中斷服務程序后,首先保存現場,現場信息一般指程序狀態字寄存器PSWR和某些通用寄存器的內容。
 ⑤開中斷
 允許更高級中斷請求得到響應。
 ⑥執行中斷服務程序
 中斷請求的目的。
 ⑦關中斷
 保證在恢復現場和屏蔽字時不被中斷。
 ⑧恢復現場和屏蔽字
 將現場和屏蔽字恢復到原來的狀態。
 ⑨開中斷、中斷返回
 中斷服務程序的最后一條指令通常是一條中斷返回指令,使其返回到源程序的斷點處,以便繼續執行源程序。
恢復現場:在中斷返回前,必須將寄存器的內容恢復到中斷處理前的狀態,這部分工作由中斷服務程序完成。
中斷返回:由中斷服務程序的最后一條中斷返回指令完成。
系統調用
系統調用是操作系統提供的用戶接口之一(程序接口API),是應用程序同系統之間的接口。操作系統的主要功能是為應用程序的運行創建良好環境。系統調用可視為特殊的公共子程序。系統中的各種公共資源都由操作系統統一掌管,因此在用戶程序中,凡是與資源有關的操作都必須通過系統調用方式向操作系統提出服務請求,并由操作系統代為完成。一個操作系統提供的系統調用命令由幾十到上百條,系統調用可分為:
完成設備的請求或釋放以及設備啟動等功能。
完成文件的讀、寫、創建和刪除等功能。
完成進程的創建、撤銷、阻塞和喚醒等功能。
完成進程之間的消息傳遞或信號傳遞等功能。
完成內存的分配、回收和獲取作業占用內存區大小及始址等功能。
總結
以上是生活随笔為你收集整理的【OS】操作系统运行环境的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 80km续航 雅迪电动车DN2千元秒杀:
 - 下一篇: 【DS】时间复杂度排序