作業系統 儲存器的層次結構 程式的裝入和鏈結

2021-07-25 07:14:13 字數 1041 閱讀 6776

按照速度、容量和成本劃分,儲存器系統構成乙個層次結構。

乙個使用者源程式要變為在記憶體中可執行的程式,通常要進行以下處理:

編譯:由編譯程式將使用者源程式編譯成若干個目標模組。

裝入:由裝入程式將裝入模組裝入記憶體。

為了保證 cpu 執行指令時可正確訪問儲存單元,需將使用者程式中的邏輯位址轉換為執行時由機器直接定址的實體地址,這一過程稱為位址對映。

可重定位裝入方式:事先不知使用者程式在記憶體的駐留位置,裝入程式在裝入時根據記憶體的實際情況把相對位址(邏輯位址)轉換為絕對位址,裝入到適當的位置。 (在裝入時進行位址轉換)

重定位基本概念

根據位址變換進行的時間及採用技術手段不同,可分為靜態重定位和動態重定位兩類。

靜態重定位

動態重定位

靜態鏈結方式是一種事先鏈結方式,即在程式執行之前,先將各目標模組及它們所需的庫函式,鏈結成乙個完整的裝入模組 (執行檔案),以後不再拆開。

相對位址的修改

變換外部呼叫符號

存在問題:

裝入時動態鏈結方式是把一組目標模組在裝入記憶體時邊裝入邊鏈結的方式。

各目標模組分開存放,便於修改和更新。

便於實現對目標模組的共享。

存在問題:

由於事先無法知道要執行哪些模組,裝入時動態鏈結方式只能是將所有可能要執行到的模組都全部裝入記憶體,並在裝入時全部鏈結在一起,顯然這是低效的。執行時動態鏈結方式在程式執行中需要某些目標模組時,才對它們進行鏈結的方式。具有高效且節省記憶體空間的優點。

作業系統之儲存器的層次

儲存器的層次 計算機系統的儲存器可以分為暫存器 快取記憶體 主儲存器 磁碟快取 固定磁碟 可移動儲存介質等7個層次。如上圖所示,越往上,儲存介質的訪問速度越快,也越高。其中暫存器 快取記憶體 主儲存器和磁碟快取均屬於儲存管理的管轄範疇,掉電後它們儲存的資訊不再存在。固定磁碟和可移動儲存介質屬於裝置管...

儲存器層次結構 基於儲存器的程式優化

乙個編寫良好的電腦程式常常具有良好的區域性性,它們傾向於引用鄰近於其他最近引用過的資料項的資料項,或者最近引用過的資料項本身。區域性性通常有兩種不同的形式 下面來看個區域性性的 示例 變數sum在每此迴圈中被引用一次,因此具有良好的時間區域性性。變數v的元素被順序讀取,具有良好的空間區域性性。像這種...

儲存器的層次結構

可以通過層次組織資料,是的隨著組織層次的遞減,對各層次的訪問比例也依次遞減。讓第二級儲存器包含所有的指令和資料,程式當前的訪問 簇 暫時存放在第一級儲存器中。有時第一級緩儲存器中的某個簇要換出到第二級儲存器中,以便為新的 簇 進入第一級儲存器讓出空間。但平均起來,大多數儲存訪問是對第一級儲存器中的指...