摘要:本章介紹了存儲(chǔ)器體系對(duì)應(yīng)的虛擬存儲(chǔ)器
關(guān)鍵詞:地址翻譯;動(dòng)態(tài)存儲(chǔ)器分配
之前我們學(xué)習(xí)了計(jì)算機(jī)系統(tǒng)的金字塔結(jié)構(gòu)的存儲(chǔ)體系。這章主要介紹了他們是如何編址的。存儲(chǔ)器有了,數(shù)據(jù)存在存儲(chǔ)器中,總得需要一個(gè)地址才行。真實(shí)的地址叫做物理地址,根據(jù)物理地址可以找到數(shù)據(jù)存儲(chǔ)的位置,然后通過硬件把數(shù)據(jù)讀寫。但進(jìn)程并不使用物理地址。而使用虛擬地址。并且每個(gè)進(jìn)程使用同樣的虛擬地址空間。
程序A的地址是1-100,程序B的也可以是1-100,他們之間相互獨(dú)立,即虛擬地址是獨(dú)立的。每個(gè)進(jìn)程把他的虛擬地址翻譯成物理地址的過程就是地址翻譯。使用虛擬地址的好處很多,主要是都是便于底層的系統(tǒng)設(shè)計(jì)。因此CPU從存儲(chǔ)系統(tǒng)讀寫數(shù)據(jù)時(shí),先要進(jìn)行地址翻譯。地址翻譯就是查映射表來進(jìn)行的。
由于每個(gè)程序都有自己的獨(dú)立的虛擬地址空間。在這個(gè)獨(dú)立的地址空間中動(dòng)態(tài)的劃分空間給數(shù)據(jù)使用是非常關(guān)鍵的,要在高的利用率和吞吐率之間取得好平衡。因此一個(gè)動(dòng)態(tài)存儲(chǔ)分配器對(duì)程序的性能也是有影響的,你可以試著自己編寫一個(gè)動(dòng)態(tài)存儲(chǔ)器。