成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么Linux和macOS不需要碎片整理?

系統(tǒng) Linux
我們?cè)谶@個(gè)系列的每一篇文章中都會(huì)提出一個(gè)具體的問(wèn)題并從不同的角度討論這種設(shè)計(jì)的優(yōu)缺點(diǎn)、對(duì)具體實(shí)現(xiàn)造成的影響。

     為什么這么設(shè)計(jì)(Why’s THE Design)是一系列關(guān)于計(jì)算機(jī)領(lǐng)域中程序設(shè)計(jì)決策的文章,我們?cè)谶@個(gè)系列的每一篇文章中都會(huì)提出一個(gè)具體的問(wèn)題并從不同的角度討論這種設(shè)計(jì)的優(yōu)缺點(diǎn)、對(duì)具體實(shí)現(xiàn)造成的影響。

相信今天很多的軟件工程師使用的都是 Linux 或者 macOS 系統(tǒng),與 Windows 不同,我們很難看到磁盤(pán)碎片整理這一概念,從個(gè)人的經(jīng)驗(yàn)來(lái)看,作者在過(guò)去七八年沒(méi)有在 macOS 中整理過(guò)磁盤(pán)的碎片,你在今天的磁盤(pán)工具中也找不到相關(guān)的操作,只能通過(guò) diskutil 命令設(shè)置某一塊磁盤(pán)是否開(kāi)啟或者關(guān)閉碎片整理。

圖 1 - macOS 磁盤(pán)工具

我們?cè)?前一篇文章 中曾經(jīng)分析過(guò)為什么早期 Windows 操作系統(tǒng)每隔一段時(shí)間可能需要整理磁盤(pán)上的碎片[^1],該問(wèn)題背后有兩個(gè)原因,其一是 Windows 使用的 FAT 是很簡(jiǎn)單的文件系統(tǒng),該文件系統(tǒng)的設(shè)計(jì)決定了同一份文件可能會(huì)散落在磁盤(pán)的不同位置,其二是固態(tài)硬盤(pán)在上古時(shí)代沒(méi)有普及,機(jī)械硬盤(pán)的隨機(jī)讀寫(xiě)性能很差。

Linux 和 macOS 系統(tǒng)不需要碎片整理的原因與 Windows 需要碎片整理的原因正好相反:

  •   Linux 和 macOS 使用的文件系統(tǒng)或者降低了碎片發(fā)生的概率或者實(shí)現(xiàn)自動(dòng)整理碎片的特性;
  •   固態(tài)硬盤(pán)與機(jī)械硬盤(pán)具有不同的特性,碎片整理可能不僅對(duì)提高讀寫(xiě)性能沒(méi)有顯著的幫助,還不利于硬件的使用壽命;

文件系統(tǒng)

Linux 一般都使用 Ext2、Ext3 和 Ext4 文件系統(tǒng),今天的大多數(shù) Linux 發(fā)行版都選擇了 Ext4。與 Windows 將多個(gè)文件連續(xù)存儲(chǔ)的方式不同,Linux 會(huì)把文件散落到磁盤(pán)的不同地方存儲(chǔ),同時(shí)在文件之間留下一些空間,保證文件在修改或者更新時(shí)不會(huì)造成碎片。

圖 2 - Linux 文件系統(tǒng)[^2]

今天的 macOS 多數(shù)都使用 APFS 文件系統(tǒng)[^3],它是蘋(píng)果專(zhuān)門(mén)為固態(tài)硬盤(pán)等設(shè)備優(yōu)化的文件系統(tǒng)。更早的 HFS 和 HFS+ 都是用了基于區(qū)塊(Extent)的設(shè)計(jì),每個(gè)區(qū)塊都包含序號(hào)和一段連續(xù)的存儲(chǔ)空間,這種分配方式會(huì)在文件系統(tǒng)中查找?guī)讉€(gè)連續(xù)的區(qū)塊來(lái)提供所需的空間。

圖 3 - macOS 文件系統(tǒng)

無(wú)論是 Linux 還是 macOS,它們的文件系統(tǒng)都是基于區(qū)塊設(shè)計(jì)的,而磁盤(pán)的空間分配也相對(duì)比較合理,所以不會(huì)出現(xiàn) Windows 系統(tǒng)上碎片化的磁盤(pán)。

