第8章文件管理_第1页
第8章文件管理_第2页
第8章文件管理_第3页
第8章文件管理_第4页
第8章文件管理_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第8章文件管理28.1 文件系统的概念文件系统的概念 文件系统的引入信息用户检索存储器长久存储解决如何分配存储器?使用何种存取方法?如何组织信息?用户用户共享共享如何命名?如何保护?文件系统3 文件:以文件名字标识的在计算机上存储的信息集合。 文件名 根据文件的定义,每个文件必须有一个唯一的文件名, 不论是系统管理,还是用户使用文件都使用文件名。 DOS、WINDOWS系统中文件名:文件名 文件扩展名 例:*.xxx oschapter1.ppt UNIX系统中的文件名:一个不大于14个字符的字符串。区分字母的大小写。没有文件名和文件扩展名之分。 例:hello.c Unix中认为符号“.”是

2、名字一部分,名字由7个字符组成。4 文件系统 操作系统中负责管理和存取文件信息的软件。 主要功能 实现“按名存取”。用户按照可见的文件逻辑结构提供的方式进行信息的加工和存取。这种逻辑结构独立于物理存储设备,对用户透明,用户不必了解文件存取的物理细节,由文件系统进行文件名到文件存储设备物理地址的映射。 对磁盘等外存空间进行统一管理。用户创建文件时为其分配外存空间,用户删除或修改文件时回收或调整其外存空间,以提高外存空间的利用率。5 提供合适的文件物理结构。文件在物理设备上的存放方式称为文件的物理结构,一个好的文件物理结构会给系统带来好的空间和时间利用率。 完成对存放在存储设备上的文件信息的查找。

3、 提供用户接口。如键盘命令、图形菜单、批处理和系统调用函数,均由文件系统提供。 提供有关文件自身的服务,如文件的共享和保护以及文件完整性控制等。6文件分类文件分类 按文件性质和用途分类(*) 按文件保护方式分类(*) 按文件的逻辑存储结构分类 有结构文件:由若干个记录构成的文件,又称记录式文件; 无结构文件:由字符序列所构成的文件,又称为流式文件。7 按用户观点分类按用户观点分类普通文件(常规文件) :是指系统中最一般组织格式的文件,一般是字符流组成的无结构文件;目录文件:是由文件的目录信息构成的特殊文件,操作系统将目录也做成文件;特殊文件(设备驱动程序):在UNIX或Linux操作系统中,所

4、有的输入输出外部设备都被看作特殊文件便于统一管理。 8 按存取的物理结构分类(详见后面章节)顺序(连续)文件:链接文件:索引文件:98.2 文件逻辑结构与存取方法文件逻辑结构与存取方法 8.2.1 逻辑结构逻辑结构 文件的结构:文件的组织形式 逻辑结构。这是从用户观点出发,观察到的文件组织形式,是用户可以直接处理的数据及其结构。 物理结构。文件在外存上的存储组织形式 ,指在保证文件逻辑一致性的分配方式下所形成的文件结构,对于用户透明。文件磁盘文件存入取出保证逻辑一致性保证逻辑一致性10 文件的逻辑结构分类: 字符流式 由字符序列组成的文件,是无结构文件,其内部信息不再划分结构,也可以理解为该文

5、件的基本信息单位是字符。 记录式文件 有结构文件。其文件信息被划分为若干条记录,用户以记录为单位组织信息。 常用的记录式文件有以下几种: 连续结构 多重结构 转置结构 顺序结构8.2.2 存取方法 文件存取:文件修改、搜索等操作。 文件存取实现前提:查找文件逻辑地址 常用的存取方法: 顺序存取法 随机存取法(直接存取法) 按键存取法1). 顺序存取法 顺序存取法按照文件的逻辑地址顺序存取信息。 记录式文件:按记录的排列顺序来存取。 流式无结构文件:当存取完一段信息后,读写指针自动加上或减去该段信息的长度,以便指出下次存取时的位置。2). 随机存取法 随机存取允许用户根据记录的编号来存取文件的任

