哈工程考研课件-第6章 文件管理.ppt
《哈工程考研课件-第6章 文件管理.ppt》由会员分享,可在线阅读,更多相关《哈工程考研课件-第6章 文件管理.ppt(93页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章第六章 文件管理文件管理6.1 概述概述6.2 文件的逻辑结构文件的逻辑结构6.3 外存分配方式外存分配方式6.4 文件目录管理文件目录管理6.5 文件存储空间管理文件存储空间管理6.6 文件系统的可靠性和安全性文件系统的可靠性和安全性6.7 文件系统的数据一致性控制文件系统的数据一致性控制6.1 概述概述 所有的计算机应用程序都要所有的计算机应用程序都要:存储信息存储信息,检索信息检索信息三个基本要求:三个基本要求:能存储大量信息、长期保存信息、可共享信息能存储大量信息、长期保存信息、可共享信息解决方法解决方法:把信息以文件形式存在磁盘或其他介质上把信息以文件形式存在磁盘或其他介质上通
2、过操作系统管理文件:通过操作系统管理文件:文件的结构文件的结构,命名命名,存取存取,使用使用,保护和实现方法保护和实现方法用户观点用户观点(方便方便):如何命名如何命名,如何访问如何访问,如何如何共享共享,如何保护文件。如何保护文件。操作系统观点操作系统观点(高效高效):文件目录怎样实现文件目录怎样实现,怎样管理存储空间怎样管理存储空间,文件存储文件存储位置位置,磁盘实际运作方式磁盘实际运作方式(与设备管理的接口与设备管理的接口)等等等等6.1.1 文件与文件系统文件与文件系统 计算机中用到大量的信息计算机中用到大量的信息(程序和数据程序和数据)资源资源,平平时总是把它们以文件的形式长期存放在
3、外存中时总是把它们以文件的形式长期存放在外存中,需要时需要时可随时调入内存。文件系统就是统一管理这些信息资可随时调入内存。文件系统就是统一管理这些信息资源的源的OS软件软件,它管理文件的存储、检索和更新它管理文件的存储、检索和更新,提供提供安全可靠的共享和保护手段安全可靠的共享和保护手段,方便的给用户使用。方便的给用户使用。1.文件文件 文件是具有文件名的若干文件是具有文件名的若干(数目不定数目不定)相关元素的相关元素的集合集合,它是文件系统中的最大数据单位它是文件系统中的最大数据单位;可分为有结构可分为有结构文件和无结构文件文件和无结构文件;有结构文件的元素是记录有结构文件的元素是记录,记录
4、是记录是有意义的数据项的集合有意义的数据项的集合,无结构文件则是一个字符流无结构文件则是一个字符流,称为流式文件。称为流式文件。文件名文件名:ASCII码和汉字组成码和汉字组成,支持文件扩展名支持文件扩展名 文件属性文件属性:文件类型、文件文件类型、文件(当前当前)长度、长度、文件物理位置、文件建立时间文件物理位置、文件建立时间3.记录记录 有结构文件中有结构文件中,一组相关的数据项组成记录一组相关的数据项组成记录,若干若干条记录组成文件条记录组成文件,在各记录中能够唯一标识一个记录在各记录中能够唯一标识一个记录的数据项集合称为关键字的数据项集合称为关键字(key),通常用一个数据项作通常用一
5、个数据项作为关键字。为关键字。2.数据项数据项 有结构文件中有结构文件中,数据项是最低级的数据组织形式。数据项是最低级的数据组织形式。(1)基本数据项基本数据项:用于描述一个对象的某种属性的数据用于描述一个对象的某种属性的数据,是数据组织中可以命名的最小逻辑单位是数据组织中可以命名的最小逻辑单位,又称为字段。又称为字段。(2)组合数据项组合数据项:由若干个基本数据项组成由若干个基本数据项组成,简称组项。简称组项。记录记录1记录记录2记录记录i记录记录n数据项数据项1 数据项数据项2数据项数据项n文件文件4.文件系统模型文件系统模型(1)文件系统管理的对象其属性文件系统管理的对象其属性(相关的数
6、据结构相关的数据结构)文件、目录、存储空间。文件、目录、存储空间。(2)对对象操纵和管理的软件集合对对象操纵和管理的软件集合 读写管理、目录管理、共享和保护管理、存储空间读写管理、目录管理、共享和保护管理、存储空间 管理、地址映射、系统维护、物理管理、地址映射、系统维护、物理 I/O、设备驱动设备驱动(3)向用户提供一个方便使用的接口向用户提供一个方便使用的接口 命令接口、程序接口命令接口、程序接口文件系统接口文件系统接口 对对象操纵和管理的软件集合对对象操纵和管理的软件集合对象及其属性对象及其属性文件系统文件系统三层膜型三层膜型用户用户(程序程序)Surface LayoutSpindleS
7、urfaceTracksTrack kSectorsGapsAdapted from:Computer Systems:A Programmers PerspectivePlatter ViewSurface 0Surface 1Surface 2Surface 3Surface 4Surface 5Cylinder kSpindlePlatter 0Platter 1Platter 2Adapted from:Computer Systems:A Programmers PerspectiveDisk in ActionSpindleRecordsApplicationsStructured
8、 Record FilesRecord-Stream TranslationStream-Block TranslationByte Stream FilesStorage deviceStream-Block Translationb0b1b2bi.5.文件系统的功能文件系统的功能(1)统一的存储空间管理统一的存储空间管理,实施存储空间的分配与回收实施存储空间的分配与回收(2)实现文件的按名存取实现文件的按名存取 名字空间名字空间 映射映射 存储空间存储空间(逻辑地址转换为物理地址逻辑地址转换为物理地址)(3)实现文件信息的共享实现文件信息的共享,并提供文件的保护和保密措并提供文件的保护和保
9、密措施施(4)对文件的读写管理、目录管理对文件的读写管理、目录管理(5)系统维护及向用户提供有关信息系统维护及向用户提供有关信息(6)提供与提供与I/O设备的统一接口设备的统一接口(7)向用户提供方便使用的命令接口和程序接口向用户提供方便使用的命令接口和程序接口 (提供对文件系统和对文件的操作命令和语句提供对文件系统和对文件的操作命令和语句)文件系统在文件系统在OS 接口中占的比例最大接口中占的比例最大,用户使用用户使用OS的感觉在很大程度上取决于对文件系统的使用效果的感觉在很大程度上取决于对文件系统的使用效果.6.1.2 文件类型文件类型 为了提高系统管理文件的效率为了提高系统管理文件的效率
10、;提高用户界面友好提高用户界面友好性性,对文件进行分类。对文件进行分类。1.按文件性质和用途分类按文件性质和用途分类 系统文件:由系统软件构系统文件:由系统软件构 成的文件成的文件 用户文件:由用户产生的各种文件用户文件:由用户产生的各种文件 库文件:标准子程序及常用的例程构成的文件库文件:标准子程序及常用的例程构成的文件2.按信息保存期限分类按信息保存期限分类 临时文件;永久文件;档案文件临时文件;永久文件;档案文件3.按文件中的数据形式分类按文件中的数据形式分类 源文件、目标文件、可执行文件、数据文件源文件、目标文件、可执行文件、数据文件4.按文件的存储控制属性分类按文件的存储控制属性分类
11、 只执行文件;只读文件;读写文件。只执行文件;只读文件;读写文件。5.按文件的逻辑结构分类按文件的逻辑结构分类 流式文件流式文件(无结构无结构);记录式文件;记录式文件(有结构有结构)。7.按文件的物理结构分类按文件的物理结构分类 顺序顺序(连续连续)文件;链接文件;索引文件文件;链接文件;索引文件8.UNIX系统将文件分为三类系统将文件分为三类普通文件普通文件(regular)包含的是用户信息包含的是用户信息,一般为一般为ASCII或二进制文件或二进制文件目录文件目录文件(directory)管理文件系统的系统文件管理文件系统的系统文件 特殊文件特殊文件(special file)设备文件设
12、备文件(将外设看作文件将外设看作文件)字符设备文件字符设备文件:用于模仿串行用于模仿串行I/O设备设备,如终端如终端,打印机打印机,网络等网络等 块设备文件块设备文件:模仿磁盘模仿磁盘 为了方便系统和用户了解文件的类型为了方便系统和用户了解文件的类型,常把文件类常把文件类型作为扩展名放在文件名的后面型作为扩展名放在文件名的后面,二者之间用二者之间用.隔开。隔开。6.1.3 文件操作文件操作1.文件的文件的打开打开和和关闭关闭操作操作 打开打开(open)文件文件,是系统将指名文件的属性是系统将指名文件的属性(类类型型,外存物理位置等外存物理位置等)从外存拷贝到内存打开文件表的从外存拷贝到内存打
13、开文件表的一个表目中一个表目中,并将该表目的编号并将该表目的编号(索引号索引号)返回给用户。返回给用户。此后此后,用户对文件的操作直接通过索引号进行用户对文件的操作直接通过索引号进行,避免了避免了对文件的再次检索。对文件的再次检索。关闭关闭(close)操作操作,将内存中的已修改的数据写将内存中的已修改的数据写到外存上到外存上,并将对应表目从打开文件表中删除。并将对应表目从打开文件表中删除。2.基本操作基本操作 创建文件创建文件:分配外存空间分配外存空间,建目录项填入各种属性建目录项填入各种属性 删除文件删除文件:将该目录项置为空项将该目录项置为空项,释放外存空间释放外存空间 读文件写文件读文
14、件写文件:目录项中得文件在外存目录项中得文件在外存位置位置,读写读写 截断文件截断文件:将文件内容置空将文件内容置空 设置文件读写的位置设置文件读写的位置:设置文件读写指针的位置设置文件读写指针的位置6.2 文件的逻辑结构文件的逻辑结构文件的逻辑结构文件的逻辑结构:从用户角度看文件的组织形式从用户角度看文件的组织形式文件的物理结构文件的物理结构:文件在外存上的存储组织形式文件在外存上的存储组织形式6.2.1 文件的逻辑结构类型文件的逻辑结构类型 1.有结构文件有结构文件(记录文件记录文件)文件是由若干个记录组成文件是由若干个记录组成,每条记录有其内部结构每条记录有其内部结构 按记录长度分按记录
15、长度分:定长记录、变长记录定长记录、变长记录 按记录间的关系分按记录间的关系分:顺序、索引、索引顺序顺序、索引、索引顺序 2.无结构文件无结构文件 又称为流式文件又称为流式文件,是元素长度为是元素长度为1的无结构字节流的无结构字节流,如如:源程序源程序,可执行文件可执行文件,库函数库函数,C语言的数据文件等。语言的数据文件等。在在UNIX系统中所有的文件被看作流式文件。系统中所有的文件被看作流式文件。好处:提供很大的灵活性。好处:提供很大的灵活性。一条记录一条记录一个字节一个字节流式文件流式文件 记录文件记录文件6.2.2 顺序文件顺序文件 1.文件的逻辑排序文件的逻辑排序 串结构:各记录的逻
16、辑顺序按存入的时间排序。串结构:各记录的逻辑顺序按存入的时间排序。有序结构:各记录的逻辑顺序按关键字排序。有序结构:各记录的逻辑顺序按关键字排序。2.对顺序文件的读对顺序文件的读/写操作写操作 顺序文件只能顺序读或顺序写顺序文件只能顺序读或顺序写,可设置读可设置读/写指针写指针Rptr和和Wptr,指向下一记录的逻辑地址。指向下一记录的逻辑地址。对定长记录对定长记录:每当读完一条记录时执行每当读完一条记录时执行:Rptr=Rptr+L 每当写完一条记录时执行每当写完一条记录时执行:Wptr=Wptr+L 对变长记录对变长记录:每当读完一条记录时执行每当读完一条记录时执行:Rptr=Rptr+L
17、i 每当写完一条记录时执行每当写完一条记录时执行:Wptr=Wptr+Li 3.优点优点:批量存取效率高批量存取效率高,缺点缺点:查找增删低效不方便查找增删低效不方便6.2.3 索引文件索引文件 对定长记录文件对定长记录文件,要查找第要查找第 i 个纪录个纪录,可直接计算可直接计算:Ai=A0+i*L (A0和和Ai是第是第0和第和第i个纪录的逻辑地址个纪录的逻辑地址)对变长记录文件对变长记录文件,要查找第要查找第 i 个纪录个纪录,则要计算则要计算:Ai=A0+i+Li (假定每个纪录前用假定每个纪录前用1字节存储长度字节存储长度)要实现直接存取文件要实现直接存取文件,对定长记录用公式计算很
18、方对定长记录用公式计算很方便便,但对变长记录却很困难但对变长记录却很困难;为此可建立一张索引表为此可建立一张索引表,索索引表本身是定长引表本身是定长记录文件记录文件,可直可直接计算在索引表接计算在索引表上找第上找第i 个纪录个纪录,按其指针值找到按其指针值找到指向的记录。指向的记录。i-1i=0R0R1.Ri.0 L0 1 L1 .i Li .索索引引表表逻逻辑辑文文件件 如果要按给定的关键字查找对应的记录如果要按给定的关键字查找对应的记录,对于定长对于定长记录文件记录文件,当纪录无序时只能顺序查找当纪录无序时只能顺序查找,效率很低效率很低;当当纪录是按的关键字排序时可直接用折半查找纪录是按的
19、关键字排序时可直接用折半查找,但插入和但插入和删除效率很低。对变长记录文件删除效率很低。对变长记录文件,如果没有索引表只能如果没有索引表只能顺序查找顺序查找,效率很低效率很低;而加了索引表后而加了索引表后,由于索引表是按纪录的关键字排由于索引表是按纪录的关键字排序的序的,检索时检索时,可用折半查找索引表可用折半查找索引表,按其指针值指向按其指针值指向的记录与给定的关键字比较的记录与给定的关键字比较,查到为止。当向索引文件查到为止。当向索引文件增加新纪录时需要修改索引表。增加新纪录时需要修改索引表。优点:检索数度块。优点:检索数度块。缺点:每个记录都对应一个索引项缺点:每个记录都对应一个索引项,
20、存储费用大。存储费用大。6.2.3 索引顺序文件索引顺序文件 对变长记录文件对变长记录文件,用索引表存储费用大用索引表存储费用大,结合索引结合索引文件和顺序文件的优点文件和顺序文件的优点,构成索引顺序文件构成索引顺序文件;所有记录所有记录逻辑上按关键字有序排列逻辑上按关键字有序排列,并将记录分为若干组并将记录分为若干组,索引索引表为每组的第一个记录建立一个索引表项表为每组的第一个记录建立一个索引表项,检索时先根检索时先根据索引表键值确定该记录在哪一组据索引表键值确定该记录在哪一组,再按该表项指针指再按该表项指针指向的主文件中的位置顺序查找到所要的记录。如向的主文件中的位置顺序查找到所要的记录。
21、如An FenAn Kan.Bao He.An FenBao He .Lan Lin .索索引引表表逻逻辑辑文文件件姓名姓名 其它属性其它属性键键 逻辑地址逻辑地址 如果某顺序文件的记录数为如果某顺序文件的记录数为N,则顺序检索平均查则顺序检索平均查找找N/2个记录。而对于索引顺序文件每组个记录。而对于索引顺序文件每组N个记录个记录,平平均查找均查找N个记录个记录;效率大大提高。对于特大型文件可效率大大提高。对于特大型文件可建立多级索引表。建立多级索引表。6.2.4 直接文件和哈希文件直接文件和哈希文件1.直接文件直接文件:根据给定的记录键值根据给定的记录键值,直接获得指定记录的直接获得指定记
22、录的物理地址物理地址,这种由给定的记录键值到记录的物理地址的这种由给定的记录键值到记录的物理地址的转换称为转换称为键值转换键值转换,关键是用什么函数进行转换。关键是用什么函数进行转换。2.哈希文件哈希文件:用哈希函数用哈希函数(或称散列函数或称散列函数)进行进行键值转换键值转换,为了能实现文件存储空间的动态分配为了能实现文件存储空间的动态分配,通常由哈希函数通常由哈希函数求得的不是记录的地址求得的不是记录的地址,而是指向目录表相应表项的指而是指向目录表相应表项的指针针,表项的内容指向相应记录所在的物理块。如表项的内容指向相应记录所在的物理块。如 目录表目录表Hash(k)键值键值哈希函数哈希函
23、数物物理理块块6.3 外存分配方式外存分配方式 文件的物理结构与外存分配方式有关。文件的物理结构与外存分配方式有关。常用分配方式有常用分配方式有:连续分配、链接分配和索引分配连续分配、链接分配和索引分配。对应的物理结构对应的物理结构:连续结构、链接式结构和索引结构连续结构、链接式结构和索引结构6.3.1.连续分配连续分配 为每个文件分配一组连续的相邻物理块为每个文件分配一组连续的相邻物理块,形成的形成的文件结构称顺序文件结构文件结构称顺序文件结构,物理文件称顺序文件。这物理文件称顺序文件。这种分配方式保证了记录的逻辑顺序种分配方式保证了记录的逻辑顺序,与占用盘块的物与占用盘块的物理顺序一致理顺
24、序一致;在目录项的在目录项的文件物理地址文件物理地址字段中存放字段中存放该文件的第一个记录所在盘块号和文件长度该文件的第一个记录所在盘块号和文件长度(块数块数)。如如:目录目录 file start length f1 0 2 tr 14 3 mail 19 6 .2.连续分配的优缺点连续分配的优缺点优点优点:顺序存取简单容易顺序存取简单容易,也支持直接也支持直接(随机随机)存取。存取。顺序存取速度快顺序存取速度快,寻道次数和寻道时间最少。寻道次数和寻道时间最少。也适合随机访问也适合随机访问,计算出盘块地址直接访问。计算出盘块地址直接访问。缺点缺点:易产生外部碎片易产生外部碎片,降低外存空间的
25、利用率降低外存空间的利用率;可可利利 用紧凑法将外部碎片拼接成连续存储空间用紧凑法将外部碎片拼接成连续存储空间,但紧凑但紧凑 一次需要进行大量的磁盘操作花费大量的时间。一次需要进行大量的磁盘操作花费大量的时间。不利于文件的插入和删除。不利于文件的插入和删除。必须事先知道文件的大小必须事先知道文件的大小,对于动态增长的文对于动态增长的文件效果较差。需要估算预留的连续外存空间件效果较差。需要估算预留的连续外存空间,预留预留空间不足将引起大片磁盘空间的移动空间不足将引起大片磁盘空间的移动,预留空间太预留空间太大将使大量的外存空间长期空闲。大将使大量的外存空间长期空闲。6.3.2 链接分配链接分配 将
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈工程考研课件-第6章 文件管理 工程 考研 课件 文件 管理
限制150内