0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

系統(tǒng)碎片是什么?是怎么產(chǎn)生的?為什么會產(chǎn)生?

Wildesbeast ? 來源:悟空問答 ? 作者:雅帆電子 ? 2020-01-21 11:14 ? 次閱讀

系統(tǒng)碎片存儲器是系統(tǒng)頻繁地刪除文件再寫入文件造成的。理論上,只要刪除文件再寫入就有碎片,重復(fù)的越多,碎片越多。原因如下(為了說明清楚,雅帆用幾個步驟作圖示意),值得注意的是,碎片是對于機(jī)械硬盤來說的,對于固態(tài)硬盤則沒有影響。

一、空白盤,第一次寫文件

因為是空白盤,所有的空白空間都是連續(xù)的,所以寫入兩個文件后,效果是這樣的。

圖中表示了綠色文件和黃色兩種文件,由于是空白盤第一次書寫,這兩個文件是相鄰的且是連續(xù)的。

二、刪除綠色文件

刪除綠色文件后,原來綠色的扇區(qū)變成空白,表示沒有被占用,可以被再次書寫。

三、寫入第三個文件

當(dāng)寫入的文件比刪除的大時,紅色文件會分開存放,這樣磁盤在寫或讀這個文件時,磁頭就要大幅度移動,影響速度。

當(dāng)寫的文件比刪除的小時,會留有粉色空白,早晚也會產(chǎn)生碎片。

以上就是碎片產(chǎn)生的原理,是文件系統(tǒng)造成的,目前沒有辦法解決,存在也沒什么意義,只會拖讀寫速度。

至于為什么會存在軟件刪了,但是并不是所謂完全刪除的問題,原理如下:

這是文件系統(tǒng)的機(jī)制造成的,我們的硬盤不是以字節(jié)為單位管理的,而是以扇區(qū)為單位,一個扇區(qū)可以有很多字節(jié),常見的有4096字節(jié)等,如下圖所示:

每個扇區(qū)用一個字節(jié)管理,等于FF了表示文件結(jié)束。等于00了表示當(dāng)前扇區(qū)可以被讀寫,其它值時,表示與當(dāng)前值所在扇區(qū)級聯(lián)。

畫圖表示為:

