這期的內容,要先請你運用一些想像力,努力想一下。

假設你的職務是個「資料室管理員」,你有一個櫃子可以用來放資料,但是,你這個櫃子的容量很大很大,居然有高達「10萬個」抽屜,請問一下,你要怎樣管理你的資料?

請先想像「資料室該如何管理?」
我自己想了一下,覺得這簡單的問題其實也不簡單哩!

首先,當你有10萬個抽屜,你會連「哪個抽屜到底是空的,滿的,還是放了部份資料?」都看不出來。因此,每當你有新進的資料要存放,你會連該放到哪個抽屜去都不知道。

其次,所謂的「資料」只是個籠統的概念,我們暫且就把資料想像成一個一個的卷宗要收藏進抽屜裡。但是,資料存入抽屜後,並不是就不再需要找出來用(如果是這樣,那資料不如燒掉算了)。但是,如果資料就只是亂放(不做任何登記),以後就幾乎是一定找不著了。

再換個方式想,如果你只有10個、20個抽屜,找資料時大不了一個一個抽屜翻查即可。但在這裡,我用的極端的例子,是有10萬個抽屜,這時「一個一個翻查」顯然是沒有作用的方案。

我想了很久,想到一個簡單、可行的方案。那就是,把所有的抽屜編號,然後每個卷宗放入抽屜之前,都得用一本簿子(叫作「卷宗管理簿」好了)登記,絕不可遺漏。日後無論是要查詢卷宗的位置,還是卷宗的出入,都得經過這本簿子。這方法似乎還過得去,但各位可以想想看有沒有其他更有效的方法來管理卷宗呢?

我曾想過,要是抽屜是透明的呢?這只能讓你知道哪個抽屜有東西,哪個沒有,無法解決卷宗查詢、進出的管理問題;要是每個抽屜前面都直接註明內容物呢?這倒是有某種程度的可行性,問題是你真的要找卷宗的話,你還是得從頭到尾看一遍抽屜前方的記錄。

如果你夠認真的想,其實,用卷宗管理簿來管理卷宗還是有大麻煩。這簿子裡面要是有上億個卷宗的資料,就算有管理簿,實際上也是很難快速找到資料。不過,至少,你可以坐著查詢,不用一個個抽屜翻查。

磁碟的管理就類似於卷宗管理
好的,我親愛的讀者,我假設你是個初學者,而你心中已經有個前述的「虛擬卷宗室」想像圖,現在我們來想想,電腦是怎麼一回事。

如果你上期有看本專欄,你會知道,電腦不外乎是由「硬體」和「軟體(驅動程式、作業系統、應用軟體)」所組成。而說到底,軟體都是以檔案的形式,存在磁碟裡面。

也就是說,「檔案」是軟體的「元素」。不管是什麼軟體,都是「以某種形式儲存在某處」的檔案所組成。

最常見的形式,就是存在硬碟機裡面的檔案。

好,把一個一個檔案,想像成一個一個的資料卷宗,存放在硬碟裡面,而硬碟就像是個大容量的抽屜,可供你把卷宗歸檔。如果檔案就只是依據你儲存的順序,一個一個放入磁碟空間裡面,這些檔案將永遠沒辦法被取出來,因為你完全沒有管理的依據!就像是前面所說的,只是個沒有登記簿的資料室一樣。

所以,對每一種電腦的作業系統而言,「檔案管理」都是十分重要的功能。而檔案管理能夠運行的重要原因,就是「磁碟機裡面必須要有個『檔案系統』。」

所以,請各位讀者必須牢記,你在電腦裡面看到的每個檔案,都「不只是你看到」的那樣。比如說,當你看到一個檔案,稱為「我的報告.txt」,事實上,它至少由兩個重要的部分組成。其中一個部分是這個檔案的「本體」,存在磁碟機上的某個位置;另一個部分則是這個檔案的「登記資料」,就是作業系統「登記這檔案存放在某處」的記錄。


檔案配置表

請注意,檔案配置表(File Allocation Table,FAT)可當成一般名詞用,但剛好和DOS專屬的檔案配置表同名同姓,所以當我說中文,就是指所有檔案系統的檔案配置表,若我要指明是DOS的檔案配置表,我會用英文的FAT(FAT12、FAT16、FAT32)這類的寫法表示。

