国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

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

系統 Linux
相信今天很多的軟件工程師使用的都是 Linux 或者 macOS 系統,與 Windows 不同,我們很難看到磁盤碎片整理這一概念,從個人的經驗來看,作者在過去七八年沒有在 macOS 中整理過磁盤的碎片,你在今天的磁盤工具中也找不到相關的操作,只能通過 diskutil 命令設置某一塊磁盤是否開啟或者關閉碎片整理。

[[396108]]

為什么這么設計(Why’s THE Design)是一系列關于計算機領域中程序設計決策的文章,我們在這個系列的每一篇文章中都會提出一個具體的問題并從不同的角度討論這種設計的優缺點、對具體實現造成的影響。

相信今天很多的軟件工程師使用的都是 Linux 或者 macOS 系統,與 Windows 不同,我們很難看到磁盤碎片整理這一概念,從個人的經驗來看,作者在過去七八年沒有在 macOS 中整理過磁盤的碎片,你在今天的磁盤工具中也找不到相關的操作,只能通過 diskutil 命令設置某一塊磁盤是否開啟或者關閉碎片整理。

圖 1 - macOS 磁盤工具

我們在 前一篇文章 中曾經分析過為什么早期 Windows 操作系統每隔一段時間可能需要整理磁盤上的碎片[^1],該問題背后有兩個原因,其一是 Windows 使用的 FAT 是很簡單的文件系統,該文件系統的設計決定了同一份文件可能會散落在磁盤的不同位置,其二是固態硬盤在上古時代沒有普及,機械硬盤的隨機讀寫性能很差。

  • Linux 和 macOS 系統不需要碎片整理的原因與 Windows 需要碎片整理的原因正好相反:
  • Linux 和 macOS 使用的文件系統或者降低了碎片發生的概率或者實現自動整理碎片的特性;

固態硬盤與機械硬盤具有不同的特性,碎片整理可能不僅對提高讀寫性能沒有顯著的幫助,還不利于硬件的使用壽命;

文件系統

Linux 一般都使用 Ext2、Ext3 和 Ext4 文件系統,今天的大多數 Linux 發行版都選擇了 Ext4。與 Windows 將多個文件連續存儲的方式不同,Linux 會把文件散落到磁盤的不同地方存儲,同時在文件之間留下一些空間,保證文件在修改或者更新時不會造成碎片。

圖 2 - Linux 文件系統[^2]

今天的 macOS 多數都使用 APFS 文件系統[^3],它是蘋果專門為固態硬盤等設備優化的文件系統。更早的 HFS 和 HFS+ 都是用了基于區塊(Extent)的設計,每個區塊都包含序號和一段連續的存儲空間,這種分配方式會在文件系統中查找幾個連續的區塊來提供所需的空間。

圖 3 - macOS 文件系統

無論是 Linux 還是 macOS,它們的文件系統都是基于區塊設計的,而磁盤的空間分配也相對比較合理,所以不會出現 Windows 系統上碎片化的磁盤。

除了文件系統在設計就避免了碎片的出現之外,Linux 和 macOS 也都是引入了延遲分配空間的策略,它們會通過緩沖區盡可能延遲磁盤寫入的時間,這樣不僅能夠降低刷盤的概率,還能增加文件寫入相鄰區塊的概率,然而這種機制并不是沒有副作用,在系統斷電或者崩潰時可能會丟失更多的數據。

如果磁盤上確實出現了碎片,那么 Linux 和 macOS 的文件系統也會嘗試移動出現碎片的文件,不需要額外的碎片整理工具,這種設計帶來的用戶體驗會比手動觸發耗時較長的碎片整理好很多。macOS 上的 HFS+ 系統還支持實時的去碎片化,當滿足以下條件時會觸發碎片整理[^4]:

  • 文件小于 20 MB;
  • 文件存儲在 8 個以上的區塊上;
  • 文件在過去一分鐘沒有被更新;
  • 系統已經啟動了三分鐘;

在多數情況下,這些操作系統中的磁盤碎片比例都非常低,只有在磁盤空間不足時才會開始出現碎片,所以在這時我們其實需要的是一個更大的磁盤或者更新的電腦,而不是整理磁盤上的碎片。

固態硬盤

固態硬盤其實已經是有著三十年歷史的存儲介質了,但是由于固態硬盤的價格在過去一直都十分昂貴,所以沒有在數據中心和個人電腦中普及開來。哪怕是在今天,機械磁盤的價格與固態硬盤相比也有比較明顯的優勢。

圖 4 - 固態硬盤和機械硬盤價格對比

新型的存儲介質帶來了全新的特性和性能,我們在前一篇文章中曾經介紹過,因為機械硬盤的機械結構,所以它的隨機 I/O 與順序的 I/O 性能可能相差幾百倍,碎片整理可以將散落在磁盤上的數據合并到一處,隨機 I/O 的次數減少自然也會提高讀寫文件的性能。

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

圖 5 - NAND 閃存的演進

