0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

系统碎片是什么?是怎么产生的?为什么会产生?

Wildesbeast 来源:悟空问答 作者:雅帆电子 2020-01-21 11:14 次阅读

系统碎片存储器是系统频繁地删除文件再写入文件造成的。理论上,只要删除文件再写入就有碎片,重复的越多,碎片越多。原因如下(为了说明清楚,雅帆用几个步骤作图示意),值得注意的是,碎片是对于机械硬盘来说的,对于固态硬盘则没有影响。

一、空白盘,第一次写文件

因为是空白盘,所有的空白空间都是连续的,所以写入两个文件后,效果是这样的。

图中表示了绿色文件和黄色两种文件,由于是空白盘第一次书写,这两个文件是相邻的且是连续的。

二、删除绿色文件

删除绿色文件后,原来绿色的扇区变成空白,表示没有被占用,可以被再次书写。

三、写入第三个文件

当写入的文件比删除的大时,红色文件会分开存放,这样磁盘在写或读这个文件时,磁头就要大幅度移动,影响速度。

当写的文件比删除的小时,会留有粉色空白,早晚也会产生碎片。

以上就是碎片产生的原理,是文件系统造成的,目前没有办法解决,存在也没什么意义,只会拖读写速度。

至于为什么会存在软件删了,但是并不是所谓完全删除的问题,原理如下:

这是文件系统的机制造成的,我们的硬盘不是以字节为单位管理的,而是以扇区为单位,一个扇区可以有很多字节,常见的有4096字节等,如下图所示:

每个扇区用一个字节管理,等于FF了表示文件结束。等于00了表示当前扇区可以被读写,其它值时,表示与当前值所在扇区级联。

画图表示为:

可见,当我们删除一个文件时,其实是在引导记录里作标记。实际的文件内容并没有删除。还是可以找回来的,当然,如果删除后又写了文件,并且正好占用了释放的空间,那么文件就找不回来了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7120

    浏览量

    161927
  • 固态硬盘
    +关注

    关注

    11

    文章

    1351

    浏览量

    56482
  • 机械硬盘
    +关注

    关注

    1

    文章

    208

    浏览量

    25177
收藏 人收藏

    评论

    相关推荐

    嵌入式系统中内存碎片产生过程说明

    在嵌入式系统中,内存是十分有限而且是十分珍贵的,用一块内存就少了一块内存,而在分配中随着内存不断被分配和释放,整个系统内存区域会产生越来越多的碎片
    发表于 09-21 12:22 267次阅读
    嵌入式<b class='flag-5'>系统</b>中内存<b class='flag-5'>碎片</b><b class='flag-5'>产生</b>过程说明

    【电脑日常维护教程】6个磁盘碎片整理技巧

    整理程序时系统自动屏蔽掉屏幕保护,运行完成后自动恢复。4. 改变交换文件的位置 我们知道,如果大量碎片存在于C盘之中,可能影响系统的启动
    发表于 05-18 16:12

    什么是极近场EMI扫描技术?产生什么影响?

    严重的后果。  汽车电子系统对于供应商提供的芯片和印制电路板的电磁辐射特别敏感。因此,SAE(原汽车工程师协会)已经定义测试规范并建立满足电磁兼容(EMC)和电磁干扰(EMI)的需求,并对其进行了不断的完善。那么什么是极近场EMI扫描技术?
    发表于 08-06 08:22

    嵌入式系统EMC的产生原理是什么?

    嵌入式系统EMC(Electro Magnetic Compatibility)即嵌入式系统电磁兼容性,指嵌入式系统在复杂电磁环境中抵抗其他系统
    发表于 08-20 08:08

    请问mymalloc产生内存碎片吗?

    malloc申请内存在释放后,产生内存碎片,所以UCOSIII内有专门的内存申请。原子哥视频(UCOSIII视频19讲)最后的时候说可以用原子哥自己的mamalloc函数来申请内存。我想问,难道原子哥的mymalloc不会
    发表于 10-16 04:35

    为什么MHC产生重复的端口配置代码

    MHC 2.05——为什么MHC产生重复的端口配置代码,我能做些什么呢?附上照片。
    发表于 03-26 08:49

    鸿蒙系统对手机市场产生怎样的影响?

    了,二者占据的市场份额高达到99%以上。虽然我们都知道,现在的华为手机已经在国际上的影响很大,占有率达23%,仅次于三星,但是这些都是基于安卓系统而言的。如果华为在手机上搭载自己的鸿蒙系统,能否与安卓、苹果“三分天下”,对未来的手机市场
    发表于 09-14 09:20

    电源产生EMI的根源是什么?怎么解决?

    的严重问题:即EMI,通常简称为噪声。电源产生EMI,必须加以解决,那么问题的根源是什么?通常有何缓解措施?本文介绍减少EMI的策略,提出了一种解决方案,能够减少EMI、保持效率,并将电源放入有限的解决方案空间中。
    发表于 03-07 06:51

    什么是ORE中断?为什么产生

    )。接下来是错误产生原因以及解决方法。 (1)什么是ORE中断?为什么产生产生原因如上所述。ORE标志位在USART_SR寄存器,但值得注意的是,当我们打开串口接收中断时,同时也
    发表于 08-13 07:08

    什么产生HardFault_Handler

    STM32关于我遇到的HardFault_Handler的处理前言关于HardFault_Handler为什么产生HardFault_Handler出现HardFault_Handler怎么办我
    发表于 08-24 07:59

    如何避免内存碎片产生

    内存碎片产生(从内部碎片和外部碎片方面讲述)编程题:第一题:解析头文件,简单来说就是大写字母小写之母通过一些特定的规则进行转换,具体题目要求忘了…(AC)#include #incl
    发表于 12-21 07:50

    放大电路什么时候产生轻微振荡?

    放大电路什么时候产生轻微振荡?产生轻微振荡的原理是什么?为什么没有自激振荡变成稳定的正弦波?
    发表于 04-26 15:10

    使用AD7606产生尖峰信号的原因?

    在使用AD7606的时候,以1.5kHz的采样频率,以字节并行模式,读取频率为50Hz的正弦信号,发现在过零点附近,产生尖峰信号。经过调试,发现是最高位,也即符号位读错了,所以导致了尖峰的存在。请问有人遇到过这样的问题吗?
    发表于 12-11 08:03

    如何解决音频系统产生的噪声?

    音频系统在独立使用时一切OK,一旦接入视频系统或笔记本电脑后,突然产生非常明显的噪声!插拔插头甚至产生火花。
    的头像 发表于 03-02 07:44 6330次阅读

    电力系统谐波的产生与危害

    电力系统谐波的产生与危害  随着电力系统的发展和智能化程度的提高,谐波问题逐渐受到人们的重视。电力系统产生的谐波波形虽然不是正弦波,但是其
    的头像 发表于 12-11 16:44 426次阅读