欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
虛擬內存、物理內存
    前一段時(shí)間在面試總監的時(shí)候,總監問(wèn)了我這樣的一個(gè)問(wèn)題:你個(gè)我說(shuō)說(shuō)物理內存和虛擬內存到底是怎么一回事?
其實(shí)之前我看過(guò)這個(gè)問(wèn)題,據我理解的,當時(shí)是這么回答的“進(jìn)程在運行的時(shí)候,操作系統都為其分配一個(gè)4GB的地址空間,即所謂的虛擬地址空間,一般情況下,當我們的程序很大的時(shí)候,實(shí)際的物理內存根本不能滿(mǎn)足我們的需求的時(shí)候,這個(gè)時(shí)候操作系統就會(huì )借助磁盤(pán)空間來(lái)做虛擬的內存空間,把當前進(jìn)程不需要的數據放在磁盤(pán)上,等到用到的時(shí)候,在利用調度算法把所需要的數據從磁盤(pán)空間上調度到內存,虛擬內存就是為了擴大內存的容量,每當我們要運行一個(gè)程序的時(shí)候經(jīng)過(guò)編譯以后形成的僅僅是邏輯上的空間,根本不是可以直接運行的內存空間,所以它還存在一個(gè)地址映射的概念?!碑敃r(shí)感覺(jué)回答的很是籠統,只見(jiàn)總監在最后說(shuō)了一句,你下去還是把這一塊的內容在好好看看,所以今天就好好的把這個(gè)概念理一理。
首先我從最基本的概念說(shuō)起,什么是物理內存的概念,虛擬內存的概念?
物理內存,在應用中,自然是顧名思義,物理上,真實(shí)的插在板子上的內存是多大就是多大了。而在CPU中的概念,物理內存就是CPU的地址線(xiàn)可以直接進(jìn)行尋址的內存空間大小。比如8086只有20根地址線(xiàn),那么它的尋址空間就是1MB,我們就說(shuō)8086能支持1MB的物理內存,及時(shí)我們安裝了128M的內存條在板子上,我們也只能說(shuō)8086擁有1MB的物理內存空間。同理我們現在大部分使用的是32位的機子,32位的386以上CPU就可以支持最大4GB的物理內存空間了。
先說(shuō)說(shuō)為什么會(huì )有虛擬內存和物理內存的區別。正在運行的一個(gè)進(jìn)程,他所需的內存是有可能大于內存條容量之和的,比如你的內存條是256M,你的程序卻要創(chuàng )建一個(gè)2G的數據區,那么不是所有數據都能一起加載到內存(物理內存)中,勢必有一部分數據要放到其他介質(zhì)中(比如硬盤(pán)),待進(jìn)程需要訪(fǎng)問(wèn)那部分數據時(shí),在通過(guò)調度進(jìn)入物理內存。所以,虛擬內存是進(jìn)程運行時(shí)所有內存空間的總和,并且可能有一部分不在物理內存中,而物理內存就是我們平時(shí)所了解的內存條。有的地方呢,也叫這個(gè)虛擬內存為內存交換區。關(guān)鍵的是不要把虛擬內存跟真實(shí)的插在主板上的內存條相掛鉤,虛擬內存它是“虛擬的”不存在,假的啦,它只是內存管理的一種抽象!
那么,什么是虛擬內存地址和物理內存地址呢。假設你的計算機是32位,那么它的地址總線(xiàn)是32位的,也就是它可以尋址0~0xFFFFFFFF(4G)的地址空間,但如果你的計算機只有256M的物理內存0x~0x0FFFFFFF(256M),同時(shí)你的進(jìn)程產(chǎn)生了一個(gè)不在這256M地址空間中的地址,那么計算機該如何處理呢?回答這個(gè)問(wèn)題前,先說(shuō)明計算機的內存分頁(yè)機制。
計算機會(huì )對虛擬內存地址空間(32位為4G)分頁(yè)產(chǎn)生頁(yè)(page),對物理內存地址空間(假設256M)分頁(yè)產(chǎn)生頁(yè)幀(page frame),這個(gè)頁(yè)和頁(yè)幀的大小是一樣大的,所以呢,在這里,虛擬內存頁(yè)的個(gè)數勢必要大于物理內存頁(yè)幀的個(gè)數。在計算機上有一個(gè)頁(yè)表(page table),就是映射虛擬內存頁(yè)到物理內存頁(yè)的,更確切的說(shuō)是頁(yè)號到頁(yè)幀號的映射,而且是一對一的映射。但是問(wèn)題來(lái)了,虛擬內存頁(yè)的個(gè)數 > 物理內存頁(yè)幀的個(gè)數,豈不是有些虛擬內存頁(yè)的地址永遠沒(méi)有對應的物理內存地址空間?不是的,操作系統是這樣處理的。操作系統有個(gè)頁(yè)面失效(page fault)功能。操作系統找到一個(gè)最少使用的頁(yè)幀,讓他失效,并把它寫(xiě)入磁盤(pán),隨后把需要訪(fǎng)問(wèn)的頁(yè)放到頁(yè)幀中,并修改頁(yè)表中的映射,這樣就保證所有的頁(yè)都有被調度的可能了。這就是處理虛擬內存地址到物理內存的步驟。

現在來(lái)回答什么是虛擬內存地址和物理內存地址。虛擬內存地址由頁(yè)號(與頁(yè)表中的頁(yè)號關(guān)聯(lián))和偏移量組成。頁(yè)號就不必解釋了,上面已經(jīng)說(shuō)了,頁(yè)號對應的映射到一個(gè)頁(yè)幀。那么,說(shuō)說(shuō)偏移量。偏移量就是我上面說(shuō)的頁(yè)(或者頁(yè)幀)的大小,即這個(gè)頁(yè)(或者頁(yè)幀)到底能存多少數據。舉個(gè)例子,有一個(gè)虛擬地址它的頁(yè)號是4,偏移量是20,那么他的尋址過(guò)程是這樣的:首先到頁(yè)表中找到頁(yè)號4對應的頁(yè)幀號(比如為8),如果頁(yè)不在內存中,則用失效機制調入頁(yè),否則把頁(yè)幀號和偏移量傳給MMU(CPU的內存管理單元)組成一個(gè)物理上真正存在的地址,接著(zhù)就是訪(fǎng)問(wèn)物理內存中的數據了??偨Y起來(lái)說(shuō),虛擬內存地址的大小是與地址總線(xiàn)位數相關(guān),物理內存地址的大小跟物理內存條的容量相關(guān)。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
存儲器
15分鐘!一文幫小白搞懂操作系統之內存
I386的體系結構(上) - CSDN_document的專(zhuān)欄 - CSDNBlog
操作系統內存
PAE真的能提升虛擬地址空間嗎
初探 MMU
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久