《第六章文件管理.ppt》由会员分享,可在线阅读,更多相关《第六章文件管理.ppt(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第六章文件管理,目录6. 1 文件管理概述62 文件的结构与存取方法 621 文件的结构 622 文件的存取方法63 存储空间的管理,back,64 文件目录 651 一级目录 652 二级目录 653 树形目录65 文件的保护和共享66 文件的使用,6.1 文件管理概述,计算机系统中还有另一类资源是软件资源。软件 资源包括各种系统程序、各种实用程序、各种应用领域的程序,也包括大量的文档材料。每种资源本身都是具有一定逻辑意义的相关信息的集合。在操作系统中它们以文件的形式长期存储在辅助存储器中。,一、概念 1、文件:,是信息的一种组织形式,是一个具有标识名的存储在辅存上的一组信息的有序序列。,必
2、须遵循命名规则。,2、文件的命名:,3、数据项 :,是数据的基本单位,一个数据项有一个值(如学生的姓名、学号)。数据项是用数据类型和长度来描述。,4、记录 :,是一组相关数据项的序列。如:一个学生记录包含的数据项有:姓名、学号、英语成绩等。,二、文件的分类,1、按用途分类,文件可分为以下几种:系统文件:库文件:用户文件:,操作规系统为方便用户,提供的各种标准过程和函数,它们都具有特定的功能,用户可以调用它们,但不允许修改。,用户所编写的程序和数据,就是用户文件,用户可以对它拥有的文件进行存取和修改。,管理和维护计算机的各种软件。由操作系统和其它系统程序所组成。这类文件用户只能通过系统调用来请求
3、执行。不能对它进行读写。,2、从系统保护的角度划分,可把文件分类以下几种: 只读文件: 读写文件: 不保护文件: 可执行文件:,仅允许对其进行读操作的文件;,允许文件所有者或授权用户对其进行读或写操作的文件。,任何用户都可能进行读写操作的文件。,一种可以在计算机上执行的文件,以期待完成特定的功能,使用者不能对它进行读写。,3、从文件内容来区分,可把文件分为以下几类: 程序文件: 数据文件4、按文件的信息流向,可所文件分为:输入文件:输出文件:输入/输出文件:,指为完成某功能而编的程序,可以是源程序,也可以是经过编译以后的目标程序。,只能读入的文件。如:只读存储器、只读光盘中的文件。,如:打印机
4、上的文件。,如:磁带、磁盘上的文件。,5、按文件存放时间区分,可把文件分为:临时文件:永久文件:档案文件:,存放临时性或非永久性信息的文件。如:存放作业的运行过程中形成的中间结果的文件,当作业执行完以后,这种文件随之撤消。在WINDOWS中临时文件以.tmp扩展名标识。,即用户经常要调用的文件。其信息需长期保存。,以供查证和恢复时使用的文件,它们的使用频率很低。,6、按文件的存取方式,可把文件分为: 顺序存取文件: 随机存取文件:7、按设备的类型,可把文件分为: 磁盘文件 磁带文件 打印文件,按照记录在文件中的先后次序进行存取的文件。,对文件的操作,根据给出关键字的值来确定的文件。,8、按文件
5、的逻辑结构,可把文件分为: 流式文件: 记录式文件:9、按文件的物理结构,可把文件分为: 连续文件: 链接文件: 索引文件:,存放在辅存的连续存储块中的文件。,文件存放在辅存的不连续存储块中,通过索引表来表明它们之间的顺序关系。,文件存放在辅存的不连续存储块中,每个块用指针链接。,文件视为有序的字符集合。,文件由一组相关记录组成。,10、按文件的组织形式,可把文件分为: 普通文件: 目录文件: 特殊文件:,指组织格式为系统中所规定的最一般的文件。普通文件包括系统文件、用户文件、库函数文件、应用程序文件。,由文件的目录信息构成的特殊文件。,为统一管理和方便使用,在操作系统中常以文件的观点看待设备
6、。被视为文件的设备称为设备文件,也叫特殊文件。如:在MS-DOS中,将键盘视为文件,文件名为CON,如果用户键入 COPY CON A:Zong.bat表示将键盘上的输入存放在A盘的Zong.bat文件中。,三、文件系统,1、文件系统: 2、文件系统的构成:,文件管理所需的数据结构与文件管理有关的软件 被管理的文件,操作系统中与管理有关的软件和数据称为文件系统。它负责为用户建立文件,撤消、读写、修改和复制文件,还负责完成对文件的按名存取和进行存取控制。,、提供对文件的方便操作和使用。这包括对文件的存取、检索和修改等。、用户通过文件名就可以对文件进行各种操作。即通常说的“按名存取”。、文件可以被
7、共享,也可以受到所要求的保护。、提供对文件访问的保密与安全访问;、对以上功能,还要为用户提供使用及编程的命令及方法。,3、从用户观点来看,文件系统应具有以下功能:,6.2 文件的结构和存取方法 6.2.1 文件的结构,一、文件的结构是指文件中信息的结构的组成形式。研究文件的结构有两种观点: 1、从用户角度研究: 2、从系统角度讲:二、文件的逻辑结构: 无结构的流式文件: 有结构记录式的文件:,它研究的是用户思维中的抽象文件,也称逻辑结构。,指文件本身在存储介质上的存储结构,也称物理结构。,记录的集合。该文件中总有一个数据能够惟一标识地记录即主键,字符的集合。,例如,三、文件的物理结构 逻辑文件
8、在存储介质上的存储结构。 文件的四种存放结构,1、连续结构连续文件(看图),把一个逻辑文件存放在存储器的连续的物理块中,就形成一个具有连续结构的物理文件。称作连续文件或顺序文件。,2、链接结构串连文件(看图),优点:缺点:,存放文件的物理块可不连续也可不顺序排列,每个块中设置一个指针指向下一个逻辑上相连的物理块,从而使得存放同一个文件的物理块链接起来。优点:缺点:,对文件实行顺序存取时速度快;,需要在建立文件时预先确定它的长度,不但不利于文件的扩充的修改,而且可能造成存储空间的浪费。,有利于文件的扩展,删除和修改,不再受长度的限制;提高存储器的空间利用率。,A、链接字占一部分空间;B、不容易随
9、机查找。,3、索引结构索引文件(看图) 优点:缺点:4、散列式结构哈希文件,具有链接块文件的所有优点,并克服了它的缺点。,因使用索引表而增加了存储空间的开销。,存放文件的物理块可不连续也可不顺序排列, 系统为每个文件建立一个索引表,索引表中每个表项存放文件信息所在的逻辑块号和与之对应的物理块号。(分成索引区和数据区两部分存放在磁盘中)(多重索引),采用计算寻址方法把链值通过某种计算转换成相应记录的物理地址。计算寻址就是通过Hash函数计算后求得的地址。,6.2.2 文件的存取方法,文件的存取方法分为: 顺序存取: 随机存取:,按照记录在文件中的次序一个接一个地进行存取。,可以以任意次存取文件中
10、的记录。,存储设备、存储结构与存取方式的关系表,6.3 辅存空间的管理一、文件存储设备之一-磁盘 (看图) 二、磁盘存储空间的管理 1、位图法: 例如:,即用一张位示图来指示磁盘空间的使用情况。其中:“1”表示已用,“0”表示空闲。磁盘存储空间的位置可由3个参数决定:柱面号、磁头号、扇区号,磁盘是典型的随机存取设备。磁盘以块为单位进行分配。,A、将标致从“0”改为“1” B、根据查到的块号确定这些可用的存储块的柱面 号、磁头号、扇区号各为多少。,假定 M=块号/每柱面扇区数 N=块号 MOD 每柱面扇区数 则: 柱面号=M 磁头号=N/每磁道扇区数 扇区号=N mod 每磁道扇区数,据上个例子
11、则位示图中第I个字第J位对应的块号为: 块号=I*字长+J,当有文件要存放到磁盘上时,根据需要的块数查找空闲的存储块.要求完成的任务为:,存储块的分配:,存储块的回收: A、将标致从“1”改为“0” B、根据归还所在的柱面号、磁头号、扇区号计算对应位示图中的字号和位号: 块号=柱面号*每柱面扇区数+磁头号*每盘面扇区数+扇区号 字号=块号/字长 位号=块号 mod 字长例题:,2、空闲区表法,系统设置一张表,表中每一个表目记录磁盘空间中的一个连续空闲盘区的信息。任何时刻,空闲区表都记录下当前磁盘空间内使用的所有空闲块信息。,、空闲区表:、管理过程:如图 例题,空闲区表适用于采用顺序结构的文件对
12、空闲块的分配与回收,类似于存储管理中的可变式分区管理。,3、空闲块链法,在磁盘的每一个空闲块中设置一个指针指向下一个空闲块,从而 所有的空闲块形成一个链表。释放和分配空闲块都可以在链首进行。该方法只要求在内存中保存一个指针并令它指向第一个空闲块。,缺点:,增加了对磁盘的读写操作,对系统效率的发挥产生不良影响。,成组链接法:,是一种改进的空闲块链法,将空闲块分成组。每一组的第一块用来存放前一组中各块的块号和总块数。最后一组的块号和总块数放在文件资源表中。,(看图),6.4 文件目录管理,在文件系统中,也为每个文件建立一个文件目录(又称文件说明信息、文件控制块(记为FCB)等),FCB的内容包括:
13、A、文件的属性:如文件名,文件主,文件的存取权限等B、文件的结构信息:如文件的逻辑结构,物理结构等;C、文件的管理信息:如文件的创建、修改日期,保留期限,记账信息等;,一、文件目录和目录文件1、文件目录,2、目录文件 二、目录结构1、单级目录结构(看图)优点:缺点:,在整个系统中只建立一个目录表,每个文件占用其中一个表项,能够实现按名存取,且实现简单。,查找速度慢、不许重名、不便于实现文件共享,只适用于单用户环境。,文件系统把同一卷上的若干文件的文件目录组成一个独立的文件,这个文件全部由文件目录组成,称为目录文件。目录文件是文件系统管理文件最重要的信息来源。,2、二级目录结构 (看图) 分为主
14、目录和用户目录。主目录给出文件主名及它的目录所在的存储位置。用户目录给出该用户文件的FCB。优点:缺点:,提高了检索目录的速度,在不同的用户目录中可以使用相同的文件名,不同用户之间可以使用不同的文件名 访问系统中的同一个共享文件。,缺乏灵活性,将多个用户隔离开而不能共享文件,3、多级目录结构 (看图),又称“树型目录”,在多级目录中,第一级称为根目录,目录树中的非叶结点均为子目录,树叶结点均为文件。,绝对路径名:相对路径名:,从当前目录(工作目录)开始往下到具体文件所经过的各层的名字,所构成。,从根目录开始,6.5 文件的共享和保护,在多用户环境中,不同用户之间存在着对文件的共享的需求,若不提
15、供文件共享功能,则只能为各个用户保留一份需要共享的文件的副本,这样会造成存储空间的浪费;若提供了共享功能,则可以提高文件的利用率,避免存储空间的浪费,并能实现用户用自己的文件名去访问共享文件。,1、共享的两种情况2、实现共享的方法 绕道法,任何时刻只允许一个用户使用共享文件,允许多个用户对同一个共享文件进行读操作,一、文件的共享,文件共享指,一个文件被多个授权用户共同使用。,连接法,用户对所有文件的访问都是相对于当前目录进行的,当所访问的共享文件不在当前目录下时,从当前目录出发向上返回到与共享文件所在路径的交叉点,再沿路径下行到共享文件。,、连接法: (看图), 绕道法: (看图),将一个目录
16、中的链接指针直接指向共享文件的目录项。,二、文件的保密和保护,系统中的文件既存在保护问题也存在保密问题。这是两个不同的概念。,文件的保护:,避免文件拥有者或其他用户因有意或无意的错误使文件受到破坏。,文件的保密:,文件本身不得被未授权的用户访问。,这两个问题都涉及到用户对文件的访问权限,即文件的访问控制。,文件的访问控制方式有:,存取控制矩阵、存取控制表、 权限表、口令、密码,整个系统维持一张二维表,一维给出系统中所有文件名,一维给出系统中所有用户名,行列交汇处给出用户对该文件的访问权限。该方法在概念上比较简单,但存取控制矩阵可能非常大,使得存储空间和查找时间两方面的开销都 很大。,1、存取控
17、制(R,W,E,None) 存取控制矩阵:(图),以文件为单位,将存取控制矩阵按列存储,以用户为单位,将存取控制矩阵按行存储。,存取控制表:,权限表:,所需保护的信息少,节省存储空间,但可靠性差(因口令存放在文件的FCB中),不能控制访问权限。,、当用户进入系统,为建立终端进程时获得系统使用权的口令。、每个用户在创建文件时,为每个创建的文件设置一个口令,且将口令置于文件说明中,当任一用户想使用该文件时,都 必须提供口令,只有两者相符时才允许存取。,2、口令,口令方式有两种:,口令的特点是:,3、密码,在用户创建源文件并将数据写入存储设备时对文件进行编码加密,在读出文件时对其进行译码解密。只有能
18、够进行译码解密的用户才能正确读出被加密的文件。代码键由用户自己掌握,没有存入系统。(看图),特点:,保密性强,节省存储空间,但编码和译码要花费一定的时间,6.6 文件的使用及文件系统模型,一、文件系统的使用,建立文件:CREAT(文件名,设备名,文件属性)打开文件:OPEN(文件名)文件的读写关闭文件的CLOSE(文件名)撤消文件:DELETE(文件名),文件系统以系统调用方式为用户提供服务。最基本的文件操作命令有:,1、建立文件:CREAT,创建一个没有任何数据的文件。该命令的主要功能是:向系统申请一个存储区,作为创建文件的FCB;把诸如文件名、创建日期等有关文件的信息存入FCB。由于一个文
19、件被创建后,系统中有了它的FCB,系统就要感知它了。,2、撤消文件:(DELETE),把不需要的文件从系统中删除。该命令的主要功能是:收回该文件所占用的磁盘空间,收回该文件控制块所使用的存储区。,该命令的主要功能是:把指定文件的目录信息复制到内存的活动目录表中,以便随后对文件进行各项操作,可以直接从活动目录表里获得文件的信息。这样做避免了每次涉及到文件时,都要与磁盘交往。由于存放活动目录表的区域有限,故打开的文件个数也是有限的。,4、关闭文件:(CLOSE),该命令的主要功能是:释放该文件在内存活动文件目录表中的占的位置,以便腾出活动目录表里的表目,使别的用户打开别的文件时使用。,3、打开文件
20、:(OPEN),该命令的主要功能是:申请一个输入缓冲区,根据命令所给需要读出数据的个数,以及读出数据在内存的存放位置,对文件进行读操作。读出的数据先被放在输入缓冲区,然后再将缓冲区中的所需的数据截出,送到指定的内存区域。,6、写文件:(WRITE),该命令的主要功能是:首先把输出的数据送入内存缓冲区。缓冲区满后,按照指定位置做写操作,完成往文件里写的工作。,5、读文件:(READ),二、文件系统的组成 1、文件系统的一般模型(如图),例题:一个具体文件的逻辑结构形式:,上图中:每一个记录包含:“学号” 、“姓名” 、“班级” 和“各科成绩”(其中包括“外语” “数学”等课程)各数据项; “学号
21、”为该文件的主关键字。,返回,连续结构-连续文件示意图,返回,链接结构-串联文件示意图,索引结构-索引文件示意图,返回,索引结构-多重索引文件,返回,磁盘图,返回,例如:假定一个盘组共有100个柱面,每个柱面上有8个磁道,每个盘面分成4个扇区。这里假设一个扇区为一个磁盘块。构造一位示图。,整个磁盘空间磁盘块的总数为: 4*8*100=3200(块)若用32位的字来构造位示图,则需要100个字,如下图:,位示图,返回,例题:,例如:假定一个盘组共有100个柱面,每个柱面上有8个磁道,每个盘面分成4个扇区。这里假设一个扇区为一个磁盘块,柱面、磁道、扇区的编号均从0开始,现用字长为16位的200个字
22、组成位示图来管理磁盘空间的使用情况。问:, 文件系统发现位示图中第15字第7位为0而准备给某一记录时,该记录会存放在磁盘的哪一块上?此块的物理位置(柱面号、磁头号、扇区号)如何?, 删除文件时,要回收其存储空间,也即应将第56柱面第6磁头第3扇区的块变成空闲块,此时,位示图中第几字第几位应由1改为0?,解: 相对块号=字*字长+位=15*16+7=247柱面号=块号/每柱面扇区数=247/(8*4)=7N=块号 MOD 每柱面扇区数=247 MOD (8*4)=23磁头号=N/每盘面扇区数=23/4=5扇区号=N MOD 每盘面扇区数=23 MOD 4=3故该记录会存放在磁盘的第247块上,此
23、块的物理位置为第7柱面、第5磁头、第3号扇区, 相对块号=柱面号*每柱面扇区数+磁头号*每盘面扇区数+扇区号=56*(8*4)+6*4+3=1819字号=块号/字长=1819/16=113位号=块号 MOD 字长=1819 MOD 16=11故:第56柱面第6磁头第3号扇区对应的块变成空闲块时,应将位示图中第113字第11位应由1改为0,返回,空闲区表图,、一个需要6个磁盘块的文件申请完后的空闲区表图,、具体的空闲区表图,返回,例题:有一磁盘,共有10个柱面,每个盘面100个磁 道,每个磁道分成分成16个扇区。用位示图法和空闲区表法进行比较。假定分配以扇区为单位,空闲区表一个表目占5个字节。试
24、问在空闲区表大于位示图之前 ,该磁盘里至少应该有多少空闲扇区出现?,解:该磁盘共有块数为:10*100*16=16000(块) 由于字节长为8位,则位示图需要占用的字节数为: 16000/8=2000(字节) 因为空闲区表一个表目占5个字节,而位示图占2000字节,即2000字节可存放的表项数为20005=400(个) 当空闲区表数目大于400时,空闲区表大于位示图。,返回,成组链接法图:,返回,文件资源表,文件存储设备,单级目录图,一个目录项(文件的FCB),目录文件,钟的文件,林的文件,王的文件,方的文件,(一级目录结构图),返回,二级目录图,用户目录,主目录:,钟的目录,王的目录,林的目录,方的目录,返回,多级目录(树型目录结构),用户C的目录,用户C的子目录,:用户的目录 :用户的文件,根目录:,返回,绕道法图 我P127,返回,:目录 :文件,连接法图,返回,:目录 :文件,存取控制图,权限表,存取控制表,存取控制矩阵,返回,加密解密过程,返回,命令参数,用户接口及初始化模块,符号文件系统(按名存取),基本文件系统,存取控制模块,命令结果,分配策略模块,逻辑文件系统工程 物理文件系统工程 设备策略模块,I/O调度及控制系统,启动设备 中断请求,back,返回,