除了文件系統(tǒng)在設(shè)計(jì)就避免了碎片的出現(xiàn)之外,Linux 和 macOS 也都是引入了延遲分配空間的策略,它們會(huì)通過(guò)緩沖區(qū)盡可能延遲磁盤(pán)寫(xiě)入的時(shí)間,這樣不僅能夠降低刷盤(pán)的概率,還能增加文件寫(xiě)入相鄰區(qū)塊的概率,然而這種機(jī)制并不是沒(méi)有副作用,在系統(tǒng)斷電或者崩潰時(shí)可能會(huì)丟失更多的數(shù)據(jù)。

如果磁盤(pán)上確實(shí)出現(xiàn)了碎片,那么 Linux 和 macOS 的文件系統(tǒng)也會(huì)嘗試移動(dòng)出現(xiàn)碎片的文件,不需要額外的碎片整理工具,這種設(shè)計(jì)帶來(lái)的用戶(hù)體驗(yàn)會(huì)比手動(dòng)觸發(fā)耗時(shí)較長(zhǎng)的碎片整理好很多。macOS 上的 HFS+ 系統(tǒng)還支持實(shí)時(shí)的去碎片化,當(dāng)滿(mǎn)足以下條件時(shí)會(huì)觸發(fā)碎片整理[^4]:

  •  文件小于 20 MB;
  •  文件存儲(chǔ)在 8 個(gè)以上的區(qū)塊上;
  •  文件在過(guò)去一分鐘沒(méi)有被更新;
  •  系統(tǒng)已經(jīng)啟動(dòng)了三分鐘;

在多數(shù)情況下,這些操作系統(tǒng)中的磁盤(pán)碎片比例都非常低,只有在磁盤(pán)空間不足時(shí)才會(huì)開(kāi)始出現(xiàn)碎片,所以在這時(shí)我們其實(shí)需要的是一個(gè)更大的磁盤(pán)或者更新的電腦,而不是整理磁盤(pán)上的碎片。

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

固態(tài)硬盤(pán)其實(shí)已經(jīng)是有著三十年歷史的存儲(chǔ)介質(zhì)了,但是由于固態(tài)硬盤(pán)的價(jià)格在過(guò)去一直都十分昂貴,所以沒(méi)有在數(shù)據(jù)中心和個(gè)人電腦中普及開(kāi)來(lái)。哪怕是在今天,機(jī)械磁盤(pán)的價(jià)格與固態(tài)硬盤(pán)相比也有比較明顯的優(yōu)勢(shì)。

圖 4 - 固態(tài)硬盤(pán)和機(jī)械硬盤(pán)價(jià)格對(duì)比

新型的存儲(chǔ)介質(zhì)帶來(lái)了全新的特性和性能,我們?cè)谇耙黄恼轮性?jīng)介紹過(guò),因?yàn)闄C(jī)械硬盤(pán)的機(jī)械結(jié)構(gòu),所以它的隨機(jī) I/O 與順序的 I/O 性能可能相差幾百倍,碎片整理可以將散落在磁盤(pán)上的數(shù)據(jù)合并到一處,隨機(jī) I/O 的次數(shù)減少自然也會(huì)提高讀寫(xiě)文件的性能。

固態(tài)硬盤(pán)的順序 I/O 和隨機(jī) I/O 在性能上雖然也有差異,但是差距可能在十幾倍到幾十倍之間,而固態(tài)硬盤(pán)的隨機(jī) I/O 延遲也比機(jī)械磁盤(pán)好幾十倍甚至上千倍,到現(xiàn)在來(lái)看整理固態(tài)硬盤(pán)上的碎片雖然有收益,但是也比較有限。

圖 5 - NAND 閃存的演進(jìn)

作為電子元件的固態(tài)硬盤(pán)雖然有著較好的性能表現(xiàn),但是固態(tài)硬盤(pán)都有循環(huán)擦寫(xiě)的次數(shù)限制,也被稱(chēng)作 P/E。它的壽命與機(jī)械硬盤(pán)相比卻比較有限。如果一個(gè) 512 GB 的固態(tài)硬盤(pán)的擦寫(xiě)數(shù)目是 1000 次,每次寫(xiě)滿(mǎn)數(shù)據(jù)都會(huì)消耗一次壽命,等擦寫(xiě)次數(shù)達(dá)到 1000 次之后硬盤(pán)就會(huì)報(bào)廢,碎片整理其實(shí)就是主動(dòng)移動(dòng)硬盤(pán)上的數(shù)據(jù),自然會(huì)影響硬件的壽命。

總結(jié)

