磁碟重整與否 - Windows

Yuri avatar
By Yuri
at 2009-07-20T21:31

Table of Contents

※ [本文轉錄自 Linux 看板]

作者: operationcow (香蕉公車) 看板: Linux
標題: [問題] Linux 磁碟重整與否
時間: Sun Jul 19 13:22:02 2009

在請教問題之前, 先提供幾個網頁:

http://linux.vbird.org/linux_basic/0230filesystem.php

http://en.wikipedia.org/wiki/Defragmentation

http://0rz.tw/UFo9P

http://phorum.study-area.org/index.php?action=printpage;topic=10368.0

在鳥哥裡面提到, 由於 Ext2 是索引式檔案系統,基本上不太需要

常常進行磁碟重組的。

在 Tanenbaum 的 << Modern Operating Systems, 2e >> 裡面提到

Linux 一開始的 file system 是使用 Minix 的 file system

而現今在使用的 ex2 file system 可以說是 Minix file system 的衍生

, 但本質上也都是使有 inode(index node) 作為管理, 即鳥哥所說的

"索引式檔案系統" (index file system)

http://en.wikipedia.org/wiki/Inode

相對於"索引式檔案系統"的應該是"鏈節式檔案系統"(linked list allocation)

, 最著名的應該是 FAT(file allocation table), 但實際上應為 linked list

allocation using an index

http://en.wikipedia.org/wiki/File_Allocation_Table

現在問題來了:

inode 的原理是需要開啟檔案時, 將目的檔案的 inode 從硬碟載入, 藉以知

道檔案本身的內容是存在硬碟的哪個 block, 因為開一個檔案需要從 root 不斷的

往目的檔案所在的資料夾讀取, 所以可能需要很多次的硬碟讀取

為此使用了 caching (詳細情形可參考 J.Bath 的 <<The Design

of The Unix Operating System>>) 來加速。

而 FAT 則是把整個 FAT 都放在記憶體中, 因此不需要額外的硬碟讀取便可找

到目標檔案位於哪些 block(只要開機掛載時讀取)

總結以上, 我們可以發現 FAT 其實沒有磁碟重整的必要, 因為它整個 FAT 都在

記憶體裡面,相對的將 inode 的目錄與子目錄所在的 block 重整, 或許還可以加速

-----------------------------------------------------------------------

而事實上, 兩種 file system 其實都可能會造成檔案在硬碟中不連續配置(這是為

了排除 fragmentation 採用了 block 的方式所造成的後遺症), 因此對於硬碟一次

可以讀取大量 block 的特性,其實是很不利的。

總結這部份, 如果為了支援 block 一次可以讀取大量 block 的特性, 兩種 file

system 都應該要進行磁碟重組

那為甚麼網路上大家都說 windows 的 file system 要磁碟重組,而 Linux 的不大

需要呢??

感謝大家的回答 <(__)>

--
Tags: Windows

All Comments

