查看單個文章
舊 2006-07-26, 05:26 AM   #3 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

Windows Longhorn的WinFS檔案系統:更快速與更聰明
WinFS注定要取代FAT和NTFS

大約20年前,Microsoft(微軟)廣泛使用DOS 2.0作業系統,所能掌控的硬碟大小最高只有16 MB。但是,當時使用個人電腦的人仍屬少數,而就現在看起來很荒繆可笑的記憶體限制,在當時也不成問題,因為「大型儲存裝置」的價格跟一台彩色電視一樣昂貴。在80和90年代,最糟糕的就是DOS作業系統所浪費的記憶體數量,而這些記憶體都所費不貲。即使是第一版的Windows也沒有辦法完全利用磁碟中所有的實體記憶體。

那是25年前的恐怖光景,但是經過許多電腦世代,這個問題已經改變。研發人員不再需要掙扎於硬碟容量的限制,取而代之的是,他們必須著手去管理位於儲存裝置中的巨大資料,而實際上儲存裝置已經沒有大小的限制了。在FAT系統的設計上,從來就沒有要去處理200 GB的磁碟機內數百MB的資料。

這種進退兩難的情形促使微軟在下個世代的Windows作業系統上採取行動。因此Win FS(視窗未來儲存系統)檔案系統將會在Longhorn,也就是XP的接班人中佔有一席之地。這是第一次,一項伺服器技術將會經由關聯資料庫來管理位於家用電腦上的資料。這篇文章將會追溯它的發展,並揭開這個未來檔案系統的面紗。
http://www.thg.com.tw/NewsImages/2003/0000751/3.gif
Longhorn已經以其新的過濾器(Filter)標準為未來鋪好前進的道路。這種標準創造了多個檔案指標,而不是使用目錄結構,因為目錄結構隨後將會失去其重要性。


Windows Longhorn的WinFS檔案系統:更快速與更聰明
檔案資訊

叢集、磁區與表格

所有的可讀式和可寫式磁碟都需要一個檔案系統,這個系統通常是FAT(File Allocation Table,檔案配置表)。對於硬碟來說,這種情況特別真實,但是對於光碟機和軟碟機來說,其實也是一樣。資料系統負責以一個穩固的管理系統來對資料命名,儲存以及擷取。不同的系統在分割大小以及加密檔案的方式都不太一樣,但現有的Windows檔案系統有兩個共通點:它們限制了使用的叢集,以及限制了可以掌控的資料數量。

一個叢集(Cluster)是硬碟中最小的可能儲存單元。但是磁區(Sector)則是由檔案可用的實體記憶體大小來決定。依分割區的情形,你可以在一個叢集中有一個或是更多個512位元磁區。4 KB的記憶體一般包含8個磁區。叢集的大小一般是由檔案系統和儲存空間的大小來決定。你可以使用工具,如Fsutil等來自動調整叢集的配置,但是只有在Windows XP上才能執行。對FAT系統來說,基本原則是,叢集越小,硬碟的利用率就越好。

這裡是一個例子:Windows 95的使用者倚賴FAT 16檔案系統。當分割區為256 MB以下時,叢集的大小為4 KB;當分割區更大,如2 GB時,叢集就變成32 KB。一個35 KB的檔案在上面的情形中將會佔據兩個叢集,而在第二個叢集中,就有29 KB是無法使用的,因為在每個叢集中你只能有一個檔案。用另外一種方式來解釋:如果硬碟中有著1,000個40 KB的檔案,在500 MB的FAT 16中,將會使用391 MB的容量。而在1.2 GB的分割區中,同樣的1,000個檔案將會用掉超過620 MB的硬碟空間。FAT接下來會將檔案配置在叢集裡面。每一次進入表格,代表的是一個叢集的配置。表格記錄了一個檔案的開始,下一個叢集的數目,以及最後一個叢集的認定。這個系統創造出兩套FAT作為備份。在FAT 16和FAT 32系統中,表格是位於磁碟的最外軌。而在NTFS中,表格本身是和檔案組織在一起的。

FAT在Windows XP之下的問題