在軟件工程中有一個(gè)非常有趣的現(xiàn)象,做硬件和基礎(chǔ)架構(gòu)的工程師都在拼命優(yōu)化系統(tǒng)的性能,然而應(yīng)用層的工程師很多時(shí)候并不在乎性能上的微小差異,而這也是工作職責(zé)上的差異帶來(lái)的結(jié)果,不同的位置決定了不同的關(guān)注點(diǎn)。

硬件的演進(jìn)和革新深深地影響著上層軟件的設(shè)計(jì),想要設(shè)計(jì)出通用的系統(tǒng)是異常困難的,在設(shè)計(jì)文件系統(tǒng)時(shí)如果不考慮底層硬件的特性,也就無(wú)法充分利用硬件提供的性能并得到期望的結(jié)果。這里簡(jiǎn)單總結(jié)一下 Linux 和 macOS 不需要碎片整理的兩個(gè)原因:

  •  文件系統(tǒng)基于區(qū)塊分配的設(shè)計(jì)使得磁盤(pán)上出現(xiàn)碎片的概率很低,延遲分配和自動(dòng)的整理策略解放了操作系統(tǒng)的使用者,在多數(shù)情況下不需要考慮磁盤(pán)的碎片化;
  •  固態(tài)硬盤(pán)的隨機(jī)讀寫(xiě)性能遠(yuǎn)遠(yuǎn)好于機(jī)械硬盤(pán),隨機(jī)讀寫(xiě)和順序讀寫(xiě)雖然也有性能差異,但是沒(méi)有機(jī)械硬盤(pán)的差異巨大,而頻繁的碎片整理也會(huì)影響固態(tài)硬盤(pán)的使用壽命;

 

 

責(zé)任編輯:龐桂玉 來(lái)源: Linux學(xué)習(xí)
相關(guān)推薦

2021-04-27 08:52:55

Linux MacOS碎片

2014-01-17 13:09:48

Linux碎片整理

2012-06-12 09:46:21

Linux碎片整理

2021-05-07 15:18:26

比特幣禁令監(jiān)管

2019-07-15 08:00:00

AI人工智能

2020-05-07 10:09:30

MAC地址網(wǎng)絡(luò)協(xié)議網(wǎng)絡(luò)

2014-09-24 09:31:31

Dockersshd

2021-07-02 09:00:00

自動(dòng)駕駛特斯拉技術(shù)

2022-06-02 16:04:02

DeFi金融比特幣

2024-09-19 13:00:26

悲觀鎖SQL樂(lè)觀鎖

2017-03-13 13:54:40

戴爾

2017-09-19 15:40:23

Linuxsudo命令密碼

2015-07-29 09:42:09

工程師全棧工程師

2022-03-22 13:39:10

框架react面試

2012-08-23 09:50:07

測(cè)試測(cè)試人員軟件測(cè)試

2009-11-23 12:45:22

2018-06-22 10:18:02

2018-06-21 08:50:53

2010-05-07 10:28:52

Linux系統(tǒng)

2019-02-25 08:57:22

5G6G網(wǎng)絡(luò)
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 综合色久 | 99综合 | 国产精品永久久久久久久www | 午夜视频免费在线观看 | 欧美日韩不卡合集视频 | 午夜视频在线视频 | 欧美午夜一区 | 欧美日韩一区二区视频在线观看 | 国产一区二区三区 | 久久久精品综合 | 99久久精品免费看国产高清 | 日韩在线成人 | 欧美黄色网络 | 成人av网站在线观看 | 狠狠草视频 | www.xxxx欧美 | 亚洲国产高清高潮精品美女 | 亚洲国产成人精品久久久国产成人一区 | 久久99国产精品 | 欧美精品一区二区三区四区 | 久久久久亚洲精品 | 日韩一区二区在线播放 | 最新av中文字幕 | 永久精品 | 久久亚洲国产精品日日av夜夜 | 在线国产一区 | 激情综合五月天 | 武道仙尊动漫在线观看 | 久久精品一区二区视频 | 久久国产精品视频 | 久久亚洲欧美日韩精品专区 | 精品日韩 | 91精品国产综合久久久久久蜜臀 | 亚洲一区二区三区四区五区午夜 | 久久久国产精品网站 | 免费在线日韩 | 久久久综合精品 | 91麻豆精品国产91久久久更新资源速度超快 | 国产高清精品一区二区三区 | 久久久久久亚洲 | 美女黄色在线观看 |