《第8章 文件管理.ppt》由会员分享,可在线阅读,更多相关《第8章 文件管理.ppt(57页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第第8章章 文件管理文件管理 文件概念文件概念 文件结构和文件系统文件结构和文件系统 文件系统实现文件系统实现 目录目录 文件系统的可靠性文件系统的可靠性本章要点本章要点 保护机制保护机制 文件引入目的文件引入目的 信息管理的需要信息管理的需要在用户面前提供一种规格化的机制,方便在用户面前提供一种规格化的机制,方便用户对文件的存取、提高效率。用户对文件的存取、提高效率。操作系统本身需要操作系统本身需要操作系统本身也不是常驻内存的,也有大操作系统本身也不是常驻内存的,也有大量的信息需要存于外存。量的信息需要存于外存。8.1文件概念文件概念 文件:具有文件名的一组相关信息的集合。文件的逻辑结构有结
2、构文件无结构文件。文件的定义 文件类型文件类型 按用途分系统文件用户文件库文件 按性质分普通文件目录文件特殊文件 按存取属性分可执行文件只读文件读/写文件 按文件中的数据形式分源文件目标文件可执行文件 按文件的逻辑结构分有结构文件无结构文件 按文件的物理结构分连续文件链接文件索引文件 文件的属性文件的属性即描述文件的元信息,常用的文件属性有:文件名 文件的内部标识符 文件的物理位置 文件的拥有者 文件的存取属性 文件的类型 文件的长度 文件时间文件属性文件属性 文件的操作文件的操作 对文件的操作创建文件删除文件打开文件设置文件的读、写位置读文件写文件关闭文件截断文件得到文件的属性设置文件的属性
3、 对记录的操作检索所有记录检索单个记录插入一个记录修改一个记录删除一个记录 顺序访问:文件最为简单的访问方式是顺序访问。文件信息按顺序,一个记录接着一个记录地加以处理。直接访问:也称对文件的随机存取,它是磁盘文件的访问模式。一般每次存取的单位是固定的,称为块。文件访问方式文件访问方式8.2文件结构和文件系统文件结构和文件系统 文件结构文件结构无结构文件无结构文件有结构文件有结构文件树形文件树形文件顺序文件顺序文件索引文件索引文件索引顺序文件索引顺序文件 有结构文件的组织有结构文件的组织 顺序文件顺序文件顺序文件顺序文件(SequentialFile)是最常用的一种文件组织形式。在这种文件中,每
4、个记录都使用一种固定的格式。所有记录都具有相同的长度。并且由相同数目、长度固定的数据项组成。索引文件索引文件索引文件索引文件(IndexFile)为每一种可能成为搜索条件的数据项建立一张索引表。对主文件中的每个记录,在索引表中有一相应项,用于存储该记录在主文件中的位置。索引顺序文件索引顺序文件索引顺序文件索引顺序文件(IndexSequentialFile)是顺序文件和索引文件相结合的产物。它也要为顺序文件建立一张索引表,不同的是,它将顺序文件中的所有记录分成若干个组,在索引表中,为每个组建立一个索引项。所谓文件系统文件系统是指含有大量的文件及其属性说明、对文件进行操纵和管理的软件,以及向用户
5、提供的使用文件的接口的集合。操作有关文件操作过程实体文件本身接口用户使用文件的接口文件系统文件系统 文件系统软件结构文件系统软件结构 文件管理功能文件管理功能目录的功能目录的功能 实现实现“按名存取按名存取”提高对目录的检索速度提高对目录的检索速度 允许文件同名允许文件同名 文件共享文件共享如何管理好我的文件如何管理好我的文件如何管理好我的文件如何管理好我的文件?创创创创 意意意意8.3目录目录 文件控制块(文件控制块(FCB):描述和控制文件的数据结构。描述和控制文件的数据结构。目录:目录:FCB的有序集合即文件目录。的有序集合即文件目录。索引结点索引结点:将文件名和文件描述信息分开,文件描
6、述信将文件名和文件描述信息分开,文件描述信息单独形成一个称为索引结点的数据结构,息单独形成一个称为索引结点的数据结构,简称简称i结点。(结点。(UNIX系统使用)系统使用)学图书馆,做图书卡片!学图书馆,做图书卡片!目录目录=文件名文件名+索引结点索引结点 文件控制块和索引节点文件控制块和索引节点 基本信息基本信息文件名文件名文件物理位置:存放文件的设备名、盘块号、文件所占块数文件物理位置:存放文件的设备名、盘块号、文件所占块数文件逻辑结构:文件逻辑结构:文件物理结构:文件物理结构:存取控制信息存取控制信息文件主的存取权限文件主的存取权限核准用户的存取权限核准用户的存取权限一般用户的存取权限一
7、般用户的存取权限 用户使用信息用户使用信息文件的建立日期和时间文件的建立日期和时间文件的修改日期和时间文件的修改日期和时间当前使用信息:打开该文件的进程数等当前使用信息:打开该文件的进程数等 文件控制块的内容文件控制块的内容卡片上写哪些内容!卡片上写哪些内容!索引结点索引结点 磁盘索引结点磁盘索引结点文件主表示文件类型文件存取权限文件物理地址文件长度文件连接计数文件存取时间 内存索引结点内存索引结点索引结点编号状态访问计数文件所在设备的逻辑设备号链接指针 磁盘索引结点与内存索引结点的关系磁盘索引结点与内存索引结点的关系当文件打开时,由磁盘索引结点生成内存索引结点。当用户访问一已打开的文件时,只
8、需访问内存索引结点,因此提高了访问速度。快点儿!单级目录单级目录 单级目录是最简单的一个目录形式,整个系统建立一张目录表,为每个文件分配一个目录项。缺点:查找速度慢不允许重名不便于共享 用户码:占1个字节,它指出文件的所有者。文件名:占用8个字节,CP/M系统允许文件名的最大长度是8个字符。文件类型:也称为扩展名。它占用3个字节。范围:占用1个字节。多于16个盘块的文件,占用多个目录项。范围指出该目录项是某个文件的第几个目录项。块数:占用2个字节。它指出文件占用了16个盘块中的多少个盘块。实例实例CP/M目录结构目录结构 两级目录两级目录 目录分两级整个系统建立一个主文件目录MFD,其中每个用
9、户文件目录占一项。为每个用户建立一个目录UFD,用户可根据自己的需要建立文件,并且在UFD目录中填一项。优点:提高了文件检索速度允许文件重名 缺点:用户之间不容易实现文件共享。树型目录树型目录 树型目录是两级目录的推广主目录为根结点。数据文件为叶子结点。其他各级目录均为树的结点。MS-DOS树型目录结构树型目录结构 文件名:占8个字节,即文件名的长度不能超过8个字符。扩展名:占3个字节。属性:占1个字节,其每一位的意义如下:时间:占2个字节,记录文件建立或最后修改时间。日期:占2个字节,记录文件建立或最后修改日期。第一块的块号:占2个字节,文件的第一块的块号。长度:占4个字节,文件长度以字节为
10、单位。查找查找/usr/ast/mbox 目录的查询目录的查询文件X是一个共享文件,目录C11中包含了文件的物理地址,用户B要共享X,则必须将文件X的物理地址拷贝到目录B2中去。但如果以后用户B向文件X中添加内容,也必然要相应地增加新的盘块。而这些新增加的盘块,也只会出现在用户B的目录B2中。对用户C来说,是不可见的。X为共享文件借你文件用用!行吗借你文件用用!行吗借你文件用用!行吗借你文件用用!行吗?你新写的东西呢?你新写的东西呢?文件的共享文件的共享 基于索引结点的共享方式基于索引结点的共享方式 这样可以看见你的新作了!这样可以看见你的新作了!存在的问题当用户C不再需要此文件时,不可删除之
11、。否则造成用户B的指针悬空。但如果用户C不删除此文件,等用户B继续使用,对于用户C,不合理。基于索引结点的共享方式基于索引结点的共享方式 利用符号链接的文件共享利用符号链接的文件共享 文件系统的含义:文件系统的含义:文件系统一词在不同的情况下有不同的含义。一般而言,对文件系统的定义是指在操作系统内部用来对文件进行控制和管理的一套机制及其实现。而在具体应用和实现上,文件系统又指存储介质按照一种特定的文件格式加以构造。例如,Linux的文件系统是ext2,Windows2000/XP的文件系统是NTFS。分区与文件系统:分区与文件系统:分区分区就是把硬盘分成几部分,以便于用户使用。硬盘被分区之后,
12、可以分别对每个分区进行高级格式化,即在该分区上创建文件系统文件系统,如FAT32、NTFS等,文件系统也称“卷”。我的文件放哪去了我的文件放哪去了我的文件放哪去了我的文件放哪去了?8.4文件系统实现文件系统实现文件系统的格式文件系统的格式 实线表示一个磁盘的数据读取速率与块的大小的关系实线表示一个磁盘的数据读取速率与块的大小的关系 虚线表示磁盘空间的利用率与块的大小的关系虚线表示磁盘空间的利用率与块的大小的关系。块大小128B256B 512B1KB2KB4KB8KB我的文件占多大地儿我的文件占多大地儿我的文件占多大地儿我的文件占多大地儿?文件分配单位文件分配单位文件的存储结构文件的存储结构
13、连续分配连续分配 链接分配链接分配 索引分配索引分配 混合分配混合分配外存分配算法外存分配算法大文件怎么放大文件怎么放大文件怎么放大文件怎么放?连续分配要求为每个文件分配一组相邻接的盘块。连续分配要求为每个文件分配一组相邻接的盘块。这种分配方式保证了逻辑文件中的记录顺序与存这种分配方式保证了逻辑文件中的记录顺序与存储器中文件占用盘块的顺序的一致性。储器中文件占用盘块的顺序的一致性。优点:优点:便于顺序访问便于顺序访问 顺序访问速度快顺序访问速度快 缺点:缺点:要求有连续的存储空间要求有连续的存储空间 不便于文件的动态增长不便于文件的动态增长连续分配连续分配如何解决?链接分配链接分配 通过在每个
14、盘块上的链接指针,将同属于通过在每个盘块上的链接指针,将同属于一个文件的多个离散的盘块链接成一个链表,一个文件的多个离散的盘块链接成一个链表,由此所形成的物理文件称为链接文件。由此所形成的物理文件称为链接文件。优点:优点:解决了文件动态增长的问题解决了文件动态增长的问题 缺点:缺点:随机访问低效随机访问低效!不满意!索引分配索引分配 为每个文件建立一个索引表,其中存放了为每个文件建立一个索引表,其中存放了文件所占用的盘块号。文件所占用的盘块号。优点:优点:解决了文件动态增长的问题解决了文件动态增长的问题 支持对文件的随机访问支持对文件的随机访问 缺点:缺点:索引块增加了存储空间开销索引块增加了
15、存储空间开销 索引块放在下怎么办?索引块放在下怎么办?如何解决?当文件较大时,一个索引块放不下,需分配另一索当文件较大时,一个索引块放不下,需分配另一索引块,为索引块再建立一级索引,形成二级索引。引块,为索引块再建立一级索引,形成二级索引。多级索引分配多级索引分配 如果每个盘块的大小为如果每个盘块的大小为1KB,每个盘块号占每个盘块号占4B,则则一个索引块可放一个索引块可放256个盘块号。个盘块号。对于二级索引对于二级索引最多可存放文件的盘块总数为最多可存放文件的盘块总数为N=256 256=64K个盘块号。个盘块号。文件的最大长度为文件的最大长度为64KB 1KB=64MB 对于三级索引对于
16、三级索引 混合分配混合分配大家都满意了吗?大家都满意了吗?空闲表空闲表 空闲链空闲链 位示图位示图 成组链接法成组链接法空闲空间怎么管!空闲空间怎么管!我的盘上还有空地儿吗我的盘上还有空地儿吗我的盘上还有空地儿吗我的盘上还有空地儿吗?空闲存储空间的管理空闲存储空间的管理 设计思想:设计思想:系统为外存上的所有空闲区建立一张空闲表,记载磁盘上的哪些盘块是空闲的。空闲表空闲表缺点:缺点:因整个系统一张表,因表大,查找慢。如何解决?空闲链空闲链 设计思想:设计思想:将磁盘上的所有空闲盘块拉成一条链。缺点:缺点:分配与回收过程虽然简单,但效率低。不满意!位示图位示图 设计思想:设计思想:用一个二进制位
17、表示磁盘中一个盘块的使用情况。二进制位=0:表示盘块空闲二进制位=1:表示盘块已分配所有盘块所对应的位构成一个向量。优点:优点:从位示图很容易找到一个或一组相邻接的空闲盘块。它占用磁盘空间比较少。成组链接法成组链接法设计思想:设计思想:综合空闲表法和空闲链综合空闲表法和空闲链。满意满意!就是有点复杂?!就是有点复杂?!成组链接法分配过程成组链接法分配过程 坏块管理坏块管理热修复重定向热修复重定向写后读校验写后读校验 备份备份备份设备备份设备磁带磁带磁盘磁盘光盘光盘备份方法备份方法完全转储完全转储增量转储增量转储8.5文件系统的可靠性文件系统的可靠性 文件系统一致性问题文件系统一致性问题 盘块号
18、一致性检查盘块号一致性检查系统构造一张表,表中为每个盘块设立两个计系统构造一张表,表中为每个盘块设立两个计数器。一个计数器记录该块在文件中出现的次数,数器。一个计数器记录该块在文件中出现的次数,另一个记录该块在空闲块表中出现的次数。另一个记录该块在空闲块表中出现的次数。链接数一致性检查链接数一致性检查在在UNIX系统中,每个目录项含有一个索引结点系统中,每个目录项含有一个索引结点号,用于指向文件的索引结点。对于一个共享文号,用于指向文件的索引结点。对于一个共享文件,其索引结点号会在目录中出现多次。另一方件,其索引结点号会在目录中出现多次。另一方面,在共享文件的索引结点中有一个链接计数面,在共享
19、文件的索引结点中有一个链接计数count,用于指向共享该文件的用户数。在正常情用于指向共享该文件的用户数。在正常情况下,这两个数据应该是一致的,否则就出现了况下,这两个数据应该是一致的,否则就出现了不一致性错误。不一致性错误。块丢失空闲盘块记录错使用盘块记录错 盘块号一致性检查 事务事务:是用于访问和修改各种数据项的一个程序是用于访问和修改各种数据项的一个程序单位。单位。托付(托付(Commit):):当读写操作完成时,再以托付操作当读写操作完成时,再以托付操作来终止事务。来终止事务。夭折(夭折(Abort):):当读写操作失败时,则执行夭折操作。当读写操作失败时,则执行夭折操作。运行记录运行
20、记录Log:记录事务运行时数据项修改的全部信息记录事务运行时数据项修改的全部信息。恢复算法利用以下两个过程:恢复算法利用以下两个过程:Undo(Ti):把所有事务把所有事务Ti修改过的数据,恢复为修改前修改过的数据,恢复为修改前的值。的值。Redo(Ti):把所有事务把所有事务Ti修改过的数据,设置为新值。修改过的数据,设置为新值。检查点:引入检查点的目的是使对事务记录表中检查点:引入检查点的目的是使对事务记录表中事务记录的请求的清理工作经常化。事务记录的请求的清理工作经常化。数据一致性控制数据一致性控制 影响文件安全性的主要因素影响文件安全性的主要因素人为因素人为因素系统因素系统因素自然因素
21、自然因素8.6 文件保护机制文件保护机制 保护域:保护域:进程只能在保护域中执行操作,该域进程只能在保护域中执行操作,该域指出进程所能访问的对象。指出进程所能访问的对象。访问权:访问权:进程能对某对象执行操作的权利。进程能对某对象执行操作的权利。保护域保护域 进程与保护域之间的联系进程与保护域之间的联系 静态联系:静态联系:指进程的可用资源集在进程的整指进程的可用资源集在进程的整个生命期中是固定的。个生命期中是固定的。动态联系:动态联系:指进程的可用资源集在进程的整指进程的可用资源集在进程的整个生命期中是可变的。个生命期中是可变的。文件文件1文件文件2文件文件3文件文件4文件文件5文件文件6打
22、印打印机机绘图绘图仪仪D1RRWD2RRWXRWWD3RWXWW 访问矩阵访问矩阵行域列对象元素访问权切换:为了实现进程和域之间的动态联系。切换是一种权利,仅当进程拥有切换时,才能进行这种切换。D1可切换到D2D2可切换到D3文文件件1文文件件2文文件件3文件文件4文文件件5文件文件6打打印印机机绘绘图图仪仪D1D2D3D1RRWSD2RRWXRWWSD3RWXWW 具有切换权的保护矩阵具有切换权的保护矩阵访问矩阵有能力实现和控制动态保护。但是要实现起来开销太大。为了减少时、空开销。将矩阵按行划分访问权限表访问权限表将矩阵按列划分访问控制表访问控制表 访问矩阵的实现访问矩阵的实现用户用户文件文
23、件A文件主RWX项目组成员RW协作成员RX其它用户X每个文件一个,放在该文件的FCB或索引结点中,作为该文件的存取控制信息。对象即文件,但域是抽象的概念。它可以是:一个用户一个进程 访问控制表访问控制表类型类型权限权限对象指针对象指针文件AR指向文件A的指针文件BRWX指向文件B的指针文件CRW指向文件C的指针打印机W指向打印机的指针每个用户一张,表明用户对所有文件可进行的操作。访问权限表的安全:只有访问权限表是安全的,它保护的对象才是安全的。将访问权限表放在系统区内的专用区。将访问权限表放在用户区,但访问权限须用密文 访问权限表访问权限表系统级:系统级:不允许未经核准用户进入系统。注册、登录等不允许未经核准用户进入系统。注册、登录等用户级用户级用户分类:文件主、伙伴、一般用户。或超级用用户分类:文件主、伙伴、一般用户。或超级用户、系统操作员、用户、顾客。户、系统操作员、用户、顾客。文件访问权:建立、删除、打开、读、写、查询、文件访问权:建立、删除、打开、读、写、查询、修改、修改、目录级目录级写许可:规定只有系统核心才可写目录。写许可:规定只有系统核心才可写目录。文件级文件级设置文件属性:只执行、隐含、索引、修改、读设置文件属性:只执行、隐含、索引、修改、读/写、共享、系统写、共享、系统 分级安全管理分级安全管理 P225226/6 8 10 11 12作业
限制150内