偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

SSD為什么不能當(dāng)做內(nèi)存用?

存儲(chǔ) 存儲(chǔ)軟件
為什么 SSD 不能當(dāng)做內(nèi)存用?在回答這個(gè)問(wèn)題之前我們先去某東上逛一圈。

為什么 SSD 不能當(dāng)做內(nèi)存用?在回答這個(gè)問(wèn)題之前我們先去某東上逛一圈。

[[414255]]

圖片來(lái)自 Pexels

輸入“SSD”隨便找到銷(xiāo)量比較高的一項(xiàng),在商品詳情頁(yè)上有這樣的描述:

注意圖片上顯示的規(guī)格,讀速高達(dá) 3.5GB/s,真實(shí)情況下稍差點(diǎn)(尤其是隨機(jī)讀寫(xiě)),但也不會(huì)很離譜,可以看到,這個(gè)速度是非??斓模久雮鞲咔咫娪暗乃?。

那么問(wèn)題來(lái)了,既然現(xiàn)在的 SSD 讀取速度這么快,那么可以把 SSD 當(dāng)做內(nèi)存來(lái)用嗎?

要想回答這個(gè)問(wèn)題,我們先來(lái)看看內(nèi)存的速度。

速度差異

當(dāng)前采用第四代 DDR 技術(shù)的內(nèi)存,其帶寬基本上能到 20GB-30GB 左右。怎么樣,即使 SSD 的速度很快,但和內(nèi)存相比還是有一個(gè)數(shù)量級(jí)的差異。

也就是說(shuō),如果真的當(dāng)把 SSD 當(dāng)內(nèi)存使用,那么你的計(jì)算機(jī)可能會(huì)比當(dāng)前慢上 10 倍左右。

[[414257]]

如果站在用戶(hù)的角度你覺(jué)得慢點(diǎn)無(wú)所謂,那么接下來(lái)我們從計(jì)算機(jī)以及操作系統(tǒng)的角度來(lái)看看這樣可不可行。

新建一個(gè)文件試試

如果你現(xiàn)在在計(jì)算機(jī)旁邊可以進(jìn)行一個(gè)小實(shí)驗(yàn),以下以我的 Windows 10 機(jī)器為例。

新建一個(gè)文本文件,隨便寫(xiě)點(diǎn)什么東西,然后右鍵打開(kāi)屬性,你會(huì)看到:

這個(gè)文件大小本身只有 816 字節(jié),但卻占據(jù)了 4KB 的空間。讓我們?cè)偻@個(gè)文件里加些內(nèi)容,再看一下:

此時(shí)內(nèi)容的大小是 5.73KB,占據(jù)的空間卻來(lái)到了 8KB。這說(shuō)明什么呢?很簡(jiǎn)單,這說(shuō)明文件大小是按照塊來(lái)分配的,但這又能說(shuō)明什么問(wèn)題呢?

訪問(wèn)內(nèi)存與訪問(wèn)硬盤(pán)的區(qū)別

要知道內(nèi)存的尋址粒度是 byte 級(jí)別的,也就是說(shuō)每個(gè)字節(jié)都有它的內(nèi)存地址,CPU 可以直接通過(guò)這個(gè)地址獲取到相應(yīng)的內(nèi)容。

但對(duì)于 SSD 來(lái)說(shuō)就不是這樣了,從上面的實(shí)驗(yàn)也可以看到,其實(shí) SSD 是以塊的粒度來(lái)管理數(shù)據(jù)的,至于塊的大小各有差異,這不是重點(diǎn)。

這里的重點(diǎn)是:CPU 沒(méi)有辦法直接訪問(wèn)文件中某個(gè)特定的字節(jié)。

CPU 沒(méi)有辦法直接訪問(wèn)存儲(chǔ)在 SSD 上的任何數(shù)據(jù)。那么 CPU 是怎么訪問(wèn)文件內(nèi)容的呢?

文件系統(tǒng)來(lái)幫忙

一切皆文件這個(gè)概念想必大家都不陌生吧。在現(xiàn)代操作中,我們以文件的形式來(lái)使用 SSD,這繞不開(kāi)操作系統(tǒng)中的文件系統(tǒng)。

