實(shí)驗(yàn)5-索引文件及文件系統(tǒng)_第1頁(yè)
實(shí)驗(yàn)5-索引文件及文件系統(tǒng)_第2頁(yè)
實(shí)驗(yàn)5-索引文件及文件系統(tǒng)_第3頁(yè)
實(shí)驗(yàn)5-索引文件及文件系統(tǒng)_第4頁(yè)
實(shí)驗(yàn)5-索引文件及文件系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

實(shí)驗(yàn)5索引文件及文件系統(tǒng)一、優(yōu)化Windows磁盤子系統(tǒng)1.選擇文件系統(tǒng)文件系統(tǒng)決定了操作系統(tǒng)能夠?qū)Υ疟P進(jìn)行的處理。Windows支持的文件系統(tǒng)主要有:1)文件分配表(FileAllocationTable,F(xiàn)AT)文件系統(tǒng)(FAT16)2)保護(hù)模式FAT文件系統(tǒng)(FAT32)3)WindowsNT文件系統(tǒng)(NTFS)FAT文件系統(tǒng)是早期文件系統(tǒng)之一,也是MS-DOS使用的原始文件系統(tǒng)。它將文件信息儲(chǔ)存在位于卷標(biāo)開頭處的文件分配表中,并保存兩份文件分配表,以防其中的一個(gè)遭到破壞,見圖1所示。FAT文件系統(tǒng)最大的優(yōu)點(diǎn)是MS-DOS、Windows9x甚至OS/2都能訪問FAT卷標(biāo);而其最大的弱點(diǎn)是隨著FAT卷標(biāo)尺寸的增長(zhǎng),最小的簇尺寸也隨之增長(zhǎng)。對(duì)于大于512MB的硬盤而言,最小的簇尺寸為16KB;對(duì)于大于2GB的硬盤,最小的簇尺寸為64KB。這就導(dǎo)致磁盤空間的極大浪費(fèi),因?yàn)橐粋€(gè)文件必須占用整數(shù)個(gè)簇。因此,1KB的文件在2GB的硬盤上將占用64KB的磁盤空間。FAT文件系統(tǒng)不支持尺寸大于4GB的卷標(biāo)。BIOS參數(shù)文件BIOS參數(shù)文件分配表文件分配表副本P4K324R根目錄文件和目錄圖1FAT文件系統(tǒng)的結(jié)構(gòu)FAT32文件系統(tǒng)通過提供長(zhǎng)文件名的支持來擴(kuò)展FAT文件系統(tǒng),并與FAT16兼容。FAT(16和32)文件系統(tǒng)是支持可移動(dòng)媒體(例如軟盤)上的惟一的文件系統(tǒng)。WindowsNT文件系統(tǒng)(NTFS)包括了FAT文件系統(tǒng)的所有功能,同時(shí)又提供了對(duì)高級(jí)文件系統(tǒng)特征(例如平安模式、壓縮和加密)的支持。它是為在大磁盤上有效地完成文件操作而設(shè)計(jì)的。與FAT和保護(hù)模式FAT文件系統(tǒng)不同,它的最小簇尺寸不超過4KB。但是,NTFS卷標(biāo)只能為WindowsNT、2000和XP,windows7,windows8等以上操作系統(tǒng)所訪問。例如:Windows提供的新特征(NTFS)使文件系統(tǒng)更平安、更可靠,比以往的Windows版本更好地支持分布式計(jì)算。此外,Windows支持的文件系統(tǒng)還有:CDFS:光盤文件系統(tǒng)(CompactDiscFileSystem)用于光盤的文件存儲(chǔ)。UDF:通用磁盤格式(UniversalDiskFormat)用于DVD的文件存儲(chǔ)。在文件系統(tǒng)中,F(xiàn)AT16、FAT32和NTFS這三個(gè)文件系統(tǒng)對(duì)磁盤子系統(tǒng)的性能影響最大。而事實(shí)上,選擇NTFS之外的任何文件系統(tǒng)都只有兩個(gè)理由,即:1)可雙引導(dǎo)系統(tǒng)2)小于400MB的卷如果系統(tǒng)不是這兩種情況,那么NTFS就應(yīng)該是所選擇的文件系統(tǒng),NTFS將提供更好的性能、可靠性和平安性。2.EFS加密文件系統(tǒng)EFS(EncryptingFileSystem)實(shí)際上是NTFS的一個(gè)特性,它提供了核心文件加密技術(shù),主要用來在NTFS文件系統(tǒng)卷上存儲(chǔ)加密文件。在加密了文件或文件夾之后,使用加密文件和文件夾的方法與使用其他任何文件和文件夾相同。即,加密對(duì)于加密該文件的用戶來說是透明的,這意味著不必在使用加密文件之前將其解密,可以像平常一樣翻開和更改文件。但是,如果侵入者試圖翻開、復(fù)制、移動(dòng)或重命名加密的文件或文件夾,那么他將接收到一條拒絕訪問的消息。像設(shè)置其他任何屬性(如只讀、壓縮或隱藏)一樣,可以通過設(shè)置文件夾和文件的加密屬性來對(duì)文件夾或文件加密或解密。如果加密文件夾,那么在加密文件夾中創(chuàng)立的所有文件和子文件夾都將加密。因此,推薦在文件夾一級(jí)上加密。使用EFS保護(hù)文檔的平安,可以防止侵入者獲得對(duì)存儲(chǔ)的敏感數(shù)據(jù)的未經(jīng)授權(quán)的物理訪問。EFS帶來的附加平安性是以性能為代價(jià)的。當(dāng)操作系統(tǒng)對(duì)所訪問的加密文件進(jìn)行加密或解密時(shí),文件傳輸將增加一點(diǎn)延遲。影響系統(tǒng)性能的程度將具體取決于執(zhí)行加密或解密操作的系統(tǒng)的處理能力。對(duì)于在本地驅(qū)動(dòng)器上包含加密文件的現(xiàn)代工作站來說,因?yàn)檫@些系統(tǒng)通常不受處理器限制,所以影響通常可以忽略不計(jì)。這種影響對(duì)處理器上的額外負(fù)載可能不到1%。對(duì)于使用低端處理器的早期工作站來說,這種額外負(fù)載可能大約有處理器時(shí)間的10%。對(duì)于效勞器來說,負(fù)載可能會(huì)很重。在效勞器上,可能同時(shí)發(fā)生許多不同的文件訪問。如果其中許多文件都使用EFS來保護(hù),那么處理器上的負(fù)載可能是處理器總負(fù)載的10-25%。對(duì)于包含大量加密文件(或非常大的加密文件)的文件效勞器而言,如果額外的處理開銷會(huì)使效勞器負(fù)擔(dān)過重,那么應(yīng)該添加處理器或者升級(jí)現(xiàn)有的處理器。3.壓縮Windows支持在NTFS卷上壓縮文件和目錄。因?yàn)槿魏螒?yīng)用程序都可以讀寫在NTFS卷上壓縮的文件而不需要首先由其他應(yīng)用程序解壓縮,所以壓縮對(duì)用戶和應(yīng)用程序來說是完全透明的。在讀取文件時(shí)會(huì)自動(dòng)解壓縮,在關(guān)閉或保存文件時(shí)再次壓縮。只有WindowsNTFS驅(qū)動(dòng)程序才能讀取數(shù)據(jù)的壓縮形式。當(dāng)應(yīng)用程序或操作系統(tǒng)命令請(qǐng)求訪問文件時(shí),NTFS在使文件可用之前首先對(duì)文件解壓縮。當(dāng)文件被解壓縮、復(fù)制,然后重新壓縮為一個(gè)新文件時(shí),壓縮可能導(dǎo)致性能降低,即使在同一臺(tái)計(jì)算機(jī)中復(fù)制文件也是如此。對(duì)于網(wǎng)絡(luò)傳輸,文件將被解壓縮并以完整的大小傳輸,這會(huì)影響帶寬和速度。4.磁盤配額Windows包括了一些用于存儲(chǔ)管理的新技術(shù),這些技術(shù)使管理員及最終用戶可以獲得更好的整體數(shù)據(jù)存儲(chǔ)體驗(yàn)。通過使用一些預(yù)防性磁盤管理原那么,可以合理安排網(wǎng)絡(luò)卷上存儲(chǔ)的數(shù)據(jù)量。磁盤配額追蹤和控制卷的磁盤空間使用情況。當(dāng)網(wǎng)絡(luò)磁盤到達(dá)其容量后,磁盤和效勞器的性能將出現(xiàn)嚴(yán)重的問題。除非對(duì)最終用戶施加了磁盤限制,否那么當(dāng)用戶決定將他們的所有硬盤驅(qū)動(dòng)器數(shù)據(jù)都轉(zhuǎn)儲(chǔ)到一個(gè)目錄中,或者他們認(rèn)為網(wǎng)絡(luò)是存儲(chǔ)他們下載的mp3文件的最正確位置時(shí),效勞器磁盤可能很快就會(huì)耗盡。使用Windows磁盤配額系統(tǒng),管理員可以配置Windows的以下特性:1)防止進(jìn)一步使用磁盤空間,并在用戶超出指定的磁盤空間限制時(shí)記錄一個(gè)事件。2)在用戶超出指定的磁盤空間警告級(jí)別時(shí)記錄事件。在啟用磁盤配額時(shí),可以設(shè)置兩個(gè)值:磁盤配額限制和磁盤配額警告級(jí)別。配額限制指定允許用戶使用的磁盤空間,而警告級(jí)別指定用戶正接近其配額限制的時(shí)刻。例如,可以將用戶的磁盤配額限制設(shè)置為50MB,將磁盤配額警告級(jí)別設(shè)置為45MB。在這種情況下,用戶可以在卷上存儲(chǔ)不多于50MB的文件。如果用戶在卷上存儲(chǔ)的文件超過了45MB,那么可以讓磁盤配額系統(tǒng)記錄一個(gè)系統(tǒng)事件。實(shí)驗(yàn)?zāi)康耐ㄟ^對(duì)Windows提供的文件與文件夾加密、磁盤配額管理、創(chuàng)立緊急修復(fù)磁盤、進(jìn)行磁盤清理、執(zhí)行備份操作、使用CHKDSK維護(hù)文件完整性和整理磁盤碎片等功能進(jìn)行操作:1)熟悉Windows的文件系統(tǒng)。2)明確應(yīng)用NTFS文件系統(tǒng)的積極意義。3)掌握優(yōu)化Windows磁盤子系統(tǒng)的根本方法。4)進(jìn)一步理解現(xiàn)代操作系統(tǒng)文件管理知識(shí)。工具/準(zhǔn)備工作在開始本實(shí)驗(yàn)之前,請(qǐng)回憶教科書的相關(guān)內(nèi)容。需要準(zhǔn)備一臺(tái)運(yùn)行Windows操作系統(tǒng)的計(jì)算機(jī)。實(shí)驗(yàn)內(nèi)容與步驟步驟1:閱讀“背景知識(shí)〞,請(qǐng)答復(fù):1)Windows支持哪三種主要的文件系統(tǒng):a._1)文件分配表(FileAllocationTable,F(xiàn)AT)文件系統(tǒng)(FAT16)b2)保護(hù)模式FAT文件系統(tǒng)(FAT32)c3)WindowsNT文件系統(tǒng)(NTFS)2)NTFS文件系統(tǒng)是什么含義,只能用于哪些操作系統(tǒng)環(huán)境,主要特點(diǎn)是什么?一種能夠提供各種FAT版本所不具備的性能、平安性、可靠性與先進(jìn)特性的高級(jí)文件系統(tǒng)。只能應(yīng)用于純32位及以上操作系統(tǒng),比方WindowsNT,XP或更高。Windows95、98那么不行。在NTFS文件系統(tǒng)中,對(duì)于不同配置的硬件,實(shí)際的文件大小從4GB到64GB。由于NTFS文件系統(tǒng)的開銷較大,使用的最小分區(qū)應(yīng)為50MB步驟2:登錄進(jìn)入Windows。步驟3:加密文件或文件夾。為加密文件或文件夾,可按照以下步驟進(jìn)行:1)在“Windows資源管理器〞中,選擇NTFS格式的分區(qū),右鍵單擊想要加密的文件或文件夾,然后單擊“屬性〞命令。2)在“常規(guī)〞選項(xiàng)卡上,單擊“高級(jí)〞按鈕。在“高級(jí)屬性〞對(duì)話框中,可以設(shè)置的文件屬性有:存檔和編制文件夾______________________________壓縮或加密屬性________________________________________________________________________________________________________________________________________________________________________________3)選定“加密內(nèi)容以便保護(hù)數(shù)據(jù)〞復(fù)選框。4)單擊“確定〞按鈕完成操作。如果你啟用來賓用戶或其他用戶,那么他們看不到這個(gè)文件夾中的內(nèi)容,到達(dá)了加密的目的。其他加密方法:1〕把文件或文件夾壓縮成winrar的加密壓縮文件夾,步驟是,右鍵點(diǎn)擊要壓縮的文件->添加到壓縮文件->高級(jí)->設(shè)置密碼->然后輸入密碼后確定(其他選項(xiàng)為默認(rèn))2〕word加密,自己設(shè)置步驟4:訪問RSM效勞。Windowsxp還通過一些輔助組件提供了用于額外存儲(chǔ)的選項(xiàng)。可移動(dòng)存儲(chǔ)管理(RemovableStorageManagement,RSM)就是一項(xiàng)用于管理可移動(dòng)媒體(例如磁帶和光盤)以及存儲(chǔ)設(shè)備(庫(kù))的效勞。RSM允許應(yīng)用程序訪問和共享相同的媒體資源。RSM使用戶可以很容易地追蹤可移動(dòng)存儲(chǔ)媒體(例如磁帶和光盤),并管理包含它們的庫(kù)(例如轉(zhuǎn)換器和光盤機(jī))。為訪問RSM效勞,可按以下步驟操作:1)在“控制面板〞中雙擊“管理工具〞圖標(biāo),再雙擊其中的“計(jì)算機(jī)管理〞圖標(biāo),翻開本地“計(jì)算機(jī)管理〞窗口。2)在左窗格右鍵單擊控制樹中的“可移動(dòng)存儲(chǔ)〞。“可移動(dòng)存儲(chǔ)〞可以管理和設(shè)置的工程有:a.__可移動(dòng)存儲(chǔ)____________b.__存儲(chǔ)設(shè)備庫(kù)的效勞_____________________c.___追蹤可移動(dòng)存儲(chǔ)媒體_______________________________d.___管理包含他們的庫(kù)____________________________步驟5:分配磁盤配額。磁盤配額可追蹤和控制卷的磁盤空間使用情況。為分配磁盤配額,可按照以下步驟進(jìn)行:翻開“我的電腦〞。你使用的電腦的各分區(qū)的文件類型分別是:C:__NTFS_D:__NTFS_________E:___NTFS__________2)選擇NTFS格式的某個(gè)分區(qū),右鍵單擊想要指定默認(rèn)配額位的卷,然后單擊“屬性〞命令。3)在“屬性“對(duì)話框中,選定〞配額“選項(xiàng)卡。4)在“屬性“對(duì)話框的〞配額“選項(xiàng)卡上,選定“啟用配額管理〞。5)選定“將磁盤空間限制為〞選項(xiàng),這將激活磁盤空間限制和警告級(jí)別區(qū)域。6)在文本框中鍵入數(shù)值,從下拉列表中選定一個(gè)磁盤空間限制單位,然后單擊“確定〞。可以使用小數(shù)值(例如20.5MB)。步驟6:添加新的磁盤配額項(xiàng)在啟用卷的磁盤配額時(shí),將從這一時(shí)刻開始自動(dòng)追蹤新用戶的卷使用情況。為了對(duì)現(xiàn)有的卷用戶應(yīng)用磁盤配額,可以在“配額項(xiàng)〞對(duì)話框中添加新的配額項(xiàng)。操作步驟如下:1)在“我的電腦〞窗口中,右鍵單擊想要添加新的磁盤配額項(xiàng)的卷,然后單擊“屬性〞命令。2)在“屬性〞對(duì)話框中,選定“配額〞選項(xiàng)卡。3)在“配額〞選項(xiàng)卡上,單擊“配額項(xiàng)〞按鈕。4)在“配額工程〞窗口的“配額〞菜單中單擊“新建配額項(xiàng)〞命令。5)在“選擇用戶〞對(duì)話框中,單擊“查找范圍〞列表框,選定想要從中選擇用戶名的域名或工作組名稱。單擊“添加〞,然后單擊“確定〞按鈕。6)在“添加新配額項(xiàng)〞對(duì)話框中,可以對(duì)所選用戶設(shè)置的配額限制工程有:a._不限制磁盤使用__________________________________________b._將磁盤空間限制為_______________________________________c.__將警告等級(jí)設(shè)為____________________________________________7)單擊“確定〞按鈕完成操作。步驟7:創(chuàng)立緊急修復(fù)磁盤(ERD)ERD包含系統(tǒng)的注冊(cè)表文件的備份,這就可以恢復(fù)被破壞的Windows系統(tǒng)文件。雖然只使用ERD不能重新引導(dǎo)系統(tǒng),但ERD可以通過更正被破壞的系統(tǒng)文件來幫助Windows自行引導(dǎo)。創(chuàng)立ERD只需要幾分鐘時(shí)間,而潛在的回報(bào)卻是巨大的。因?yàn)椋绻霈F(xiàn)引導(dǎo)失敗的情況,ERD可以大大減少停機(jī)時(shí)間。要想創(chuàng)立緊急修復(fù)磁盤,可執(zhí)行以下操作:1)單擊“開始〞按鈕,在“程序〞菜單中單擊“附件〞-“系統(tǒng)工具〞-“備份〞命令,以運(yùn)行“備份〞實(shí)用程序。“備份〞窗口中有四個(gè)選項(xiàng)卡,分別是:a.__歡送_________________________________________b.___備份________________________________________c.____復(fù)原和管理媒體_______________________________________d._____方案作業(yè)______________________________________在“備份〞窗口的“歡送〞選項(xiàng)卡中,有三個(gè)操作選項(xiàng)按鈕,請(qǐng)分別描述之:備份向?qū)В簜浞菹驅(qū)椭銊?chuàng)立程序和文件備份__________________________________________________________________________________復(fù)原向?qū)В簭?fù)原向?qū)椭銖膫浞輳?fù)原數(shù)據(jù)________________________________________________________________________________自動(dòng)系統(tǒng)恢復(fù)向?qū)В篴sr準(zhǔn)備向?qū)湍銊?chuàng)立一個(gè)包括兩局部的系統(tǒng)備份,即帶有_系統(tǒng)設(shè)置的軟盤和含有本地系統(tǒng)分區(qū)的備份的其他媒體_2)在“歡送〞選項(xiàng)卡中單擊“緊急修復(fù)磁盤〞按鈕,或者單擊“工具〞菜單中的“創(chuàng)立一張緊急修復(fù)軟盤〞命令。3)插入一張格式化好的1.44MB軟盤。4)選定“也將注冊(cè)表備份到修復(fù)目錄中〞復(fù)選框。5)單擊“確定〞按鈕完成操作。步驟8:磁盤清理。“磁盤清理〞有助于釋放硬盤驅(qū)動(dòng)器空間。“磁盤清理〞程序?qū)⑺阉黩?qū)動(dòng)器,然后顯示可以平安刪除的臨時(shí)文件、Internet緩存文件以及不需要的程序文件。可以指示刪除其中一些或所有的文件。為翻開“磁盤清理〞功能,可單擊“開始〞按鈕,單擊“程序〞菜單中的“附件〞-“系統(tǒng)工具〞-“磁盤清理〞命令。“磁盤清理〞搜索指定的驅(qū)動(dòng)器。在翻開和關(guān)閉文件或者使用Interne連接時(shí),系統(tǒng)會(huì)創(chuàng)立臨時(shí)文件,這些臨時(shí)性質(zhì)的文件有時(shí)會(huì)繼續(xù)保存在硬盤上。“磁盤清理〞程序可以了解這些文件采用的形式及其在磁盤上的位置,以便平安地刪除這些文件,釋放珍貴的磁盤空間。對(duì)C盤進(jìn)行磁盤清理。你的C盤上有2292940kb大小空間可以釋放。都是哪些內(nèi)容?已下載的程序文件,internet臨時(shí)文件,脫機(jī)網(wǎng)頁(yè),office安裝文件,回收站,安裝日志文件,臨時(shí)文件,壓縮舊文件,用于內(nèi)容索引程序的分類文件對(duì)C盤進(jìn)行磁盤碎片整理。步驟9:備份。為應(yīng)對(duì)故障事件,Windows包括了一個(gè)功能齊全的“備份〞程序,該程序使用了一些標(biāo)準(zhǔn)的備份設(shè)備。單擊“開始〞菜單中“系統(tǒng)工具〞的“備份〞命令,可運(yùn)行“備份〞實(shí)用程序。在“備份〞程序中包括了“備份向?qū)Ж暫汀皬?fù)原向?qū)Ж暎@些向?qū)Ш?jiǎn)化了備份和恢復(fù)Windows效勞器上存儲(chǔ)的重要數(shù)據(jù)的任務(wù)。用戶也可以在“備份〞選項(xiàng)卡和“復(fù)原〞選項(xiàng)卡中使用“備份〞和“復(fù)原〞程序的手工版本。·備份數(shù)據(jù)要想選定要備份的數(shù)據(jù),只需要在“備份〞窗口的左窗格中單擊要備份的文件或目錄旁邊的復(fù)選框即可。然后在窗口下方選擇備份目的地,命名備份媒體,最后單擊“開始備份〞按鈕。·恢復(fù)數(shù)據(jù)為“復(fù)原〞恢復(fù)數(shù)據(jù),先選定想要恢復(fù)的文件和文件夾,選定恢復(fù)備份文件和文件夾的位置,設(shè)置恢復(fù)選項(xiàng),然后單擊“開始復(fù)原〞進(jìn)行恢復(fù)操作。·方案作業(yè)除備份和恢復(fù)數(shù)據(jù)之外,Windows“備份〞程序還允許方案?jìng)浞葑鳂I(yè),以便在無人干預(yù)的情況下運(yùn)行。二、索引文件〔一〕、實(shí)驗(yàn)內(nèi)容磁盤文件是磁盤上存儲(chǔ)的重要信息。通過本實(shí)驗(yàn)?zāi)MDOS和UNIX文件的建立和使用情況,理解磁盤文件的物理結(jié)構(gòu)。〔二〕、實(shí)驗(yàn)?zāi)康拇疟P文件是計(jì)算機(jī)中的重要信息,不同文件系統(tǒng)提供不同的物理結(jié)構(gòu)。通過實(shí)驗(yàn),深入理解文件的物理結(jié)構(gòu)與存取方法之間的關(guān)系,以便更好地掌握文件系統(tǒng)的概念。〔三〕、實(shí)驗(yàn)題目〔一〕模擬設(shè)計(jì)MS-DOS操作系統(tǒng)中磁盤文件的存儲(chǔ)結(jié)構(gòu)提示:1、MS-DOS操作系統(tǒng)對(duì)磁盤文件的管理采用鏈接結(jié)構(gòu),將所有的鏈接指針集中在一起,存放在文件分配表〔FAT〕中,鏈接文件的第一個(gè)物理塊號(hào)登記在文件目錄中。其設(shè)計(jì)思想是:假定磁盤上共有N個(gè)物理塊可供使用,當(dāng)要存放文件時(shí),從FAT表中尋找其值為0的項(xiàng),用其對(duì)應(yīng)的物理塊存放文件信息,并把文件占用的各物理塊用鏈接指針登記在FAT表中。再把文件的第一個(gè)物理塊號(hào)登記在文件目錄中。文件目錄及FAT表如圖1所示。在MS-DOS操作系統(tǒng)中FAT表的前兩項(xiàng)〔000和001〕用來記錄磁盤的類型。而從第3項(xiàng)開始記錄磁盤的分配情況和文件各物理塊的鏈接情況。在FAT表中第3項(xiàng)為0,表示對(duì)應(yīng)的第3塊空閑。從圖1種還知道文件A的各記錄依次存放在第2、4、15、16、50等6個(gè)物理塊中。第50塊中的指針為FFF,表示文件A結(jié)束。文件B的各記錄依次存放在第7、10、20等3個(gè)物理塊中。第20塊中的指針為FFF。2、假定磁盤存儲(chǔ)空間共有100個(gè)物理塊,設(shè)計(jì)一個(gè)文件分配表。為了簡(jiǎn)單,文件分配表可用一個(gè)數(shù)組定義,其中每一個(gè)元素與一個(gè)物理塊對(duì)應(yīng)。當(dāng)?shù)趇個(gè)元素為0時(shí),表示第i塊空閑;當(dāng)?shù)趇個(gè)元素既不為0也不為FFF時(shí),其值表示該文件的下一物理塊號(hào)。另外再設(shè)一個(gè)空閑塊總數(shù)變量記錄系統(tǒng)還有的空閑塊數(shù)。3、為簡(jiǎn)單,假定一個(gè)物理塊只存放一個(gè)邏輯記錄,要求設(shè)計(jì)一個(gè)程序,把文件的邏輯記錄結(jié)構(gòu)轉(zhuǎn)換成MSDOS的鏈接結(jié)構(gòu)。當(dāng)用戶要求將已在內(nèi)存的文件保存在磁盤上時(shí),給出文件名及文件的記錄個(gè)數(shù),系統(tǒng)應(yīng)能在磁盤上正確地保存文件。或當(dāng)用戶要求給指定文件增加記錄時(shí),也應(yīng)正確地實(shí)現(xiàn),并插在指定記錄之后。4、為了正確地執(zhí)行模擬程序,可用鍵盤模擬輸入用戶的要求。輸入格式為:write〔文件名,記錄個(gè)數(shù)〕或insert〔文件名,邏輯記錄號(hào)〕5、模擬算法框圖見圖2。還有空閑塊嗎?還有空閑塊嗎?開始接收來自用戶的鍵盤輸入查文件目錄查文件目錄有同名文件嗎?有該文件嗎?錯(cuò)誤返回允許覆蓋寫嗎?還有足夠多空閑塊嗎?釋放文件占用塊返回按文件所需塊數(shù)查FAT表k=分配的空間塊號(hào)j=要插入的記錄號(hào)將記錄j寫入k空閑塊中修改鏈接指針將該記錄插入返回返回在文件目錄中找一空表目填入文件名和文件占用的第一個(gè)物理塊號(hào)按文件的各物理塊在FAT表中形成鏈接字無空閑塊可用,無法插入。返回圖2模擬算法框圖YYYYNNNNN寫插入Y〔二〕模擬設(shè)計(jì)便于直接存取的索引文件結(jié)構(gòu)提示:1、為了便于用戶直接存取文件的各個(gè)邏輯記錄,在MSDOS中通過文件目錄,再沿著鏈查找FAT表,便可直接找到指定邏輯記錄對(duì)應(yīng)的物理塊。在小型機(jī)或更高級(jí)的文件系統(tǒng)中,直接存取文件的方法是為每一個(gè)文件建立一張索引表,指出個(gè)邏輯記錄與物理塊的對(duì)應(yīng)關(guān)系。最簡(jiǎn)單的形式是:一個(gè)邏輯記錄對(duì)應(yīng)一個(gè)物理塊。文件目錄與索引表的關(guān)系如圖3所示。2、通常索引表按邏輯記錄順序建立,這樣既有利于順序存取,又利于直接存取。為了標(biāo)識(shí)哪些記錄已經(jīng)建立,哪些記錄還沒有建立,故在索引表中增設(shè)一個(gè)標(biāo)志位。寫文件或插入一個(gè)記錄的過程是尋找一個(gè)空閑物理塊,然后將其填入索引表對(duì)應(yīng)項(xiàng)中。其建立過程同第一題,即write〔文件名,記錄個(gè)數(shù)〕和insert〔文件名,邏輯記錄號(hào)〕。3、要求用位示圖給出磁盤的使用情況,并要求模擬程序執(zhí)行過程的每一步都能顯示文件目錄、位示圖、索引表。模擬程序執(zhí)行框圖如圖4所示。有關(guān)插入一個(gè)記錄的框圖請(qǐng)參考圖2的相關(guān)局部。允許復(fù)寫嗎?允許復(fù)寫嗎?錯(cuò)誤返回NY開始接收用戶請(qǐng)求命令按文件名查文件目錄命令錯(cuò)誤有該文件嗎?是write/insert命令嗎?為該文件分配索引表返回圖4模擬程序執(zhí)行框圖YYYNNN索引表中有該記錄嗎?有空閑塊嗎?將該塊填入索引表中顯示:無空閑塊可用,操作失敗修改指定記錄顯示各有關(guān)結(jié)構(gòu)NNYY四、程序例如/*磁盤索引文件的源程序*/#include<stdio.h>#include<stdlib.h>/*下面是文件系統(tǒng)定義的數(shù)據(jù)結(jié)構(gòu)*/structindex /*文件索引表的定義*/{ intlr[32]; /*邏輯塊號(hào)數(shù)組*/ intpr[32]; /*物理塊號(hào)數(shù)組*/ charst[32]; /*狀態(tài)數(shù)組*/}*wq;structlist{ charnames[32]; /*文件名*/ intsize[32]; /*文件大小*/ structindex*p[32]; /*文件的索引表地址*/}*HEAD;structque{ charname; intsize; structque*next;}*job,*top,*head;inti,j,ly,li;charbb;intN=0; /*N代表系統(tǒng)的總文件數(shù)*/intM=32; /*M代表系統(tǒng)中空閑磁盤塊數(shù)*/intJ[4][8]; /*位示圖數(shù)組*/FILE*e;intjobs=0;voidrun(){ intx,y,z; intFIND=0; for(x=0;x<N;x++) if(HEAD->names[x]==top->next->name) FIND=1; if(FIND==0) { if(top->next->size<=M) { ly=0; M-=top->next->size; HEAD->names[N]=top->next->name; HEAD->size[N]=top->next->size; wq=(structindex*)malloc(sizeof(structindex));HEAD->p[N]=wq; N++; for(z=0;z<32;z++) { wq->lr[z]=z; wq->pr[z]=0;wq->st[z]='N'; } for(j=0;(j<4)&&(ly<top->next->size);j++) for(i=0;(i<8)&&(ly<top->next->size);i++) { if(J[j][i]==0) { li=j*8+i; wq->pr[ly]=li; wq->st[ly]='Y'; ly++; J[j][i]=1; } } } else { fprintf(e,"\nTherearenofreeblocksinthememorynow!\n"); fprintf(e,"File%cmustwait!\n",top->next->name); } } else { fprintf(e,"\n...File%chasbeenloadedinthesystem!....\n",top->next->name); } top->next=top->next->next; fprintf(e,"...Thistime,thefiledirectory:--\n"); fprintf(e,"NAMEINDEX_ADDRESS\n"); for(x=0;x<N;x++) fprintf(e,"%c%x\n",HEAD->names[x],HEAD->p[x]); for(x=0;x<N;x++) { fprintf(e,"http:///////TheindexofFILE%c:///////\n",HEAD->names[x]); fprintf(e,"LOGIC_NUMBERPHYSICS_NUMBERFLAG\n"); for(y=0;y<HEAD->size[x];y++) fprintf(e,"%d%d%c\n",HEAD->p[x]->lr[y],HEAD->p[x]->pr[y],HEAD->p[x]->st[y]); } fprintf(e,"Thistime,thebitmappinggraph:\n"); for(j=0;j<4;j++) { fprintf(e,""); for(i=0;i<8;i++)fprintf(e,"%d",J[j][i]);fprintf(e,"\n"); }}voidmain(){ intk; e=fopen("results.txt","w"); for(j=0;j<4;j++) for(i=0;i<8;i++) J[j][i]=0; HEAD=(structlist*)malloc(sizeof(structli

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論