操作系统概论第5章文件管理资料

上传人:w****i 文档编号:98903127 上传时间:2019-09-15 格式:PPT 页数:48 大小:1.44MB
返回 下载 相关 举报
操作系统概论第5章文件管理资料_第1页
第1页 / 共48页
操作系统概论第5章文件管理资料_第2页
第2页 / 共48页
操作系统概论第5章文件管理资料_第3页
第3页 / 共48页
操作系统概论第5章文件管理资料_第4页
第4页 / 共48页
操作系统概论第5章文件管理资料_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《操作系统概论第5章文件管理资料》由会员分享,可在线阅读,更多相关《操作系统概论第5章文件管理资料(48页珍藏版)》请在金锄头文库上搜索。

1、第五章 文件管理,5.1 概述,文件:具有名字的一组有序信息 文件(管理)系统:负责管理和存取文件信息的软件机构 文件系统的主要功能:按名存取 按名存取文件系统设计者要考虑的问题: 文件的目录结构 文件的逻辑结构和物理结构 文件存储空间的管理 内存打开文件结构 文件的共享、保密、保护 文件系统的用户界面及其实现,5.2 文件卷、文件控制块和文件目录结构 5.2.1 文件卷 一个磁带、硬盘(分区)或软盘等,由一系列连续编号的物理块(通常为一个扇区)组成。,物理块号:,0 1 2,k+1 k+2,n, 一个(计算机文件)系统中通常有多个文件卷 (例如Windows系统中的C盘、D盘、E盘等,也就是

2、多个硬盘分区),引导块,管理区,文件存储区,磁盘物理块的编号blk与物理地址(柱面号i、磁头号j、扇区号k)的对应关系可以规定为: blk = imn + jn + k i = 0,1,2, 、,l -1;l为柱面数(磁道数) j = 0,1,2, 、,m-1;m为盘面数 k = 0,1,2, 、,n-1;n为扇区数,物理块号:,0 1 、,h h+1,n,管理区,物理块号:,0 1 2 、,k+1 k+2,n,管理区,引导(程序)块,引导块(包括磁盘参数表和引导程序),专用块(记录卷的资源数据),FAT为文件分配表,既记录文件存储区的使用情况,有记录文件的连接指针,m,5.2.2文件控制块(

3、FCB),由用于标识、定位、说明和控制一个文件的所有信息组成的数据结构。 基本上包括下列信息:文件名、用户名、存放方式、物理位置、文件长度、创建时间、最后修改时间、共享说明、文件类型、存取权限、 、 文件与文件控制块一一对应,文件控制块是文件存在的唯一标志,5.2.3文件的目录,文件目录项:由找出一个文件所需的信息组成 文件目录表:由多个文件目录项组成,文件目录项的组成方案一:文件控制块充当文件目录项,文件目录项的组成方案二:由文件和文件控制块地址组成(文件目录表尽可能小),查找一个文件先查找文件目录表,找出其文件控制块的地址,再根据这个地址取出文件控制块内容。,方案一把文件目录表从外存读入内

4、存花得时间比方案二多; 但按方案二要获得找到文件的控制块内容还需要再读一次外存。,*提问:,1. 文件目录表的位置? 在管理区 2. 查找文件目录表是否在外存进行查找? 不能,查找,匹配等动作只能在内存中进 行,将表读入到内存之后再查找。 3. 读外存与查找的效率差别? 差许多数量级,读外存相当慢。 速度级别:内存ns,磁盘ms,5.2.4文件的目录结构,1、一级目录结构 文件卷上只有一张目录表。 问题:1)、安全问题 2)、命名冲突问题 3)、查找效率低 2、二级目录结构 每个用户一张目录表 基本上解决了安全问题和命名冲突问题,部分地解决了查找效率低的问题 3、多级目录结构(树型目录结构)

