共計 1130 個字符,預(yù)計需要花費(fèi) 3 分鐘才能閱讀完成。
本文丸趣 TV 小編為大家詳細(xì)介紹“l(fā)inux 中 buffer 和 cache 的區(qū)別有哪些”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“l(fā)inux 中 buffer 和 cache 的區(qū)別有哪些”文章能幫助大家解決疑惑,下面跟著丸趣 TV 小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
區(qū)別:1、buffer 指的是緩沖區(qū),而 cache 指的是緩存區(qū);2、Buffer 用來加快數(shù)據(jù)“寫入”硬盤的速度,而 cache 用來加快數(shù)據(jù)從硬盤中“讀取”的速度;3、buffer 可減少進(jìn)程間通信需要等待的時間,Cache 可減少 CPU 等待的時間。
本教程操作環(huán)境:linux5.9.8 系統(tǒng)、Dell G3 電腦。
linux 中的 buffer(緩沖區(qū))
Buffer:緩沖區(qū),用于存儲速度不同步的設(shè)備或優(yōu)先級不同的設(shè)備之間傳輸數(shù)據(jù);通過 buffer 可以減少進(jìn)程間通信需要等待的時間,當(dāng)存儲速度快的設(shè)備與存儲速度慢的設(shè)備進(jìn)行通信時,存儲慢的數(shù)據(jù)先把數(shù)據(jù)存放到 buffer,達(dá)到一定程度存儲快的設(shè)備再讀取 buffer 的數(shù)據(jù),在此期間存儲快的設(shè)備 CPU 可以干其他的事情。
Buffer:一般是用在寫入磁盤的,例如:某個進(jìn)程要求多個字段被讀入,當(dāng)所有要求的字段被讀入之前已經(jīng)讀入的字段會先放到 buffer 中。
linux 中的 cache(緩存區(qū))
Cache:緩存區(qū),是高速緩存,是位于 CPU 和主內(nèi)存之間的容量較小但速度很快的存儲器,因為 CPU 的速度遠(yuǎn)遠(yuǎn)高于主內(nèi)存的速度,CPU 從內(nèi)存中讀取數(shù)據(jù)需等待很長的時間,而 Cache 保存著 CPU 剛用過的數(shù)據(jù)或循環(huán)使用的部分?jǐn)?shù)據(jù),這時從 Cache 中讀取數(shù)據(jù)會更快,減少了 CPU 等待的時間,提高了系統(tǒng)的性能。
Cache 并不是緩存文件的,而是緩存塊的 (塊是 I / O 讀寫最小的單元);Cache 一般會用在 I / O 請求上,如果多個進(jìn)程要訪問某個文件,可以把此文件讀入 Cache 中,這樣下一個進(jìn)程獲取 CPU 控制權(quán)并訪問此文件直接從 Cache 讀取,提高系統(tǒng)性能。
緩沖(buffer)和緩存(cache)的區(qū)別:
緩存(cache)是在讀取硬盤中的數(shù)據(jù)時,把最常用的數(shù)據(jù)保存在內(nèi)存的緩存區(qū)中,再次讀取該數(shù)據(jù)時,就不去硬盤中讀取了,而在緩存中讀取。
緩沖(buffer)是在向硬盤寫入數(shù)據(jù)時,先把數(shù)據(jù)放入緩沖區(qū), 然后再一起向硬盤寫入,把分散的寫操作集中進(jìn)行,減少磁盤碎片和硬盤的反復(fù)尋道,從而提高系統(tǒng)性能。
簡單來說,緩存(cache)是用來加速數(shù)據(jù)從硬盤中 讀取 的,而緩沖(buffer)是用來加速數(shù)據(jù) 寫入 硬盤的。
讀到這里,這篇“l(fā)inux 中 buffer 和 cache 的區(qū)別有哪些”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道。