天天看點

作業系統_存儲器管理_程式的裝入和連結

程式的裝入和連結

1,基本過程

1,編譯:.C/.CPP/.ASM檔案轉換為.OBJ檔案;

2,連結:.OBJ檔案加上.LIB檔案連結形成裝入子產品;

3,裝入:裝入子產品裝入實體記憶體後即可運作;

作業系統_存儲器管理_程式的裝入和連結

2,程式的裝入

1)絕對裝入方式

定義:程式設計時直接确定記憶體位置;(每次隻能運作一個程式,否則就會因為位址不同,程式運作出錯)

特點:不靈活,不支援多道程式設計(多道程式設計是在計算機記憶體中同時存放幾道互相獨立的程式,使它們在管理程式控制之下,互相穿插的運作);

2)可重定位裝入方式

首先引入虛拟技術:

應用虛拟技術實作存儲管理

邏輯位址(相對位址,虛位址)

使用者程式經過彙編或編譯後形成目标代碼;

目标代碼采用相對位址形式: 

  1. 首位址為0;
  2. 其餘指令中位址以相對于首位址的偏移為位址;

不能用邏輯位址在記憶體中讀取資訊

實體位址(絕對位址,實位址)

記憶體中存儲單元的位址,可直接尋址

靜态位址重定位

定義:程式設計時使用邏輯位址,裝入時進行位址重定位,運作時使用實體位址;

特點:靈活,支援多道程式設計;

作業系統_存儲器管理_程式的裝入和連結

動态位址重定位

定義:程式設計時使用邏輯位址,運作時進行位址重定位,運作時使用實體位址;

特點:靈活,支援多道程式設計;

作業系統_存儲器管理_程式的裝入和連結
作業系統_存儲器管理_程式的裝入和連結

3,程式的連結

靜态連結

程式設計時,連結所有子產品;

裝入時動态連結

裝入時,連結所有子產品;

運作時動态連結

運作時,根據需要連結子產品;

繼續閱讀