作為電子元件的固態硬盤雖然有著較好的性能表現,但是固態硬盤都有循環擦寫的次數限制,也被稱作 P/E。它的壽命與機械硬盤相比卻比較有限。如果一個 512 GB 的固態硬盤的擦寫數目是 1000 次,每次寫滿數據都會消耗一次壽命,等擦寫次數達到 1000 次之后硬盤就會報廢,碎片整理其實就是主動移動硬盤上的數據,自然會影響硬件的壽命。

總結

在軟件工程中有一個非常有趣的現象,做硬件和基礎架構的工程師都在拼命優化系統的性能,然而應用層的工程師很多時候并不在乎性能上的微小差異,而這也是工作職責上的差異帶來的結果,不同的位置決定了不同的關注點。

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

  • 文件系統基于區塊分配的設計使得磁盤上出現碎片的概率很低,延遲分配和自動的整理策略解放了操作系統的使用者,在多數情況下不需要考慮磁盤的碎片化;
  • 固態硬盤的隨機讀寫性能遠遠好于機械硬盤,隨機讀寫和順序讀寫雖然也有性能差異,但是沒有機械硬盤的差異巨大,而頻繁的碎片整理也會影響固態硬盤的使用壽命;

到最后,我們還是來看一些比較開放的相關問題,有興趣的讀者可以仔細思考一下下面的問題,與前面的問題不同,作者會在后面的文章中解答這兩個問題:

  • 為什么固態硬盤的擦寫次數有上限?
  • 機械硬盤在哪些情況下更容易損壞?

如果對文章中的內容有疑問或者想要了解更多軟件工程上一些設計決策背后的原因,可以在博客下面留言,作者會及時回復本文相關的疑問并選擇其中合適的主題作為后續的內容。

參考資料

[^1]: 為什么早期的 Windows 需要整理碎片 https://draveness.me/whys-the-design-windows-defragmentation/

[^2]: Is there a tool to visualize a filesystem allocation map on Linux? https://unix.stackexchange.com/questions/30743/is-there-a-tool-to-visualize-a-filesystem-allocation-map-on-linux

[^3]: Wikipedia: Apple File System https://en.wikipedia.org/wiki/Apple_File_System

[^4]: HFS+ and File System Fragmentation https://developercoach.com/file-system-fragmentation/

本文轉載自微信公眾號「真沒什么邏輯」,可以通過以下二維碼關注。轉載本文請聯系真沒什么邏輯公眾號。

 

責任編輯:武曉燕 來源: 真沒什么邏輯
相關推薦

2021-07-06 11:10:22

LinuxmacOSWindows

2014-01-17 13:09:48

Linux碎片整理

2012-06-12 09:46:21

Linux碎片整理

2020-05-07 10:09:30

MAC地址網絡協議網絡

2019-07-15 08:00:00

AI人工智能

2021-05-07 15:18:26

比特幣禁令監管

2014-09-24 09:31:31

Dockersshd

2021-07-02 09:00:00

自動駕駛特斯拉技術

2022-06-02 16:04:02

DeFi金融比特幣

2024-09-19 13:00:26

悲觀鎖SQL樂觀鎖

2017-03-13 13:54:40

戴爾

2022-03-22 13:39:10

框架react面試

2017-09-19 15:40:23

Linuxsudo命令密碼

2015-07-29 09:42:09

工程師全棧工程師

2009-11-23 12:45:22

2012-08-23 09:50:07

測試測試人員軟件測試

2018-06-21 08:50:53

2018-06-22 10:18:02

2025-12-03 06:10:00

JavaPythonC++

2010-05-07 10:28:52

Linux系統
點贊
收藏

51CTO技術棧公眾號

