【轉發(fā)】作為一個(gè)程序員,內存和磁盤(pán)的這些事情,你不得不知
今天再來(lái)分享一下關(guān)于內存和磁盤(pán)的有關(guān)重要知識,如此一來(lái),CPU,內存和磁盤(pán) 這比較重要的幾個(gè)貨,我們就都有所了解了。
關(guān)于磁盤(pán),你了解多少?
可能大伙聽(tīng)到的比較多的是硬盤(pán),畢竟這是我們每天使用電腦接觸比較多的一個(gè)概念,再加上現在買(mǎi)電腦基本上從之前的機械硬盤(pán)都過(guò)渡到了現在的固態(tài)硬盤(pán)。
所以大家對硬盤(pán)這個(gè)名詞不陌生,相對的,對磁盤(pán)的概念似乎就有點(diǎn)陌生了
啥是磁盤(pán)
首先記住,磁盤(pán)是個(gè)總的,也就是說(shuō)磁盤(pán)包括硬盤(pán),那么還要知道磁盤(pán)是干嘛的,磁盤(pán)最主要的功能就是保存電腦里面的信息,但是磁盤(pán)又有一些分類(lèi),不過(guò)我們首先要知道,在計算機中,保存信息的有這么兩類(lèi):
第一:內部存儲器
這個(gè)就是我們說(shuō)的內存了,是由內存條提供內存空間,特點(diǎn)是存儲信息速度快,但是容量不大,而且很重要的一點(diǎn)就是只要一斷電,里面什么玩意兒都沒(méi)有了,斷電就會(huì )丟失所有的信息。
第二:外部存儲器
這個(gè)主要就是磁盤(pán)了,對就是磁盤(pán),可不是硬盤(pán),也不是內存,對于外部存儲器也就是磁盤(pán)而言,它有這么些特性,首先就是不像內存那樣一斷電就丟失所有的信息,存儲的數據不會(huì )受到斷電的影響,但是它的速度相比內存那就慢的多了。
到了現在起碼知道在計算機中保存信息有兩類(lèi)存儲器,一是內部存儲器,而是外部存儲器也就是磁盤(pán),下面我們再來(lái)說(shuō)說(shuō)磁盤(pán),其實(shí)磁盤(pán)也有分類(lèi)
磁盤(pán)的簡(jiǎn)單分類(lèi)
一是:硬盤(pán)
這個(gè)我們就比較熟悉了,就是我們電腦中的c盤(pán)啊d盤(pán)啊,這里再說(shuō)一點(diǎn),還記得之前說(shuō)的這些其實(shí)就是硬盤(pán)空間的分區嘛,要記住c盤(pán)是主分區,是安裝操作系統的,其他盤(pán)可以叫做擴展盤(pán),所以c盤(pán)也叫做系統盤(pán),不過(guò)他們都屬于硬盤(pán),而硬盤(pán)又是屬于磁盤(pán)的,這個(gè)關(guān)系要理清
二是:軟盤(pán)
好了到這里你就要知道磁盤(pán)是分為硬盤(pán)和軟盤(pán)的,硬盤(pán)可能我們還比較清楚,這個(gè)軟盤(pán)估計很多人沒(méi)有太多概念,先來(lái)看張軟盤(pán)的圖片吧:
估計看到圖片有些人就會(huì )覺(jué)得有那么點(diǎn)熟悉了,這就是軟盤(pán)了,那么該如何解釋這個(gè)軟盤(pán)呢?其實(shí)你完全可以把軟盤(pán)理解之前之前的u盤(pán),只不過(guò)在出現了真正的u盤(pán)之后,這個(gè)軟盤(pán)慢慢就都淡出了市場(chǎng),要知道沒(méi)有u盤(pán)的時(shí)候,軟盤(pán)是很受歡迎的。不過(guò)科技總歸是在進(jìn)步的嘛!
知道啥是磁盤(pán)緩存不
提到磁盤(pán)緩存,應該有不少人會(huì )想到CPU緩存,CPU緩存主要是為了解決速度匹配問(wèn)題,因為CPU快內存慢,為了縮小速度差距帶來(lái)的問(wèn)題引入了緩存,這里的快慢主要針對的是對于數據的讀取。
那啥是磁盤(pán)緩存呢?
會(huì )不會(huì )有人覺(jué)得磁盤(pán)緩存在磁盤(pán)里?其實(shí)不是,磁盤(pán)緩存不是在磁盤(pán)中,而是在內存中。
對了,我覺(jué)得這里非常有必要說(shuō)下,我們這里說(shuō)的磁盤(pán),一般就是指的咱們電腦上的硬盤(pán),Windows電腦中的什么C盤(pán),D盤(pán)這些,我們的大部分數據信息也都是保存在這上面的。
其實(shí)磁盤(pán)緩存和CPU緩存的機制差不多。
磁盤(pán)緩存是把從磁盤(pán)中讀取到的數據保存到內存中,下次讀取該數據的餓時(shí)候不會(huì )再從磁盤(pán)中去讀取,而是直接從內存中讀取
緩存好像經(jīng)常聽(tīng)說(shuō)
作為一個(gè)程序員,你一定會(huì )經(jīng)常聽(tīng)說(shuō)緩存這個(gè)概念的,因為緩存在很多方面起到了很重要的作用,因為它的存在解決了很多問(wèn)題,那啥是緩存啊。
緩存英文是cache,是不是很熟悉,我們現在提到緩存覺(jué)得它應該是一種技術(shù),實(shí)現某種功能或者解決某個(gè)問(wèn)題的一種方式,但是在最開(kāi)始,緩存似乎并不是這樣的。
還記得之前說(shuō)的RAM嗎??jì)却嬉布词侵鞔娴囊馑?,然后還有DRAM(動(dòng)態(tài)隨機存取存儲器)和SRAM(靜態(tài)隨機存取存儲器),之前的緩存其實(shí)是一種SRAM。
但是嘞,現在的緩存概念被擴展了,現在的緩存更代表一塊數據,比如我這么這里說(shuō)的磁盤(pán)緩存,其實(shí)就是把磁盤(pán)中的部分數據保存到內存中,那么保存到內存中的這塊數據其實(shí)就是緩存,下次如果要從磁盤(pán)中讀取數據會(huì )先從內存這里的磁盤(pán)緩存中讀取,看看是不是有自己需要的數據,畢竟從內存中讀取數據要比從磁盤(pán)中讀取快太多了。
緩存概念的擴充
所以啊,對于現在的緩存,不僅CPU和內存之間有CPU緩存,在內存和磁盤(pán)之間也存在我們這次說(shuō)的磁盤(pán)緩存,甚至在硬盤(pán)和網(wǎng)絡(luò )之間也存在緩存,比如網(wǎng)絡(luò )內容緩存。
這里舉個(gè)例子吧,比如我們上網(wǎng)瀏覽一張圖片,第一次瀏覽加載該圖片的時(shí)候其實(shí)是比較慢得,但是我們下次再次打開(kāi)該網(wǎng)的這個(gè)圖片,速度就會(huì )快很多,那是因為這張圖片數據保存在了我們的硬盤(pán)上,再次讀取是直接從我們的硬盤(pán)上讀取,而不是從服務(wù)器上拉取了。
所以啊,看了那么多,其實(shí)緩存這玩意就是把低速設備的數據保存在高速設備上,需要的時(shí)候直接從高速設備上將其讀取。
不讀入內存就無(wú)法運行?
這是咋回事,相信看了我之前幾篇分析CPU和內存的文章就知道我這里說(shuō)的什么意思了,CPU被設計成只能從內存中讀取數據來(lái)運行相關(guān)程序,而內存中的數據是哪里來(lái)的呢?
我們平常寫(xiě)的程序啥的都是保存在本地硬盤(pán)中,好吧,是磁盤(pán),我們上面說(shuō)的磁盤(pán),但是你得知道磁盤(pán)和硬盤(pán)他們之間啥關(guān)系啊。
要想這個(gè)程序被運行,那么首先需要把這段程序數據加載進(jìn)內存,只有進(jìn)了內存才能被CPU讀取運行啊,也就是這么個(gè)圖:
簡(jiǎn)單來(lái)說(shuō),就這么個(gè)情況。
虛擬內存很有料
虛擬機內存這塊包含的知識點(diǎn)我個(gè)人覺(jué)得挺復雜的,可以單獨拿出來(lái)講一講了,不過(guò)在這里不打算鋪開(kāi)來(lái)將,其實(shí)大部分時(shí)候,我們還真沒(méi)有必要一下就把這些知識弄得很深深透。
啥是虛擬內存
不是不可,只是目前不是很有必要,我們只需要只能一些就差不多了。
那么對于虛擬內存來(lái)說(shuō),我們首先要搞清楚,什么是虛擬機內存?
有個(gè)概念是這么說(shuō)的:
虛擬機內存是把磁盤(pán)的一部分作為假想的內存來(lái)使用
聽(tīng)起來(lái)有點(diǎn)魔幻,不是那么好理解,不直觀(guān),首先虛擬內存肯定不是真的內存,雖然不是真的是虛擬的,但是人家也叫內存,所以,虛擬內存能夠起到內存的一些作用,啥意思嘞?
我們知道,程序需要加載進(jìn)內存供CPU讀取運行,如果內存空間不夠,如何運行大內存程序呢?
比如說(shuō)現在內存空間僅剩10M,但是現在有個(gè)大小20M的程序需要運行,在沒(méi)有虛擬內存的情況下,這個(gè)程序是無(wú)法被運行的,但是有了虛擬內存就可以,虛擬內存通過(guò)特定技術(shù)把磁盤(pán)中的一部分容量作為內存來(lái)使用,也就是說(shuō)會(huì )把這個(gè)20M大小的程序的部分數據存放在磁盤(pán)中的這塊虛擬內存中,然后在真正的內存中也存放部分這個(gè)程序的數據,在運行這個(gè)程序的時(shí)候,如果所需要的數據沒(méi)有在內存中,而是在磁盤(pán)中的虛擬內存中,那么就會(huì )發(fā)生數據交換,把虛擬內存中需要現在用到的數據與內存中這段程序暫時(shí)不用的數據進(jìn)行交換,以此來(lái)保證程序的正常運行。
這,就是虛擬內存了。
其實(shí)吧,關(guān)于虛擬內存還有很多可以說(shuō)的,但是,還是之前那句話(huà),沒(méi)必要非得現在把它們全部搞定,只了解那些必要的知識,這才是所謂的高效學(xué)習。
好啦,關(guān)于這次的內存和磁盤(pán)的一些知識點(diǎn),我們就介紹到這里了。
————————————————
版權聲明:本文為CSDN博主「ithuangqing」的原創(chuàng )文章,遵循 CC 4.0 BY-SA 版權協(xié)議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/sinat_33921105/article/details/104142623
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。