從Windows 95開始,FAT 16中加入了一個修改資料的系統,稱為V-FAT。這是第一個可以寫入長檔名的系統。在1996年,Windows 95b問世時,微軟向大家介紹了FAT 32檔案系統,這個系統一直到目前還在普遍使用中。FAT 32系統可以讓使用者以4 KB的叢集大小來管理8 GB的儲存空間。對硬碟來說,最大儲存空間可以達到32 GB,叢集大小為16 KB。FAT 32同時不限定根目錄中的檔案或是目錄的數目。

雖然缺點很多,但是FAT 16和FAT 32還是沒有消失。多重作業系統仍然需要這種檔案系統。如果你要在Windows XP、Windows 98、Linux或是DOS之下存取相同的儲存空間,你就必須選擇最小的共通特點–也就是可以在所有的系統中作讀寫動作的檔案系統,在這種情形下,就是FAT 16。

但是,對於XP的使用者來說,要付出的代價就很大了:因為即使使用FAT 32,XP可以格式化的分割區最大只到32 GB。更大的儲存空間就只能作編輯,如果還有其他系統創造出分割區的話。當然,分割區的大小問題只有在獨立的情況下才有意義。

NTFS:TB大小的分割區

NTFS檔案系統是在1993年隨著Windows NT 3.5發表而跟著問世。一直到Windows 2000,發展的路線仍然相當歧異,而使用者仍然將其歸類為使用FAT 16或FAT 32的Windows 95、98和Me。比較起來,NT系列的作業系統,包括Windows XP在內,可以掌控所有的變數,除了Windows NT4.0以外,因為它不能轉換到FAT 32。市面上有太多的工具可以讓你在舊的Windows版本中讀取NTFS分割區內的資料。其中一個品質最好,也最知名的工具就是Ntfsdos,這個工具甚至可以讓你經由DOS磁碟來啟動NTFS的分割區。 相較於FAT系統,NTFS帶來一連串的改善行動。最重要的就是把較大儲存空間的記憶體使用率最佳化,當機後的錯誤校正,防止未經授權的資料存取保護,索引服務,資料壓縮和資料加密。NTFS的回復特性值得特別注意:Windows以檢查點(Checkpoints),紀錄真實情形下所有對檔案系統的更動,當強制啟動發生時,可以用檢查點作為背景校正系統錯誤。NTFS可以管理的分割區達到數百TB-1 TB等於100萬個MB。而在安全性上,管理員從整合的保護功能上獲益不少,例如使用者對檔案和資料夾的存取限制,以及EFS(加密檔案系統)等。
NTFS的進展

雖然優點很多,但是Windows 2000之前的NTFS還是沒有辦法符合現有系統的所有需求。隨著Windows NT沿用的NTFS系統,會自動將26個英文字母(磁碟A-Z)指派作為分割區的名字,因此覆蓋了分割區長度。再加上,改變分割區永遠需要重開機。另外,NTFS的儲存空間資訊儲放在系統註冊處(Registry)中,如果你要在另外一個系統使用磁碟變得異常複雜。

Windows 2000以LDM(邏輯磁碟管理員)解決了這個問題,因此不再需要磁碟機字母代碼。這套NTFS系統同時可以將硬碟資訊儲存在硬碟本身,因此解決了交換磁碟(swapping disks)的問題。與Windows 2000比較起來,Windows XP在NTFS上的改善很有限。資料流通率已經提昇,並以固定的512位元叢集大小來取代,它現在可以讓你定義可變的叢集大小。管理功能也更為精細,例如資料夾的指標和限制記憶體的意外情形,或是資料存取等。
http://www.thg.com.tw/NewsImages/2003/0000751/1.gif
來自www.sysinternals.com的DOS工具fsutil.exe可以讓你在Windows XP之下存取NTFS系統,並提供統計分析。

微軟還增加了一個命令列程式,稱為fsutil.exe。這個威力強大的的程式可以執行電腦中的檔案系統任務。但是你會發現關於這個程式的官方說明並不多,因為它允許你改變MFT(主檔案表)。我們並不建議你開始實驗使用fsutil.exe這個程式。但是,你可以做一件事,而且不會傷害你的系統,那就是輸入一個fsutil fsinfo的命令,這可以呼叫許多關於你的檔案系統,儲存空間和MFT的有趣資訊。