欧美日韩女优| 美女视频免费一区| 欧美日韩一区在线| 国内外成人激情视频| 亚洲一级淫片| 久久手机免费视频| 一区二区三区视频在线观看视频| 久久久一区二区三区捆绑**| 久久亚洲国产精品日日av夜夜| 91国内精品| 亚洲精品成人久久电影| 日本中文字幕一区二区有码在线| 成人三级伦理片| 美乳视频一区二区| 三区四区不卡| 久久久久久91| 精品视频一区二区三区四区五区| 制服丝袜成人动漫| 男女网站在线观看| 亚洲自拍欧美精品| 国产精品乱码久久久久| 国产成人免费视频网站高清观看视频| 久久99精品久久久久久青青日本| 欧美综合在线视频观看| 欧美第一黄色网| 在线看片福利| 亚洲成人av中文字幕| se在线电影| 天天综合日日夜夜精品| 波多野结衣在线中文| 久久精品亚洲麻豆av一区二区| 中国一级黄色录像| 久久久999| 日本一区高清不卡| 久久久久.com| 日韩一区不卡| 性一交一乱一区二区洋洋av| 鬼打鬼之黄金道士1992林正英| 国产一区网站| 国产精品av在线| 欧美顶级毛片在线播放| 九九热在线精品视频| 青青国产精品| 欧美日本在线视频中文字字幕| 99久久久成人国产精品| 久久好看免费视频| 国产精品一区二区精品| 欧美精品福利视频| 人人网欧美视频| 国产成人一区二区三区小说| 久9久9色综合| 成人黄色av播放免费| 91成人看片| 精品久久中出| 日韩成人一级片| 中文字幕在线中文| 91社区在线播放| 日韩av片网站| 亚洲成国产人片在线观看| 你懂的在线观看| 日韩欧美一区二区久久婷婷| 欲香欲色天天天综合和网| 久久精品福利视频| 老牛精品亚洲成av人片| 欧洲s码亚洲m码精品一区| 欧美3p视频| 欧美日韩在线一二三| 精品无人码麻豆乱码1区2区| 国产91在线视频观看| 亚洲欧美日韩在线不卡| 日本天堂影院在线视频| 日韩视频一区二区在线观看| 美女日韩欧美| 国内偷自视频区视频综合| 久久国产精品成人免费观看的软件| 成人在线观看网址| 韩国毛片一区二区三区| 久久婷婷国产91天堂综合精品| 亚洲综合清纯丝袜自拍| h片在线观看网站| 自拍视频国产精品| 国产精品美女久久久久久不卡 | 国产成人精品123区免费视频| 中文字幕成人一区| 欧美二区三区的天堂| 99久久精品费精品国产| 韩国黄色一级大片| 欧美在线免费观看视频| 国产一区二区三区视频在线| 国产 日韩 欧美在线| 成人性生交大片免费看96| 欧美三级三级三级爽爽爽| 国产精品xnxxcom| 鲁片一区二区三区| 91中文精品字幕在线视频| 欧美在线短视频| 久久综合婷婷| 中文字幕午夜精品一区二区三区| 欧美18一12sex性处hd| 制服丝袜亚洲网站| 蜜桃av一区二区| 日韩在线伦理| 性一爱一乱一交一视频| 亚洲韩国日本中文字幕| 精品一二三四区| 日韩午夜电影网| 亚洲性视频在线| 超碰免费在线| 久在线观看视频| 艳色歌舞团一区二区三区| 精品国产三级电影在线观看| 国产亚洲欧美中文| 国产主播一区二区三区| 午夜激情在线观看| 欧美精品久久久久a| 中文字幕欧美日本乱码一线二线| 国产精品粉嫩| 亚洲一区精品视频| 精品欧美黑人一区二区三区| 麻豆精品在线看| 日韩免费在线电影| 四季久久免费一区二区三区四区| 成人免费毛片播放| 国产精品一久久香蕉国产线看观看| 精品日本高清在线播放| 欧美aaaaaa午夜精品| 欧美电影《睫毛膏》| 日本免费久久| 欧美成人性网| 久草一本av| 午夜午夜精品一区二区三区文| 色综合久久88| 日韩成人小视频| 亚洲国产日韩一级| 久久久精品tv| 免费亚洲一区| 石原莉奈在线亚洲三区| 先锋影音久久久| 精品国产影院| 日韩不卡在线| 中文字幕在线播放网址| 麻豆mv在线观看| 精品噜噜噜噜久久久久久久久试看| 国产伦理久久久久久妇女| 欧美亚洲视频一区| 91精品国产综合久久婷婷香蕉| 欧美顶级大胆免费视频| 欧美成人福利在线观看| 日韩视频在线观看免费| 国产尤物一区二区在线| 爱啪啪综合导航| 一本色道婷婷久久欧美| 精品福利视频一区二区三区| 视频一区视频二区中文字幕| 蜜芽在线免费观看| 久久综合九色欧美狠狠| 欧美一区二区三区视频在线| 国产精品va| 久香视频在线观看| 91在线精品播放| 色网站国产精品| 欧美韩日精品| 天堂地址在线www| 久久国产精品精品国产色婷婷| 欧美三级电影网| 久久九九国产| 国产剧情在线观看| 蜜桃精品久久久久久久免费影院| 欧美精品在线一区二区| 视频精品一区二区| 日本h片在线观看| 免费成人深夜夜行网站视频| 亚洲精品一区二区网址| 国产一区二区影院| 精品国模一区二区三区欧美| 色琪琪原网站亚洲香蕉| 日韩免费不卡av| 91国模大尺度私拍在线视频| 久久一二三四| 欧美日韩伦理一区二区| 无码精品国产一区二区三区免费| 久久免费国产视频| 色婷婷久久久综合中文字幕 | 免费看成人哺乳视频网站| 午夜免费看视频| 国产精品视频白浆免费视频| 婷婷开心激情综合| 国内精品久久久久久久97牛牛| 看黄网站在线观看| 日本xxxxx18| 2020国产精品视频| 精品国产成人在线| 免费国产自线拍一欧美视频| 丁香花在线影院| 日韩视频第二页| 国产精品一区二区三| 精品区一区二区| 国产拍揄自揄精品视频麻豆| 999精品在线| 校园春色亚洲|