文件系統(tǒng)把 SSD 上的數(shù)據(jù)以文件的形式呈現(xiàn)出來(lái),程序直接操作文件,讀寫(xiě)文件時(shí)把請(qǐng)求發(fā)送給文件系統(tǒng),文件系統(tǒng)把請(qǐng)求路由給 SSD,SSD 處理完請(qǐng)求后數(shù)據(jù)會(huì)被 Copy 到相應(yīng)進(jìn)程的內(nèi)存中,此后程序直接操作內(nèi)存。

完整的過(guò)程以及文件系統(tǒng)的實(shí)現(xiàn)可以寫(xiě)成一本書(shū)的完整一章!

從這里我們可以看出,CPU 沒(méi)有辦法像訪問(wèn)內(nèi)存那樣直接按照字節(jié)粒度去 SSD 中尋址,CPU 訪問(wèn) SSD(磁盤(pán))通常需要借助文件系統(tǒng)。

當(dāng)然,我們也有辦法繞開(kāi)文件系統(tǒng),但 CPU 依然無(wú)法直接訪問(wèn) SSD(磁盤(pán))中的某個(gè)字節(jié)。

正是因?yàn)?CPU 無(wú)法直接按照字節(jié)粒度去訪問(wèn) SSD,因此 CPU 無(wú)法脫離內(nèi)存直接在 SSD 中運(yùn)行你寫(xiě)的程序。

操作系統(tǒng)在把 SSD 當(dāng)內(nèi)存用

當(dāng)然在這里還要插個(gè)題外話,盡管操作系統(tǒng)不能把 SSD 當(dāng)內(nèi)存來(lái)用,但實(shí)際上操作系統(tǒng)在間接把你的 SSD 當(dāng)內(nèi)存來(lái)用。

現(xiàn)代操作系統(tǒng)會(huì)自動(dòng)在空閑內(nèi)存中緩存 SSD(磁盤(pán))數(shù)據(jù)。

當(dāng)你首次讀取文件時(shí),這次讀請(qǐng)求的確需要經(jīng)過(guò)慢吞吞的 SSD(磁盤(pán))來(lái)處理,但此后這塊數(shù)據(jù)就被緩存在了內(nèi)存當(dāng)中,下次再訪問(wèn)這塊數(shù)據(jù)時(shí)就不用訪問(wèn) SSD(磁盤(pán))了。

而如果你寫(xiě)入數(shù)據(jù),一般來(lái)說(shuō)也是寫(xiě)到內(nèi)存,稍后會(huì)有一個(gè)任務(wù)把內(nèi)存中的數(shù)據(jù)寫(xiě)入磁盤(pán)。

因此從這里我們可以看出,現(xiàn)代操作系統(tǒng)基本上是在把 SSD 當(dāng)內(nèi)存來(lái)用,更不用提磁盤(pán)交換空間,是不是很聰明。

OK,這個(gè)題外話就到這里。讓我們回到原問(wèn)題來(lái)。

虛擬內(nèi)存

現(xiàn)代操作系統(tǒng)的內(nèi)存管理都采用虛擬內(nèi)存,這會(huì)帶來(lái)一個(gè)問(wèn)題。

對(duì)于 32 位操作系統(tǒng)來(lái)說(shuō),其最大尋址范圍只有 4G,也就是說(shuō)如果你把 SSD 當(dāng)做內(nèi)存,即使 SSD 有 1T,那么操作系統(tǒng)真正能用到的也只有 4G,剩下的就都浪費(fèi)掉了。

[[414262]]

因此,現(xiàn)代操作系統(tǒng)對(duì)內(nèi)存的管理方式也無(wú)法讓我們把 SSD 當(dāng)內(nèi)用,除非修改操作系統(tǒng)。

當(dāng)然,對(duì)于 64 位操作系統(tǒng)則不存在這個(gè)問(wèn)題,因?yàn)?64 位操作系統(tǒng)可尋址空間足夠大,盡管這個(gè)空間足夠可觀也需要意識(shí)到這是有上限的。

使用壽命

SSD 的制造原理決定了這類(lèi)存儲(chǔ)設(shè)備是有固定使用壽命的。

你會(huì)發(fā)現(xiàn) SSD 這貨就和車(chē)一樣,當(dāng)跑出一定里程后就會(huì)出問(wèn)題,在 SSD 中的里程數(shù)就是所謂的總寫(xiě)入字節(jié),TBW,全稱(chēng)是 Max Terabytes Written,最多能寫(xiě)多少 TB,以下是某種型號(hào)的 SSD 其 TBW 規(guī)格。