6、一记录,或者是根据存取命令把读写指针移到要读写处进行读写。 UNIX系统及MS-DOS等操作系统都采用顺序存取和随机存取两种方法。3). 按键存取法 按键存取法是根据给定的键或记录名首先搜索到要进行存取的记录的逻辑位置,再将其转换到相应的物理地址后进行存取。 应用:数据库管理系统。 无论采用何种文件存取方法,都是首先定位信息的逻辑地址,然后由逻辑地址映射到物理地址,再对物理地址内的信息进行操作。 由逻辑地址到物理地址的映射是和文件的物理存储方式(物理结构)紧密相关的。 文件系统所采用的逻辑结构也和文件的物理结构密切相关。 对上述观点的解释:物理块与逻辑块关系8.3文件的物理结构与存储设备16

7、一个文件存储介质,格式化后就分成许多大小相等的单位存储块(物理块),在现代计算机系统中,一般来说,每个物理块是一个磁盘的扇区,长度为512字节或1024字节。并给每个存储块有个编号,称为物理块号。 为了有效地利用存储设备和便于系统管理,一般把文件信息划分为与物理存储设备的物理块大小相等的逻辑块。从而,以块作为分配和传送信息的基本单位。物理块与逻辑块关系178.3.1文件的物理结构文件物理结构:文件在外存上的存储组织形式。文件的物理结构分类顺序(连续)文件链接文件索引文件18 连续文件 将一个逻辑上连续的文件信息依次存放到连续的物理块中。 文件数据结构 起始块号 文件长度19 例文件A的逻辑块号

8、为0、1、2、3,其连续文件的物理结构如下图所示。 优点:简单,不占用额外的存储空间,对连续存取有最好的时空效率。 缺点:时间开销大。对数据进行增删改动,完成操作后仍需保持物理上的连续,大量的物理块移动导致。20 串联文件(链接文件) 采用物理上不连续的块存放文件,并使用指针实现各块间逻辑上的连续性。 上例中,文件A如果采用串联分配,其物理存储结构如下图所示。21 优点 使用串联文件结构时,只需提供该文件的第一个物理块号,无须提供文件长度。 串联文件结构下,文件长度可以动态增长,增删方便,只要调整指针就可以方便地插入或删除信息块。 缺点 由于逻辑块号到物理块号的转换需要由第一块开始,依照指针的

9、指引,在队列中逐块查询,而每获取一个指针值都必须读一次物理块。 对磁盘等设备而言,为了读取某个数据块可能造成磁头大幅度移动而花费很多的时间开销。所以该文件结构查询效率极低。 串联分配适于逻辑上连续,且存取也是顺序访问的文件。串联结构不适合随机存取。22索引文件 每个文件对应一个索引表,索引表描述逻辑块与物理块的映射关系。 索引表的结构:逻辑块号及对应的物理块号 上例中的文件A如果采用索引结构,其文件物理结构如下图所示。 串联与索引都是物理块分配不连续方式,只是组织管理空闲块的方法不同。23 优点:既适用于顺序存取也适用于随机存取,且时间效率高。 缺点: 需要付出索引表占用的存储空间 由于索引表

10、存放在外存,所以访问索引表会增加读盘次数 当文件很大时,其索引表项也相应增长,使得查询效率下降。 解决方法:采用多级索引方式。 多级索引:当某级索引表很长时,在该级索引的基础上再建一级索引,形成一个索引树,以提高查询效率。24一级索引分配的另一种图表示法25 二级索引 一个索引块不够存放文件序列时,为索引块再建立一级索引,形成两级索引分配方式。 推广到三级索引分配以上的统称多级索引分配。 26 例: 每个盘块大小为1KB,每个盘块号占4个字节,若采用一级索引方式,则在一个索引块中可存放多少个盘号?若采用两级索引,则最多可存放的盘块数为多少?允许的文件最大长度是多少? 分析: 两级索引:见索引图

11、 文件长度:共有N个盘块,每个盘块的大小M =N*M27 解: 一级索引方式,盘块数=1KB/4B=256个 两级索引,盘块数=256*256=64K个 允许的文件最大长度=64K*1K=64MB28 混合索引分配 将直接地址与多级索引方式结合形成。某文件系统的文件部分FCB如下图所示,采用索引数组表示文件的物理存储,分别为直接、一级、二级、三级索引(间接)结构。假设用4个字节表示物理地址,2KB(4个扇区,每个扇区512字节)为分配单位:请问该文件系统可存储的最大文件长度是多少(最后结果可给出表达式)?给出计算过程。0123456789一次间接二次间接三次间接文件信息 文件信息 文件信息 文