可見,當(dāng)我們刪除一個文件時,其實是在引導(dǎo)記錄里作標(biāo)記。實際的文件內(nèi)容并沒有刪除。還是可以找回來的,當(dāng)然,如果刪除后又寫了文件,并且正好占用了釋放的空間,那么文件就找不回來了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7438

    瀏覽量

    163529
  • 固態(tài)硬盤
    +關(guān)注

    關(guān)注

    12

    文章

    1444

    瀏覽量

    57225
  • 機(jī)械硬盤
    +關(guān)注

    關(guān)注

    1

    文章

    221

    瀏覽量

    25354
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式系統(tǒng)中內(nèi)存碎片產(chǎn)生過程說明

    在嵌入式系統(tǒng)中,內(nèi)存是十分有限而且是十分珍貴的,用一塊內(nèi)存就少了一塊內(nèi)存,而在分配中隨著內(nèi)存不斷被分配和釋放,整個系統(tǒng)內(nèi)存區(qū)域產(chǎn)生越來越多的碎片
    發(fā)表于 09-21 12:22 ?574次閱讀
    嵌入式<b class='flag-5'>系統(tǒng)</b>中內(nèi)存<b class='flag-5'>碎片</b><b class='flag-5'>產(chǎn)生</b>過程說明

    FreeRTOS系統(tǒng)使用xTaskCreate產(chǎn)生的任務(wù)與osThreadDef 產(chǎn)生的線程有什么不同?

    請教下是要 FreeRTOS系統(tǒng), 使用 xTaskCreate 產(chǎn)生的任務(wù) 與 osThreadDef產(chǎn)生的線程有什么不同?
    發(fā)表于 04-29 07:20

    【電腦日常維護(hù)教程】6個磁盤碎片整理技巧

    整理程序時系統(tǒng)自動屏蔽掉屏幕保護(hù),運行完成后自動恢復(fù)。4. 改變交換文件的位置 我們知道,如果大量碎片存在于C盤之中,可能影響系統(tǒng)的啟動
    發(fā)表于 05-18 16:12

    請問mymalloc產(chǎn)生內(nèi)存碎片嗎?

    malloc申請內(nèi)存在釋放后,產(chǎn)生內(nèi)存碎片,所以UCOSIII內(nèi)有專門的內(nèi)存申請。原子哥視頻(UCOSIII視頻19講)最后的時候說可以用原子哥自己的mamalloc函數(shù)來申請內(nèi)存。我想問,難道原子哥的mymalloc不會
    發(fā)表于 10-16 04:35

    鴻蒙系統(tǒng)對手機(jī)市場產(chǎn)生怎樣的影響?

    了,二者占據(jù)的市場份額高達(dá)到99%以上。雖然我們都知道,現(xiàn)在的華為手機(jī)已經(jīng)在國際上的影響很大,占有率達(dá)23%,僅次于三星,但是這些都是基于安卓系統(tǒng)而言的。如果華為在手機(jī)上搭載自己的鴻蒙系統(tǒng),能否與安卓、蘋果“三分天下”,對未來的手機(jī)市場
    發(fā)表于 09-14 09:20

    什么是ORE中斷?為什么產(chǎn)生

    )。接下來是錯誤產(chǎn)生原因以及解決方法。 (1)什么是ORE中斷?為什么產(chǎn)生? 產(chǎn)生原因如上所述。ORE標(biāo)志位在USART_SR寄存器,但值得注意的是,當(dāng)我們打開串口接收中斷時,同時也
    發(fā)表于 08-13 07:08

    什么產(chǎn)生HardFault_Handler

    STM32關(guān)于我遇到的HardFault_Handler的處理前言關(guān)于HardFault_Handler為什么產(chǎn)生HardFault_Handler出現(xiàn)HardFault_Handler怎么辦我
    發(fā)表于 08-24 07:59

    如何避免內(nèi)存碎片產(chǎn)生

    內(nèi)存碎片產(chǎn)生(從內(nèi)部碎片和外部碎片方面講述)編程題:第一題:解析頭文件,簡單來說就是大寫字母小寫之母通過一些特定的規(guī)則進(jìn)行轉(zhuǎn)換,具體題目要求忘了…(AC)#include #incl
    發(fā)表于 12-21 07:50

    長線纜為什么產(chǎn)生靜電危害,如何進(jìn)行規(guī)避

    ,還有一種情況容易被忽略,那就是長線纜的電荷積聚。長線纜為什么產(chǎn)生靜電危害,在哪些場景下產(chǎn)生靜電危害,以及如何進(jìn)行規(guī)避,這些將是本文要重點介紹的內(nèi)容。 除非特別說明,下文中的線纜都
    的頭像 發(fā)表于 12-22 17:59 ?5771次閱讀

    風(fēng)機(jī)光伏發(fā)電為什么產(chǎn)生諧波

    風(fēng)機(jī)光伏發(fā)電是可再生能源發(fā)電方式。然而,盡管其具有許多優(yōu)點,卻也存在一些技術(shù)難題,其中之一就是諧波產(chǎn)生的問題。本文將深入探討風(fēng)機(jī)光伏發(fā)電為什么產(chǎn)生諧波的原因。
    的頭像 發(fā)表于 07-19 14:35 ?2923次閱讀

    常見的PLC系統(tǒng)BUG有哪些?如何減少BUG的產(chǎn)生呢?

    PLC系統(tǒng)可能遇到各種不同類型的BUG,以下是一些常見的PLC系統(tǒng)BUG以及如何減少這些BUG的產(chǎn)生的建議
    的頭像 發(fā)表于 10-31 11:29 ?839次閱讀

    內(nèi)存泄漏產(chǎn)生哪些后果

    ,只釋放了p1,沒有釋放p2,產(chǎn)生了內(nèi)存泄漏。 內(nèi)存泄漏產(chǎn)生哪些后果? 隨著程序運行時間越來越久,內(nèi)存有分配沒有釋放,會使得進(jìn)程堆中的內(nèi)存越來越
    的頭像 發(fā)表于 11-10 15:06 ?753次閱讀
    內(nèi)存泄漏<b class='flag-5'>會</b><b class='flag-5'>產(chǎn)生</b>哪些后果

    在電路中,為什么非線性負(fù)載產(chǎn)生諧波?非線性負(fù)載產(chǎn)生諧波的原因

    在電路中,為什么非線性負(fù)載產(chǎn)生諧波?非線性負(fù)載產(chǎn)生諧波的原因? 非線性負(fù)載是指在電路中非線性元件工作時產(chǎn)生的信號失真現(xiàn)象。信號失真是指輸入信號與輸出信號之間存在不一致的現(xiàn)象。諧波則是
    的頭像 發(fā)表于 11-17 11:22 ?1716次閱讀

    電力系統(tǒng)諧波的產(chǎn)生與危害

    電力系統(tǒng)諧波的產(chǎn)生與危害? 隨著電力系統(tǒng)的發(fā)展和智能化程度的提高,諧波問題逐漸受到人們的重視。電力系統(tǒng)產(chǎn)生的諧波波形雖然不是正弦波,但是其
    的頭像 發(fā)表于 12-11 16:44 ?1094次閱讀

    電力系統(tǒng)為什么產(chǎn)生諧振,怎么處理?

    ,電路的總阻抗最小,電流最大,可能導(dǎo)致設(shè)備過載。 2、并聯(lián)諧振 :當(dāng)電感和電容并聯(lián),并且它們的阻抗相等時,也產(chǎn)生諧振。在這種情況下,總阻抗最大,可能會引起電壓升高,損壞設(shè)備。 諧振通常發(fā)生在電力
    的頭像 發(fā)表于 07-25 14:15 ?1402次閱讀
    電力<b class='flag-5'>系統(tǒng)</b>為什么<b class='flag-5'>會</b><b class='flag-5'>產(chǎn)生</b>諧振,怎么處理?