博客專欄

EEPW首頁 > 博客 > 【轉(zhuǎn)發(fā)】作為一個(gè)程序員,內(nèi)存和磁盤的這些事情,你不得不知

【轉(zhuǎn)發(fā)】作為一個(gè)程序員,內(nèi)存和磁盤的這些事情,你不得不知

發(fā)布人:白柴 時(shí)間:2020-02-04 來源:工程師 發(fā)布文章

今天再來分享一下關(guān)于內(nèi)存和磁盤的有關(guān)重要知識(shí),如此一來,CPU,內(nèi)存和磁盤 這比較重要的幾個(gè)貨,我們就都有所了解了。

關(guān)于磁盤,你了解多少?

可能大伙聽到的比較多的是硬盤,畢竟這是我們每天使用電腦接觸比較多的一個(gè)概念,再加上現(xiàn)在買電腦基本上從之前的機(jī)械硬盤都過渡到了現(xiàn)在的固態(tài)硬盤。

所以大家對(duì)硬盤這個(gè)名詞不陌生,相對(duì)的,對(duì)磁盤的概念似乎就有點(diǎn)陌生了

啥是磁盤

首先記住,磁盤是個(gè)總的,也就是說磁盤包括硬盤,那么還要知道磁盤是干嘛的,磁盤最主要的功能就是保存電腦里面的信息,但是磁盤又有一些分類,不過我們首先要知道,在計(jì)算機(jī)中,保存信息的有這么兩類:

第一:內(nèi)部存儲(chǔ)器

這個(gè)就是我們說的內(nèi)存了,是由內(nèi)存條提供內(nèi)存空間,特點(diǎn)是存儲(chǔ)信息速度快,但是容量不大,而且很重要的一點(diǎn)就是只要一斷電,里面什么玩意兒都沒有了,斷電就會(huì)丟失所有的信息。

第二:外部存儲(chǔ)器

這個(gè)主要就是磁盤了,對(duì)就是磁盤,可不是硬盤,也不是內(nèi)存,對(duì)于外部存儲(chǔ)器也就是磁盤而言,它有這么些特性,首先就是不像內(nèi)存那樣一斷電就丟失所有的信息,存儲(chǔ)的數(shù)據(jù)不會(huì)受到斷電的影響,但是它的速度相比內(nèi)存那就慢的多了。

到了現(xiàn)在起碼知道在計(jì)算機(jī)中保存信息有兩類存儲(chǔ)器,一是內(nèi)部存儲(chǔ)器,而是外部存儲(chǔ)器也就是磁盤,下面我們?cè)賮碚f說磁盤,其實(shí)磁盤也有分類

磁盤的簡(jiǎn)單分類

一是:硬盤

這個(gè)我們就比較熟悉了,就是我們電腦中的c盤啊d盤啊,這里再說一點(diǎn),還記得之前說的這些其實(shí)就是硬盤空間的分區(qū)嘛,要記住c盤是主分區(qū),是安裝操作系統(tǒng)的,其他盤可以叫做擴(kuò)展盤,所以c盤也叫做系統(tǒng)盤,不過他們都屬于硬盤,而硬盤又是屬于磁盤的,這個(gè)關(guān)系要理清

二是:軟盤

好了到這里你就要知道磁盤是分為硬盤和軟盤的,硬盤可能我們還比較清楚,這個(gè)軟盤估計(jì)很多人沒有太多概念,先來看張軟盤的圖片吧:

估計(jì)看到圖片有些人就會(huì)覺得有那么點(diǎn)熟悉了,這就是軟盤了,那么該如何解釋這個(gè)軟盤呢?其實(shí)你完全可以把軟盤理解之前之前的u盤,只不過在出現(xiàn)了真正的u盤之后,這個(gè)軟盤慢慢就都淡出了市場(chǎng),要知道沒有u盤的時(shí)候,軟盤是很受歡迎的。不過科技總歸是在進(jìn)步的嘛!