12、件信息 文件信息 文件信息 文件信息 二次间接三次间接索引数组与一次间接相同,省略间接指向的其他 文件地址索引块这个内存块存放的是地址文件块这个内存块存放的是文件解: 直接地址:指向10个文件块 一级索引: 每个内存块为2KB,每个地址占4B, 一级索引块内可存放的地址个数=2KB/4B=29个地址,即该索引块指向29(512)个文件块。 二级索引: 指向512*512个文件块 共有一个二级索引块,指向512个一级索引块,每个一级索引块指向512个文件块。 三级索引: 指向512*512*512个文件块 共有一个三级索引块,指向512个二级索引块; 每个二级索引块指向512个一级索引块; 每个

13、一级索引块指向512个文件块。 文件块总数:10+512+512*512+ 512*512*512 文件长度:文件总块数*每块长度(2KB)31 文件存储设备 磁盘、磁带、光盘等,其中磁盘又可以分为硬盘、软盘和U盘。 存储设备的物理结构和存取方法 存储设备的特性决定了文件可能的物理结构和存取方法。 分类 顺序存取设备 直接存取设备8.3.2文件存储设备32 顺序存取设备 磁带是一种典型的顺序存储设备。 特点:从前到后依次访问物理块 结构: 存储块、间隔交替(如下图) 为了让磁带机在存取物理块时有加速和停止的缓冲区域,磁带上两个相邻物理块之间设计了一个间隔将它们隔开。 与存取速度和数据传输率相关

14、的因素: 信息密度(字符数英寸) 磁带带速(英寸秒) 块间间隔33直接存取设备 磁盘是典型的直接存取设备。 特点:该设备允许文件系统直接存取磁盘上的任意物理块。访问指定的物理块时,磁头可直接定位到目标位置,无需磁带顺序设备那样事先存取其前面的物理块。 结构:磁盘一般由若干盘片组组成。每个盘片被格式化为若干磁道,每磁道又被分割为若干扇区,每扇区存放相同容量的信息。多个盘面的同一磁道形成同一个柱面。其中每个盘片对应一个装有读写磁头的磁头臂,由磁头臂上两个读写磁头分别对磁盘片的上下两面进行读写。所以,磁盘上每个物理盘块的位置可以由柱面号、磁头号和扇区号表示。磁盘结构如图所示。348.4 文件存储空间

15、管理文件存储空间管理 文件存储空间的管理 空闲块的组织 空闲块的分配 与空闲块的回收 管理外存空间的方法 空闲文件目录法、空闲链表法、位示图法1.空闲文件目录 空闲文件目录法 把文件存储设备中的空闲块的块号统一放在空闲区文件目录中。 分配 组织 回收序号序号起始空闲块号起始空闲块号空闲块个数空闲块个数空闲空闲块号块号0323,4220320,21,222. 空闲块链 空闲块链把空闲块以链表形式组织。 分配:当申请者需要空闲块时,分配程序从链头开始摘取所需要的空闲块,然后调整链首指针。 回收:把释放的空闲块插入链尾。3.位示图法 用二进制位(bit)表示物理块是否被分配,每个bit代表一个物理块

16、,1代表已分配,0代表空闲。 分配:找0位分配,并置为1 回收:将物理块对应的位(bit)置为037388.5 文件目录管理文件目录管理 文件目录管理的功能 实现按名存取 存储空间的有效利用 快速搜索 文件命名冲突 文件共享398.5.1文件的组成 文件包括两部分 文件体 文件说明( FCB文件控制块) 基本信息 文件名 文件物理位置: 文件结构:指示文件的逻辑结构和物理结构。 存取控制信息 使用信息408.5.2文件目录文件目录 文件目录:一个文件的文件说明信息(FCB)称为该文件的目录。 分类:一级目录、二级目录和多级目录 一级目录 思想:把所有的文件都登记在一张目录表中,按文件名查找目录

17、得到文件存放的地址。 操作: 建立一个新文件时就在文件目录中增加一个目录项; 每当删去一个文件时就在文件目录中删去该文件的目录项。41一级文件目录示例42 二级文件目录 第一级为系统目录,也称为主目录(MFD),它包含了用户目录名和指向该用户目录文件的指针;系统内一张,按用户分类。 第二级为用户目录(UFD),它包含了该用户所有文件的文件目录项。43 多级文件目录结构 采用树型数据结构组织。 文件的路径名:由根目录到该文件的路径上所有目录文件名和该文件的符号名组成,它是文件的外部标识。 不在同一个子目录下的文件允许同名。1432651413121110789448.5.3便于共享的文件目录 实

