在作業系統正常執行之後,作業系統如何與裝置和程式互動?
在這就就涉及到inte***ce(介面)的設計問題。
作業系統的inte***ce是什麼呢?
在我們看來,作業系統的inte***ce包含三個
我們需要對著三個inte***ce有清晰的認識,才能夠知道,作業系統如何通過中斷來控制和管理外設,作業系統如何通過系統呼叫和異常來提供相應的服務和支援的。
系統呼叫(**於應用程式)
異常(**於不良的應用程式)
中斷(**於外設)
從安全的角度來考慮,應用程式訪問外設是不被信任的也就是說假設允許應用程式訪問外設安全性無法得到保障。而且計算機系統為了限制應用程式訪問許可權只能夠訪問被允許的位址空間,訪問其他程式的位址空間會不安全,劃分了不同的特權級。只有核心可以執行特權指令來訪問外設。其三,應用程式不用考慮訪問外設硬體瑣碎的細節,可以交給作業系統來處理,極大的方便了應用程式。
我們希望作業系統能夠給上層的應用提供乙個更簡單一致的介面,使得上層的軟體不必關閉底層實現的細節,讓應用程式可以寫的通用可移植。
作業系統如何設計和實現中斷、異常和系統呼叫?
那麼中斷、異常和系統呼叫有什麼區別和特點呢?
源頭
處理時間
中斷我們可以稱之為非同步事件,那麼什麼是非同步呢?事件產生後並不一定會產生中斷。異常是同步事件,當發生某種異常事件是一定會出現異常(如除0指令,一定會產生異常)。系統呼叫可以分為同步和非同步,同步是指當發生系統呼叫的指令時,同步就會發生系統呼叫,但是系統呼叫的返回可能是非同步的。也就是說,系統呼叫可以立即返回,也可以讓作業系統先去做其他的事情,交由核心處理。當處理完成後,傳送訊號通知應用程式事件完成的訊息。
響應
中斷在應用程式執行的過程中時不時就會產生中斷,中斷是乙個持續的過程,但是中斷是由作業系統悄悄的完成的,應用程式並不會感知到。產生異常後,可能會產生嚴重的後果將應用程式殺死,或者重新執行。系統呼叫是乙個等待和持續的過程,等待系統呼叫完成返回使用者空間就會繼續執行。
作業系統的啟動過程 作業系統與裝置和程式互動
os 作業系統os放在disk 硬碟 上,而不是在記憶體裡,由bios提供相應支援 bios 基本i o處理系統 功能 開啟電源後計算機系統開始檢測各種外設,之後才載入軟體執行 bootloader 載入os,從硬碟到記憶體,從而cpu可以執行作業系統 開機步驟 bios bootloader os...
作業系統 程序和程式
馮諾依曼體系 輸入裝置 鍵盤 滑鼠 掃瞄器 寫字板等。儲存器 記憶體。處理器 cpu 含有運算器和控制器等 輸出裝置 顯示器 印表機等。硬碟 在開啟硬碟中的檔案時,硬碟屬於輸入裝置 硬碟中資料的輸入到儲存器中,再在cpu中執行 在硬碟中新建乙個檔案,然後往硬碟中輸入資料,此時硬碟就是乙個輸出裝置。注...
裝置管理 作業系統
裝置管理 裝置是計算機中的重要資源,裝置管理的主要任務是控制裝置和cpu之間進行i o操作。由於現代作業系統的外部裝置的多樣性和複雜性以及不同裝置需要不同的裝置處理程式,裝置管理成了作業系統中最複雜 最具有多樣性的部分。裝置管理模組在控制各類裝置和cpu進行i o操作的同時,還要盡可能的提高裝置與裝...