知道啥是磁盤緩存不

提到磁盤緩存,應(yīng)該有不少人會(huì)想到CPU緩存,CPU緩存主要是為了解決速度匹配問題,因?yàn)镃PU快內(nèi)存慢,為了縮小速度差距帶來的問題引入了緩存,這里的快慢主要針對(duì)的是對(duì)于數(shù)據(jù)的讀取。

那啥是磁盤緩存呢?

會(huì)不會(huì)有人覺得磁盤緩存在磁盤里?其實(shí)不是,磁盤緩存不是在磁盤中,而是在內(nèi)存中。

對(duì)了,我覺得這里非常有必要說下,我們這里說的磁盤,一般就是指的咱們電腦上的硬盤,Windows電腦中的什么C盤,D盤這些,我們的大部分?jǐn)?shù)據(jù)信息也都是保存在這上面的。

其實(shí)磁盤緩存和CPU緩存的機(jī)制差不多。

磁盤緩存是把從磁盤中讀取到的數(shù)據(jù)保存到內(nèi)存中,下次讀取該數(shù)據(jù)的餓時(shí)候不會(huì)再從磁盤中去讀取,而是直接從內(nèi)存中讀取

緩存好像經(jīng)常聽說

作為一個(gè)程序員,你一定會(huì)經(jīng)常聽說緩存這個(gè)概念的,因?yàn)榫彺嬖诤芏喾矫嫫鸬搅撕苤匾淖饔茫驗(yàn)樗拇嬖诮鉀Q了很多問題,那啥是緩存啊。

緩存英文是cache,是不是很熟悉,我們現(xiàn)在提到緩存覺得它應(yīng)該是一種技術(shù),實(shí)現(xiàn)某種功能或者解決某個(gè)問題的一種方式,但是在最開始,緩存似乎并不是這樣的。

還記得之前說的RAM嗎??jī)?nèi)存也即是主存的意思,然后還有DRAM(動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)和SRAM(靜態(tài)隨機(jī)存取存儲(chǔ)器),之前的緩存其實(shí)是一種SRAM。

但是嘞,現(xiàn)在的緩存概念被擴(kuò)展了,現(xiàn)在的緩存更代表一塊數(shù)據(jù),比如我這么這里說的磁盤緩存,其實(shí)就是把磁盤中的部分?jǐn)?shù)據(jù)保存到內(nèi)存中,那么保存到內(nèi)存中的這塊數(shù)據(jù)其實(shí)就是緩存,下次如果要從磁盤中讀取數(shù)據(jù)會(huì)先從內(nèi)存這里的磁盤緩存中讀取,看看是不是有自己需要的數(shù)據(jù),畢竟從內(nèi)存中讀取數(shù)據(jù)要比從磁盤中讀取快太多了。

緩存概念的擴(kuò)充

所以啊,對(duì)于現(xiàn)在的緩存,不僅CPU和內(nèi)存之間有CPU緩存,在內(nèi)存和磁盤之間也存在我們這次說的磁盤緩存,甚至在硬盤和網(wǎng)絡(luò)之間也存在緩存,比如網(wǎng)絡(luò)內(nèi)容緩存。

這里舉個(gè)例子吧,比如我們上網(wǎng)瀏覽一張圖片,第一次瀏覽加載該圖片的時(shí)候其實(shí)是比較慢得,但是我們下次再次打開該網(wǎng)的這個(gè)圖片,速度就會(huì)快很多,那是因?yàn)檫@張圖片數(shù)據(jù)保存在了我們的硬盤上,再次讀取是直接從我們的硬盤上讀取,而不是從服務(wù)器上拉取了。

所以啊,看了那么多,其實(shí)緩存這玩意就是把低速設(shè)備的數(shù)據(jù)保存在高速設(shè)備上,需要的時(shí)候直接從高速設(shè)備上將其讀取。

不讀入內(nèi)存就無法運(yùn)行?