18、现文件共享的方法 绕道法 链接法 基本文件目录表4514314131211S:当前目录文件E:被共享文件与被共享文件所在路径的交叉点1、绕道法使用绕道法进行文件共享时,用户从当前目录出发向上返回到与使用绕道法进行文件共享时,用户从当前目录出发向上返回到与所要共享文件所在路径的交叉点,再顺序下访到共享文件。所要共享文件所在路径的交叉点,再顺序下访到共享文件。2. 链接法将一个目录中的链指针直接指向被共享文件所在的目录。将一个目录中的链指针直接指向被共享文件所在的目录前目录文件被共享文件3. 基本文件目录表(BFD) 文件目录的内容分成两部分: 基本文件目录表(BFD):

19、存放除文件名之外的其他信息。 如:结构信息、物理块号、存取控制和管理信息 符号文件目录表(SFD):存放文件名及内部标识符。 基本文件目录表共享方法 建立索引表,内部标识ID为0; 建立空闲文件目录表,内部标识ID为1; 主目录MFD为根目录,内部标识ID为2; 其余SFD、BFD内部标识ID从3开始依次分配。 例:寻找Zhang/Sub-d/w.c的过程主目录(MFD)空闲文件目录Wang的SFDZhang的SFDa.cw.c9Sub-d的SFD IDb.cf.cz.cw.c索引表SE:得到w.c物理地址508.5.4目录管理 复习: 文件说明信息= =文件的目录 对文件目录的管理= =对文

20、件说明信息的管理。 通过目录(文件说明信息),可以完成对文件的创建、检索以及维护。51 问题: 存取文件效率低 目录文件(文件说明信息)存放在外存,存取文件时,先要访问目录文件。需花费大量时间进行I/O操作,造成CPU浪费,降低处理速度。 最佳解决办法:将当前正在使用的文件的目录表(部分)复制到内存。52 将目录文件复制到内存使用的操作 文件打开(fopen) 将目录文件从内存删除使用的操作 文件关闭(fclose) 提供形式:系统调用538.6文件存取控制文件存取控制 文件的存取控制涉及到文件的共享、保护和保密。 文件的共享是指不同的用户共同使用一个文件。 文件的保护则指文件本身需要防止文件

21、的拥有者或其他用户破坏文件内容。 文件保密是指未经文件拥有者许可,任何用户不得访问该文件。 问题归结: 用户对文件的使用权限(读、写、执行)的许可权问题。54 操作系统对于文件存取权限控制应该作到以下几点: 对于拥有读、写或执行权限的用户,应该允许其对文件进行相应权限的操作。 对于不具备读、写或执行权限的用户,应该禁止其对文件进行相应的操作。 应该防止冒充其它用户对文件进行存取的行为。 应该防止拥有存取权限的用户误用文件。55 操作系统提供的存取控制验证模块分三步验证用户的存取操作权限: 审定用户的存取权限; 比较用户权限的本次存取要求是否一致; 将存取要求与被访问的文件的控制权限比较,看是否

22、有冲突。56 操作系统通过以下四种方法实现文件的存取控制: 方法一:存取控制矩阵 存取控制矩阵用一个二维表格描述不同文件针对不同用户的存取控制权限,当用户向文件系统提出存取某个文件的要求时,由存取控制模块根据该矩阵中的内容进行验证,匹配则允许,不匹配则拒绝。用用户户权权限限文文件件名名WangZhangLia.cRWEREEb.cRWRRWEx.cERWEE57例:Linux采用该方法,它将用户分为三类:文件主、同组用户和其它用户,这样,每个文件针对不同类型用户的存取权限只需要9位二进制位即可描述。用用户户文文件件名名文件主文件主A组组B组组其它其它a.cRWERWEEb.cRWERWRx.cREENone方法二:存取控制表存取控制表以文件为单位,将用户按某种方式划分为若干类,按类进行存取控制权限的设定。58 方法三:口令 口令有两种:一种用于设定用户对计算机系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论