5、结点局部名、结点相对路径名、结点绝对路径名 当前目录(工作目录、值班目录) 特点: 1)层次清楚 2)不同目录的文件可以重名 3)可通过指定当前目录大大提高文件的查找效率 4)便于实现文件共享,基本术语: 局部节点名(dba,da) 绝对路径名(dbda)以开头的为绝对目录名 当前目录(工作目录、值班目录) “dbdax”相对路径名: 1)若当前目录为“”则相对路径名为:dbdax; 2)若当前目录为“db”则相对路径名为: dax; 3)若当前目录为“dbda”则相对路径名为: x; * 相对路径名有多个,绝对路径名一般有一个,多级目录结构,a,任何查找“dbdbaxa”? 效率怎样? 如何

6、提高?,效率低。使用相对路径名,查找从“当前目录” 开始。,8.5.3 便于共享的文件目录(自己看书P213),link的作用是将文件链接到目录上(静态共享) 例如:#link /da/b /db/dba 将文件/da/b链接到dba目录上,这时文件“/da/b”的绝对路径名有2个, 相对路径名有5个。 解除”/da/b”的两个链接相当于删除文件.,用户头脑中文件的结构(或者说是文件在用户头脑中的逻辑映象) 字符流式:把文件看成是一个字符流。又称为(字符)流式文件。 每次读写文件都是从读写指针当前指向位置向后读写。 例如:一个流式文件内容为“ABCDEFGH 、” (a) 打开后读写指针值of

7、f=0; (b) 执行语句read(fd,abuf,3)读出的字符串为“ABC”,读写指针值off=3; (c) 再执行语句read(fd,abuf,2)读出的字符串为“DE”,读写指针值off=5;,off=0 (a),5.3文件的逻辑结构和物理结构 5.3.1 文件的逻辑结构,流式文件是基本的,必须由OS实现。 (操作系统向用户提供read(、) 和write(、) 系统调用来读写流式文件) 记录式:把文件看成是记录读序列。 在流式的基础上由其它软件系统(例如数据库管理系统)来构造。,ABCDEFGH 、,off=3 (b),ABCDEFGH 、,off=5 (c),ABCDEFGH 、,

8、以小组为单位分工合作:设计一个文件系统,一个文件卷有100万个物理块,每块512B 每个文件控制块大小为128B 在其上最多允许建立1万个目录或文件,采用多级目录结构 设备管理模块的bread(dev,pn)(把dev号设备上的pn号物理块读入函数返回值指向的系统缓冲区) 可以调用 设备管理模块的bawrite(bufp)(将bufp所指向的系统缓冲区内容写到磁盘上) 可以调用,1)小组集体讨论确定总体设计方案(主要是数据结构设计)及各部分的工作流程,分工画出open(、)、read(、) 、 write (、) 系统调用及文件存储空间分配释放程序的工作流程图;组长负责画出总体工作流程及数据结

9、构,并合成小组的所有文档) 2)以小组为单位上台讲解,每个成员都要接受各种提问(都要清楚整个系统的设计方案及各部分的工作原理和流程,5.3.2 文件的物理结构,*注: DOS系统以扇区(512个字节)为单位进行读写。 以512字节的整数倍为单位进行空间分配的。 1、连续结构(见书205页图8.8) 文件的内容存放在一系列连续编号的外存物理块中。 连续结构与磁带(顺序存取)相对应。 优点:一旦知道了文件在文件存储设备上的起址和文件长度,就能很快地进行存取,因为文件的逻辑块号到物理块号的变换可以非常简单地完成。 缺点:连续文件结构在建立文件时必须在文件说明信息中确定文件信息长度,且以后不能动态增长

10、。而且在文件进行某些部分的删除后,又会留下无法使用的零头空间。因此,连续文件结构不宜用来存放用户文件、数据库文件等经常被修改的文件。,1、连续结构(见书205页图8.8),连续文件结构,2、连接结构(串联文件) 文件的内容存放在一系列不连续的外存物理块中,这些物理块通过指针连接起来。(参见书206页图8.9),问:要找到3号逻辑块应该在哪个物理块上需要读几次磁盘?,答:读3次,3、索引结构(索引文件) 文件的内容存放在一系列不连续的外存物理块中,文件的逻辑块号与外存的物理块号的对应关系存放在文件索引表中。(参见书207页图8.10),文件太大,索引表很长怎么办? 解决方法:多重索引(参见书20

11、7页图8.11 ) 链接结构地址变换(由逻辑块号变换为物理块号)需要读很多次磁盘,效率低怎么办? 将链接指针集中起来(例如,DOS和WINDOWS系统采将链接指针集中在FAT中),5.4 文件存储空间的管理,1、文件存储空间的管理涉及下列三方面的操作: 1)、查找空闲外存物理块 2)、分配空闲外存物理块 3)、释放占用的外存物理块使之变为空闲外存块 关键:记录外存使用情况的数据结构 2、记录外存使用情况的数据结构的设计 1)、字位映照图结构(盘图结构) 每个外存(分配)块都对应一个字位(一个或若干个二进制位),此字位取值为0表示空闲,取值为1或大于0表示占用。 2)、空白文件结构 将空闲外存块

