(一)用戶程序的地址空間
內(nèi)存也稱主存,是指CPU能直接存取指令和數(shù)據(jù)的存儲(chǔ)器,是現(xiàn)代計(jì)算機(jī)系統(tǒng)進(jìn)行操作的中心。
外存也稱輔存,是指一些外部的存儲(chǔ)設(shè)備,例如硬盤、軟盤和磁帶等存儲(chǔ)器。用戶的程序和數(shù)據(jù),通過I/O系統(tǒng)接口,從外部設(shè)備中讀到內(nèi)存中才能運(yùn)行。
圖 內(nèi)存在計(jì)算機(jī)系統(tǒng)中的地位
典型存儲(chǔ)器層次結(jié)構(gòu)
按照速度、容量和成本劃分,存儲(chǔ)器系統(tǒng)構(gòu)成一個(gè)層次結(jié)構(gòu),如下圖所示。
圖4-2 典型的存儲(chǔ)器層次結(jié)構(gòu)
請(qǐng)思考:我們平時(shí)常用的便攜存儲(chǔ)器,如光盤、U盤、活動(dòng)硬盤等,它們屬于內(nèi)存還是外存,存取速度處于哪個(gè)層次呢?
用戶程序的地址空間
想一想:用戶源程序進(jìn)入系統(tǒng)到在機(jī)器上運(yùn)行要經(jīng)歷如下5個(gè)步驟,請(qǐng)為他們排序吧。
A.鏈接B.編譯C.運(yùn)行D.裝入E.編輯
(二)重定位的概念
在這一部分,我們要進(jìn)一步學(xué)習(xí)5個(gè)存儲(chǔ)管理中非常重要的概念。
邏輯地址:用戶程序的目標(biāo)模塊都以0為基地址順序編址的,這種地址稱為邏輯地址,也稱為相對(duì)地址。
物理地址:內(nèi)存中各物理存儲(chǔ)單元的地址是從統(tǒng)一的基地址開始順序編址的,這種地址稱為物理地址,也稱為絕對(duì)地址。
邏輯地址空間:由程序中邏輯地址組成的地址范圍叫做邏輯地址空間,或簡(jiǎn)稱為地址空間。
物理地址空間:由內(nèi)存中一系列存儲(chǔ)單元所限定的地址范圍稱作物理地址空間,或簡(jiǎn)稱為物理空間,內(nèi)存空間。
重定位:程序和數(shù)據(jù)裝入內(nèi)存時(shí),需對(duì)目標(biāo)程序中的地址進(jìn)行修改。這種把邏輯地址轉(zhuǎn)變?yōu)閮?nèi)存物理地址的過程稱作重定位。
圖 重定位示意圖
對(duì)程序進(jìn)行重定位的技術(shù)按重定位的時(shí)機(jī)可分為靜態(tài)重定位和動(dòng)態(tài)重定位兩種。
(1)靜態(tài)重定位
靜態(tài)重定位是在目標(biāo)程序裝入內(nèi)存時(shí),由裝入程序?qū)δ繕?biāo)程序中的指令和數(shù)據(jù)的地址進(jìn)行修改,即把程序的邏輯地址都改成實(shí)際的內(nèi)存地址。靜態(tài)重定位的時(shí)機(jī)是在程序裝入時(shí)一次完成,在程序運(yùn)行期間不再進(jìn)行重定位。
靜態(tài)重定位
(2)動(dòng)態(tài)重定位
動(dòng)態(tài)重定位是在程序執(zhí)行期間,每次訪問內(nèi)存之前進(jìn)行重定位。動(dòng)態(tài)重定位靠硬件地址轉(zhuǎn)換機(jī)構(gòu)實(shí)現(xiàn)。
動(dòng)態(tài)重定位
(三)對(duì)換技術(shù)
對(duì)換技術(shù)也稱作交換技術(shù),它的實(shí)現(xiàn)方式就類似于日常生活中幾個(gè)單位租用一個(gè)會(huì)議廳那樣,甲單位租用時(shí)間到了,就退出會(huì)議廳,由乙單位使用;乙單位到時(shí)后,也退出去,由丙單位使用,等等。如甲單位還需使用,就再租用,由管理者安排占用時(shí)間。
在多道程序環(huán)境中可以采用對(duì)換技術(shù)。此時(shí),內(nèi)存中保留多個(gè)進(jìn)程。當(dāng)內(nèi)存空間不足以容納要求進(jìn)入內(nèi)存的進(jìn)程時(shí),系統(tǒng)就把內(nèi)存中暫時(shí)不能運(yùn)行的進(jìn)程(包括程序和數(shù)據(jù))換出到外存上,騰出內(nèi)存空間,把具備運(yùn)行條件的進(jìn)程從外存換到內(nèi)存中。在UNIX/Linux系統(tǒng)中對(duì)內(nèi)存的管理就利用了這種多道程序的對(duì)換技術(shù),如圖4-6所示。
對(duì)換兩個(gè)進(jìn)程
原文標(biāo)題:存儲(chǔ)管理 -地址空間與重定位
文章出處:【微信公眾號(hào):一口Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7434瀏覽量
163518 -
硬盤
+關(guān)注
關(guān)注
3文章
1283瀏覽量
57199 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7367瀏覽量
87633 -
存儲(chǔ)管理
+關(guān)注
關(guān)注
0文章
31瀏覽量
9161
原文標(biāo)題:存儲(chǔ)管理 -地址空間與重定位
文章出處:【微信號(hào):yikoulinux,微信公眾號(hào):一口Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論