本文为你讲解为什么 Windows 需要碎片整理,而 macOS 和 Linux 就不需要碎片整理的原因。在 Windows 系统中,传统(HDD)磁盘驱动器(非 SSD)通常使用一段时间都需要进行磁盘碎片整理。而且时间间隔越久,碎片整理过程可能需要执行的时间也就越长。但在 macOS 或 Linux 系统中,用户却根本不用担心磁盘碎片,甚至系统中都没提供磁盘碎片整理的相关功能。为什么会这样呢?下面将为你解释产生这个现象的原因。

一、Windows操作系统为什么需要碎片整理

首先要说的是,用户无需对(SSD)固态磁盘进行碎片整理,我们在这里讨论的是传统(HDD)机械硬盘。

现代硬盘速度更快,计算机一般也拥有更大内存,而 Windows 也默认使用 NTFS 文件系统,这些变化都减少了对 HDD 进行碎片整理的需求。所以即便在 Windows 系统中,磁盘碎片整理也不像过去那么重要了。而 Windows Vista、7、8 和 10 都会在自动维护期间对机械磁盘执行碎片整理,所以也无需用户去手动执行了。

什么是磁盘碎片:简而言之,当您从硬盘驱动器中删除文件时,文件所占用的空间将被标记为可用(而非直接安全抹除)。用户删除的文件越多,在磁盘上就会产生越多分散的可用空间。当 Windows 操作系统将新文件写入磁盘时(或文件大小增加时),该文件就可能会被分割成多个部分,分散写入到磁盘上的一个个可用空间当中,这样就会造成文件存储的碎片化。

macOS 和 Linux 系统处理文件存储的方式有点不同,会试图将文件分散到磁盘不同位置进行存储,这样可以为文件的增长和创建新文件留下一些空闲空间。而且一但出现碎片化迹象,操作系统会自动尝试移动文件内容,根本无需用户进行干预。

Windows 工作方式就不一样了,在 FAT 和 FAT32 等旧文件系统上,并没有针对文件碎片化的内置保护能力,所以才需要定期对磁盘进行碎片整理。而目前的 Windows 系统在大多数驱动器上都默认使用 NTFS 文件系统,且已经具备了一些内置的防碎片保护能力(为文件增长留下了一些缓冲空间),但却不十分完美。

磁盘碎片整理其实就是尝试通过将分散存储在磁盘中的部分进行集中整理,从而提升文件的读/写性能。虽然整理是一个缓慢而烦人的过程,但对提升系统运行和文件读写性能还是十分有帮助的。整理过程一般不会很明显地影响用户使用,特别是升级到 Windows 10 后,系统自身就会在后台自动为您进行碎片整理。

二、Mac操作系统为什么不需要碎片整理

简单回答就是:由于 macOS 使用与 Windows 完全不同的文件系统,原生就屏蔽掉了这个问题;而且现在几乎所有 Mac 设备出厂都配置 SSD 磁盘,所以也不需要进行碎片整理。

取决于 macOS 对文件的存储方式,即便使用 HDD 外接硬盘或旧款 Mac 设备,也不存在碎片整理的问题。Mac 所使用的 HFS 和 APFS 文件系统,都支持名为热文件自适应簇和动态碎片整理的处理过程,可以自动处理碎片化的文件,根本无需用户干预。说白了,就是从文件系统底层和操作系统调度上就将文件碎片化的问题给屏蔽掉了。

当用户在 macOS 中存储文件时,首先它会自动在磁盘上为该文件留出一定的增长空间,而不是将下一个文件直接打包到它(磁盘)旁边;此外,当您打开某个文件时,macOS 还可以检测该文件是否位于错误的位置并自动将其移动到正确的位置。将这两个机制结合运用,味着用户几乎不需要对磁盘进行碎片整理。事实上,苹果也根本没在系统中提供磁盘整理工具。

三、Linux操作系统为什么不需要碎片整理

Linux 下的文件系统目前多数使用 ext4,它是 Ubuntu 和目前大多数 Linux 发行版所采用的文件系统,ext4 以一种更加智能的方式来放置文件。Linux 的文件系统会将文件分散在整个磁盘,在文件之间留有大量的自由空间,而不是像 Windows 那样将文件一个接一个的放置。当一个文件被编辑了并且变大了,一般都会有足够的自由空间来保存文件。如果碎片真的产生了,文件系统就会尝试在日常使用中将文件移动来减少碎片,所以不需要专门的碎片整理程序。同时 Linux 下的其他文件系统没有整理碎片的必要,只需要记住这一个原因:Linux 原本就是基于多用户同时使用的目的而开发的,硬盘的读取频率肯定要比 Windows 的高。

Linux 的这个将文件分散存放策略保证不因为碎片而降低读写速度,但是并不是说 Linux 的文件系统没有碎片,碎片是有的,但是非常的少,少到没有必要来整理,所以一般来说,Linux 的文件系统的碎片率很低,低到不影响硬盘的读写速度。频繁地使用碎片整理工具,不但不会加快读写速度,反而会减少硬盘的寿命。

如果你用的是 Linux 系统,那就彻底不要整理硬盘,否则只会影响硬盘的寿命,而不会增加多少性能。当然,如果你追求更高的运行性能偶尔处理一下碎片整理也未尝不可。

相关主题

