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

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

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

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

[[414255]]

圖片來自 Pexels

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

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

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

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

速度差異

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

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

[[414257]]

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

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

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

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

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

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

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

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

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

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

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

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

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

文件系統(tǒng)把 SSD 上的數(shù)據(jù)以文件的形式呈現(xiàn)出來,程序直接操作文件,讀寫文件時(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)存。

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

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

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

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

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

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

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

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

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

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

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

虛擬內(nèi)存

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

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

[[414262]]

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

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

使用壽命

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

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

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

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

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

展望未來

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

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

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

[[414263]]

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

總結(jié)

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

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

編輯:陶家龍

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

 

 

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

2021-07-19 09:27:42

SSD內(nèi)存Linux

2020-01-14 11:23:16

SSDOP磁盤

2024-10-30 09:42:43

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

2022-05-22 21:23:10

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

2012-12-18 11:55:38

2016-05-26 12:11:00

Redis內(nèi)存開源

2022-12-13 08:00:39

2023-12-08 08:40:16

函數(shù)

2013-10-29 10:24:31

程序員漫畫

2023-09-14 13:23:42

Llama-2模型參數(shù)

2021-08-10 09:58:59

ThreadLocal內(nèi)存泄漏

2020-04-14 16:03:31

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

2019-12-02 15:48:13

SSD容量閃存

2011-05-05 17:57:18

軟件開發(fā)

2024-06-06 08:10:30

多線程Mapnull

2018-06-04 15:17:10

編程語言中文編程

2021-07-09 06:00:45

網(wǎng)絡(luò)釣魚培訓(xùn)數(shù)據(jù)泄露

2009-12-04 13:31:21

PHP全局變量不能生效

2017-02-07 20:49:15

點(diǎn)贊
收藏

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