第六章关于本章学习方式《文件管理》这章的学习采用自学为主方式,这里给出各节的学习内容提纲及思考题。文件管理思考题1、文件的逻辑结构与物理结构有何区别与联系?2、磁盘空间的分配方式有哪几种?各有何特点?3、为什么通常采用多级目录结构?目录项包括哪些内容?如何通过目录实现文件的按名存取?4、比较基于索引结点和用符号链实现的文件共享方式的特点?5、文件系统的保护措施有哪些?6、提高文件系统的性能可采取哪些措施?本章讨论的主要问题信息文件是计算机的重要软件资源,对信息的组织、存取和保存,是由文件系统实现的。文件系统是OS的重要组成部分。本章主要讨论以下问题:信息的组织形式文件的结构信息的存取目录结构信息的存储磁盘的存储管理信息的共享与保护文件的共享与保护文件系统的构成文件的结构目录结构文件的共享与保护§6.1文件的基本概念一、文件管理五大功能:完成文件存储空间的管理。实现文件名到物理地址的映射。实现文件和目录的操作管理。提供文件的共享和保护。提供用户的接口。问题什么是文件系统?有何功能?文件系统的三层结构各有何作用?文件系统接口控制管理对象的软件集合对象及其属性文件系统的模型用户(程序)§6.1文件的基本概念二、文件系统模型文件系统接口对象及其属性说明(文件、目录、磁盘)对对象操纵和管理的软件集合逻辑文件系统基本I/O管理程序(文件组织模块)基本文件系统(物理I/O层)I/O控制层(设备驱动程序)§6.2文件的结构(一)问题1、什么是逻辑文件,什么是物理文件,它们有何区别与联系?2、试说明顺序、链接和索引文件的存储结构的特点,并说明其检索方式及优、缺点。3、什么是索引文件?为何要引入多级索引?§8.2文件的结构一、逻辑文件从用户的观点讨论文件的组织形式,即文件的逻辑结构。无结构的字符流文件(如程序、文本文件)有结构的记录式文件(如数据库文件)文件结构分为逻辑结构和物理结构。文件结构决定了对文件的访问方式及检索速度。1、按照记录长度定长记录变长记录2、按照存取方式顺序文件索引文件顺序索引文件Hash文件*串结构(按照时间顺序)顺序结构(按照键值)文件的逻辑结构与物理结构有何关系?§6.3文件的存储结构(一)1、顺序文件的存储结构将逻辑文件中的记录顺序地存储在连续的物理盘块中。文件的物理块号文件长度记录0记录1记录2记录3110#111#112#113#FCB2、优缺点优点:实现简单,根据FCB中的物理块号,顺序访问较容易。缺点:存储效率低(连续存放),文件长度固定,修改记录困难。二、物理文件从存储的观点讨论文件在外存上的组织形式,即文件的物理结构或存储结构。主要考虑存储效率。顺序(连续)文件链接(串联)文件索引(随机)文件(一)顺序文件§6.3文件的存储结构(二)(二)链接文件1、链接文件的存储结构将逻辑文件分散存放在不连续的物理盘块中。根据链接方式不同,分为:隐式链接将一个逻辑文件分为若干逻辑块链接指针包含在物理块内。显式链接将链接各物理块的指针显式存放在“链接表”中。整个盘一张,又称为文件分配表FAT。文件的物理块号文件长度FCBFCB0123450451物理块号2、优缺点优点:存储空间利用率高,增、删修改方便。缺点:。。。。。?§6.3文件的存储结构(三)(三)索引文件是一种非连续分配的文件结构。基本思想是访问文件时,只调入FAT的部分(文件的盘块号)。1、单级索引(稠密索引)为每个文件建立一张索引表,每个记录在表中占一个表项。检索过程:从FCB索引表始址按照关键字索引记录的物理地址§6.3文件的存储结构(三)(三)索引文件主索引表指针FCB逻辑记录号物理盘块号024127231340记录0记录1记录2记录324#27#31#40#索引表§6.3文件的存储结构(三)2、多级索引文件主索引表指针FCB键值物理地址ABC主索引表键值物理地址AA...AZBA..BZCA§6.3文件的存储结构(四)(四)Hash文件Hash文件是一种最常用的直接文件,不是通过记录键值先对索引表等进行检索,再获得物理地址,而是直接由记录键值物理地址。称为键址转换(Keytoaddresstransformation)2、Hash文件的键址转换利用Hash函数(散列函数)将键值转换为记录在目录表中的索引(表项的位置)来实现键址转换。例如:将文件符号名的字符的ASCII码进行“异或”运算,所得的Hash值作为符号文件目录的索引值。1、直接文件§6.3文件的存储结构(五)(四)Hash文件2、Hash文件的冲突问题利用Hash技术,可能出现多个符号名被转换为同一个Hash索引—Hash冲突。解决办法:将符号文件目录作成二维表给Hash索引加上一个位移常数采用溢出处理技术§6.3文件的存储结构(五)分区大小FAT16簇大小FAT32簇32MB2KB——128MB2KB——256MB4KB——512MB8KB4KB1GB16KB4KB2GB32KB4KB3-7GB——4KB8-16GB——8KB16-32GB——16KB大于32GB——32KB磁盘文件按簇存放,而簇的大小与分区大小有关。文件的存取方式1、顺序访问按照从前到后的顺序对文件进行读写操作。2、随机访问也称为直接访问,可按照任意的次序对文件进行读写操作。3、索引访问也称为按键访问,文件记录按某个数据项(通常称为键值)排列。存储设备磁盘、磁鼓磁带文件类型连续文件串联文件索引文件Hash文件连续文件文件长度固定固定、可变固定、可变固定、可变固定存取方法直接、顺序顺序直接、顺序直接、顺序顺序存储设备、文件类型与存取方式的关系§6.3目录管理(一)问题1、什么是文件目录?文件目录一般包括哪些信息?起什么作用?2、与一级目录相比较,两级目录和多级目录具有什么特点?3、为什么OS中广泛采用树型目录结构?它有何优点?画出对树型目录进行线性检索的流程图。4、什么是当前目录?它有何作用?*5、Hash检索法有何优点?如何解决“冲突”问题?§6.4目录管理(二)文件目录也是一种数据结构,用于标识文件及其物理地址,实现对文件的检索、访问。目录管理的功能:1、实现文件的“按名存取”2、提高对目录的检索速度3、实现文件共享4、实现文件重名问题1、目录项包括哪些内容?2、如何实现文件的按名存取?即目录查询技术。§6.3目录管理(二)文件目录也是一种数据结构,用于标识文件及其物理地址,实现对文件的检索、访问。目录管理的功能:1、实现文件的“按名存取”2、提高对目录的检索速度3、实现文件共享4、实现文件重名§6.3目录管理(三)2、索引结点为了提高检索的速度,减少所需内存空间,将文件的描述信息单独构成一个数据结构—索引结点。一、文件控制块和索引结点1、文件控制块(FCB)是用于控制和描述文件的数据结构,包括三类信息:基本信息:文件名、文件物理位置、文件的逻辑结构、文件的物理结构。存取控制信息:用户的存取控制权(S、O、G、W)。使用信息:文件建立、修改的日期时间,当前使用信息。§6.3目录管理(四)三、目录查询技术1、查询文件过程根据文件名查找文件目录,找出FCB或索引结点。由FCB或索引结点得到文件在磁盘上的物理位置,将文件读入内存。2、文件查询方式线性检索法Hash法*二、目录结构1、两级目录结构及其特点2、树型(多级)目录及其特点3、路径名与当前目录§6.5文件的存储空间管理本节讨论对文件的存储空间的分配、回收与访问。•外存分配方法1、连续分配2、链接分配3、索引分配•对文件存储空间管理方法1、空闲表法2、位示图法3、成组链法•文件系统性能的改善问题:改善文件系统的性能,提高访问文件的速度应采取哪些方法和技术?§6.5文件的存储空间管理本节讨论对文件的存储空间的管理:分配、回收与访问。一、空闲表法为外存上的所有空闲区建立一张“空闲区表”,其分配算法与回收,与内存管理类似。是一种连续分配方式。二、空闲链表法空闲盘块链(结点为盘块)空闲盘区链(结点为盘区)序号第一空闲盘块号空闲盘块数1242933145§6.5文件的存储空间管理0空闲1已分配三、位示图法利用二进制位表示磁盘中每个块的使用情况{(P207图6-21)将位示图定义为一个M*N的二维数组:Varmap:array[1..m,1..n]ofbit;位示图与盘块号之间的对应关系为:b=n(i-1)+j其中:i—行j—列§6.5文件的存储空间管理四、成组链法(UNIX)将空闲盘块分为若干组,每组盘块总数、所有盘块号记入前一组的第一个盘块中,各组的第一个盘块构成链将第一组的盘块总数、所有盘块号记入空闲盘块。最后一组中放入结束标志。将其块号与总数放入管理文件存储设备的文件资源表中。第一组第二组第三组最后组…文件资源表最后组的块号与总块号倒数第二组的块号与总块号文件存储设备第二组的块号与总块号第一组的块号与总块号§6.4文件的共享与安全性一、文件共享1、绕弯路法2、链接法3、利用基本文件实现共享4、基于索引结点的共享5、用符号链实现文件共享问题1、基于索引结点的共享方式和基于符号链的共享方式有何优、缺点?2、对具有树型目录结构的文件系统,如何实现文件共享?§6.4文件的共享与安全性(二)二、文件的保护1、保护域2、访问矩阵3、分级安全管理(系统、用户、目录、文件)1、试说明各种文件保护措施的基本原理,你认为它们各有何优、缺点?2、在分级安全管理中,各级管理的主要内容是什么?3、如何利用访问控制表和访问权限制表来实现对文件的保护?问题文件系统保护一、保护域现代OS中对文件系统的存取控制机制,一般都举例在“保护域”概念的基础上。“域”是一个抽象的概念,“保护域”指出了进程能够服务的对象(Object)及对该对象执行操作的权限(Accessright)。具体实现文件保护,有以下方式:1、存取控制矩阵(访问矩阵)2、存取控制表(访问控制表)3、口令或密码4、分级安全管理二、分级安全管理1、系统级安全管理防止非法用户进入系统,方法有:⑴注册系统管理员为新用户在用户注册表中建立一个表项。⑵登录核实用户的注册名及口令,确认用户使用系统的合法性。⑶其它如定期改口令,限定上机终端、时间等。2、用户级安全管理主要是对用户进行分类,对不同类的用户分配不同的文件访问权。用户:S、O、G、W文件访问权:R、W、D、M、C、O等。三、存取控制矩阵文件名用户A.CRWEERWE…B.CRWRRWED.CRWWEE.CRWRWWANGLIUZHANG。。。。。。优点:概念简单。缺点:当用户及文件多时,时空开销大。四、存取控制表存取控制表以文件为单位,把用户划分为若干组同时规定每个组的存取权限,每个文件都有一张存取控制表,存放在文件说明中。打开文件时,该表也被复制到了内存中。存取控制验证过程高效。用户文件名A1.CA组RWEB组RE张三RWE其他NONE