摘錄自《程式設計師的自我修養》1.5節
早期的計算機中,記憶體有限,在執行多個程式時有如下問題:
1.位址空間不隔離:程式直接訪問物理記憶體,程式間互相影響;
2.記憶體使用效率低:需要將整個程式載入記憶體,程式切換時候,在記憶體和磁碟間交換效率低下;
3.程式執行位址不確定:因為直接訪問物理記憶體,使用的大多是固定位址,給程式編寫造成一定的麻煩;
分段分頁
將位址空間人為的分成固定大小的頁,一般是4kb,當程式需要某個頁的時候,如果該頁沒有在記憶體中,就會發生頁錯誤(page fault),然後作業系統就會裝載這個頁到記憶體,這樣程式就不必要全部載入記憶體,按需裝載即可。
記憶體分段與分頁機制
邏輯位址 線性位址 實體地址 8086cpu 作業系統保護模式下的,啟用分頁機制的位址即虛擬位址,實模式下,虛擬位址和邏輯位址相同 物理記憶體劃分 幀 frame 邏輯記憶體劃分 頁 page 位址匯流排 intel早期cpu20位 記憶體1m 286的位址匯流排24位 記憶體64m 386的位址匯...
linux分段分頁機制
mmu使用分段單元硬體把邏輯位址轉換為虛擬位址,再使用分頁單元硬體把虛擬位址轉換為實體地址。因為這兩部分表示乙個獨一無二的邏輯位址,虛擬位址作為這個段位址另一種形式,當然也需要這兩個部分作為轉換的 原材料。這裡涉及乙個叫做段的暫存器,它的作用是放段選擇符 識別符號 共有六種 cs 儲存指向 的段的選...
Linux之分段機制和分頁機制
通用作業系統的設計原則 盡量縮短系統的平均響應時間並提高系統的吞吐率,在單位時間內為盡可能多的為使用者請求提供服務。如對於整個系統來說,注重所有任務的平均響應時間而不關心單個任務的響應時間,對於某個單個任務來說,注重每次執行的平均響應時間而不關心某次特定執行的響應時間。比如記憶體管理中的lru替換策...