存儲器管理的對象是主存儲器。
主要目的是分配和回收主存空間、提高主存利用率、擴充主存和保護主存信息。
1.存儲器的結構
2.虛擬地址
虛擬地址是Windows程序時運行在386保護模式下,這樣程序訪問存儲器所使用的邏輯地址稱為虛擬地址,與實地址模式下的分段地址類似,虛擬地址也可以寫為“段:偏移量”
的形式,這里的段是指段選擇器
。
CPU啟動保護模式后,程序運行在虛擬地址空間中。
3.地址空間
地址空間(address space)表示任何一個計算機實體所占用的內存大小。比如外設、文件、服務器或者一個網絡計算機。地址空間包括物理空間以及虛擬空間。
地址空間可以不是數字的。互聯網域名
也是地址空間。這個地址空間是由所有包含2~63個字符並且后面跟着字符串組成的,組成這些字符串的字符可以是字母、數字和連字符。
就像進程的概念創造了一類抽象的CPU以運行程序一樣,地址空間為程序創造了一種抽象的內存。地址空間是一個進程可用於尋址內存的一套地址集合。每個進程都有一個自己的地址空間,並且這個地址空間獨立於其他進程的地址空間(除了在一些特殊情況下進程需要共享它們的地址空間外)。
4.地址重定位
地址重定位就是將邏輯地址轉換成物理地址的過程。
靜態地址重定位
即在程序裝入內存的過程中完成,是指在程序開始運行前,程序中的各個地址有關的項均已完成重定位,地址變換通常是在裝入時一次完成的,以后不再改變,故稱為靜態重定位。
動態地址重定位
它不是在程序裝入內存時完成的,而是CPU每次訪問內存時 由動態地址變換機構(硬件)自動進行把相對地址轉換為絕對地址。動態重定位需要軟件和硬件相互配合完成。