操作系統_存儲器管理_程序的裝入和鏈接

程序的裝入和鏈接

1,基本過程

1,編譯:.C/.CPP/.ASM文件轉換爲.OBJ文件;

2,鏈接:.OBJ文件加上.LIB文件鏈接形成裝入模塊;

3,裝入:裝入模塊裝入物理內存後即可運行;

2,程序的裝入

1)絕對裝入方式

定義:編程時直接確定內存位置;(每次只能運行一個程序,否則就會因爲地址不同,程序運行出錯)

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

2)可重定位裝入方式

首先引入虛擬技術:

應用虛擬技術實現存儲管理

邏輯地址(相對地址,虛地址)
用戶程序經過彙編或編譯後形成目標代碼;
目標代碼採用相對地址形式: 

  1. 首地址爲0; 
  2. 其餘指令中地址以相對於首地址的偏移爲地址;

不能用邏輯地址在內存中讀取信息

物理地址(絕對地址,實地址)
內存中存儲單元的地址,可直接尋址
 

靜態地址重定位

定義:編程時使用邏輯地址,裝入時進行地址重定位,運行時使用物理地址;

特點:靈活,支持多道程序設計;

 

動態地址重定位

定義:編程時使用邏輯地址,運行時進行地址重定位,運行時使用物理地址;

特點:靈活,支持多道程序設計;

 

3,程序的鏈接

靜態鏈接

編程時,鏈接所有模塊;

裝入時動態鏈接

裝入時,鏈接所有模塊;

運行時動態鏈接

運行時,根據需要鏈接模塊;

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章