wen asked in 電腦與網際網路軟體 · 2 decades ago

請說明內部碎片與外部碎片 有何不同 , 那一種可以完全被消除

請說明internal fragmentation(內部碎片) 與 external fragmentation(外部碎片)有何不同 , 那一種可以完全被消除? 感激不盡^^"

2 Answers

Rating
  • 2 decades ago
    Favorite Answer

    以下是網路上找的資料,希望對你有幫助

    磁碟破碎

    磁碟碎裂? 碎掉還能用嗎?磁碟重組? 磁碟好好的為什要重組?

    希望這篇文章能讓您對磁碟有所認識。

    一般較專門的書籍, 會提到 External & Internal Fragmentation

    ◆ External Fragmentation (外部碎裂)

    由於檔案會不斷讀寫, 可用的磁碟空間會被劃分為許多小區域. (跑磁碟重組程式時應該看的很清楚?)

    雖然擁有足夠的總合磁碟空間, 但檔案就放不下了. 比如說,要放置 100KB 的檔案,

    剩餘空間為 70KB, 80KB 的不連續區間, 雖然總共有150KB, 但實際上放不下去,

    這些空間就造成了浪費, 稱做外部碎裂. 浪費的程度,視磁碟容量大小, 檔案平均大小,

    配置演算法 (Best Fit, First Fit...) 而定.一般來說, 分配 N 個區間將會遺失其它的 0.5N;

    也就是說, 平均有 1/3 的空間會浪費掉, 這就是所謂的 50-Percent Rule. 可怕!?

    (這種方法大概只會在舊式電腦的軟碟上出現)

    不過... 這只有在檔案系統採 連續配置 (Contiguous Allocation) 才會發生.

    DOS, Win95 所用的 FAT 是 鏈結配置 (Linked Allocation), WinNT 所用的NTFS 是 索引配置

    (Index Allocation) 都不會發生. 鏈結或是索引配置將磁碟分割為許多的基本單位.

    比如說, 10KB 為一單位. 放置100KB 的檔案, 就分為十等份分別放置. 至於要怎麼放,

    怎麼連結分散的檔案,不同檔案系統有不同的做法, 在此暫時打住. 由於不需要連續配置,

    就不會有塞不下去浪費掉的情況發生.大問題解決了, 小問題又跑出來了.

    ◆ Internal Fragmentation (內部碎裂)

    剛剛提到, 將磁碟分割為許多的基本單位. 如果有個 38KB 的檔案, 會佔掉多少

    空間? 答案是 40KB. 10+10+10+8 為什麼是 40? 最後那 8KB 塞入 10KB 的區間後,

    雖然剩下 2KB 的空間但無法再利用了.(檔案資料結構設計使然) 平均每配置一個檔案,

    會浪費 5KB (10/2, 機率使然) 的空間. 基本單位越小, 所浪費的空間也就越少.

    常聽人說 FAT16 浪費空間道理何在? FAT16 的 16 代表它使用 16 個 bit來表示基本單位.

    也就是只能有 2^16=65536 個. 一個 128MB 的小分割區, 一個單位就是 128MB/65536=2KB.

    一個 2GB 的大分割區呢? 一個單位 2048MB/65536=32KB, 浪費空間爆增!

    所以說, 基本單位越小越好?... 那也未必.

    ◆ 所謂的 Fragmentation (磁碟碎裂)

    越小的基本單位代表越 "多" 的基本單位. 存取一個檔案要花更多次數(時間)搜尋.再者,

    檔案分的越細, 散佈在磁碟上就越雜亂, 這就是一般所謂的 磁碟碎裂.畫個圖看看...

    相同的數字代表相同的檔案

    | 1 | 2 | 3 | 2 | 3 | 2 | <= 大的基本單位

    |1|2|3|1|2|3|2|2|3|2|2|3| <= 小的基本單位

    誰的碎裂嚴重? 誰存取會辛苦些? 凡事有利有弊...

    基本單位越小, 空間利用率越好 = 磁碟碎裂越嚴重, 存取效率降低

    ◆ Defragmentation (磁碟重組)

    磁碟碎裂在磁碟不斷存取後越形嚴重. FAT 的磁碟重組方式大致上有幾種做法:

    1.把所有檔案往前壓緊(Compact), 空出最大的可用空間, 稍後配置時較容易連續.

    2.重組所有檔案, 比如說 |1|2|1|2|2|1| => |1|1|1|2|2|2|, 減少搜尋時間.

    3.常用的檔案擺在前頭, 常變動的檔案放在後頭.

    Win95 內附的磁碟重組只能做到 1, Norton Utility 的 Speedisk 還考慮到 2, 3.

    這就是為什麼用諾頓工具重組比Windows的重組程式完整。

    ◆ FAT16, FAT32, NTFS 的 Fragmentation

    以上講的是基本的特性, 真正檔案系統的實作還有許多效能上的改良.

    拿 Win95 的 FAT (VFAT) 來說, 在配置檔案時會先尋找到至少 0.5MB 的連續空間才配置,

    如此多少降低了碎裂的程度. FAT32 的單位遠較 FAT16 小, 空間的利用率的確好很多,

    但另一方面就是存取效能的下降. (理論上一定比 FAT16 慢)NTFS 的基本單位

    (0.5KB-4KB) 比 FAT32 (0.5KB-32KB) 更小, 磁碟空間的利用率一定比較好?

    那也未必. NTFS 的 MFT (Master File Table, 相對於 FAT 的 FAT,File Allocation Table,

    記錄檔案資訊的列表.) 遠比 FAT 大. (NTFS 的保密性,可回復性其來有自.)

    若在小磁碟上(<512MB), "浪費" 掉的空間足以抵掉內部碎裂小的優勢而有餘.

    NTFS 在大容量磁碟上才能說是利用率較佳.NTFS 的基本單位小, 磁碟碎裂一定比 FAT 嚴重?

    那也未必. NTFS 是 索引配置,盡量將檔案配置在附近減少碎裂. 細節我並不清楚,

    也許是像 BSD 的 磁柱群(Cylinder Group) 觀念. 檔案傾向配置在連續磁柱上,

    使得存取時磁頭移動距離最小. 只有在常擴充檔案, 或是剩下的可用空間太小時,

    磁碟碎裂較容易發生.

    Edited by fujiapple.

  • Anonymous
    6 years ago

    我提供免費電腦問題諮詢:02-29405818

    我只要是~電腦維修~電腦重灌~電腦問題~修電腦~重灌win7~xp重灌~都是找他們

    他們到府服務非常方便!!

    希望能幫到你

    可以跟他們聯絡看看

    評價很高...你可以試試看!!^^

    電話:02-29405818

    或者加LINE~直接線上詢問也可以!

    ID:gmepc168

    希望能幫到你

    Yahoo服務加網址

    http://tw.serviceplus.yahoo.com/booth/seller/Y0193...

Still have questions? Get your answers by asking now.