NTFS下的資料組織

與FAT在儲存空間開始處有著分離的配置表不同,NFTS將配置表以隱藏檔案的方式組織在其中心,也就是MFT之中。MFT管理所有有關儲存空間的檔案,以及在相關資料庫結構所稱的Metadata(資料中的資料)。檔案的資訊以橫列方式作排列;其屬性(隱藏、加密、壓縮、系統等等)則為縱列。在MFT中訊息則包含在Metadata內,並放在前16個紀錄中,總共16 KB。

下面是MFT的表格,其中顯示了前幾項紀錄。下一個MFT資料記錄包含了MFT中的位置資訊,內容資訊,以及未使用磁碟空間的資訊。同時,大小不超過900 Bytes的檔案可以完全納入一個紀錄中。對於較大的檔案,MFT中包含了指標以指出如何在記憶體裡面找到檔案。同樣的規則也適用在資料夾上:如果它們夠小,那麼就可以完全納入MFT中。NTFS使用稱為B-tree結構來管理較大的資料夾,資料夾中的資料結構指向外部的叢集。B-tree結構的優點是,NTFS將相似的檔案或是檔案名編在一起,因此可以加速特定檔案的搜尋。


紀錄
內容
敘述
0
MFT資訊
所有檔案和資料夾的基本資料記錄
1
MFT資訊
第一個紀錄的拷貝
2
通訊協定檔案
用來回復NTFS


系統錯誤事件發生時的一致性
3
儲存空間資訊
各種資訊,例如檔案名


以及儲存空間版本
4
屬性定義
檔案屬性的


名字,號碼和敘述
5
根指標
資料根目錄
6
叢集圖
顯示尚未利用的叢集
7
啟動磁區
包含啟動程式碼和其他東西
8
損壞磁區
損壞磁區資訊
9
備份檔案
所有的檔案的備分敘述
10
轉換器
將小寫字母轉換至Unicode
11
NTFS延伸區
各種不同的額外功能


結論:WinFS代表未來希望

關於即將問世的Windows檔案系統–程式名Win FS,具有許多特點。微軟的資深副總裁,同時也是負責Windows的Brian Valentine將新的檔案系統發展稱為,一項重要的進展,而這項進展不該只侷限於新的作業系統(Longhorn)上面。他指出,目前已經計劃將Win FS納入Windows Server 2003之中。

同時,德國的微軟員工似乎也認為將此檔案系統整合在Longhorn中並不代表整個發展過程已經結束。雖然很明顯的是,即將上市的SQL伺服器(Yukon)中也使用了Win FS檔案系統,因為這個系統本來就完全來自一個關聯資料庫。NTFS也不甘示弱加以反擊,使用了交互索引讓檔案和資料夾的產生更為快速。但是,即使用了更先進的索引技術,Win FS也不能如NTFS一樣引用MTS。

新的檔案系統設計是根據不同的內容標準來儲存檔案,例如作者、內容、名字、來源媒體與最近使用者。在Windows Explorer中所顯示的資料夾結構因此簡化成一個虛擬地圖。目錄結構提供了一些指導方向,但是並不指明資料的實際儲存位置,關於系統如何組織檔案或是任何資料指標的自然特性都已經跟資料或是檔案儲存在一起。

在最新的版本(M4)中,Longhoen包含了有關這項技術即將問世的暗示。其中之一是超過20 MB大小,並命名為winfs.exe的檔案。這個檔案代表即將來臨的儲存引擎。但是目前全部現有的系統檔案都沒有類似功能,或是只能產生錯誤訊息。最後,Win FS也許會成為FAT和NTFS之外的另一項檔案系統選擇。另外有可能的是,Win FS會取代它的前身。這樣也許會在多重開機系統中造成問題,因為唯一Windows XP、Longhorn和Linux都能執行的一個相同儲存空間的系統也許要經由複雜的方式才能找到,前提是如果要去尋找的話。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次