国产成人v爽在线免播放观看,日韩欧美色,久久99国产精品久久99软件,亚洲综合色网站,国产欧美日韩中文久久,色99在线,亚洲伦理一区二区

學習啦>學習電腦>網絡知識>網絡基礎知識>

線性地址物理地址

時間: 春健736 分享

  器語言指令中出現(xiàn)的內存地址,都是邏輯地址,需要轉換成線性地址,再經過MMU(CPU中的內存管理單元)轉換成物理地址才能夠被訪問到。那么線性地址物理地址是什么呢?今天學習啦小編整理了線性地址物理地址的相關資料,希望對大家有幫助。

  線性地址物理地址

  邏輯地址(Logical Address) 是指由程式產生的和段相關的偏移地址部分。例如,你在進行C語言指針編程中,能讀取指針變量本身值(&操作),實際上這個值就是邏輯地址,他是相對于你當前進程數據段的地址,不和絕對物理地址相干。只有在Intel實模式下,邏輯地址才和物理地址相等(因為實模式沒有分段或分頁機制,Cpu不進行自動地址轉換);邏輯也就是在Intel保護模式下程式執(zhí)行代碼段限長內的偏移地址(假定代碼段、數據段如果完全相同)。應用程式員僅需和邏輯地址打交道,而分段和分頁機制對你來說是完全透明的,僅由系統(tǒng)編程人員涉及。應用程式員雖然自己能直接操作內存,那也只能在操作系統(tǒng)給你分配的內存段操作。

  線性地址(Linear Address) 是邏輯地址到物理地址變換之間的中間層。程式代碼會產生邏輯地址,或說是段中的偏移地址,加上相應段的基地址就生成了一個線性地址。如果啟用了分頁機制,那么線性地址能再經變換以產生一個物理地址。若沒有啟用分頁機制,那么線性地址直接就是物理地址。Intel 80386的線性地址空間容量為4G(2的32次方即32根地址總線尋址)。

  物理地址(Physical Address) 是指出目前CPU外部地址總線上的尋址物理內存的地址信號,是地址變換的最終結果地址。如果啟用了分頁機制,那么線性地址會使用頁目錄和頁表中的項變換成物理地址。如果沒有啟用分頁機制,那么線性地址就直接成為物理地址了。

  虛擬內存(Virtual Memory)是指計算機呈現(xiàn)出要比實際擁有的內存大得多的內存量。因此他允許程式員編制并運行比實際系統(tǒng)擁有的內存大得多的程式。這使得許多大型項目也能夠在具有有限內存資源的系統(tǒng)上實現(xiàn)。一個非常恰當的比喻是:你不必非常長的軌道就能讓一列火車從上海開到北京。你只需要足夠長的鐵軌(比如說3公里)就能完成這個任務。采取的方法是把后面的鐵軌即時鋪到火車的前面,只要你的操作足夠快并能滿足需求,列車就能象在一條完整的軌道上運行。這也就是虛擬內存管理需要完成的任務。在Linux0.11內核中,給每個程式(進程)都劃分了總容量為64MB的虛擬內存空間。因此程式的邏輯地址范圍是0x0000000到0x4000000。有時我們也把邏輯地址稱為虛擬地址。因為和虛擬內存空間的概念類似,邏輯地址也是和實際物理內存容量無關的。邏輯地址和物理地址的“差距”是0xC0000000,是由于虛擬地址->線性地址->物理地址映射正好差這個值。這個值是由操作系統(tǒng)指定的。機理 邏輯地址(或稱為虛擬地址)到線性地址是由CPU的段機制自動轉換的。如果沒有開啟分頁管理,則線性地址就是物理地址。如果開啟了分頁管理,那么系統(tǒng)程式需要參和線性地址到物理地址的轉換過程。具體是通過設置頁目錄表和頁表項進行的。

  線性地址邏輯地址和物理地址的區(qū)別:

  線性地址是邏輯地址到物理地址變換之間的中間層,是處理器可尋址的內存空間(稱為線性地址空間)中的地址。程序代碼會產生邏輯地址,或者說是段中的偏移地址,加上相應段的基地址就生成了一個線性地址。

  如果啟用了分頁機制,那么線性地址可以再經變換以產生一個物理地址。若沒有啟用分頁機制,那么線性地址直接就是物理地址。不過,在開啟分頁功能之后,一個線性地址可能沒有相對映的物理地址,因為它所對應的內存可能被交換到硬盤中。32位線性地址可用于定位4GB存儲單元。

  所謂物理地址,就是指系統(tǒng)內存的真正地址。對于32 位的操作系統(tǒng),它的范圍為0x00000000~0xFFFFFFFF,共有4GB。只有當CPU工作于分頁模式時,此種類型的地址才會變得非常“有趣”。本質上,一個物理地址是CPU插腳上可測量的電壓。操作系統(tǒng)通過設立頁表將線性地址映射為物理地址。Windows 2K/XP所用頁表布局的某些屬性對于調試軟件開發(fā)人員非常有用。

  分頁機制把線性地址空間和物理地址空間分別劃分為大小相同的塊。這樣的塊稱為頁。通過在線性地址空間的頁與物理地址空間的頁之間建立映射,分頁機制可以實現(xiàn)線性地址到物理地址的轉換。線性地址空間的頁與物理地址空間的頁之間的映射可根據需要來確定。

  線性地址空間的任何一頁,可以映射為物理地址空間中的任何一頁。

  邏輯地址(Logical Address) 是指由程式產生的和段相關的偏移地址部分。例如,你在進行C語言指針編程中,能讀取指針變量本身值(&操作),實際上這個值就是邏輯地址,他是相對于你當前進程數據段的地址,不和絕對物理地址相干。只有在Intel實模式下,邏輯地址才和物理地址相等(因為實模式沒有分段或分頁機制,Cpu不進行自動地址轉換);邏輯也就是在Intel保護模式下程式執(zhí)行代碼段限長內的偏移地址(假定代碼段、數據段如果完全相同)。應用程式員僅需和邏輯地址打交道,而分段和分頁機制對你來說是完全透明的,僅由系統(tǒng)編程人員涉及。應用程式員雖然自己能直接操作內存,那也只能在操作系統(tǒng)給你分配的內存段操作。

  線性地址(Linear Address) 是邏輯地址到物理地址變換之間的中間層。程式代碼會產生邏輯地址,或說是段中的偏移地址,加上相應段的基地址就生成了一個線性地址。如果啟用了分頁機制,那么線性地址能再經變換以產生一個物理地址。若沒有啟用分頁機制,那么線性地址直接就是物理地址。Intel 80x86的線性地址空間容量為4G(2的32次方即32根地址總線尋址)。

  看過“ 線性地址物理地址 ”的人還看了:

1.物理地址和邏輯地址的區(qū)別

2.物理地址和虛擬地址

3.物理地址與虛擬地址映射

4.如何查看本地連接的物理地址

5.物理首地址是什么

603791