第六章 文件管理
第六章 文件管理
文件管理的功能
文件的按名存取 实现文件的共享、保护和保密 文件目录的建立与维护 逻辑文件到物理文件的转换 文件存储空间的分配和管理 提供一组可供用户使用的文件操作
6.1 文件和文件系统 1)文件的相关概念 ① 文件:具有文件名的一组相关信息的集合。 ② 文件类型
6.3 文件的物理结构
1)文件的存储方式
连续分配
离散分配 链接分配方式
索引分配方式
2)连续分配—顺序文件
逻辑文件中连续的信息存储到磁盘连续的物理盘块。 文件控制块FCB中存放文件第一个记录所存放的盘块号 ADRR和文件总的盘块数N
Contiguous Allocation of Disk Space
优点:方便直接存取(查找索引表后直接读/写盘块)
缺点:索引表占用外存空间,需先读索引块,文件很 大时,占用多个块,且查找索引表花费时间 索引表查找速度问题的解决 I. 采用两级索引,针对一般不太长文件 II. 采用多级索引,针对较长文件 III. 采用混合索引,长、短文件均适用
二级索引:将一个大文件的所有索引表(二级索
引)的地址放在另一个索引表(一级索引)中.
混合索引(UNIX O.S采用)
UNIX将直接寻址、一级索引、二级索引和三级索引结合起
来,形成了混合寻址方式
索引结点
iaddr(0)~ iaddr(9) 直接地址 0 1
… 主索引表 9 10 11 12
iaddr ( 10 )
iaddr ( 11 ) iaddr ( 12 )
• 控制信息 • 使用信息
2)索引结点 除文件名以外文件的其他说明信息
Z1文件索引结点
文件名 索引结点编号 Z1 Ws 文件长度 文件结构 物理地址 Z1文件
Ws文件索引结点
文件目录
文件长度 文件结构 物理地址
…
Ws文件
…
磁盘索引结点: 文件建立时生成。每个文件有惟一的一个磁盘索引结 点,主要包括文件主标识符、文件类型、文件存取权 限、文件物理地址等相关文件说明信息。 内存索引结点: 打开文件时建立。将磁盘索引结点拷贝到内存索引结 点并增加如下内容:索引结点编号、状态、访问计数、 文件所属文件系统的逻辑设备号、链接指针。
解答:
2:每种分配方案对20MB大文件和20KB小文件各需要多少 专用块来记录文件的物理地址? 连续分配:对大小二个文件都只需在文件控制块FCB中 设二项,一是首块物理块块号,另一是文件总块数,不 需专用块来记录文件的物理地址。 链接分配:对大小二个文件都只需在文件控制块FCB中 设二项,一是首块物理块块号,另一是文件尾块数;同 时在每块存文件的物理块中设置存贮下一块块号的指针。
10#
. . 。。 二次间接块 . . . .
1034#
三次间接块
. . . . . .
5)三种分配方式比较
连续 空间要求 存取方式 缺点 较高(连续) 顺序存取高速 亦可直接存取 链接 不高 只适合顺序存取 索引 不高 顺序、直接存取均 可
不利于文件动态 隐式链接不利于直 索引表占用外存盘 增长,易产生磁 接存取 块空间,查索引表 盘碎片 显式链接需占用内 需花费一定时间 存空间(链表)
3)文件操作
用户通过文件系统的接口对文件所能实现的操作
基本操作 创建文件、 删除文件、 读文件、 写文件等 其他操作 目录操作、设置文件访问权限、更改文件名等
打开文件与关闭文件
打开:文件属性从外存拷贝到内存打开文件表的一个 表目中,并将该表目的编号返回给用户
关闭:文件从打开文件表中的表目上删除掉
文件
记录 1
记录 2
记录 n
数据项 1
数据项 2
数据项 n
2)类型: 定长记录文件 变长记录文件
l l R0 R1 l0 l1 R0 R1 R2
l2 …
数据项1 数据项2 l Ri … 数据项n li
Ri
…
定长记录文件
变长记录文件
3)存取方法 顺序存取 按照文件的逻辑地址顺序存取 随机存取 允许用户根据记录的编号来存取文件的任 一记录
特点
• 优点:有利于文件的顺序存取,且可获得较高的
存取速度
• 缺点:要求有足够大的连续盘块空间,不利于文
件的动态增长,且易产生“磁盘碎片”
3)链接分配—链接文件
为文件分配离散的盘块,盘块间通过链接指针链接 隐式链接 链接指针设置在每个物理盘块最后一个单元
文件控制块FCB中存储文件第一块的盘块号,有时也 存储文件结尾块盘块号
例:设某文件系统中有128个文件,每个文件的 FCB占48B,其中文件名6B。索引节点编号2B.假
设磁盘盘块大小为512B。求引入索引节点之前
和之后查找一个文件所需的平均读盘次数。
解: 引入前一盘块可存放的FCB数:512/48=10(个) 引入后一盘块可存放的目录项数512/8=64(个) 可存放的索引节点数:512/42=12(个) 128个文件在索引节点引入前目录项占128/10=13 个盘块;索引节点引入后目录项占2块,索引节 点占11块。故查找一个文件的平均访盘次数 引入前:(1+13)/2=7次 引入后:(1+2)/2 +1 =2.5次
逻辑首址
R0 R1 … Ri
i
…
li
…
索引表
逻辑文件
注:索引表本身是一个按记录键值排序的定长记录的顺序文件
③ 索引顺序文件
顺序文件与索引文件的结合(可减少索引表的长度)
姓名 关键字 逻辑地址 A B An Bing An Kang An Qing Bao Rong Bi Jing Bon Long Z 索引文件 顺序文件 其它属性
建立、删除文件必须先查主目录,再查用户文件目录, 然后实施操作
优点 提高了目录的查询(检索)速度 允许不同用户取相同文件名,利于文件的保护 可用不同文件名共享使用同一文件 缺点 用户不能建立自己的子目录
多级目录结构(三级或三级以上目录)
在多级目录中,第一级目录称为根目录,目录中的非叶结点 均为子目录,树叶结点均为文件,多级目录也称树形目录。
6.4 文件目录管理
1)概 述
目录管理的基本要求
能实现“按名存取”的目标
具有较高的查询(检索)速度 可实现文件共享 允许不同用户采用相同的文件名
文件目录
存放文件说明信息及存取控制信息的一种数据
结构,用于标识系统中的文件及其物理地址供
检索时使用。
FCB中包含的信息有以下三类
• 基本信息
一次间址
二次间址 三次间址
UNIX /Linux直接间接混合寻址方式
di_addr[0] di_addr[1] di_addr[2]
. . .
1#
数据块 0#
2#
9#
di_addr[9] di_addr[10] 一次间接 di_addr[11] 二次间接 di_addr[12] 三次间接
一次间接块
解答:
二级索引:对大小文件都固定要用二级索引,对20KB 小文件,用一块作第一级索引,用另一块作二级索引, 共用二块专用物理块作索引块,对于20MB大文件,用一 块作第一级索引,用5块作第二级索引,共用六块专用 物理块作索引块。 UNIX的混合分配:对20KB小文件只需在文件控制块 FCB的i_addr[13]中使用前5个表目存放文件的物理块号, 不需专用索引块。对20MB大文件,FCB的i_addr[13]中 使用前10个表目存放大文件前10块物理块块号,用一级 索引块一块保存大文件接着的1K块块号,还要用二级索 引存大文件以后的块号,二级索引使用第一级索引1块, 第二级索引4块。总共也需要6块专用物理块来存放文件 物理地址。
6.2 文件的逻辑结构
记录式文件结构(又称有结构文件)
用户把文件内的信息按逻辑上独立的含义划分信息 单位,每个单位称为一个记录
流式文件结构(又称无结构文件)
对文件内信息不再划分单位,它是依次的一串字 符流构成的文件文件由字符(字节)序列构成
记录式文件结构
1)组成
文件由若干记录组成,每个记录又由若干数据项组成 记录:数据的基本单位(存取访问的基本对象) 数据项:数据的最小单位(指基本数据项)
按性质与用途划分:系统文件,用户文件,库文件 按数据形式划分:源文件,目标文件,可执行文件 按数据存取方式划分:只读文件,读写文件,只 可执行文件
③ 文件的组成 文件名、基本内容、文件属性(说明信息)
④ 文件的结构 • 逻辑结构: 呈现在用户面前的文件自身的组织形式与结构, 根据其基本内容的组织方式可分为有结构文件 和无结构文件 • 物理结构: 文件在物理存储器上的组织形式与存储结构。
两级目录结构
文件名 物理地址 Z1
Z1
用户名 目录指针 Z2
Z2
Zhang Wang
Li 文件名 Wa 物理地址 Wa Wb
Wb 主目录MFD (整个文件地址
Lim
Wa
用户文件目录UFD (每个用户一张表)
文件的建立和删除 用户登录建立新文件:需分配MFD表目和UFD空间 用户退出:需释放UFD空间和对应MFD表目
其分配方式可分为连续分配、链接分配和索引 分配
2)文件系统 ① 用于对文件进行组织、存储与管理的子系统。 用户角度 系统角度
文件系统接口 管理程序集合
管理对象:文件、文件 目录、文件存储空间
文件系统结构模型
② 文件系统类型
FAT VFAT NTFS EXT2 HPFS
注:现代OS一般支持多种文件系统
3)目录结构简介 单级目录结构
文件名 f1 Zs Ls 文件长度 物理地址