物理地址和邏輯地址的區(qū)別
今天學習啦小編給大家介紹一下物理地址和邏輯地址的區(qū)別。供大家參考!
物理地址和邏輯地址的區(qū)別
參考如下
MAC地址也叫物理地址、硬件地址或鏈路地址,由網絡設備制造商生產時寫在硬件內部。IP地址與MAC地址在計算機里都是以二進制表示的,IP地址是32位的,而MAC地址則是48位的。MAC地址的長度為48位(6個字節(jié)),通常表示為12個16進制數,每2個16進制數之間用冒號隔開,
1.MAC地址
網卡MAC地址不是隨便定義的,它的組成結構如圖所示。
1>后3個字節(jié)代表該制造商所制造的某個網絡產品(如網卡)的系列號,前3個字節(jié)表示代表網絡硬件制造商的編號,它由IEEE(電氣與電子工程師協會)分配
2>以太網的地址為48位,由IEEE統一分配給網卡制造商,每個網卡的地址都必須是全球唯一的。共6個字節(jié)的長度。FF:FF:FF:FF:FF:FF為廣播地址,只能用在目的地址段,不能作為源地址段。目的地址為廣播地址的數據包,可以被一個局域網內的所有網卡接收到。合法的以太網地址第32位組播標志必須為0。作為組播地址時,只能作為目的地址,不能作為源地址。組播地址可以被支持該組播地址的一組網卡接收到。組播地址主要用在視頻廣播,遠程喚醒(通過發(fā)一個特殊的數據包使網卡產生一個中斷信號,啟動電腦),游戲(多個人在局域網里聯機打游戲)里等。
邏輯地址(Logical Address) 是指由程序產生的與段相關的偏移地址部分。例如,你在進行C語言指針編程中,可以讀取指針變量本身值(&操作),實際上這個值就是邏輯地址,它是相對于你當前進程數據段的地址,不和絕對物理地址相干。只有在Intel實模式下,邏輯地址才和物理地址相等(因為實模式沒有分段或分頁機制,Cpu不進行自動地址轉換);邏輯也就是在Intel 保護模式下程序執(zhí)行代碼段限長內的偏移地址(假定代碼段、數據段如果完全一樣)。應用程序員僅需與邏輯地址打交道,而分段和分頁機制對您來說是完全透明的,僅由系統編程人員涉及。應用程序員雖然自己可以直接操作內存,那也只能在操作系統給你分配的內存段操作。
虛擬內存(Virtual Memory) 是指計算機呈現出要比實際擁有的內存大得多的內存量。因此它允許程序員編制并運行比實際系統擁有的內存大得多的程序。這使得許多大型項目也能夠在具有有限內存資源的系統上實現。一個很恰當的比喻是:你不需要很長的軌道就可以讓一列火車從上海開到北京。你只需要足夠長的鐵軌(比如說3公里)就可以完成這個任務。采取的方法是把后面的鐵軌立刻鋪到火車的前面,只要你的操作足夠快并能滿足要求,列車就能象在一條完整的軌道上運行。這也就是虛擬內存管理需要完成的任務。在Linux 0.11內核中,給每個程序(進程)都劃分了總容量為64MB的虛擬內存空間。因此程序的邏輯地址范圍是0x0000000到0x4000000。
有時我們也把邏輯地址稱為虛擬地址。因為與虛擬內存空間的概念類似,邏輯地址也是與實際物理內存容量無關的。
邏輯地址與物理地址的“差距”是0xC0000000,是由于虛擬地址->線性地址->物理地址映射正好差這個值。這個值是由操作系統指定的。
學習啦小編介紹了物理地址和邏輯地址區(qū)別的相關知識,希望你喜歡。
物理地址和邏輯地址的區(qū)別
![](http://lhpay.gzcl999.com/static/doc/images/pc/icon_star.png)
![](http://lhpay.gzcl999.com/static/doc/images/pc/icon_star.png)
![](http://lhpay.gzcl999.com/static/doc/images/pc/icon_star.png)
![](http://lhpay.gzcl999.com/static/doc/images/pc/icon_star.png)
![](http://lhpay.gzcl999.com/static/doc/images/pc/icon_star.png)