是指由程式產生的與段相關的偏移位址部分。例如,你在進行c語言指標程式設計中,可以讀取指標變數本身值(&操作),實際上這個值就是邏輯位址,它是相對於你當前程序資料段的位址,不和絕對實體地址相干。只有在intel實模式下,邏輯位址才和實體地址相等(因為實模式沒有分段或分頁機制,cpu不進行自動位址轉換);邏輯也就是在intel 保護模式下程式執行**段限長內的偏移位址(假定**段、資料段如果完全一樣)。應用程式設計師僅需與邏輯位址打交道,而分段和分頁機制對您來說是完全透明的,僅由系統程式設計人員涉及。應用程式設計師雖然自己可以直接操作記憶體,那也只能在作業系統給你分配的記憶體段操作。
是指出現在cpu外部位址匯流排上的定址物理記憶體的位址訊號,是位址變換的最終結果位址。如果啟用了分頁機制,那麼線性位址會使用頁目錄和頁表中的項變換成實體地址。如果沒有啟用分頁機制,那麼線性位址就直接成為實體地址了。
是指計算機呈現出要比實際擁有的記憶體大得多的記憶體量。因此它允許程式設計師編制並執行比實際系統擁有的記憶體大得多的程式。這使得許多大型專案也能夠在具有有限記憶體資源的系統上實現。乙個很恰當的比喻是:你不需要很長的軌道就可以讓一列火車從上海開到北京。你只需要足夠長的鐵軌(比如說3公里)就可以完成這個任務。採取的方法是把後面的鐵軌立刻鋪到火車的前面,只要你的操作足夠快並能滿足要求,列車就能象在一條完整的軌道上執行。這也就是虛擬記憶體管理需要完成的任務。在linux 0.11核心中,給每個程式(程序)都劃分了總容量為64mb的虛擬記憶體空間。因此程式的邏輯位址範圍是0x0000000到0x4000000。有時我們也把邏輯位址稱為虛擬位址。因為與虛擬記憶體空間的概念類似,邏輯位址也是與實際物理記憶體容量無關的。 邏輯位址與實體地址的「差距」是0xc0000000,是由於虛擬位址->線性位址->物理位址對映正好差這個值。這個值是由作業系統指定的。
作業系統 實體地址與邏輯位址
實體地址 載入到記憶體位址暫存器中的位址,記憶體單元的真正位址。在前端匯流排上傳輸的記憶體位址都是物理記憶體位址,編號從0開始一直到可用物理記憶體的最高端。這些數字被北橋 nortbridge chip 對映到實際的記憶體條上。實體地址是明確的 最終用在匯流排上的編號,不必轉換,不必分頁,也沒有特權...
作業系統 邏輯位址轉換為實體地址
在儲存管理中分為連續儲存和非連續儲存,非連續儲存又分為分頁儲存 分段儲存和段頁式儲存。例如 已知某個分頁系統,頁面大小為1k 即1024位元組 某乙個作業有4個頁面,分別裝入到主存的第3 4 6 8塊中,求邏輯位址2100對應的實體地址。解 第一步 求該邏輯位址的頁號 2100 1024 2 整除 ...
邏輯位址轉實體地址 作業系統期末複習筆記
在儲存管理中分為連續儲存和非連續儲存,非連續儲存又分為分頁儲存 分段儲存和段頁式儲存。邏輯位址 頁號 頁內位址 實體地址 頁號 頁內位址 解 第一步 求該邏輯位址的頁號 2100 1024 2 整除 第二步 求它的頁內偏移量 2100 1024 52 取餘 第三步 根據題目產生頁表 頁號 頁框號 幀...