作業系統 程序描述

2021-08-17 10:50:23 字數 1427 閱讀 3478

作業系統為了管理程序和資源,必須掌握每個程序和資源的當前狀態。

最普遍採用的一張方法是:作業系統管理並維護其管理的每個實體的資訊表。大致可以分為四類:記憶體,i/o,檔案,程序。以後的學習中將會著重對這四部分內容學習。

如上圖所示,作業系統會為如上實體維護資訊表,在此目前只研究程序,其餘的在以後的學習會再介紹。

作業系統在管理和控制程序時,首先需要知道程序的位置(它在哪),其次是程序的屬性(它是誰)。

因此,乙個程序至少需要有足夠的空間來存放自己的程式和資料。

此外,程式的執行通常涉及到跟蹤過程呼叫棧和過程間引數傳遞的棧。

最後,當然應該還要有與之相關的程序屬性。

綜上所述:

通常,屬性集稱為程序控制塊。程式,資料,棧,屬性集稱為程序映像

程序映像中的基本元素如下

專案說明

使用者資料

使用者空間中可修改的部分,包括程式資料,使用者棧和可修改的程式

使用者程式

待執行的程式

棧每乙個程序都有乙個或多個棧,用於儲存引數,過程呼叫和系統呼叫位址

程序控制塊

作業系統控制程序所需要的資料

程序映像的位置取決與所用的記憶體管理方案。

最簡單情況下:

由於程序映像儲存在相鄰的的記憶體塊或連續的記憶體塊中,而儲存塊位於外存上。

當作業系統管理程序時,其程序映像應當一部分駐留在記憶體中,當執行該程序時,則需要將該程序的程序映像全部載入到記憶體或虛存中。

因此,作業系統需要知道每個程序映像在記憶體中的部分的位置,也需要知道每個程序在記憶體中的位置。

當程序被切換時,部分程序映像可能還保留在記憶體中,所以作業系統必須追蹤程序映像的那一部分仍然駐留在記憶體。

作業系統對程序控制塊的維護所需要的程序資訊看起來是非常眾多的,實際上大體我們把他分為三類:

見下表:

處理器狀態資訊由處理器暫存器的內容組成。

執行乙個程序時,程序的資訊一定會出現暫存器中。中斷程序時,必須儲存該暫存器的所有資訊,以便程序恢復時就可以恢復之前的所有資料。所涉及的暫存器種類與數量取決與處理器的設計。

程序控制塊的作用

程序控制塊是作業系統中最重要的資料結構。實際上,作業系統的各個模組包括那些設計排程,資源分配,中斷處理,效能監控和分析的模組,都能讀取和修改他們。

因此這就帶來了乙個設計上的問題,如何保證程序控制塊的安全呢。

這些問題在作業系統得到的解決方法是:要求作業系統中的所有例程都通過乙個處理程式例程來解決。

處理程式例程的任務僅是保護程序控制塊,且是讀寫這些塊的唯一仲裁程式。

作業系統 程序的描述

程序的基本狀態及轉換 建立狀態和終止狀態 為了可以使程式能夠併發執行,並且可以對併發執行的程式加以描述和控制,人們引入了程序這個概念。以程序的功能與服務的物件來分 兩個方面 以應用程式的服務型別來分 三個方面 執行可轉化為阻塞 就緒。阻塞可轉化為就緒。就緒可轉化為執行。程序阻塞步驟如下 正在執行的程...

作業系統原理 程序描述和控制

程序的出現,是為了作業系統可以以一種有序的方式管理應用的執行,以達到以下的目的 資源對多個應用程式是可用的。程序在多個應用程式之間的切換以保證多個應用程式都在執行中。處理器和i o裝置能夠得到充分利用。程序是一組元素組成的實體,他可以是乙個正在執行中的程式,也可以是乙個能分配處理器並由處理器執行的實...

作業系統 程序

在作業系統中,作業系統將記憶體,網路,檔案系統抽象為資源的統一抽象表示。1 什麼是程序 程序就是進入記憶體中正在執行的程式。把程序當做一組元素組成的實體。程序包括兩個部分,一部分是 部分,另一部分是 相關的資料集合。程序控制塊 每乙個程序,在核心中都對應著乙個程序控制塊。程序控制塊中儲存著程序的所有...