您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 操作系统C 第6章 文件管理
2020/2/101第六章文件管理计算机如何管理复杂繁多的文件2020/2/102第6章文件管理•6.1文件与文件系统•6.2文件的逻辑结构•6.3外存分配方式•6.4目录管理•6.5文件存储空间的管理•6.6文件的共享与保护•6.7数据一致性控制开始2020/2/103§6.1文件和文件系统OS采用文件系统来组织管理大量的文件。在文件系统中,通常把数据分为数据项、记录和文件三级。2020/2/1046.1.1数据项、记录和文件1.数据项:最低级的数据组织形式1)基本数据项:原子数据,最小逻辑单位,即数据元素、字段。如学号、姓名2)组合数据项:由若干个基本数据项组成,简称组项。如工资(基本工资、奖励工资)•数据项的型和值:型指数据项名字和类型,实体在数据项上的数据则称为值。2020/2/1052.记录:一组相关数据项的集合,用于描述一个对象在某方面的属性。关键字:唯一能够标示一条记录的数据项。2020/2/1063.文件文件是指由创建者定义、具有文件名的一组相关元素的集合,可分为有结构文件和无结构文件两种。文件还有些具体属性:文件类型文件长度文件物理位置文件的建立时间2020/2/1076.1.2文件类型和文件系统模型1.文件类型1)按用途分类:1)系统文件2)用户文件3)库文件2)按文件中数据形式分类:1)源文件2)目标文件3)可执行文件2020/2/1083)按存取控制属性分类:1)执行文件2)只读文件3)读写文件2020/2/1092.文件系统模型模型分为三个层次,如图6-2示:1)对象及属性(文件、目录、磁盘存储空间)2)对对象操纵和管理的软件集合3)文件系统的接口(命令接口、程序接口)文件系统接口对对象操纵和管理的软件集合对象及属性用户(程序)图6-22020/2/10106.1.3文件操作1.最基本的文件操作1)创建文件:分配外存空间,创建新的目录项2)删除文件:删除目录项,收回空间3)读文件:查找目录找到文件的外存位置4)写文件:通过目录找到文件的目录项,用目录中的写指针进行写操作5)截断文件6)设置文件的读/写位置2020/2/1011•当前OS所提供的大多数文件操作过程都是这样两步:检索文件目录找到文件的属性和在外存的位置;对文件实施相应的操作。•所谓“打开”文件是指将文件的属性从外存拷贝到内存打开文件表的一个表项中,并将该表项的编号返回给用户。2.文件的“打开”和“关闭”操作2020/2/1012§6.2文件的逻辑结构计算机文件的两种结构:文件逻辑结构(FileLogicalStructure):从用户角度出发所观察到的文件组织形式,是用户可以直接处理的数据及其结构,独立于物理特性,又称为文件组织(FileOrganization)。文件物理结构(FilePhysicalStructure):指文件在外存上的存储组织形式,又称为文件的存储结构。2020/2/1013文件逻辑结构对文件逻辑结构的基本要求:提高检索记录的速度便于修改记录降低文件的存储费用:文件占用的空间,不要求连续的大空间。2020/2/10146.2.1文件逻辑结构的类型1有结构文件:也称为记录式文件,组成文件的数据项单位为记录。根据用户和系统管理的需要,可采用多种方式组织记录形成顺序文件、索引文件和索引顺序文件文件逻辑结构可分为两类:2020/2/1015•顺序文件:一系列记录按照某种顺序排列所形成的文件。其中的记录通常是定长的。•索引文件:当记录为可变长时,通常为之建立一张索引表,并为每一个记录设置一个表项,以加快检索记录的速度。•索引顺序文件:为文件建立一张索引表,为每一组记录中的第一个记录设置一个表项。2020/2/10162无结构文件:也称流式文件,组成文件的数据单位为ASCII字符,如源程序、可执行文件等。2020/2/10176.2.2顺序文件1.顺序文件分类1)顺序无序文件(串结构):各记录之间的顺序与关键字无关,由输入的时间决定先后顺序。2)顺序有序文件(顺序结构):所有记录安关键字排序注意:为提高检索效率,常将顺序文件组织成顺序有序文件。2020/2/10182.对顺序有序文件的读/写操作•顺序文件中的记录可以是定长也可以是变长的•对于定长记录的顺序文件,如果已知当前记录的逻辑地址,便很容易确定下一个记录的逻辑地址。读写文件时设置一个读指针Rptr和一个写指针Wptr,每读写一条记录分别使Rptr+L和Wptr+L。•对于变长记录则指针应加Li+1,如下图2020/2/10192020/2/1020•对于定长记录文件,如果要查找第i个记录,可直接根据下式计算来获得第i个记录相对于第一个记录首址的地址:Ai=i×L•可变长度记录的文件,要查找其第i个记录,6.2.3索引文件2020/2/1021当记录为可变长度时,通常采用索引文件方式。为每个文件建立一张索引表,并将主文件的每个记录的记录号、长度和逻辑地址记录在索引表中。优点:因将可变长的记录的索引转化为定长的记录项的索引,故方便实现直接存取。缺点:每个文件有一索引表,存储费用高。2020/2/10222020/2/1023注意•索引文件索引文件由主文件和索引表构成。①主文件:文件本身。•②索引表:在文件本身外建立的一张表,由若干索引项组成。索引表必须按主关键字有序排列。2020/2/1024索引文件的存储1.索引文件的存储索引文件在存储器上分为两个区:索引区和数据区。索引区存放索引表,数据区存放主文件。2020/2/1025•2建立索引文件的过程:•(1)按输入记录的先后次序建立数据区和索引表。其中索引表中关键字是无序的(2)待全部记录输入完毕后对索引表进行排序,排序后的索引表和主文件一起就形成了索引文件2020/2/10266.2.4索引顺序文件是综合顺序和索引两种文件构成方式的优点,先检索索引表,找到所在记录组中第一个记录表项,并找到第一个记录在主文件中位置,然后再顺序查找所需记录。如图6-5示:优点:因只为每组记录的首记录设置一索引表项,因此能有效减少索引表所占的空间。2020/2/1027图6-5索引顺序文件…………ChenLin…………BaoRong…………AnKangAnQi其它属性姓名…………ChenLinBaoRongAnQi逻辑地址键索引表2020/2/1028•注意:①通常将索引非顺序文件简称为索引文件。②索引非顺序文件主文件无序,顺序存取将会频繁地引起磁头移动,适合于随机存取,不适合于顺序存取。③索引顺序文件的主文件是有序的,适合于随机存取、顺序存取。④索引顺序文件的索引是稀疏索引。索引占用空间较少,是最常用的一种文件组织。2020/2/1029回顾•什么是顺序文件、索引文件、索引顺序文件?•索引文件包括哪两部分?•索引文件有什么优缺点?2020/2/10306.3外存分配方式连续分配链接(串联)分配索引分配常用的三种外存分配方式:2020/2/10316.3.1连续分配•连续分配:为每个文件分配相邻的物理块(数据块/盘块/扇区)。•分配给文件的首物理块的地址被登记在它的目录项内。•由连续分配方式形成的文件物理结构被称为顺序文件结构,相应的物理文件则称为顺序文件(SequentialFile)。如图6-7示。2020/2/1032图6-7磁盘空间的连续分配012345678910111213141516171819202122232425262728293031文件名始址块数count02tr143mail196list284f62文件目录countftrmaillist2020/2/1033连续分配优缺点优点(Strongpoint):顺序访问容易顺序存取速度快缺点(Disadvantage):要求连续的存储空间。易产生外存碎片,空间利用率降低须事先知道文件长度。不利于文件动态增长2020/2/10346.3.2链接分配(LinkedAllocation)•一种离散分配方式。•通过每个盘块上的链接指针,将同一个文件的多个离散的盘块链接成一个链表。•可分为隐式链接和显示链接两种方式。1.隐式链接:将一文件离散地存放在外存上,并将下一个物理块的地址登记在分配给它的前一个物理块中。如图6-8示。2020/2/1035某个链接文件示意2020/2/1036图6-8磁盘空间的链接式分配文件名始址末址jeep925文件目录01234567891011121314151617181920212223242526272829303111016-1252020/2/1037隐式链接优缺点优点:消除了外部碎片,提高利用率允许作业动态增长。缺点:可靠性差:一个指针出现问题,导致整个链断开只适合于顺序访问,不适合随机访问。2020/2/10382.显示链接将文件离散地存放,并将链接各个物理块的指针显式地登记在内存的一张文件分配表FAT(FileAllocationTable)中。2020/2/1039显示链接特点优点:显著提高检索速度缺点:不支持大文件随机存取FAT需要占用较大的内存空间2020/2/1040思考如果硬盘是16G空间,盘块大小为4K,一个FAT表项占多少位?FAT表需占用多少空间?如果文件A占用硬盘的第11,12,16,14四个盘块,试画出文件A中各盘块间的连接及FAT的情况。2020/2/10416.3.3索引分配•也属于离散分配方式,它在存放文件同时,为每个文件建立一个索引表(盘块),以登记物理块号,并在文件目录项的地址字段中填上指向该索引表的指针。如图6-11示。2020/2/1042图6-11索引分配方式012345678910111213141516171819202122232425262728293031文件名索引表地址文件目录Jeep1991611025-1-1-1192020/2/10436.3.3索引分配优缺点(StrongpointandDisadvantage)优点:支持高效的随机存取消除了外部碎片允许文件动态增长。缺点:索引表本身也要花费较多外存空间,造成外存空间浪费。2020/2/104401210510625435635798510510625474035635711259853607401125主索引360第二级索引磁盘空间2020/2/1045总结三种外存分配方式•连续分配•链接分配•索引分配思考题:各种分配方式的优缺点是什么?2020/2/1046思考题2•假设磁盘转速为20ms/圈,磁盘格式化时每个磁道被划分成10个扇区,今有10个逻辑记录(每个记录大小刚好与扇区大小相等)存放在同一条磁道上,处理程序每次从磁道读出一个记录要花费4ms进行处理,先要求顺序处理这10个记录,若磁头现在处于首个逻辑记录的起始位置。1.按逆时针安排10个逻辑记录(磁盘顺时针方向旋转)处理程序处理完这10条记录花费的时间是多少?2.按优化分布重新安排这10条记录,计算所需要的时间2020/2/1047思考题3•假定磁盘的移动臂现在处于第8柱面,有如下6个请求者等待访问磁盘,请你列出最省时间的响应次序:序号柱面号磁头号扇区号19632756315206494452095671522020/2/1048柱面扇区磁臂磁头硬盘侧视图2020/2/1049知识回顾•根据外存分配方式(文件的物理结构),将文件分为哪几种类型,各类型有什么特点?2020/2/10506.4目录管理对目录管理的要求:1)能够实现“按名存取”2)提高对目录的检索速度。3)文件共享4)允许文件重名。目录是一种数据结构,用于标识系统中的文件和文件的物理地址。2020/2/10516.4.1文件控制块和索引结点•文件控制块(FCB,FileControllerBlock):为正确存取文件,而为文件设置的用于描述和控制文件的数据结构。•文件与文件控制块一一对应。•文件控制块的有序集合构成文件目录。•文件目录以文件的形式存放,所以叫做目录文件。2020/2/10521文件控制块(FCB)1.FCB中的信息包括:基本信
本文标题:操作系统C 第6章 文件管理
链接地址:https://www.777doc.com/doc-3619286 .html