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