電腦16g內(nèi)存吃雞
大家好我是霧中人,今天的主題是3000元達(dá)成16g高畫質(zhì)吃雞的新思路。大家都知道,隨著因特爾八代處理器的推出,各大板商也相繼推出了搭載適應(yīng)新八代處理器的300系列主板芯片,最近一款新主板吸引了我的注意...
2025.07.02COPYRIGHT ? 2023
粵ICP備2021108052號(hào)
郵箱:611661226@qq.com
留言給我物理內(nèi)存就是你的機(jī)器本身內(nèi)存了(如內(nèi)存條的大小)。物理內(nèi)存就是CPU的地址線可以直接進(jìn)行尋址的內(nèi)存空間大小。比如8086只有20根地址線,那么它的尋址空間就是1MB,我們就說8086能支持1MB的物理內(nèi)存,及時(shí)我們安裝了128M的內(nèi)存條在板子上,我們也只能說8086擁有1MB的物理內(nèi)存空間。同理我們現(xiàn)在大部分使用的是32位的機(jī)子,32位的386以上CPU就可以支持最大4GB的物理內(nèi)存空間了。
虛擬內(nèi)存技術(shù),即拿出一部分硬盤空間來充當(dāng)內(nèi)存使用,當(dāng)內(nèi)存占用完時(shí),電腦就會(huì)自動(dòng)調(diào)用硬盤來充當(dāng)內(nèi)存,以緩解內(nèi)存的緊張。比如說當(dāng)電腦要讀取一個(gè)比物理內(nèi)存還要大的文件時(shí),就要用到虛擬內(nèi)存,文件被內(nèi)存讀取之后就會(huì)先儲(chǔ)存到虛擬內(nèi)存,等待內(nèi)存把文件全部儲(chǔ)存到虛擬內(nèi)存之后,就把虛擬內(nèi)里儲(chǔ)存的文件釋放到原來的目錄里了。
計(jì)算機(jī)的內(nèi)存大小等于實(shí)際物理內(nèi)存容量加上“分頁文件”(就是交換文件)的大小。
RAM 就是高速緩存,通電就具有記憶功能,斷電就失去,也就是運(yùn)行內(nèi)存,就是用來存放臨時(shí)文件,而“內(nèi)存”就是RAM的一種物理硬件,廣義來說兩者也可以說是同一概念。而虛擬內(nèi)存是系統(tǒng)利用硬盤分出來的具有輔助內(nèi)存工作的虛擬RAM,不是硬件,但又依靠硬盤。
內(nèi)存就是RAM。虛擬內(nèi)存并不是把硬盤當(dāng)作內(nèi)存,而是在硬盤上創(chuàng)建的交換文件。
當(dāng)物理內(nèi)存用完后,虛擬內(nèi)存管理器選擇最近沒有用過的,低優(yōu)先級(jí)的內(nèi)存部分寫到交換文件(頁面文件)上,并將需要訪問內(nèi)存的程序的內(nèi)容從頁面文件中換入到物理內(nèi)存。
正在運(yùn)行的一個(gè)進(jìn)程,他所需的內(nèi)存是有可能大于內(nèi)存條容量之和的,比如你的內(nèi)存條是256M,你的程序卻要?jiǎng)?chuàng)建一個(gè)2G的數(shù)據(jù)區(qū),那么不是所有數(shù)據(jù)都能一起加載到內(nèi)存(物理內(nèi)存)中,勢(shì)必有一部分?jǐn)?shù)據(jù)要放到其他介質(zhì)中(比如硬盤),待進(jìn)程需要訪問那部分?jǐn)?shù)據(jù)時(shí),在通過調(diào)度進(jìn)入物理內(nèi)存。所以,虛擬內(nèi)存是進(jìn)程運(yùn)行時(shí)所有內(nèi)存空間的總和,并且可能有一部分不在物理內(nèi)存中,而物理內(nèi)存就是我們平時(shí)所了解的內(nèi)存條。有的地方呢,也叫這個(gè)虛擬內(nèi)存為內(nèi)存交換區(qū)。關(guān)鍵的是不要把虛擬內(nèi)存跟真實(shí)的插在主板上的內(nèi)存條相掛鉤,虛擬內(nèi)存它是“虛擬的”不存在,假的啦,它只是內(nèi)存管理的一種抽象!
什么是虛擬內(nèi)存地址和物理內(nèi)存地址呢。假設(shè)你的計(jì)算機(jī)是32位,那么它的地址總線是32位的,也就是它可以尋址00xFFFFFFFF(4G)的地址空間,但如果你的計(jì)算機(jī)只有256M的物理內(nèi)存0x0x0FFFFFFF(256M),同時(shí)你的進(jìn)程產(chǎn)生了一個(gè)不在這256M地址空間中的地址,那么計(jì)算機(jī)該如何處理呢?回答這個(gè)問題前,先說明計(jì)算機(jī)的內(nèi)存分頁機(jī)制。
計(jì)算機(jī)會(huì)對(duì)虛擬內(nèi)存地址空間(32位為4G)分頁產(chǎn)生頁(page),對(duì)物理內(nèi)存地址空間(假設(shè)256M)分頁產(chǎn)生頁幀(page frame),這個(gè)頁和頁幀的大小是一樣大的,所以呢,在這里,虛擬內(nèi)存頁的個(gè)數(shù)勢(shì)必要大于物理內(nèi)存頁幀的個(gè)數(shù)。在計(jì)算機(jī)上有一個(gè)頁表(page table),就是映射虛擬內(nèi)存頁到物理內(nèi)存頁的,更確切的說是頁號(hào)到頁幀號(hào)的映射,而且是一對(duì)一的映射。但是問題來了,虛擬內(nèi)存頁的個(gè)數(shù) > 物理內(nèi)存頁幀的個(gè)數(shù),豈不是有些虛擬內(nèi)存頁的地址永遠(yuǎn)沒有對(duì)應(yīng)的物理內(nèi)存地址空間?不是的,操作系統(tǒng)是這樣處理的。操作系統(tǒng)有個(gè)頁面失效(page fault)功能。操作系統(tǒng)找到一個(gè)最少使用的頁幀,讓他失效,并把它寫入磁盤,隨后把需要訪問的頁放到頁幀中,并修改頁表中的映射,這樣就保證所有的頁都有被調(diào)度的可能了。這就是處理虛擬內(nèi)存地址到物理內(nèi)存的步驟。
什么是虛擬內(nèi)存地址和物理內(nèi)存地址?
虛擬內(nèi)存地址由頁號(hào)(與頁表中的頁號(hào)關(guān)聯(lián))和偏移量組成。頁號(hào)就不必解釋了,上面已經(jīng)說了,頁號(hào)對(duì)應(yīng)的映射到一個(gè)頁幀。那么,說說偏移量。偏移量就是我上面說的頁(或者頁幀)的大小,即這個(gè)頁(或者頁幀)到底能存多少數(shù)據(jù)。舉個(gè)例子,有一個(gè)虛擬地址它的頁號(hào)是4,偏移量是20,那么他的尋址過程是這樣的:首先到頁表中找到頁號(hào)4對(duì)應(yīng)的頁幀號(hào)(比如為8),如果頁不在內(nèi)存中,則用失效機(jī)制調(diào)入頁,否則把頁幀號(hào)和偏移量傳給MMU(CPU的內(nèi)存管理單元)組成一個(gè)物理上真正存在的地址,接著就是訪問物理內(nèi)存中的數(shù)據(jù)了??偨Y(jié)起來說,虛擬內(nèi)存地址的大小是與地址總線位數(shù)相關(guān),物理內(nèi)存地址的大小跟物理內(nèi)存條的容量相關(guān)。
可以認(rèn)為虛擬空間都被映射到了磁盤空間中,(事實(shí)上也是按需要映射到磁盤空間上,通過mmap),并且由頁表記錄映射位置,當(dāng)訪問到某個(gè)地址的時(shí)候,通過頁表中的有效位,可以得知此數(shù)據(jù)是否在內(nèi)存中,如果不是,則通過缺頁異常,將磁盤對(duì)應(yīng)的數(shù)據(jù)拷貝到內(nèi)存中,如果沒有空閑內(nèi)存,則選擇犧牲頁面,替換其他頁面。
mmap是用來建立從虛擬空間到磁盤空間的映射的,可以將一個(gè)虛擬空間地址映射到一個(gè)磁盤文件上,當(dāng)不設(shè)置這個(gè)地址時(shí),則由系統(tǒng)自動(dòng)設(shè)置,函數(shù)返回對(duì)應(yīng)的內(nèi)存地址(虛擬地址),當(dāng)訪問這個(gè)地址的時(shí)候,就需要把磁盤上的內(nèi)容拷貝到內(nèi)存了,然后就可以讀或者寫,最后通過manmap可以將內(nèi)存上的數(shù)據(jù)換回到磁盤,也就是解除虛擬空間和內(nèi)存空間的映射,這也是一種讀寫磁盤文件的方法,也是一種進(jìn)程共享數(shù)據(jù)的方法 共享內(nèi)存
大家好我是霧中人,今天的主題是3000元達(dá)成16g高畫質(zhì)吃雞的新思路。大家都知道,隨著因特爾八代處理器的推出,各大板商也相繼推出了搭載適應(yīng)新八代處理器的300系列主板芯片,最近一款新主板吸引了我的注意...
2025.07.02視頻相對(duì)于其他格式的文件,體積都比較大,有時(shí)候分享給其他人的時(shí)候會(huì)受到平臺(tái)大小限制,針對(duì)這樣的問題可以先將視頻壓縮(https://www.yasuoshipin.com)變小,那么怎么壓縮視頻大小呢...
2025.07.02win10系統(tǒng)內(nèi)存占用過高怎么解決?很多用戶都將電腦內(nèi)存以4GB為標(biāo)準(zhǔn)配備規(guī)格,但是仍然會(huì)有用戶遇到內(nèi)存不足的問題,不知如何解決的用戶,請(qǐng)來看看下面的介紹吧。使用電腦的時(shí)候,有時(shí)會(huì)遇到內(nèi)存占用過高,而...
2025.07.03一、 虛擬地址的由來在早期的計(jì)算機(jī)中,要運(yùn)行一個(gè)程序,會(huì)把這個(gè)程序全部都加載到內(nèi)存,程序是直接運(yùn)行到物理內(nèi)存上的。也就是說,程序運(yùn)行時(shí)直接訪問的就是實(shí)際的物理內(nèi)存地址。當(dāng)計(jì)算機(jī)要運(yùn)行某些程序時(shí)(運(yùn)行中...
2025.07.04在電腦的平時(shí)使用中,經(jīng)常會(huì)出現(xiàn)內(nèi)存不足的提示,有時(shí)可能小伙伴們會(huì)疑惑了,明明自己是16G內(nèi)存的性能為何也能出現(xiàn)這種提示呢?這是當(dāng)你在運(yùn)行多個(gè)大程序的時(shí)候,對(duì)內(nèi)存的需求非常大,當(dāng)物理內(nèi)存不能滿足需求時(shí),...
2025.07.04