<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦 > 學習電腦 > 網絡知識 > 網絡基礎知識 > 虛擬地址和物理地址的區別和聯系

        虛擬地址和物理地址的區別和聯系

        時間: 春健736 分享

        虛擬地址和物理地址的區別和聯系

          學習啦小編今天為大家分享了虛擬地址和物理地址的區別和聯系,歡迎大家前來閱讀。

          虛擬地址和物理地址的區別和聯系

          CPU通過地址來訪問內存中的單元,地址有虛擬地址和物理地址之分,如果CPU沒有MMU(Memory Management Unit,內存管理單元),或者有MMU但沒有啟用,CPU核在取指令或訪問內存時發出的地址將直接傳到CPU芯片的外部地址引腳上,直接被內存芯片(以下稱為物理內存,以便與虛擬內存區分)接收,這稱為物理地址(Physical Address,以下簡稱PA),如下圖所示。

          如果CPU啟用了MMU,CPU核發出的地址將被MMU截獲,從CPU到MMU的地址稱為虛擬地址(Virtual Address,以下簡稱VA),而MMU將這個地址翻譯成另一個地址發到CPU芯片的外部地址引腳上,也就是將虛擬地址映射成物理地址,如下圖所示。

          MMU將虛擬地址映射到物理地址是以頁(Page)為單位的,對于32位CPU通常一頁為4K。例如,虛擬地址0xb700 1000~0xb700 1fff是一個頁,可能被MMU映射到物理地址0x2000~0x2fff,物理內存中的一個物理頁面也稱為一個頁框(Page Frame)。

          物理地址(physical address)

          用于內存芯片級的單元尋址,與處理器和CPU連接的地址總線相對應。

          ——這個概念應該是這幾個概念中最好理解的一個,但是值得一提的是,雖然可以直接把物理地址理解成插在機器上那根內存本身,把內存看成一個從0字節一直到最大空量逐字節的編號的大數組,然后把這個數組叫做物理地址,但是事實上,這只是一個硬件提供給軟件的抽像,內存的尋址方式并不是這樣。所以,說它是“與地址總線相對應”,是更貼切一些,不過拋開對物理內存尋址方式的考慮,直接把物理地址與物理的內存一一對應,也是可以接受的。也許錯誤的理解更利于形而上的抽像。

          虛擬內存(virtual memory)

          這是對整個內存(不要與機器上插那條對上號)的抽像描述。它是相對于物理內存來講的,可以直接理解成“不直實的”,“假的”內存,例如,一個0x08000000內存地址,它并不對就物理地址上那個大數組中0x08000000 - 1那個地址元素;

          之所以是這樣,是因為現代操作系統都提供了一種內存管理的抽像,即虛擬內存(virtual memory)。進程使用虛擬內存中的地址,由操作系統協助相關硬件,把它“轉換”成真正的物理地址。這個“轉換”,是所有問題討論的關鍵。

          有了這樣的抽像,一個程序,就可以使用比真實物理地址大得多的地址空間。(拆東墻,補西墻,銀行也是這樣子做的),甚至多個進程可以使用相同的地址。不奇怪,因為轉換后的物理地址并非相同的。

          ——可以把連接后的程序反編譯看一下,發現連接器已經為程序分配了一個地址,例如,要調用某個函數A,代碼不是call A,而是call 0x0811111111 ,也就是說,函數A的地址已經被定下來了。沒有這樣的“轉換”,沒有虛擬地址的概念,這樣做是根本行不通的。

          打住了,這個問題再說下去,就收不住了。

          邏輯地址(logical address)

          Intel為了兼容,將遠古時代的段式內存管理方式保留了下來。邏輯地址指的是機器語言指令中,用來指定一個操作數或者是一條指令的地址。以上例,我們說的連接器為A分配的0x08111111這個地址就是邏輯地址。

          ——不過不好意思,這樣說,好像又違背了Intel中段式管理中,對邏輯地址要求,“一個邏輯地址,是由一個段標識符加上一個指定段內相對地址的偏移量,表示為 [段標識符:段內偏移量],也就是說,上例中那個0x08111111,應該表示為[A的代碼段標識符: 0x08111111],這樣,才完整一些”

          線性地址(linear address)或也叫虛擬地址(virtual address)

          跟邏輯地址類似,它也是一個不真實的地址,如果邏輯地址是對應的硬件平臺段式管理轉換前地址的話,那么線性地址則對應了硬件頁式內存的轉換前地址。

          學習啦小編分享了虛擬地址和物理地址的區別和聯系,希望大家喜歡。

        575634 主站蜘蛛池模板: 欧美三级不卡在线观线看高清| 日韩人妻不卡一区二区三区| 久久精品国产清自在天天线| 国产精品久久久亚洲| 国产馆在线精品极品粉嫩| 亚洲男人的天堂一区二区| 国产精品成人观看视频国产| 国产学生裸体无遮挡免费| 黑人av无码一区| 国产欧美精品一区二区三区-老狼| 亚洲精品综合一区二区在线| 美女一区二区三区亚洲麻豆| 无码囯产精品一区二区免费| 亚洲红杏AV无码专区首页| 成全观看高清完整版免费动漫电影| 丰满少妇又爽又紧又丰满在线观看 | 中文字幕无线码免费人妻| 亚洲爆乳WWW无码专区| 少妇人妻偷人精品免费| 西西人体44WWW高清大胆| 国产一区二区三区精品综合| 亚洲精品岛国片在线观看| 日韩中文字幕不卡网站| 亚洲av成人在线一区| 精品无码久久久久成人漫画| 99精品日本二区留学生| 精品人妻丰满久久久a| 日韩黄色av一区二区三区| 国产精品一区二区三区三级| 97国产露脸精品国产麻豆| 粗壮挺进邻居人妻无码| 欧美视频精品免费覌看| 欧美最猛黑人xxxx| 人妻蜜臀久久av不卡| 国产成人一区二区三区久久精品| 国产AV一区二区三区| 婷婷色综合成人成人网小说| 国产老熟女国语免费视频| 国产成熟妇女性视频电影| 国产精品福利视频导航| 依依成人精品视频在线观看|