Barb Cronin avatar
By Barb Cronin
at 2009-07-24T23:41
問你一個問題:磁碟重組主要是要重組什麼?是檔案配置表還是
Zora avatar
By Zora
at 2009-07-29T19:37
實際資料所佔區塊?又何者所佔用磁碟空間較大,影響讀取時間
Una avatar
By Una
at 2009-07-31T19:05
較巨?
Quanna avatar
By Quanna
at 2009-08-03T18:43
實際資料所佔區塊
Charlie avatar
By Charlie
at 2009-08-06T08:17
所以應該兩個都要磁碟重組不是嗎?
Vanessa avatar
By Vanessa
at 2009-08-07T09:29
不過我記得 Tanenbaum 有一篇 paper 提到檔案大小大
Gary avatar
By Gary
at 2009-08-09T11:55
概是 1K(1 個 block), 這樣來看的話說不定 Linux 用
Valerie avatar
By Valerie
at 2009-08-12T16:53
inode 的方式反倒比較需要磁碟讀取, 這樣應該是 FAT
比較吃香, inode 可以用 caching 和 磁碟重整 inode
來獲得加速
Anthony avatar
By Anthony
at 2009-08-12T22:04
補充一下,上面提到的 paper 是 Mullender and
Tanenbaum 在 1984 提出的, 對象是 Unix, 現在看可能
Robert avatar
By Robert
at 2009-08-16T03:44
有一點不合時宜, 剛剛打開我的資料夾,檔案多是幾十 k
Sandy avatar
By Sandy
at 2009-08-19T09:43
到幾百 k, 不過如果從文章中的分析, 應該是兩個都需
要磁碟重整??
Frederic avatar
By Frederic
at 2009-08-24T02:49
我覺得應該是第一個耶...所佔區塊 應該是指容量大小吧..
等版主來解答^^
Edith avatar
By Edith
at 2009-08-28T00:35
整個"檔案配置表"不可能比整個"資料所佔區塊"來的大
Genevieve avatar
By Genevieve
at 2009-08-31T23:35
這樣使用太沒效率了
Kama avatar
By Kama
at 2009-09-01T09:23
以一個20GB大的硬碟來說, 1kB/block, 大概是使用80MB
的記憶體作為 FAT
Margaret avatar
By Margaret
at 2009-09-06T03:47
其實主要的差別是在寫入資料時所用的演算法,FAT 的做法比較
Kristin avatar
By Kristin
at 2009-09-10T11:08
偏向「見洞就鑽」型,它是挑第一個找到可以放得下資料的位置
Ida avatar
By Ida
at 2009-09-11T10:38
來用,但該位置不見得與檔案中其他資料的位置接近;ex2/ex3
Wallis avatar
By Wallis
at 2009-09-11T15:03
則會選擇儘量讓同一檔案的資料區塊放在附近,所以相較之下,
Jack avatar
By Jack
at 2009-09-13T12:50
ext2/ext3 就比較不會有 fragmentation 的問題。
Linda avatar
By Linda
at 2009-09-17T11:20
所以版主的意思是說鳥哥及某些文章所說的, 索引式檔
Belly avatar
By Belly
at 2009-09-19T04:09
案系統比較不需要磁碟重組是錯的, 問題是出在寫入資
料的演算法??
Ophelia avatar
By Ophelia
at 2009-09-23T01:37
另外就是採用 block 使得資料在 physical view 產生
不連續的現象似乎不叫 fragmentation??
Lucy avatar
By Lucy
at 2009-09-27T08:48
fragmentation 該是分 internal 和 external, 而
internal 應該是跟 block 的大小與檔案的大小有關,
Tom avatar
By Tom
at 2009-10-02T08:44
external 在 block 的機制下應該是避掉了
Anonymous avatar
By Anonymous
at 2009-10-05T22:36
抱歉, 修正一下上面所說, 這種採用 block 而資料不連
續的現象應該算是 data fragmentation
Sierra Rose avatar
By Sierra Rose
at 2009-10-09T09:06
http://0rz.tw/JYz6C
Rachel avatar
By Rachel
at 2009-10-13T19:51
不過針對寫入資料的演算法那部份, 我提出質疑
因為在最原始的 Linux/Minix file system, 是採用
Lauren avatar
By Lauren
at 2009-10-15T00:30
zone 的方式來使得資料存在硬碟的同一個 cylinder
Wallis avatar
By Wallis
at 2009-10-16T18:50
可是在 http://0rz.tw/jzG8y An Improvement for
Faithe avatar
By Faithe
at 2009-10-20T11:53
MINIX File System:Design and Implementation 這篇
Zanna avatar
By Zanna
at 2009-10-24T08:40
文章中提到, there is no implied relationship
between logical sector addresses and the actual
physical location of the data sector
Annie avatar
By Annie
at 2009-10-27T06:47
因為都被 drive controller 給最佳化/隱藏掉了
Hedda avatar
By Hedda
at 2009-10-30T15:23
因此不是想寫哪邊就寫哪邊, 不太可能是因為寫入演算
Edwina avatar
By Edwina
at 2009-10-31T01:18
法的不同造成磁碟重組與否 @@
Lucy avatar
By Lucy
at 2009-11-03T14:58
寫入資料的演算法也是屬於檔案系統實作的一部分,我的說法跟
Jacky avatar
By Jacky
at 2009-11-06T06:12
他們的講法並沒有衝突。
Ivy avatar
By Ivy
at 2009-11-10T01:38
針對你的質疑,我先聲明實際底層的運作我也不懂。不過,它會
Candice avatar
By Candice
at 2009-11-12T10:59
對 ext2/ext3 造成的影響也一樣會對 FAT 造成影響吧。而且,
Caitlin avatar
By Caitlin
at 2009-11-13T02:08
雖然它說 logical 和 physical 之間沒有絕對的關係,但也許有
Bennie avatar
By Bennie
at 2009-11-16T04:05
其他辦法能達到某種程度上的相對關係之類的,我指的是相鄰
Elizabeth avatar
By Elizabeth
at 2009-11-17T06:16
logical 位置與相鄰 physical 位置間的關係。
Ursula avatar
By Ursula
at 2009-11-20T21:46
Modern Linux filesystem(s) keep fragmentation at a
minimum by keeping all blocks in a file close together,
Jack avatar
By Jack
at 2009-11-22T14:56
even if they can't be stored in consecutive sectors.
Eartha avatar
By Eartha
at 2009-11-27T06:32
這是一個很有趣的問題 我也想知道多一些
Bennie avatar
By Bennie
at 2009-11-30T14:35
我上星期也在跟學弟討論,為什麼ext4裡會有online defrag.
James avatar
By James
at 2009-12-04T02:22
因為不管怎麼好的檔案系統,久了還是難免會有 fragmentation
Jack avatar
By Jack
at 2009-12-08T00:47
的問題,所以 ext4 才會加入 online defrag,我上面引的那篇
文章中有說。
Rosalind avatar
By Rosalind
at 2009-12-12T07:28
有意思

