实验5索引文件及文件系统.docx
《实验5索引文件及文件系统.docx》由会员分享,可在线阅读,更多相关《实验5索引文件及文件系统.docx(14页珍藏版)》请在冰点文库上搜索。
![实验5索引文件及文件系统.docx](https://file1.bingdoc.com/fileroot1/2023-6/14/f292cab7-d0a4-4e45-900e-cfc46ba0cfa2/f292cab7-d0a4-4e45-900e-cfc46ba0cfa21.gif)
实验5索引文件及文件系统
实验5索引文件及文件系统
实验5索引文件及文件系统
一、优化Windows磁盘子系统
1.选择文件系统
文件系统决定了操作系统能够对磁盘进行的处理。
Windows支持的文件系统主要有:
1)文件分配表(FileAllocationTable,FAT)文件系统(FAT16)2)保护模式FAT文件系统(FAT32)3)WindowsNT文件系统(NTFS)
FAT文件系统是早期文件系统之一,也是MS-DOS使用的原始文件系统。
它将文件信息储存在位于卷标开头处的文件分配表中,并保存两份文件分配表,以防其中的一个遭到破坏,见图1所示。
FAT文件系统最大的优点是MS-DOS、Windows9x甚至OS/2都能访问FAT卷标;而其最大的弱点是随着FAT卷标尺寸的增长,最小的簇尺寸也随之增长。
对于大于512MB的硬盘而言,最小的簇尺寸为16KB;对于大于2GB的硬盘,最小的簇尺寸为64KB。
这就导致磁盘空间的极大浪费,因为一个文件必须占用整数个簇。
因此,1KB的文件在2GB的硬盘上将占用64KB的磁盘空间。
FAT文件系统不支持尺寸大于4GB的卷标。
BIOS文件文件分配根文件和目
图1FAT文件系统的结构
FAT32文件系统通过提供长文件名的支持来扩展FAT文件系统,并与FAT16兼容。
FAT(16和32)文件系统是支持可移动媒体(例如软盘)上的惟一的文件系统。
WindowsNT文件系统(NTFS)包括了FAT文件系统的所有功能,同时又提供了对高级文件系统特征(例如安全模式、压缩和加密)的支持。
它是为在大磁盘上有效地完成文件操作而设计的。
与FAT和保护模式FAT文件系统不同,它的最小簇尺寸不超过4KB。
但是,NTFS卷标只能为WindowsNT、2000和XP,windows7,windows8等以上操作系统所访问。
例如:
Windows提供的新特征(NTFS)使文件系统更安全、更可靠,比以往的Windows版本更好地支持分布式计算。
此外,Windows支持的文件系统还有:
CDFS:
光盘文件系统(CompactDiscFileSystem)用于光盘的文件存储。
UDF:
通用磁盘格式(UniversalDiskFormat)用于DVD的文件存储。
在文件系统中,FAT16、FAT32和NTFS这三个文件系统对磁盘子系统的性能影响最大。
而事实上,选择NTFS之外的任何文件系统都只有两个理由,即:
1)可双引导系统2)小于400MB的卷
如果系统不是这两种情况,那么NTFS就应该是所选择的文件系统,NTFS将提供更好的
1
性能、可靠性和安全性。
2.EFS加密文件系统
EFS(EncryptingFileSystem)实际上是NTFS的一个特性,它提供了核心文件加密技术,主要用来在NTFS文件系统卷上存储加密文件。
在加密了文件或文件夹之后,使用加密文件和文件夹的方法与使用其他任何文件和文件夹相同。
即,加密对于加密该文件的用户来说是透明的,这意味着不必在使用加密文件之前将其解密,可以像平常一样打开和更改文件。
但是,如果侵入者试图打开、复制、移动或重命名加密的文件或文件夹,那么他将接收到一条拒绝访问的消息。
像设置其他任何属性(如只读、压缩或隐藏)一样,可以通过设置文件夹和文件的加密属性来对文件夹或文件加密或解密。
如果加密文件夹,那么在加密文件夹中创建的所有文件和子文件夹都将加密。
因此,推荐在文件夹一级上加密。
使用EFS保护文档的安全,可以防止侵入者获得对存储的敏感数据的XX的物理访问。
EFS带来的附加安全性是以性能为代价的。
当操作系统对所访问的加密文件进行加密或解密时,文件传输将增加一点延迟。
影响系统性能的程度将具体取决于执行加密或解密操作的系统的处理能力。
对于在本地驱动器上包含加密文件的现代工作站来说,因为这些系统通常不受处理器限制,所以影响通常可以忽略不计。
这种影响对处理器上的额外负载可能不到1%。
对于使用低端处理器的早期工作站来说,这种额外负载可能大约有处理器时间的10%。
对于服务器来说,负载可能会很重。
在服务器上,可能同时发生许多不同的文件访问。
如果其中许多文件都使用EFS来保护,那么处理器上的负载可能是处理器总负载的10-25%。
对于包含大量加密文件(或非常大的加密文件)的文件服务器而言,如果额外的处理开销会使服务器负担过重,则应该添加处理器或者升级现有的处理器。
3.压缩
Windows支持在NTFS卷上压缩文件和目录。
因为任何应用程序都可以读写在NTFS卷上压缩的文件而不需要首先由其他应用程序解压缩,所以压缩对用户和应用程序来说是完全透明的。
在读取文件时会自动解压缩,在关闭或保存文件时再次压缩。
只有WindowsNTFS驱动程序才能读取数据的压缩形式。
当应用程序或操作系统命令请求访问文件时,NTFS在使文件可用之前首先对文件解压缩。
当文件被解压缩、复制,然后重新压缩为一个新文件时,压缩可能导致性能降低,即使在同一台计算机中复制文件也是如此。
对于网络传输,文件将被解压缩并以完整的大小传输,这会影响带宽和速度。
4.磁盘配额
Windows包括了一些用于存储管理的新技术,这些技术使管理员及最终用户可以获得更好的整体数据存储体验。
通过使用一些预防性磁盘管理原则,可以合理安排网络卷上存储的数据量。
磁盘配额追踪和控制卷的磁盘空间使用情况。
当网络磁盘达到其容量后,磁盘和服务器的性能将出现严重的问题。
除非对最终用户施加了磁盘限制,否则当用户决定将他们的所有硬盘驱动器数据都转储到一个目录中,或者他们认为网络是存储他们下载的mp3文件的最佳位置时,服务器磁盘可能很快就会耗尽。
使用Windows磁盘配额系统,管理员可以配置Windows的以下特性:
1)防止进一步使用磁盘空间,并在用户超出指定的磁盘空间限制时记录一个事件。
2
2)在用户超出指定的磁盘空间警告级别时记录事件。
在启用磁盘配额时,可以设置两个值:
磁盘配额限制和磁盘配额警告级别。
配额限制指定允许用户使用的磁盘空间,而警告级别指定用户正接近其配额限制的时刻。
例如,可以将用户的磁盘配额限制设置为50MB,将磁盘配额警告级别设置为45MB。
在这种情况下,用户可以在卷上存储不多于50MB的文件。
如果用户在卷上存储的文件超过了45MB,则可以让磁盘配额系统记录一个系统事件。
实验目的
通过对Windows提供的文件与文件夹加密、磁盘配额管理、创建紧急修复磁盘、进行磁盘清理、执行备份操作、使用CHKDSK维护文件完整性和整理磁盘碎片等功能进行操作:
1)熟悉Windows的文件系统。
2)明确应用NTFS文件系统的积极意义。
3)掌握优化Windows磁盘子系统的基本方法。
4)进一步理解现代操作系统文件管理知识。
工具/准备工作
在开始本实验之前,请回顾教科书的相关内容。
需要准备一台运行Windows操作系统的计算机。
实验内容与步骤
步骤1:
阅读“背景知识”,请回答:
1)Windows支持哪三种主要的文件系统:
a._1)文件分配表(FileAllocationTable,FAT)文件系统(FAT16)b2)保护模式FAT文件系统(FAT32)c3)WindowsNT文件系统(NTFS)
2)NTFS文件系统是什么含义,只能用于哪些操作系统环境,主要特点是什么?
一种能够提供各种FAT版本所不具备的性能、安全性、可靠性与先进特性的高级文件系统。
只能应用于纯32位及以上操作系统,比如WindowsNT,XP或更高。
Windows95、98则不行。
在NTFS文件系统中,对于不同配置的硬件,实际的文件大小从4GB到64GB。
由于NTFS文件系统的开销较大,使用的最小分区应为50MB
步骤2:
登录进入Windows。
步骤3:
加密文件或文件夹。
为加密文件或文件夹,可按照以下步骤进行:
1)在“Windows资源管理器”中,选择NTFS格式的分区,右键单击想要加密的文件或文件夹,然后单击“属性”命令。
2)在“常规”选项卡上,单击“高级”按钮。
在“高级属性”对话框中,可以设置的文件属性有:
存档和编制文件夹______________________________压缩或加密属性________________________________________
3
________________________________________________________________________________________________________________________________________3)选定“加密内容以便保护数据”复选框。
4)单击“确定”按钮完成操作。
如果你启用来宾用户或其他用户,那么他们看不到这个文件夹中的内容,达到了加密的目的。
其他加密方法:
1)把文件或文件夹压缩成winrar的加密压缩文件夹,步骤是,右键点击要压缩的文件-添加到压缩文件-高级-设置密码-然后输入密码后确定(其他选项为默认)
2)word加密,自己设置步骤4:
访问RSM服务。
Windowsxp还通过一些辅助组件提供了用于额外存储的选项。
可移动存储管理(RemovableStorageManagement,RSM)就是一项用于管理可移动媒体(例如磁带和光盘)以及存储设备(库)的服务。
RSM允许应用程序访问和共享相同的媒体资源。
RSM使用户可以很容易地追踪可移动存储媒体(例如磁带和光盘),并管理包含它们的库(例如转换器和光盘机)。
为访问RSM服务,可按以下步骤操作:
1)在“控制面板”中双击“管理工具”图标,再双击其中的“计算机管理”图标,打开本地“计算机管理”窗口。
2)在左窗格右键单击控制树中的“可移动存储”。
“可移动存储”可以管理和设置的项目有:
a.__可移动存储____________
b.__存储设备库的服务_____________________
c.___追踪可移动存储媒体_______________________________d.___管理包含他们的库____________________________步骤5:
分配磁盘配额。
磁盘配额可追踪和控制卷的磁盘空间使用情况。
为分配磁盘配额,可按照以下步骤进行:
1)打开“我的电脑”。
你使用的电脑的各分区的文件类型分别是:
C:
__NTFS_
D:
__NTFS_________E:
___NTFS__________
2)选择NTFS格式的某个分区,右键单击想要指定默认配额位的卷,然后单击“属性”命令。
3)在“属性“对话框中,选定”配额“选项卡。
4)在“属性“对话框的”配额“选项卡上,选定“启用配额管理”。
5)选定“将磁盘空间限制为”选项,这将激活磁盘空间限制和警告级别区域。
6)在文本框中键入数值,从下拉列表中选定一个磁盘空间限制单位,然后单击“确定”。
可以使用小数值(例如20.5MB)。
步骤6:
添加新的磁盘配额项
在启用卷的磁盘配额时,将从这一时刻开始自动追踪新用户的卷使用情况。
为了对现有的卷用户应用磁盘配额,可以在“配额项”对话框中添加新的配额项。
操作步骤如下:
1)在“我的电脑”窗口中,右键单击想要添加新的磁盘配额项的卷,然后单击“属性”命令。
2)在“属性”对话框中,选定“配额”选项卡。
4
3)在“配额”选项卡上,单击“配额项”按钮。
4)在“配额项目”窗口的“配额”菜单中单击“新建配额项”命令。
5)在“选择用户”对话框中,单击“查找范围”列表框,选定想要从中选择用户名的域名或工作组名称。
单击“添加”,然后单击“确定”按钮。
6)在“添加新配额项”对话框中,可以对所选用户设置的配额限制项目有:
a._不限制磁盘使用__________________________________________b._将磁盘空间限制为_______________________________________c.__将警告等级设为____________________________________________7)单击“确定”按钮完成操作。
步骤7:
创建紧急修复磁盘(ERD)
ERD包含系统的注册表文件的备份,这就可以恢复被破坏的Windows系统文件。
虽然只使用ERD不能重新引导系统,但ERD可以通过更正被破坏的系统文件来帮助Windows自行引导。
创建ERD只需要几分钟时间,而潜在的回报却是巨大的。
因为,如果出现引导失败的情况,ERD可以大大减少停机时间。
要想创建紧急修复磁盘,可执行以下操作:
1)单击“开始”按钮,在“程序”菜单中单击“附件”-“系统工具”-“备份”命令,以运行“备份”实用程序。
“备份”窗口中有四个选项卡,分别是:
a.__欢迎_________________________________________b.___备份________________________________________
c.____还原和管理媒体_______________________________________d._____计划作业______________________________________
在“备份”窗口的“欢迎”选项卡中,有三个操作选项按钮,请分别描述之:
备份向导:
备份向导帮助你创建程序和文件备份__________
________________________________________________________________________还原向导:
还原向导帮助你从备份还原数据________
________________________________________________________________________自动系统恢复向导:
asr准备向导帮你创建一个包括两部分的系统备份,即带有_系统设置的软盘和含有本地系统分区的备份的其他媒体_
2)在“欢迎”选项卡中单击“紧急修复磁盘”按钮,或者单击“工具”菜单中的“创建一张紧急修复软盘”命令。
3)插入一张格式化好的1.44MB软盘。
4)选定“也将注册表备份到修复目录中”复选框。
5)单击“确定”按钮完成操作。
步骤8:
磁盘清理。
“磁盘清理”有助于释放硬盘驱动器空间。
“磁盘清理”程序将搜索驱动器,然后显示可以安全删除的临时文件、Internet缓存文件以及不需要的程序文件。
可以指示删除其中一些或所有的文件。
为打开“磁盘清理”功能,可单击“开始”按钮,单击“程序”菜单中的“附件”-“系统工具”-“磁盘清理”命令。
“磁盘清理”搜索指定的驱动器。
在打开和关闭文件或者使用Interne连接时,系统会创建临时文件,这些临时性质的文件有时会继续保存在硬盘上。
“磁盘清理”程序可以了解这些文件采用的形式及其在磁盘上的位置,以便安全地删除这些文件,释放宝贵的磁盘空间。
对C盘进行磁盘清理。
你的C盘上有***-*****kb大小空间可以释放。
都是哪些内容?
已下载的程序文件,internet临时文件,脱机网页,office安装文件,回收站,安装日志文件,临
5
时文件,压缩旧文件,用于内容索引程序的分类文件
对C盘进行磁盘碎片整理。
步骤9:
备份。
为应对故障事件,Windows包括了一个功能齐全的“备份”程序,该程序使用了一些标准的备份设备。
单击“开始”菜单中“系统工具”的“备份”命令,可运行“备份”实用程序。
在“备份”程序中包括了“备份向导”和“还原向导”,这些向导简化了备份和恢复Windows服务器上存储的重要数据的任务。
用户也可以在“备份”选项卡和“还原”选项卡中使用“备份”和“还原”程序的手工版本。
・备份数据
要想选定要备份的数据,只需要在“备份”窗口的左窗格中单击要备份的文件或目录旁边的复选框即可。
然后在窗口下方选择备份目的地,命名备份媒体,最后单击“开始备份”按钮。
・恢复数据
为“还原”恢复数据,先选定想要恢复的文件和文件夹,选定恢复备份文件和文件夹的位置,设置恢复选项,然后单击“开始还原”进行恢复操作。
・计划作业
除备份和恢复数据之外,Windows“备份”程序还允许计划备份作业,以便在无人干预的情况下运行。
二、索引文件
(一)、实验内容
磁盘文件是磁盘上存储的重要信息。
通过本实验模拟DOS和UNIX文件的建立和使用情况,理解磁盘文件的物理结构。
(二)、实验目的
磁盘文件是计算机中的重要信息,不同文件系统提供不同的物理结构。
通过实验,深入理解文件的物理结构与存取方法之间的关系,以便更好地掌握文件系统的概念。
(三)、实验题目
(一)模拟设计MS-DOS操作系统中磁盘文件的存储结构提示:
1、MS-DOS操作系统对磁盘文件的管理采用链接结构,将所有的链接指针集中在一起,存放在文件分配表(FAT)中,链接文件的第一个物理块号登记在文件目录中。
其设计思想是:
假定磁盘上共有N个物理块可供使用,当要存放文件时,从FAT表中寻找其值为0的项,用
6
其对应的物理块存放文件信息,并把文件占用的各物理块用链接指针登记在FAT表中。
再把文件的第一个物理块号登记在文件目录中。
文件目录及FAT表如图1所示。
在MS-DOS操作系统中FAT表的前两项(000和001)用来记录磁盘的类型。
而从第3项开始记录磁盘的分配情况和文件各物理块的链接情况。
在FAT表中第3项为0,表示对应的第3块空闲。
从图1种还知道文件A的各记录依次存放在第2、4、15、16、50等6个物理块中。
第50块中的指针为FFF,表示文件A结束。
文件B的各记录依次存放在第7、10、20等3个物理块中。
第20块中的指针为FFF。
2、假定磁盘存储空间共有100个物理块,设计一个文件分配表。
为了简单,文件分配表可用一个数组定义,其中每一个元素与一个物理块对应。
当第i个元素为0时,表示第i块空闲;当第i个元素既不为0也不为FFF时,其值表示该文件的下一物理块号。
另外再设一个空闲块总数变量记录系统还有的空闲块数。
3、为简单,假定一个物理块只存放一个逻辑记录,要求设计一个程序,把文件的逻辑记录结构转换成MSDOS的链接结构。
当用户要求将已在内存的文件保存在磁盘上时,给出文件名及文件的记录个数,系统应能在磁盘上正确地保存文件。
或当用户要求给指定文件增加记录时,也应正确地实现,并插在指定记录之后。
4、为了正确地执行模拟程序,可用键盘模拟输入用户的要求。
输入格式为:
write(文件名,记录个数)或
insert(文件名,逻辑记录号)5、模拟算法框图见图2。
7
(二)模拟设计便于直接存取的索引文件结构提示:
8
开始接收来自用户的键盘输入写插入查文件目录错误返回有同名文件吗?
Y允许覆盖写吗?
Y释放文件占用块N还有足够多空闲块吗?
NNN无空闲块可用,无法插入。
返回查文件目录有该文件吗?
Y还有空闲块吗?
Yk=分配的空间块号N返回Y按文件所需块数查FAT表j=要插入的记录号将记录j写入k空闲块中在文件目录中找一空表目填入文件名和文件占用的第一个物理块号修改链接指针将该记录插入返回按文件的各物理块在FAT表中形成链接字返回图2模拟算法框图
1、为了便于用户直接存取文件的各个逻辑记录,在MSDOS中通过文件目录,再沿着链查找FAT表,便可直接找到指定逻辑记录对应的物理块。
在小型机或更高级的文件系统中,直接存取文件的方法是为每一个文件建立一张索引表,指出个逻辑记录与物理块的对应关系。
最简单的形式是:
一个逻辑记录对应一个物理块。
文件目录与索引表的关系如图3所示。
2、通常索引表按逻辑记录顺序建立,这样既有利于顺序存取,又利于直接存取。
为了标识哪些记录已经建立,哪些记录还没有建立,故在索引表中增设一个标志位。
写文件或插入一个记录的过程是寻找一个空闲物理块,然后将其填入索引表对应项中。
其建立过程同第一题,即write(文件名,记录个数)和insert(文件名,逻辑记录号)。
3、要求用位示图给出磁盘的使用情况,并要求模拟程序执行过程的每一步都能显示文件目录、位示图、索引表。
模拟程序执行框图如图4所示。
有关插入一个记录的框图请参考图2的相关部分。
9
开始接收用户请求命令是write/insertN命令吗?
命令错误Y按文件名查文件目录N有该文件吗?
为该文件分配索引表YN索引表中有该记录吗?
YNN允许复写吗?
有空闲块吗?
YNY显示:
无空修改指定记录错误返回闲块可用,将该块填入操作失败索引表中显示各有关结构返回图4模拟程序执行框图
四、程序示例10
/*磁盘索引文件的源程序*/#include#include
/*下面是文件系统定义的数据结构*/structindex/*文件索引表的定义*/{
intlr;/*逻辑块号数组*/intpr;/*物理块号数组*/charst;/*状态数组*/}*wq;structlist{
charnames;/*文件名*/intsize;/*文件大小*/
structindex*p;/*文件的索引表地址*/}*HEAD;structque{
charname;intsize;
structque*next;}*job,*top,*head;inti,j,ly,li;charbb;intN=0;/*N代表系统的总文件数*/intM=32;/*M代表系统中空闲磁盘块数*/intJ;/*位示图数组*/FILE*e;intjobs=0;voidrun(){
intx,y,z;intFIND=0;
for(x=0;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;
11
N++;for(z=0;zz++){wq-lr[z]=z;wq-pr[z]=0;wq-st[z]='N';}for(j=0;(j4)(lynext-size);j++)for(i=0;(i8)(lynext-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,\fprintf(