而每一種磁碟系統,上面就好像有大量的抽屜空間,可以存放檔案的本體;但其中也有部分空間被規畫用來登記檔案被放在某處,用何種名稱存放,這登記檔案訊息的空間,被稱為「檔案配置表」。只是,檔案配置表的功能是隱性的,它「存在」,但幾乎沒人知道,很像是拍電影的「攝影機」,負責拍攝整部影片卻沒人看得到攝影機在何處。所以,各位請一定要記住:檔案配置表就是你磁碟上所有檔案的「索引」。嚴格說來,它比檔案本體還重要多了。這張表毀了,你的資料就算其實還在,也都沒有辦法讀取出來(雖然你的檔案有可能還有救,那就得用很複雜的方式去救援了,而且能不能救還得靠運氣)。

每一種作業系統都有屬於自己的檔案系統,它們的原理也許類似,但實作技術卻個個不同。Windows 98 SE/Me使用的是FAT32,Windows NT/2000/XP使用的是NTFS,Mac OS使用HFS(Hierarchical File System),Linux系列使用Ext2、Ext3。這些檔案系統的細微差異,以及和中文檔名的相容性,都會影響大家在公司內操作電腦的平順度。

電腦檔案管理和真實檔案管理的異同之處
不過,我最前面舉的例子,資料室的卷宗管理,和電腦的檔案系統之間,其實是有很多差異的。

首先,資料室的抽屜,一個抽屜可能可以擺放多份文件;但電腦的硬碟機存放檔案的單位很小,通常這單位被稱為一個「磁簇(cluster)」。一個檔案可能需要很多磁簇才放得下,但這對磁碟系統來說,一點困難也沒有。

其次,雖然磁碟上用來儲存資料的空間很大,但你要讀取第一號磁簇和第十萬號磁簇的資料內容,耗費的時間卻一樣。因為在真實世界中,你要走到第10萬個抽屜,恐怕得「真的走過去」,但磁碟系統卻只是瞬間的事情(磁片旋轉一下,磁碟臂輕巧的移動一下即可)。但兩種系統中,都需要一個索引表格記錄內容物,這概念倒是一樣的。

再想想,在磁碟系統中,要刪除檔案,只需要在登記簿上,大筆一揮,把資料登記為「消失」即可,資料本上不必去管他,將來新的資料自然會覆蓋過去,不用特別去管那「其實還在上頭」的檔案內容。真實世界中,要刪除資料你只能真的把那些東西給毀掉才算數。

不過,無論如何,你今天看完此篇,只要記得檔案放在磁碟裡面,是有個檔案系統在管理的,這檔案系統中有個檔案配置表十分重要,也就夠了。

檔案系統的階層式結構
有了檔案配置表,固然可以方便的存取單一檔案。但要讓電腦使用者方便的找到檔案,作業系統通常會提供階層式的管理方法。最單純的技術,就是提供「資料夾」這結構,使用者可以把檔案放入自己建造的檔案夾,方便自己檔案的分門別類。

資料夾的上一層結構就是「磁碟機」,一臺電腦通常有好幾臺磁碟機(為求方便行文,光碟機也暫且當作磁碟機的一種),而你最好的親密夥伴就是常被稱為「C碟」的系統磁碟。一般而言,Windows預設會安裝到C:磁碟機,一般人最重要的電腦檔案大多存在此處。

磁碟機的上一層結構就是「電腦」,不過「電腦」這層結構要和更上一層的「網路」階層擺在一起考慮才有意義。如果你的電腦在公司內使用,並有小型的區域網路,若先不考慮資訊安全的問題,理論上同一區域網路中,相連的每臺電腦都可以互相分享檔案,讓其他人存取。

再從網際網路的觀點來看,使用者甚至可以透過所謂的「VPN」功能,存取處於Internet上其他電腦的檔案,只是速度恐怕較慢,但卻有某種程度的方便性。

本期結語:請愛用「檔案總管」
一臺電腦有這麼複雜的磁碟系統,常會讓初學者暈頭轉向。最常見的問題是,「我的檔案究竟存到哪裡去了?」可是,很抱歉的是,如果你都搞不清楚你的檔案存到哪裡去了,你問別人,別人又怎麼會知道呢?

Windows預設是把檔案存在所謂的「我的文件」資料夾裡面,但有很多軟體會不顧這規定,預設把檔案存到別的地方。為了避免你日後找不到檔案,我建議各位,每次存檔,都稍微看一下你存檔的「絕對路徑」是「是哪一個磁碟的哪一個資料夾裡面」。

此外,管理檔案的時候,我個人習慣執行Windows內建的「檔案總管」。檔案總管的好用之處,在於「你可以搞清楚檔案存放的絕對位置和相對位置」,不會造成誤判。下一期,我將介紹檔案總管的操作基礎觀念、方法與密技。

熱門新聞

Advertisement