作業系統之哲學原理 程序

2021-06-23 03:45:24 字數 2507 閱讀 1007

作業系統之哲學原理     程序

程序管理,記憶體管理和檔案管理是作業系統的三大核心功能。

乙個程式載入到記憶體後就變為程序:程序= 程式 + 執行,為了提高cpu利用率,人們想起將多個程式載入到計算機裡,併發執行。程序讓讓每個使用者感覺到自己獨佔cpu。

程序模型

從物理記憶體的分配來看,每個程序占用一片記憶體空間。由於在任意時刻,cpu只能執行一條指令,因此任意時刻在cpu上執行的程序只有乙個,而到底執行哪條指令由物理程式計算器來決定,也就是說,所有程序公用乙個程式計數器。

從邏輯層面來看,每個程序有著自己的計數器,記錄其下一條指令所在位置。邏輯上說,程式計數器可以有很多個。

從時間上看每個程序都必須往前推進,在執行一定時間後,程序都該完成了一定的工作量,即每次程序返回,它都處在上次返回點之後。

程序模型的實現

首先,給程序分配合適的記憶體。由於多個程序可能同時並存,因此程序的儲存需要考慮如何讓多個程序共享同乙個物理記憶體而不發生衝突,作業系統解決這個問題的手段是記憶體管理。

通過程序排程,決定在什麼時候讓什麼程序使用cpu

多道程式設計的好處

隨著程序數量的增加,也就是多道程式設計的度的增加,cpu的利用率將逐步提公升,但提公升的幅度則逐步降低,直到某個臨界點為止。這個臨界點是多道程式設計的極限。

多道程式設計更大的好處是改善系統響應時間,及使用者等待時間。

程序的層次結構

乙個程序在執行過程中通過系統的呼叫建立新的程序(子程序),這樣子子孫孫建立下去就形成了所謂的程序樹。unix稱這個程序樹里的所有程序為乙個程序組,從而形成乙個層次架構。

windows沒有程序組的概念,而是所有程序均地位平等。

程序的狀態

執行,阻塞,就緒

程序與位址空間

程序空間也稱位址空間。位址空間就是程序要有的所有資源。

位址空間的特點是被動的,只提供支援。打個比方,有個舞台,那些道具和舞台就是位址空間,這些空間本身不能發生任何動作。做動作的只是演員,而每乙個演員就是乙個執行緒。

程序與位址空間研究的主要內容是如何讓多個程序空間共享乙個物理記憶體。

程序管理

當乙個程序產生時,作業系統需要為其創造記錄。作業系統用於維護程序記錄的結構就是程序表或是程序控制塊(pcb)。它們中存放的就是有關該程序相關的資料。資訊應當包括暫存器,程式計數器,狀態字,棧指標,優先順序,程序id,訊號,建立時間等等。而採納的資料結構主要是線性表,鍊錶和結構(struct),也用樹和圖(網路)結構。

這個程序表儲存在作業系統的核心裡。

psw,狀態字暫存器。包括允許中斷標誌位,跟蹤標誌位。

程序的建立過程

程序建立在不同的作業系統方法也不是一樣的。unix將程序建立分為兩個步驟:第一步是fork,建立與自己完全一樣的新程序;第二步是exec,將新的程序的位址空間用另乙個程式的內容覆蓋,然後跳轉到新程式的起始位址,從而完成新程式的啟動。而windows使用creatprocess這個系統呼叫就可以完成程序的建立。在呼叫該函式時我們把欲執行的程式名稱作為引數傳遞過來,建立新的頁表,而不需要複製別的程序。

unix的建立過程要靈活一些,因為我們既可以自我複製,也可以啟動新的程式。而自我複製在很多情況下都是有用的。例如,web伺服器在沒收到乙個使用者請求後,就建立新的一模一樣的程序來服務使用者請求。

程序管理要處理的問題:公平與效率

程序的缺陷

它只能乙個時間做一件事,且如果在執行的過程中阻塞,整個程序就將掛起而無法繼續執行。

程序基本概念 1 作業系統之哲學原理讀書筆記啊

1 程序模型 由於 pc機只有乙個程式計數器,在任何時候單 cpu只有單個程序,所以從物理層面上見所有程序共用乙個程式計數器 但是程序切換時,原程序回到原執行位置,接著執行,從這個角度上看每個程序有自己的程式計數器 2 多道程式設計的好處 提高 cpu利用效率,響應時間改善 3 進城的消亡 壽終 程...

作業系統的哲學原理,以及一些效能測試中的資料分析

一些概念 1.記憶體管理主要是管理快取 主存 磁碟 磁帶等儲存介質鎖形成的記憶體框架。2.虛擬記憶體 即將物理記憶體 快取和主存 擴充到外部儲存介質 磁碟 光碟 磁帶 上。這樣記憶體的空間就大大的增加了。3.中斷的基本原理是 裝置在完成自己的任務後向cpu發出中斷,cpu判斷優先順序,然後確定是否響...

作業系統之哲學思想之記憶體原理

一 基本記憶體 1.1 記憶體管理 是對記憶體架構進行管理,使程式在記憶體架構的任何乙個層次上的存放對於使用者來說都是一樣的。記憶體管理實現這種媒介透明的手段就是虛擬記憶體 1.2 記憶體管理要達到什麼目的?1.3 虛擬記憶體 中心思想 將物理主存擴大到便宜 大容量的磁碟上,即將磁碟空間看作是主存空...