這是咋回事,相信看了我之前幾篇分析CPU和內(nèi)存的文章就知道我這里說的什么意思了,CPU被設(shè)計(jì)成只能從內(nèi)存中讀取數(shù)據(jù)來運(yùn)行相關(guān)程序,而內(nèi)存中的數(shù)據(jù)是哪里來的呢?

我們平常寫的程序啥的都是保存在本地硬盤中,好吧,是磁盤,我們上面說的磁盤,但是你得知道磁盤和硬盤他們之間啥關(guān)系啊。

要想這個(gè)程序被運(yùn)行,那么首先需要把這段程序數(shù)據(jù)加載進(jìn)內(nèi)存,只有進(jìn)了內(nèi)存才能被CPU讀取運(yùn)行啊,也就是這么個(gè)圖:

簡(jiǎn)單來說,就這么個(gè)情況。

虛擬內(nèi)存很有料

虛擬機(jī)內(nèi)存這塊包含的知識(shí)點(diǎn)我個(gè)人覺得挺復(fù)雜的,可以單獨(dú)拿出來講一講了,不過在這里不打算鋪開來將,其實(shí)大部分時(shí)候,我們還真沒有必要一下就把這些知識(shí)弄得很深深透。

啥是虛擬內(nèi)存

不是不可,只是目前不是很有必要,我們只需要只能一些就差不多了。

那么對(duì)于虛擬內(nèi)存來說,我們首先要搞清楚,什么是虛擬機(jī)內(nèi)存?

有個(gè)概念是這么說的:

虛擬機(jī)內(nèi)存是把磁盤的一部分作為假想的內(nèi)存來使用

聽起來有點(diǎn)魔幻,不是那么好理解,不直觀,首先虛擬內(nèi)存肯定不是真的內(nèi)存,雖然不是真的是虛擬的,但是人家也叫內(nèi)存,所以,虛擬內(nèi)存能夠起到內(nèi)存的一些作用,啥意思嘞?

我們知道,程序需要加載進(jìn)內(nèi)存供CPU讀取運(yùn)行,如果內(nèi)存空間不夠,如何運(yùn)行大內(nèi)存程序呢?

比如說現(xiàn)在內(nèi)存空間僅剩10M,但是現(xiàn)在有個(gè)大小20M的程序需要運(yùn)行,在沒有虛擬內(nèi)存的情況下,這個(gè)程序是無法被運(yùn)行的,但是有了虛擬內(nèi)存就可以,虛擬內(nèi)存通過特定技術(shù)把磁盤中的一部分容量作為內(nèi)存來使用,也就是說會(huì)把這個(gè)20M大小的程序的部分?jǐn)?shù)據(jù)存放在磁盤中的這塊虛擬內(nèi)存中,然后在真正的內(nèi)存中也存放部分這個(gè)程序的數(shù)據(jù),在運(yùn)行這個(gè)程序的時(shí)候,如果所需要的數(shù)據(jù)沒有在內(nèi)存中,而是在磁盤中的虛擬內(nèi)存中,那么就會(huì)發(fā)生數(shù)據(jù)交換,把虛擬內(nèi)存中需要現(xiàn)在用到的數(shù)據(jù)與內(nèi)存中這段程序暫時(shí)不用的數(shù)據(jù)進(jìn)行交換,以此來保證程序的正常運(yùn)行。

這,就是虛擬內(nèi)存了。

其實(shí)吧,關(guān)于虛擬內(nèi)存還有很多可以說的,但是,還是之前那句話,沒必要非得現(xiàn)在把它們?nèi)扛愣?,只了解那些必要的知識(shí),這才是所謂的高效學(xué)習(xí)。

好啦,關(guān)于這次的內(nèi)存和磁盤的一些知識(shí)點(diǎn),我們就介紹到這里了。

————————————————

版權(quán)聲明:本文為CSDN博主「ithuangqing」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/sinat_33921105/article/details/104142623

*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: 內(nèi)存 磁盤

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