VISTA系統還原(主機板換過)

Carolina Franco avatar
By Carolina Franco
at 2009-07-20T18:06
最近想要把電腦系統還原 系統是VISTA 現在的問題是 在中間曾經換過主機板 那當時存起來的系統備份片還能夠使用嗎? 另外請問 還原是只還原C槽嗎? 謝謝 - ...

請問如何安裝兩個作業系統?

Eden avatar
By Eden
at 2009-07-20T17:51
C、D 糟裝 XP, E、F 糟裝 WIN7, 重點來了, 因 Win7(RC) 全部都是英文, 小弟殺謀(英文不認識我), 請問 Windows 高級打手要如何選項呀? 就是裝在別的糟哦! 就是說讓 WIN 7 如何指定安裝我要的糟? 謝謝! 成功者讓小弟 kbss 啾咪 ^. ...

Windows XP 設定過程的背景音樂

Margaret avatar
By Margaret
at 2009-07-20T16:51
就是系統安裝時設定過程的那段音樂 通常這要xp預設抓的到你的音效晶片才有機會聽的到 位置在 windows\system32\oobe\images\title.wma 跟9x系列的安裝音效比起來...這比較有誠意多了= = - ...

買windows升級版問題?

Barb Cronin avatar
By Barb Cronin
at 2009-07-20T16:20
我從友站那邊看到有人打電話去問微軟客服詢問現在買vista升級win 7 到時候微軟是寄給你升級版 那我不就是要先灌好Vista再灌win 7嗎? 這樣說來以後不是重灌就很麻煩,一定重灌後要做好Ghost 不然到時出Win 7 SP1 or SP2,那我豈不是要從Vista-andgt;Win 7-a ...

新增移除程式出現c++

Enid avatar
By Enid
at 2009-07-20T15:51
不曉得什麼時候下載安裝的,剛剛發現有visual c++ 2008/9.0的存在 請問一般人是不是用不到它? 刪除對電腦有沒有影響呢?謝謝。 - ...