linux手机内存碎片整理软件,讲解macOS和Linux不用碎片整理的原因,而Windows需要碎片整理...相关推荐

  1. Linux手机DIY.移植软件专题.Qt/Qte的编译环境

    Linux手机DIY.移植软件专题.Qt/Qte的编译环境 草木瓜  于 2006-11-15 一.序 一个偶然的想法,把在夏新E600出现Segmentation Fault的QT程序放在 Moto ...

  2. linux手机内存碎片整理软件,Linux不需要磁盘碎片整理

    Linux不需要磁盘碎片整理 发布时间:2007-08-14 00:05:36来源:红联作者:Number 有段linux官方资料主要介绍了外部碎片(external fragmentation).内 ...

  3. 免费邮件服务器软件 linux,U-Mail for linux 64-bit 邮件服务器软件下载|U-Mail for linux 64-bit 邮件服务器软件官方下载-太平洋下载中心...

    U-Mail for linux 64-bit 邮件服务器软件是网络工具频道下深受用户喜爱的软件,太平洋下载中心提供U-Mail for linux 64-bit 邮件服务器软件官方下载. U-Mai ...

  4. 联想linux笔记本电脑有哪些软件,联想终于出Linux笔记本了!真的很赞

    Fedora Project的负责人Matthew Miller今天在推特上宣布,联想出售的第一款(预装了Fedora Linux的)笔记本电脑现已上市销售,即ThinkPad X1 Carbon G ...

  5. linux手机内存碎片整理软件,手机怎么整理内存里的存储碎片?

    通过这篇经验,与大家分享一下如何在手机上直接对手机的存储进行碎片整理,而不是通过接入电脑中进行碎片整理,希望以下的操作能够为大家带来帮助,谢谢. 软件名称:鲁大师TV版 for android v5. ...

  6. linux手机投屏软件,无线投屏器如此多,到底哪一种才合适企业用?

    原标题:无线投屏器如此多,到底哪一种才合适企业用? 无线投屏器如此多,到底哪一种才合适企业用? 关于无线投屏器哪个比较好,这个只能说根据用户的需求不同从而"尺有所短寸有所长",各有 ...

  7. linux怎么安装输入法软件下载,百度输入法linux版下载

          百度输入法linux版是一款由百度推出的专用于linux的汉字输入工具,百度输入法linux版功能强悍,为用户提供了拼音与五笔两种中文输入方式,百度输入法linux版软件的拼音输入支持全拼 ...

  8. linux系统硬盘数据恢复软件下载,R-Linux|R-Linux(linux数据恢复软件)下载 v5.1中文免费版 - 121下载站...

    R-Linux是一款界面简洁实用的linux分区数据恢复工具,这款工具需要运行于windows平台,然后选择linux的相关分区就可以扫描恢复了,支持Ext2.Ext3.Ext4 FS文等文件系统,可 ...

  9. 深度linux怎么运行windos软件,(转自深度技术)让Ubuntu也能运行Windows程序-Wine的安装与使用...

    花了这么多心血才搞好的,我觉得此贴已经具备了置顶的素质,望版主把此贴置顶,让更多的人能来学习Linux,用好Linux.转载请注明出处. 安好了ubuntu,摆弄了几天,基本上手了,已经爱上了Linu ...

最新文章

  1. mysql dml ddldcl权限_MySQL中的DML、DDL、DCL到底是什么呢?
  2. 因脉脉上的匿名消息,拼多多员工被开除了!
  3. jquery.autocomplete修改 实现键盘上下键 自动填充
  4. Oracle基础知识-Oracle不同的启动关闭方式
  5. java 的简单代码_java初学 简单代码
  6. springmvc 结合ajax批量新增
  7. curl在android服务器上编译,Android curl的上载编译和使用
  8. Oracle Parallel Execution(并行执行)
  9. Mac安装masscan【亲测有用】
  10. atitit。获取表格的字段注释metadata的原理以及AND 字段表格描述文档方案
  11. 自组网中继台_家庭组网无线漫游方案--Mesh 组网
  12. NSPointerArray的用处
  13. 北京科技大学计算机控制大作业,北京科技大学计算机控制系统实验报告
  14. 日志分析里面的max是什么_mysql慢日志文件分析处理
  15. JDBC连接池DBUtils使用
  16. 【开发模板】Vue和SpringBoot的前后端分离开发模板
  17. Detecting Causality in Complex Ecosystems(检测复杂生态系统中的因果关系)
  18. 小米,山寨杀手,国货的希望
  19. android线程作用,Android线程介绍
  20. android距离感应器控制黑屏,白屏

热门文章

  1. TS2550: Property ‘entries‘ does not exist on type ‘ObjectConstructor‘.
  2. 河北奥体中心成石家庄新地标 三伏天办冰雪活动
  3. Stripes tip
  4. 手推多分类precision(精确率)、recall(召回率)、F1分数
  5. 1.1微处理器与微型计算机的发展概述
  6. Windows系统bat批处理脚本实现暂停时间延迟方法
  7. 最新最全的免费股票数据接口--沪深A股历史指标数据API接口(二)
  8. java 布尔逻辑运算符_布尔逻辑运算符有哪些
  9. L298N驱动4个电机驱动小车
  10. 数据结构---克鲁斯卡尔(Kruskal)算法