6.1 儲存器的基本概念
主儲存器管理仍然是今天作業系統十分重要的內容;能否合理而有效的使用主存,在很大成度上反映了作業系統的效能,並直接影響到整個計算機系統作用的發揮。
6.1.1 儲存器的層次
目前在許多計算機系統中,採用**儲存器結構,即高速緩衝儲存器、主儲存器和外部儲存器。
**儲存器的比較
從快取記憶體到外存,其容量愈來愈大,一般每級之間相差幾個數量級。而訪問資料的速度則愈來愈慢,**也愈來愈便宜。
6.1.2 位址重定位
為了弄清什麼是重定位,我們首先介紹相對位址、絕對位址和邏輯位址空間、儲存空間的概念。
1.邏輯位址空間
名空間
使用者在程式設計或編輯源程式時,不考慮作業之間的儲存空間分配,而是將其源程式存於程式設計師建立的符號名字空間(簡稱名空間)內,如圖6-1(a)所示。
邏輯位址空間
當對源程式進行編譯時,編譯後乙個目標程式所限定的位址範圍稱為該作業的邏輯位址空間。
圖6-1 名空間、位址空間和儲存空間
如圖6-1(b)所示。
2.物理空間
所謂物理空間(也稱儲存空間)是指主存中物理單元的集合。這些單元的編號稱為實體地址或絕對位址。因此,物理空間的大小,是由主存的實際容量決定的。如圖6-1(c)。
3.位址重定位
需要位址重定位的例子
如圖6-2(a)是乙個簡單的程式段。第一條指令是把資料a取到1號暫存器中,第二條指令是把資料b同1號寄存中的內容相加,結果放在1號暫存器中,第三 條指令是把1號暫存器的內容送入相對位址10中去。如果這個程式原封不動地裝入主存自100號單元起的儲存區中(如圖6-2(b)),就無法正確執行。
位址重定位
由於乙個作業裝入到與其位址空間不一致的儲存空間所引起的,對有關位址部分的調整過程稱為位址的重定位。這個調整過程就是把作業位址空間中使用的邏輯位址變換成主存中實體地址的過程。這種位址變換也稱為位址對映.
圖6-2 程式裝入舉例
4.重定位型別
根據對位址變換進行的時間及採用的技術手段的不同,可把位址重定位分為靜態重定位和動態重定位兩類。
靜態重定位
(1)含義
靜態重定位是在程式執行之前由裝配程式完成的。例圖5-2(a)中的情況,只需將與位址有關的項都加上100就可以了,見圖5-2(c)。
(2)優點
它的主要優點是,無需增加硬體位址變換機構,因而可在一般計算機上實現。
(3)缺點
主要缺點有:
①要求給每個作業分配乙個連續的儲存空間,且在作業的整個執行期間不能再移動,因而也就不能實現重新分配主存。
②使用者必須事先確定所需的儲存量,若所需的儲存量超過可用儲存空間時,使用者必須考慮覆蓋結構。
③使用者之間難以共享主存中的同一程式副本。
動態重定位
(1)含義
動態重定位是在程式執行過程中由硬體位址變換機構實現的。
(2)例子
最簡單的辦法是利用乙個重定位暫存器。該暫存器的值由排程程式根據作業分配到的儲存空間的起始位址來設定。在具有這種位址變換機構的計算機系統中,當作業 執行時,不是根據cpu給出的邏輯位址去訪問主存,而是將邏輯位址與重定位暫存器中的內容相加後得到的位址作為訪問主存的位址。其位址變換過程
如圖6-3所示
重定位型別
adblock
圖6-3 動態重定位
(3)動態重定位的主要優點有:
①使用者作業不要求分配連續的儲存空間。
②使用者作業在執行過程中,可以動態申請儲存空間和在主存中移動。
③有利於程式段的共享。
(4)動態重定位的主要缺點有:
①需要附加的硬體支援。
②實現儲存管理的軟體演算法比較複雜。
什麼是重定位
6 1 儲存器的基本概念 主儲存器管理仍然是今天作業系統十分重要的內容 能否合理而有效的使用主存,在很大成度上反映了作業系統的效能,並直接影響到整個計算機系統作用的發揮。目前在許多計算機系統中,採用 儲存器結構,即高速緩衝儲存器 主儲存器和外部儲存器。從快取記憶體到外存,其容量愈來愈大,一般每級之間...
什麼是回流,什麼是重繪,有什麼區別?
在頁面載入時,瀏覽器把獲取到的html 解析成1個dom樹,dom樹里包含了所有html標籤,包括display none隱藏,還有用js動態新增的元素等。瀏覽器把所有樣式 使用者定義的css和使用者 解析成樣式結構體dom tree 和樣式結構體組合後構建render tree,render tr...
什麼是回流,什麼是重繪,有什麼區別?
在頁面載入時,瀏覽器把獲取到的html 解析成1個dom樹,dom樹里包含了所有html標籤,包括display none隱藏,還有用js動態新增的元素等。瀏覽器把所有樣式 使用者定義的css和使用者 解析成樣式結構體 dom tree 和樣式結構體組合後構建render tree,render t...