在計算機的5大部件中, 「內(nèi)存」 和 「磁盤」 都被歸類為 「存儲部件」 。不過,利用 「電流」 來實現(xiàn)存儲的內(nèi)存,同利用 「磁效應」 來實現(xiàn)存儲的磁盤,還是有差異的。
從存儲容量來看
- 內(nèi)存是**「高速高價」**
- 磁盤是**「低速廉價」**
不讀入內(nèi)存就無法運行
計算機中主要的存儲部分是 「內(nèi)存」 和 「磁盤」 。 「磁盤中存儲的程序,必須要加載到內(nèi)存后才能運行。在磁盤中保存的原始程序是無法直接運行的」 。這是因為,「負責解析和運行程序內(nèi)容的CPU,需要通過內(nèi)部程序計數(shù)器
來指定內(nèi)存地址,然后才能讀出程序」
?存儲在磁盤中的程序需要讀入到內(nèi)存后才能運行
?
磁盤緩存
磁盤緩存Disk Cache指的是把從磁盤中讀出的數(shù)據(jù)存儲到 「內(nèi)存空間」 中的方式。這樣一來,當接下來需要讀取 「同一數(shù)據(jù)」 時,就不用通過實際的磁盤,而是從磁盤緩存中把內(nèi)容讀出。
?使用磁盤緩存可以大大改善磁盤數(shù)據(jù)的訪問速度
?
把 「低速設備」 的數(shù)據(jù)保存到 「高速設備」 中,需要時可以直接將其從高速設備中讀出,這種 「緩存」 的方式在其他情況下也會用到。
其中一個實例就是在Web瀏覽器
中的使用。由于Web瀏覽器
是通過 「網(wǎng)絡」 來獲取 「遠程」 Web服務器
的數(shù)據(jù)并將其顯示出來的。因此,在顯示較大的圖片等文件時,會花費不少時間。于是,Web瀏覽器
就可以把獲取的數(shù)據(jù) 「暫時」 保存在 「磁盤」 中,然后在需要時再顯示磁盤中的數(shù)據(jù)。也就是, 「把低速的網(wǎng)絡數(shù)據(jù)保存到相對高速的磁盤中」 。
虛擬內(nèi)存
虛擬內(nèi)存Virtual Memory是指把 「磁盤」 的一部分作為 「假想的內(nèi)存」 來使用。這與磁盤緩存是 「假想的磁盤」 (實際上是內(nèi)存
)相對,虛擬內(nèi)存是 「假想的內(nèi)存」 (實際上是磁盤
)。
「通過借助虛擬內(nèi)存,在內(nèi)存不足時也可以運行程序」 。為了實現(xiàn)虛擬內(nèi)存,就必須把 「實際內(nèi)存」 (也可稱為 「物理內(nèi)存」 )的內(nèi)容,和磁盤上的虛擬內(nèi)存的內(nèi)容進行 「部分置換」 ,并同時運行程序。
?虛擬內(nèi)存的方法有 「分頁式」 和 「分段式」 兩種。
?
Windows
采用的是 「分頁式」 。該方式是指, 「把運行的程序按照一定大小的頁Page進行分割,并以頁
為單位在內(nèi)存和磁盤間置換」 。
在分頁式中,把磁盤的內(nèi)容讀出到內(nèi)存稱為Page In
,把內(nèi)存的內(nèi)容寫入磁盤稱為Page Out
。
為了實現(xiàn)虛擬內(nèi)存功能,Windows
在 「磁盤」 上提供了虛擬內(nèi)存用的頁文件Page File。該文件由Windows
自動做成和管理。
節(jié)約內(nèi)存的編程方式(DLL文件)
「DLL(Dynamic Link Library)文件」 ,是在程序 「運行時」 可以 「動態(tài)」 加載Library
(函數(shù)和數(shù)據(jù)的集合)的文件。并且,多個應用可以 「共有同一個」 DLL文件
。所以, 「通過共有同一個DLL文件
可以達到節(jié)約內(nèi)存的效果」 。
假設我們編寫了一個具有某些處理功能的函數(shù)MyFunc()
,應用A
和應用B
都會使用這個函數(shù)。如果函數(shù)MyFunc()
是獨立的DLL文件
,由于同一個DLL文件
的內(nèi)容在運行時可以被多個應用共有,因此內(nèi)存中存在的函數(shù)MyFunc()
的程序就只有一個。
?
Windows
的 「操作系統(tǒng)」 本身也是多個DLL文件
的集合體。?
DLL文件
還有一個優(yōu)點:在不變更可執(zhí)行文件的情況下,只通過升級DLL文件
就可以更新。
磁盤的物理結構
「磁盤的物理結構是指磁盤存儲數(shù)據(jù)的形式」 。
?磁盤是通過把其物理表面劃分成多個空間來使用的。
?
劃分的方式有 「扇區(qū)方式」 和 「可變長方式」 兩種。
- 「扇區(qū)方式」 是指將磁盤劃分為 「固定長度」 的空間
- 「可變長方式」 是指把磁盤劃分為 「長度可變」 的空間
Windows
計算機所使用的硬盤,采用的都是 「扇區(qū)方式」 。
扇區(qū)方式中,把磁盤表面分成若干個 「同心圓的空間」 就是 「磁道」 ,把磁道按照 「固定大小」 (能存儲的數(shù)據(jù)長度相同)劃分而成的空間就是 「扇區(qū)」 。
?扇區(qū)是對磁盤進行 「物理讀寫」 的最小單位,一般一個扇區(qū)是512字節(jié)
?
不過,Windows
在 「邏輯方面」 (軟件方面
)對磁盤就進行讀寫的單位是扇區(qū)的整數(shù)倍 「簇」 。根據(jù)磁盤容量的不同,1簇可以是512字節(jié)(1簇=1扇區(qū))、1KB(1簇=2扇區(qū))、2KB、4KB等。
? 「不同的文件是不能存儲在同一簇中的」 ,否則就會導致只有一方的文件不能被刪除
?
-
cpu
+關注
關注
68文章
10702瀏覽量
209465 -
計算機
+關注
關注
19文章
7175瀏覽量
87175 -
內(nèi)存
+關注
關注
8文章
2904瀏覽量
73555 -
計數(shù)器
+關注
關注
32文章
2241瀏覽量
93984
發(fā)布評論請先 登錄
相關推薦
評論