|
網(wǎng)絡(luò)技術(shù)是從1990年代中期發(fā)展起來的新技術(shù),它把互聯(lián)網(wǎng)上分散的資源融為有機(jī)整體,實(shí)現(xiàn)資源的全面共享和有機(jī)協(xié)作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計(jì)算機(jī)、存儲(chǔ)資源、數(shù)據(jù)資源、信息資源、知識(shí)資源、專家資源、大型數(shù)據(jù)庫、網(wǎng)絡(luò)、傳感器等。 當(dāng)前的互聯(lián)網(wǎng)只限于信息共享,網(wǎng)絡(luò)則被認(rèn)為是互聯(lián)網(wǎng)發(fā)展的第三階段。 FAT是DOS、Windows9X系統(tǒng)的文件尋址格式,位于DBR之后。在解釋文件分配表的概念的時(shí)候,我們有必要談?wù)劥兀–luster)的概念。文件占用磁盤空間,基本單位不是字節(jié)而是簇。一般情況下,軟盤每簇是1個(gè)扇區(qū),硬盤每簇的扇區(qū)數(shù)與硬盤的總?cè)萘看笮∮嘘P(guān),可能是4、8、16、32、64……同一個(gè)文件的數(shù)據(jù)并不一定完整地存放在磁盤的一個(gè)連續(xù)的區(qū)域內(nèi),而往往會(huì)分成若干段,像一條鏈子一樣存放。這種存儲(chǔ)方式稱為文件的鏈?zhǔn)酱鎯?chǔ)。由于硬盤上保存著段與段之間的連接信息(即FAT),操作系統(tǒng)在讀取文件時(shí),總是能夠準(zhǔn)確地找到各段的位置并正確讀出。 為了實(shí)現(xiàn)文件的鏈?zhǔn)酱鎯?chǔ),硬盤上必須準(zhǔn)確地記錄哪些簇已經(jīng)被文件占用,還必須為每個(gè)已經(jīng)占用的簇指明存儲(chǔ)后繼內(nèi)容的下一個(gè)簇的簇號(hào)。對(duì)一個(gè)文件的最后一簇,則要指明本簇?zé)o后繼簇。這些都是由FAT表來保存的,表中有很多表項(xiàng),每項(xiàng)記錄一個(gè)簇的信息。由于FAT對(duì)于文件管理的重要性,所以為了安全起見,F(xiàn)AT有一個(gè)備份,即在原FAT的后面再建一個(gè)同樣的FAT。初形成的FAT中所有項(xiàng)都標(biāo)明為“未占用”,但如果磁盤有局部損壞,那么格式化程序會(huì)檢測(cè)出損壞的簇,在相應(yīng)的項(xiàng)中標(biāo)為“壞簇”,以后存文件時(shí)就不會(huì)再使用這個(gè)簇了。FAT的項(xiàng)數(shù)與硬盤上的總簇?cái)?shù)相當(dāng),每一項(xiàng)占用的字節(jié)數(shù)也要與總簇?cái)?shù)相適應(yīng),因?yàn)槠渲行枰娣糯靥?hào)。FAT的格式有多種,最為常見的是FAT16和FAT32。 當(dāng)一個(gè)磁盤Format后,在其邏輯0扇區(qū)(即BOOT扇區(qū))后面的幾個(gè)扇區(qū)中存在著一個(gè)重要的數(shù)據(jù)表—文件分配(FAT),文件分配表一式兩份,占據(jù)扇區(qū)的多小憑磁盤類型大小而定。顧名思義,文件分配表是用來表示磁盤問件的空分配信息的。它不對(duì)引導(dǎo)區(qū),文件目錄的信息進(jìn)行表示,也不真正存儲(chǔ)文件內(nèi)容。 我們知道磁盤是由一個(gè)一個(gè)扇區(qū)組成的,若干個(gè)扇區(qū)合為一個(gè)簇,文件存取是以簇為單位的,哪怕這個(gè)文件只有1個(gè)字節(jié)。每個(gè)簇在文件分配表中都有對(duì)應(yīng)的表項(xiàng),簇號(hào)即為表項(xiàng)號(hào),每個(gè)表項(xiàng)占1.5個(gè)字節(jié)(磁盤空間在10MB以下)或2個(gè)字節(jié)(磁盤空間在10MB以上)。為了方便起見,以后所說的表項(xiàng)都是指2個(gè)字節(jié)的。 文件分配表結(jié)構(gòu)如1(H表示16進(jìn)制) 表1 第0字節(jié) 表頭,表磁盤類型。FFH雙面軟盤,每次道8扇區(qū)FEH單面軟盤,每磁道8扇區(qū)FDH雙面軟盤,每磁道9扇區(qū)FCCH單面軟盤,每磁道9扇區(qū)FC8H硬盤 第1~2字節(jié) (表項(xiàng)號(hào)1)表示第一簇狀態(tài),因第一簇被系統(tǒng)占據(jù),故此兩字節(jié)為FFFFH 第3~4字節(jié) (表項(xiàng)號(hào)2)表示第二簇狀態(tài),若為FFFH表此簇為壞的,DOS已標(biāo)記為不能用;0000H表示此簇為空,可以用;FFF8H表不能示該簇為文件的最后一簇;其余數(shù)字表示文件的下一個(gè)簇號(hào),注意高字節(jié)在后,低字節(jié)在前。 第5~6字節(jié) (表項(xiàng)號(hào)3)表示第三簇狀態(tài),同上。 注意: 不要把表項(xiàng)內(nèi)的數(shù)字誤認(rèn)為表示當(dāng)前簇號(hào),而應(yīng)是該文件的下一個(gè)簇的簇號(hào)。.高字節(jié)在后,低字節(jié)在前是一種存儲(chǔ)數(shù)字方式,讀出時(shí)應(yīng)對(duì)其進(jìn)行調(diào)整。是如兩字節(jié)12H,34H,應(yīng)調(diào)整為3412H。 文件分配表與文件目錄(FDT)相配合,可以統(tǒng)一管理整個(gè)磁盤的文件。它告訴系統(tǒng)磁盤上哪些簇是壞的或已被使用,哪些簇可以用,并存儲(chǔ)每個(gè)文件所使用的簇號(hào)。它是文件的“總調(diào)度師”。 當(dāng)DOS寫文件時(shí),首先在文件目錄中檢查是否有相同文件名,若無則使用一個(gè)文件目錄表項(xiàng),然后依次檢測(cè)FAT中的每個(gè)表項(xiàng)對(duì)應(yīng)的簇中,同時(shí)將該簇號(hào)寫入文件目錄表項(xiàng)相的26-27字節(jié),如文件長(zhǎng)度不止一簇,則繼續(xù)向后尋找可用簇,找到后將其簇號(hào)寫入上一次找到的表項(xiàng)中,如此直到文件結(jié)束,在最后一簇的表項(xiàng)里填上FFF8H,形成單向鏈表。 DOS刪除文件時(shí)只是把文件目錄表中的該文件的表項(xiàng)第0個(gè)字節(jié)改為E5H,表此項(xiàng)已被刪除,并在文件分配表中把該文件占用的各簇的表項(xiàng)清0,并釋放空間。其文件的內(nèi)容仍然在盤上,并沒有被真正刪除,這就是undelete.exe,unerase.exe等一類恢復(fù)刪除工具能起作用的原因。 文件分配表在系統(tǒng)中的地位十分重要,用戶最好不要去修改它,以免誤操作帶來嚴(yán)重的后果。 FAT表的定位 硬盤分區(qū)的主要結(jié)構(gòu)說明: (Cylinder柱面/磁道-Side磁頭-Sector扇區(qū)地址以下簡(jiǎn)稱為?-?-?) 《主分區(qū)》 名稱 地址 長(zhǎng)度(扇區(qū)) 主引導(dǎo)記錄(Main Boot Record) 0-0-1 1 系統(tǒng)扇區(qū)(System Secotrs) 0-0-2,0-0-63 62 引導(dǎo)扇區(qū)(Boot) 0-1-1 1 FAT16系統(tǒng)中,此扇區(qū)包含BPB(BIOS Parameter Block)表,描述邏輯盤結(jié)構(gòu)組成,包含隱藏扇區(qū)數(shù)目(從0-1-1開始計(jì)算)、FAT扇區(qū)數(shù)、FAT拷貝數(shù)、硬盤磁頭總數(shù)、根目錄表項(xiàng)最大值等。 FAT32系統(tǒng)中,BPB表的偏移與FAT16不同,但表項(xiàng)基本相同。整個(gè)隱藏扇區(qū)部分都作為邏輯盤的描述區(qū)域。 隱藏扇區(qū)(Hidden Secotrs): FAT16 0-1-1 1 FAT32 0-1-1 32 文件分配表(File Allocation Table): FAT16 0-1-2 根據(jù)邏輯盤容量變化 FAT32 0-1-33 根據(jù)邏輯盤容量變化 說明: FAT16的每個(gè)表項(xiàng)由2字節(jié)(16位)組成,通常每個(gè)表項(xiàng)指向的簇包含64個(gè)扇區(qū),即32K字節(jié)。 邏輯盤容量最大為2047MB。 FAT32的每個(gè)表項(xiàng)由4字節(jié)(32位)組成,通常每個(gè)表項(xiàng)指向的簇包含8個(gè)扇區(qū),即4K字節(jié)。 邏輯盤容量最小為512MB。 對(duì)于C分區(qū),在MBR的偏移01c2H處,F(xiàn)AT16為06H,F(xiàn)AT32為0CH。 有關(guān)計(jì)算公式為: 每個(gè)扇區(qū)長(zhǎng)度=512字節(jié) 總簇?cái)?shù)=邏輯盤容量/簇容量 總簇?cái)?shù)=FAT表長(zhǎng)度(字節(jié))/每個(gè)表項(xiàng)長(zhǎng)度(字節(jié))-2 FAT表長(zhǎng)度=邏輯盤容量/簇容量*每個(gè)表項(xiàng)長(zhǎng)度 FAT表的開始由介質(zhì)描述符+一串“已占用”標(biāo)志組成: FAT16硬盤----F8 FF FF 7F FAT32硬盤----F8 FF FF 0F FF FF FF 0F 每個(gè)有效的FAT結(jié)構(gòu)區(qū)包含兩個(gè)完全相同的拷貝:FAT1、FAT2 文件目錄表(File Directory Table),即根目錄區(qū),又稱為ROOT區(qū): 緊跟在FAT2的下一個(gè)扇區(qū),長(zhǎng)度為32個(gè)扇區(qū)(256個(gè)表項(xiàng))。如果支持長(zhǎng)文件名,則每個(gè)表項(xiàng) 為64個(gè)字節(jié),其中,前32個(gè)字節(jié)為長(zhǎng)文件鏈接說明;后32個(gè)字節(jié)為文件屬性說明,包括文件長(zhǎng) 度、起始地址、日期、時(shí)間等。如不支持長(zhǎng)文件名,則每個(gè)表項(xiàng)為32個(gè)字節(jié)的屬性說明。 數(shù)據(jù)區(qū)(Data Area): 緊跟在FDT的下一個(gè)扇區(qū),直到邏輯盤的結(jié)束地址。 《擴(kuò)展分區(qū)》 名稱 地址 長(zhǎng)度(扇區(qū)) 擴(kuò)展分區(qū)(Extend Partition) ?-y-1 1 系統(tǒng)扇區(qū)(System Secotrs) ?-y-2,?-y-63 62 引導(dǎo)扇區(qū)(Boot) ?-(y+1)-1 1 其后各項(xiàng)與主分區(qū)相同…… FAT表引起的讀寫故障 硬盤文件分配表龐大無法手工修復(fù),只能依靠工具。 FAT表記錄著硬盤數(shù)據(jù)的存儲(chǔ)地址,每一個(gè)文件都有一組FAT鏈指定其存放的簇地址。FAT表的損壞意味著文件內(nèi)容的丟失。慶幸的是DOS系統(tǒng)本身提供了兩個(gè)FAT表,如果目前使用的FAT表損壞,可用第二個(gè)進(jìn)行覆蓋修復(fù)。但由于不同規(guī)格的磁盤其FAT表的長(zhǎng)度及第二個(gè)FAT表的地址也是不固定的,所以修復(fù)時(shí)必須正確查找其正確位置,一些工具軟件如NU等本身具有這樣的修復(fù)功能,使用也非常的方便。采用DEBUG也可實(shí)現(xiàn)這種操作,即采用其m命令把第二個(gè)FAT表移到第一個(gè)表處即可(不建議這樣做)。如果第二個(gè)FAT表也損壞了,則也無法把硬盤恢復(fù)到原來的狀態(tài),但文件的數(shù)據(jù)仍然存放在硬盤的數(shù)據(jù)區(qū)中,可采用CHKDSK或SCANDISK命令進(jìn)行修復(fù),最終得到*.CHK文件,這便是丟失FAT鏈的扇區(qū)數(shù)據(jù)。如果是文本文件則可從中提取出完整的或部分的文件內(nèi)容。 軟盤文件分配FAT表修復(fù) 在運(yùn)行某個(gè)程序時(shí),有時(shí)會(huì)在屏幕上看到:File allocation table bad,drive A(文件分配表壞)的錯(cuò)誤信息,導(dǎo)致程序不能正常運(yùn)行。 我們知道,在磁盤中有兩個(gè)文件分配表:FAT1和FAT2。FAT1用于日常工作,F(xiàn)AT2備用。因此,在FAT1損壞時(shí),可用FAT2表修補(bǔ)。 具體方法是:運(yùn)行DEBUG,將FAT2讀入緩沖區(qū),用緩沖區(qū)的FAT2數(shù)據(jù)覆蓋磁盤中的FAT1。 例:修復(fù)3寸1.44M軟盤,在A驅(qū) 在DOS環(huán)境下進(jìn)入debug環(huán)境 在“-”提示符下進(jìn)行如下操作: -L 100 0 0A 9 -W 100 0 1 9 -q 其它類型的軟盤的修復(fù)方法參照下表進(jìn)行。 起止邏輯扇區(qū) 5.25"低密 5.25"高密 3.5"低密 3.5"高密 BOOT區(qū) 0 0 0 0 FAT1 1-2 1-7 1-3 1-9 FAT2 3-4 8-0EH 4-6 0A-12H 例如我們要修復(fù)5.25"高密軟盤的FAT,則需將上述參數(shù)改為: -L 100 0 8 7 -W 100 0 1 7 -q 網(wǎng)絡(luò)的神奇作用吸引著越來越多的用戶加入其中,正因如此,網(wǎng)絡(luò)的承受能力也面臨著越來越嚴(yán)峻的考驗(yàn)―從硬件上、軟件上、所用標(biāo)準(zhǔn)上......,各項(xiàng)技術(shù)都需要適時(shí)應(yīng)勢(shì),對(duì)應(yīng)發(fā)展,這正是網(wǎng)絡(luò)迅速走向進(jìn)步的催化劑。 |
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!