课件操作系统文件管理.ppt
《课件操作系统文件管理.ppt》由会员分享,可在线阅读,更多相关《课件操作系统文件管理.ppt(122页珍藏版)》请在课桌文档上搜索。
1、第六章 文 件 管 理,本章主要内容,文件和文件系统 文件的逻辑结构 外存分配方式 目录管理 文件存储空间的管理 文件共享与文件保护 数据一致性控制,6.1 文件和文件系统,6.1.1 文件、记录和数据项,1.数据项,(1)基本数据项。这是用于描述一个对象的某种属性的字符集,是数据组织中可以命名的最小逻辑数据单位,即原子数据,又称为数据元素或字段。它的命名往往与其属性一致。例如,用于描述一个学生的基本数据项有:学号、姓名、年龄、所在班级等。,(2)组合数据项。由若干个基本数据项组成的,简称组项。例如,工资也是个组项,它可由基本工资、工龄工资和奖励工资等基本项所组成。基本数据项除了数据名外,还应
2、有数据类型。因为基本项仅是描述某个对象的属性,根据属性的不同,需要用不同的数据类型来描述。例如,在描述学生的学号时,应使用整数;描述学生的姓名则应使用字符串(含汉字);描述性别时,可用逻辑变量或汉字。可见,由数据项的名字和类型两者共同定义了一个数据项的“型”。而表征一个实体在数据项上的数据则称为“值”。例如,学号/30211、姓名/王有年、性别/男等。,2.记录 一组相关数据项的集合,用于描述一个对象在某方面的属性。一个记录应包含哪些数据项,取决于需要描述对象的哪个方面。而一个对象,由于他所处的环境不同可把他作为不同的对象。例如,一个学生,当把他作为班上的一名学生时,对他的描述应使用学号、姓名
3、、年龄及所在系班,也可能还包括他所学过的课程的名称、成绩等数据项。但若把学生作为一个医疗对象时,对他描述的数据项则应使用诸如病历号、姓名、性别、出生年月、身高、体重、血压及病史等项。,3.文件与文件系统1文件 一组带标识的在逻辑上有完整意义的信息项的序列,这个标识为文件名 信息项:构成文件内容的基本单位 长度:单个字节,或多个字节 文件内容的意义:由文件的建立者和使用者解释,2 文件分类,可分为有结构文件和无结构文件两种。在有结构的文件中,文件由若干个相关记录组成;无结构文件则被看成是一个字符流。文件在文件系统中是一个最大的数据单位,它描述了一个对象集。例如,可以将一个班的学生记录作为一个文件
4、。一个文件必须要有一个文件名,它通常是由一串ASCII码或(和)汉字构成。,各信息项之间具有顺序关系,信息项,信息项,.,信息项,.,信息项,编号:0 1 i n-1,读写指针,属性可以包括:文件类型。(2)文件长度。(3)文件的物理位置。(4)文件的建立时间。,图 6-1 文件、记录和数据项之间的层次关系,6.1.2 文件类型和文件系统模型 1.按文件性质和用途分类 1系统文件:有关OS及有关系统所组成文件 2用户文件:3库文件:标准子程序及常用应用程序组成文件,允许用户使用但不能修改,2.按信息保存期限分类 临时文件;永久文件;档案文件3.按文件的保护方式分类 只读文件;读写文件;可执行文
5、件4.按文件的逻辑结构分类 流式文件;记录式文件,5.按文件的物理结构分类 顺序(连续)文件;链接文件;索引文件6.UNIX系统将文件分为三类 普通文件;目录文件;特殊文件(设备文件,把外部设备也看作文件),普通文件(regular)包含的是用户的信息,一般为ASCII或二进制文件目录文件(directory)管理文件系统的系统文件,特殊文件(special file)字符设备文件:和输入输出有关,用于模仿串行I/O设备,例如终端,打印机,网络等 块设备文件:模仿磁盘分类的目的:对不同文件进行管理,提高系统效率;提高用户界面友好性,2.文件系统 是操作系统中统一管理信息资源的一种软件,管理文件
6、的存储、检索、更新,提供安全可靠的共享和保护手段,并且方便用户使用。,3.文件系统的功能(1)统一管理文件的存储空间,实施存储空间的分配与回收(2)实现文件的按名存取 名字空间 映射 存储空间,(3)实现文件信息的共享,并提供文件的保护和保密措施(4)向用户提供一个方便使用的接口(提供对文件系统操作命令,以及提供对文件的操作命令:信息存取、加工等),(5)系统维护及向用户提供有关信息(6)文件系统的执行效率 文件系统在操作系统接口中占的比例最大,用户使用操作系统的感觉在很大程度上取决于对文件系统的使用效果.(7)提供与I/O的统一接口,文件系统模型,图 6-2 文件系统模型,1)对象及其属性
7、文件管理系统管理的对象有:文件。文件管理的直接对象。目录。为了方便用户对文件的存取和检索,在文件系统中必须配置目录。对目录的组织和管理是方便用户和提高对文件存取速度的关键。磁盘(磁带)存储空间。文件和目录必定占用存储空间,,2)对对象操纵和管理的软件集合 这是文件管理系统的核心部分。文件系统的功能大多是在这一层实现的,其中包括:对文件存储空间的管理、对文件目录的管理、用于将文件的逻辑地址转换为物理地址的机制、对文件读和写的管理,以及对文件的共享与保护等功能。,3)文件系统的接口 为方便用户使用文件系统,文件系统通常向用户提供两种类型的接口:(1)命令接口。这是指作为用户与文件系统交互的接口。用
8、户可通过键盘终端键入命令,取得文件系统的服务。(2)程序接口。这是指作为用户程序与文件系统的接口。用户程序可通过系统调用来取得文件系统的服务。,6.1.3 文件操作介绍 1建立文件 实质是建立文件的FCB,并建立必要的存储空间,分配空FCB,根据提供的参数及需要填写有关内容,返回一个文件描述 目的:建立系统与文件的联系,create(文件名,访问权限,(,最大长度)(1)检查参数的合法性 文件名是否符合命名规则 是(2),否则错误返回(2)检查同一目录下有无重名文件 无(3),有错误返回,(3)在目录中有无空闲位置 有(2),否则不成功返回 有的系统可能要为此文件申请数据块空间(申请一部分或一
9、次性全部申请)(4)填写目录项内容:文件名,用户名等,存取权限,长度置零,(,首址)(5)返回,2打开文件 使用文件的第一步,任何一个文件使用前都要先打开,即把FCB送到内存fd=open(文件路径名,打开方式)(1)根据文件路径名查目录,找到FCB主部;,(2)根据打开方式、共享说明和用户身份检查访问合法性;(3)根据文件号查系统打开文件表,看文件是否已被打开;是共享计数加1 否则将外存中的FCB主部等信息填入系统打开文件表空表项,共享计数置为1;,(4)在用户打开文件表中取一空表项,填写打开方式等,并指向系统打开文件表对应表项。返回信息:fd:文件描述符,是一个非负整数,用于以后读写文件。
10、,3关闭文件4删除文件:撤销FCB5.指针定位 seek(fd,新指针的位置)(1)由fd查用户打开文件表,找到对应的入口;(2)将用户打开文件表中文件读写指针位置设为新指针的位置,供后继读写命令存取该指针处文件内容。,6读文件 read(文件名,(文件内位置),要读的长度,内存目的地址)隐含参数:进程主(1)检查长度是否为正整数 是(2),否则(10),(2)根据文件名查找目录,确定该文件在目录中的位置。(3)根据隐含参数中的进程主和目录中该文件的存储权限数据,检查是否有权读?是(4),否则(10),(4)由文件内位置与要读的长度计算最末位置,将其与目录中的文件长度比较,超过否?是(10),
11、否则(5)也可将参数中的长度修正为目录中的文件长度,(5)根据参数中的位置、长度和目录中的映射信息,确定块号、块数、块内位移与长度。(多次读盘)(6)根据下一块号读块至内存缓冲区(7)根据块内位移长度取出要读的内容,送至参数中的内存目的地址,(8)根据块内长度或起始块号+块数,确定还读下一块吗?同时确定下一块块号 是(5),否则(9)(9)正常返回(10)错误返回,返回相应错误号,7写文件8文件连接(LINK)9复制文件 10目录的操作,6.2 文件的逻辑结构,对于任何一个文件,都存在着以下两种形式的结构(1)文件的逻辑结构 从用户角度看文件,研究文件的组织形式(2)文件的物理结构,又称为文件
12、的存储结构,是指文件在外存上的存储组织形式。,1.流式文件:构成文件的基本单位是字符,文件是有逻辑意义的、无结构的一串字符的集合。文件:一个无结构字节序列。大量的源程序、可执行文件、库函数等,所采用的就是无结构的文件形式,即流式文件。其长度以字节为单位。对流式文件的访问,则是采用读写指针来指出下一个要访问的字符。可以把流式文件看作是记录式文件的一个特例。在UNIX系统中,所有的文件都被看作是流式文件;即使是有结构文件,也被视为流式文件;系统不对文件进行格式处理。,2.记录文件:文件是由若干个记录组成,每个记录有一个键,可按键进行查找。记录式文件是有结构的文件。文件:一个固定长度记录的序列,每条
13、记录有其内部结构(有结构文件),有结构文件分类定长记录。文件中的纪录长度固定(2)变长记录。文件中的纪录根据数据量大小进行调整 顺序文件。由一系列纪录按某种顺序进行排列(2)索引文件。建立一张索引表,并为每个纪录建立一个表项(3)索引顺序文件。为文件建立一张索引表,为每组纪录中的第一个记录设置一个表项。,6.2.2 顺序文件,1.逻辑记录的排序,第一种是串结构,各记录之间的顺序与关键字无关。通常的办法是由时间来决定,即按存入时间的先后排列,最先存入的记录作为第一个记录,其次存入的为第二个记录,依此类推。第二种情况是顺序结构,指文件中的所有记录按关键字(词)排列。可以按关键词的长短从小到大排序,
14、也可以从大到小排序;或按其英文字母顺序排序。,文件中的记录可以是任意顺序的,读一个文件的时候,设置一个读指针rptr,令其指向下一个记录的首地址,读完一个记录执行一次后移。Rptr=rptr+L;写文件操作同上,只是需要设置一个写指针wptr;对于变长的记录顺序文件,读写文件同上,只是在进行指针加的长度应该是刚刚读或写的数据记录的长度L1.,2.对顺序文件(Sequential File)的读/写操作,图 6-3 定长和变长记录文件,6.2.3 索引文件,对于定长记录文件,如果要查找第i个记录,可直接根据下式计算来获得第i个记录相对于第一个记录首址的地址:Ai=iL 对于可变长度记录的文件,要
15、查找其第i个记录时,须首先计算出该记录的首地址。为此,须顺序地查找每个记录,从中获得相应记录的长度Li,然后才能按下式计算出第i个记录的首址。假定在每个记录前用一个字节指明该记录的长度,则,查找效率非常低,图 6-4 索引文件的组织,在读取数据记录时候,只需要首先访问索引表(快速查找);写入数据时候,应该修改一下索引表即可。在数据量非常大的环境下,尽量使用索引表方式处理。,6.2.4 索引顺序文件,处理方式:将纪录的关键字分组,并为顺序文件建立一张索引表,在索引表中为各个组的第一个记录建立索引项,包含该纪录的键值和指向该纪录的指针。如下图所示:,图 6-5 索引顺序文件,最为常见的一种文件系统
16、,6.2.5 直接文件和哈希文件,1.直接文件,对于直接文件,则可根据给定的记录键值,直接获得指定记录的物理地址。换言之,记录键值本身就决定了记录的物理地址。这种由记录键值到记录物理地址的转换被称为键值转换(Key to address transformation)。组织直接文件的关键,在于用什么方法进行从记录值到物理地址的转换。,2.哈希(Hash)文件,图 6-6 Hash文件的逻辑结构,6.3 外存空间的分配 是从系统的角度来看文件,从文件在物理介质上的存放方式来研究文件。即研究文件的物理结构,1.连续结构(顺序)一个文件的信息存放在若干连续的物理块中 优点:简单 支持顺序存取和随机存
17、取 顺序存取速度快 所需的磁盘寻道次数和寻道时间最少,文件名 始址 块数,count 0 2tr 14 3mail 19 6list 28 4f 6 2,文件目录,count,f,tr,mail,list,缺点:A 文件不能动态增长 预留空间:浪费 重新分配和移动 B 不利于文件插入和删除 C 外部碎片问题 存储压缩技术,2.链接分配结构 一个文件的信息存放在若干不连续的物理块中,各块之间通过指针连接,前一个物理块指向下一个物理块 优点:提高了磁盘空间利用率,不存在外部碎片问题 有利于文件插入和删除 有利于文件动态扩充,文件名 始址 末址,jeep 9 25,文件目录,0,1,2,3,4,5,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课件 操作系统 文件 管理
![提示](https://www.desk33.com/images/bang_tan.gif)
链接地址:https://www.desk33.com/p-263029.html