12、组织成一个或多个空白文件 a、连续空白文件结构 b、连接空白文件结构 c、索引空白文件结构,5.5 文件系统的主要数据结构(以UNIX系统为例),5.5.1 文件卷及其组成 UNIX系统文件卷的0号块为引导块,1号块为专用块,2到k+1号块为inode区(文件控制块区),k+2到m号块为文件存储区。n为文件卷的物理块数, k值与n值有关,一般来说n值越大则k值越大。一般非主文件卷上m=n,即不设置进程对换区。,物理块号:,0 1 2 、,k+1 k+2,n,管理区,m,引导(程序)块,专用块(记录卷的资源数据),UNIX文件系统有多个可装卸的文件卷组成,其中一个为主文件卷,其它为子文件卷。子文

13、件卷连接在主文件卷目录树的某个空目录结点上。 (mount和unmount是装和卸文件卷的命令)。 UNIX系统文件分类: 1)普通文件(字符流文件) 2)目录文件(每个目录结点一个,存放着一个目录表) 3)特别文件(UNIX系统在目录/dev下为每个I/O设备建立一个特别文件,其中存放着此设备的物理特性、使用方式等信息),典型UNIX系统(主)文件卷上的目录树,5.5.2 inode(文件控制块)及文件目录,1.外存inode(UNIX版本之一) struct dinode int i_mode; 各种属性(文件类型、存取权限等) char i_ilink; 连接此文件的目录项数(静态共享计

14、数) char i_uid; 文件主标识 char i_gid; 文件组标识 char i_sizeo; 文件长度二进制数字高8位 char *i_sizeo; 文件长度二进制数字低16位 int i_addr8; 文件索引表 int i_atime2 ;文件最近使用时间 int i_mtime2 ;文件最近修改时间 每个外存inode占用32个字节,每个外存物理块存放16个inode,文件卷的 inode区中最多有16*k个外存inode(也就是说文件目录树上最多有16*k个结点)。,5.5.2 inode(文件控制块)及文件目录,2、内存inode struct inode int i_m

15、ode; 各种属性(文件类型、存取权限等) char i_ilink; 连接此文件的目录项数(静态共享计数) char i_uid; 文件主标识 char i_gid; 文件组标识 char i_sizeo; 文件长度二进制数字高8位 char *i_sizeo; 文件长度二进制数字低16位 int i_addr8; 文件索引表 (以上为dinode结构数据项 ) char i_flag; 各种标记 char i_count; 内存inode访问计数(动态共享计数) char i_dev; 文件所在(逻辑)设备号 char i_number;文件的外存inode编号 char i_laster

16、; 为了向前读记载上次读的物理块号 inodeNINODE;,打开文件时或者共享已在内存的该文件的inode,或者为其分配一个空闲inode并将外存inode信息读入内存。,外存inode与内存inode结构对照(UNIX版本之一),外存inode struct dinode int i_mode; 各种属性(文件类型、存取权限等) char i_ilink; 连接此文件的目录项数(静态共享计数) char i_uid; 文件主标识 char i_gid; 文件组标识 char i_sizeo; 文件长度二进制数字高8位 char *i_sizeo; 文件长度二进制数字低16位 int i_addr8; 文件索引表 int i_atime2;文件最近使用时间 int i_mtime

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号