一般來(lái)說(shuō)普通的 SSD 其 TBW 在幾百 TB,也就是說(shuō)如果你的 SSD 寫(xiě)入上百 TB,那么很可能就要報(bào)廢了。

有的同學(xué)可能覺(jué)得這使用壽命也太短了吧,但實(shí)際上作為普通用戶(hù),你的電腦不會(huì)有那么頻繁的寫(xiě) SSD 場(chǎng)景,每天寫(xiě)磁盤(pán)的量應(yīng)該會(huì)很小,當(dāng)然頻繁下小電影除外,因此作為普通用戶(hù)你可以不用在意 SSD 的使用壽命問(wèn)題。

但就像剛才說(shuō)的,SSD 畢竟是有 TBW 這個(gè)限制的,內(nèi)存則沒(méi)有這個(gè)問(wèn)題。因此如果你把 SSD 當(dāng)內(nèi)存用的話,相信很快你的 SSD 就會(huì)被 CPU 寫(xiě)死。

展望未來(lái)

受限于當(dāng)代的存儲(chǔ)設(shè)備制造技術(shù),我們還沒(méi)有辦法直接把 SSD 當(dāng)做內(nèi)存來(lái)用,我們的各種軟件包括操作系統(tǒng)、文件系統(tǒng)以及各種硬件包括 CPU 等都沒(méi)有做好把 SSD 當(dāng)做內(nèi)存來(lái)用的準(zhǔn)備。

但隨著技術(shù)的進(jìn)步,這一點(diǎn)未來(lái)可能會(huì)有改觀。Intel 已經(jīng)發(fā)布了一種存儲(chǔ)設(shè)備,該設(shè)備就像 SSD,但同時(shí)又可以支持像內(nèi)存那樣隨機(jī)尋址。

也許在未來(lái)我們的內(nèi)存也可以像 SSD 那樣,即使斷電內(nèi)容也不會(huì)丟失,那樣的話你的電腦就沒(méi)有“關(guān)機(jī)”這種操作了,電腦加電后根本就沒(méi)有“啟動(dòng)”一說(shuō),是不是很有趣。

[[414263]]

如果內(nèi)存和磁盤(pán)一樣斷電后也不丟內(nèi)容,那么會(huì)帶來(lái)什么有趣的新功能呢?

總結(jié)

SSD 能否當(dāng)做內(nèi)存來(lái)用?這絕不是一個(gè)簡(jiǎn)單的問(wèn)題,這涉及到 CPU、操作系統(tǒng)、文件系統(tǒng)、存儲(chǔ)設(shè)備制造原理等方方面面的問(wèn)題,你需要對(duì)計(jì)算機(jī)系統(tǒng)有透徹的理解才能回答好這個(gè)問(wèn)題。

作者:碼農(nóng)的荒島求生

編輯:陶家龍

出處:轉(zhuǎn)載自公眾號(hào)碼農(nóng)的荒島求生(ID:escape-it)

 

 

責(zé)任編輯:武曉燕 來(lái)源: 碼農(nóng)的荒島求生
相關(guān)推薦

2021-07-19 09:27:42

SSD內(nèi)存Linux

2020-01-14 11:23:16

SSDOP磁盤(pán)

2024-10-30 09:42:43

固態(tài)硬盤(pán)SSD閃存

2012-12-18 11:55:38

2022-05-22 21:23:10

前端監(jiān)控系統(tǒng)

2016-05-26 12:11:00

Redis內(nèi)存開(kāi)源

2022-12-13 08:00:39

2023-12-08 08:40:16

類(lèi)函數(shù)

2023-09-14 13:23:42

Llama-2模型參數(shù)

2013-10-29 10:24:31

程序員漫畫(huà)

2021-08-10 09:58:59

ThreadLocal內(nèi)存泄漏

2020-04-14 16:03:31

Linux虛擬內(nèi)存操作系統(tǒng)

2023-10-30 08:51:09

平臺(tái)管理工程

2024-06-06 08:10:30

多線程Mapnull

2023-01-03 08:07:33

Go字符串指針

2009-12-04 13:31:21

PHP全局變量不能生效

2017-02-07 20:49:15

2018-06-04 15:17:10

編程語(yǔ)言中文編程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)