基礎知識
1Byte(位元組)=8bit
将使用者程式變成可以在記憶體中執行的程式,通常需要以下幾個步驟 - 編譯:将使用者代碼編譯成若幹目标子產品
- 連結:将編譯後的一組目标子產品和所需要庫連結在一起, 形成完整的裝入子產品
- 裝入:由裝入程式将子產品裝入記憶體中運作
将子產品裝入記憶體有三種方式
1. 絕對裝入
在編譯的時候,就已經知道程式在
記憶體
中的位址,可以在編譯的時候提前寫好。因為邏輯位址和實際記憶體位址完全相同,是以在後續的過程中,不需要對
程式
或者
資料
的位址進行修改。
2. 靜态重定位
位址變換通常是在裝入的時候,一次完成,
靜态重定位的特點是 ,當一個作業裝入記憶體時,必須給他配置設定全部的記憶體空間,如果沒有足夠的記憶體,則不能裝入該作業。此外,作業一旦進入記憶體,整個運作期間就不能再記憶體中移動了,也不能再動态的申請記憶體空間了。
3. 動态重定位
等到程式真正運作時,才進行位址轉換,轉入後所有的位址,都是相對位址。