物理內(nèi)存是計(jì)算機(jī)中實(shí)際存在的內(nèi)存空間,是計(jì)算機(jī)內(nèi)存的物理組成部分。與虛擬內(nèi)存和虛擬空間不同的是,物理內(nèi)存是實(shí)際存在的內(nèi)存空間,是計(jì)算機(jī)中的一塊物理硬件設(shè)備。在計(jì)算機(jī)系統(tǒng)中,物理內(nèi)存通常是由一組動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)芯片組成,可以直接訪問(wèn)。
與虛擬空間和虛擬內(nèi)存不同的是,物理地址是一組連續(xù)的地址空間,但通常并不是完全連續(xù)的。物理地址也包括IO寄存器,但在早期的CPU中,IO寄存器和內(nèi)存被劃分為不同的地址空間,因此不能用直接訪問(wèn)內(nèi)存的方式(如指針)來(lái)訪問(wèn)IO寄存器,而是需要使用專門的方法(in/read/out/write)來(lái)訪問(wèn)。現(xiàn)代的CPU利用PCI總線將IO寄存器映射到物理內(nèi)存中,因此現(xiàn)在也可以使用基于內(nèi)存訪問(wèn)的IO方式。此外,與進(jìn)程空間中的內(nèi)核空間類似,物理內(nèi)存也有一部分是保留給操作系統(tǒng)內(nèi)核使用的,不能被進(jìn)程直接訪問(wèn)。

物理內(nèi)存的大小通常是固定的,并且是計(jì)算機(jī)系統(tǒng)的重要資源。操作系統(tǒng)需要協(xié)調(diào)不同進(jìn)程之間對(duì)物理內(nèi)存的使用,以保證系統(tǒng)的穩(wěn)定性和性能。物理內(nèi)存的大小也會(huì)對(duì)計(jì)算機(jī)的性能產(chǎn)生影響。如果物理內(nèi)存太小,那么操作系統(tǒng)可能會(huì)頻繁地將數(shù)據(jù)從物理內(nèi)存中換出到硬盤上,導(dǎo)致系統(tǒng)性能下降;如果物理內(nèi)存太大,那么操作系統(tǒng)可能會(huì)浪費(fèi)大量的內(nèi)存資源,導(dǎo)致系統(tǒng)資源的浪費(fèi)。
因此,為了充分利用物理內(nèi)存資源,操作系統(tǒng)通常采用虛擬內(nèi)存技術(shù)。虛擬內(nèi)存技術(shù)可以將物理內(nèi)存和硬盤之間建立一層抽象,使得操作系統(tǒng)在物理內(nèi)存不足的情況下,仍然可以運(yùn)行大型程序或多個(gè)程序。虛擬內(nèi)存將程序的虛擬地址空間和物理地址空間分開(kāi),讓程序只需要關(guān)心虛擬地址,而不需要關(guān)心物理地址。當(dāng)程序需要訪問(wèn)一個(gè)虛擬地址,而該地址對(duì)應(yīng)的數(shù)據(jù)未被加載到物理內(nèi)存中時(shí),操作系統(tǒng)會(huì)將該數(shù)據(jù)從硬盤上讀取到內(nèi)存中。這種技術(shù)可以讓程序在物理內(nèi)存不足的情況下運(yùn)行,從而提高系統(tǒng)的可用性。

總之,物理內(nèi)存是計(jì)算機(jī)內(nèi)存的物理組成部分,是計(jì)算機(jī)系統(tǒng)中的重要資源。操作系統(tǒng)需要協(xié)調(diào)不同進(jìn)程之間對(duì)物理內(nèi)存的使用,以保證系統(tǒng)的穩(wěn)定性和性能。虛擬內(nèi)存技術(shù)可以充分利用物理內(nèi)存資源,使得操作系統(tǒng)在物理內(nèi)存不足的情況下,仍然可以運(yùn)行大型程序或多個(gè)程序。






