操作系统第6章 文件管理(文件目录与目录文件)
操作系统第6章文件管理(new)
![操作系统第6章文件管理(new)](https://img.taocdn.com/s3/m/616a100a915f804d2b16c1ce.png)
2.文件的“打开”和“关闭”操作
1)打开文件:将文件在磁盘上的目录项拷贝 到内存,形成索引节点,以便从内存读取 文件信息; 2)关闭文件:将文件的内存索引节点删除。
3.其他文件操作
1)对文件属性操作
2)对目录操作
6.2 文件逻辑结构
6.2.1 文件逻辑结构的类型 1.有结构文件
记录有定长和不定长两种 1)顺序文件:按某种顺序排列的定长文件 2)索引文件:按索引表查询的不定长文件 3)索引顺序文件:以上两者的结合
2)变长记录 设置读写指针 每个记录长度存于记录前的单元中 读写完毕后,将读写指针加上刚读或写 完的记录长度 Li
3.顺序文件的优缺点
对记录进行批量存取时,顺序文件的存取
效率是所有逻辑文件中最高的
只有顺序文件才能存储在磁带上并能有效
地工作
如果用户要求查找或修改单个记录时,顺
隐式链接示意
文件目录
文件名 始址 末址
0 4 8 12 1 10 2 5 6 3 7
jeep
9
25
9 16 10 25 11 13 14 18 22 15 19 23 27
16 1 17 20 24 21
25 -1 26
FCB abc …… 2 2、5、8、0
0 1 2 3 4 5 6 7 8 n -1
5
8
0
整个系统一张:文件分配表FAT!
索引顺序文件
2.索引顺序文件的检索
利用用户提供的关键字以及某种查找方法 检索索引表,查找该组对应的表项 根据表项得该组第一个记录在主文件中的 位置 再利用顺序查找法查找主文件,在对应分 组中找到要求的记录 主文件记录数为N,则分组记录数为 N 时 查找效率最高
操作系统第六章 文件管理
![操作系统第六章 文件管理](https://img.taocdn.com/s3/m/afb50b30daef5ef7ba0d3cec.png)
目录操作 修改文件属性 设置文件访问权限 更改文件名
…
二、文件的逻辑结构
记录式文件(又称有结构文件) 流式文件(又称无结构文件)
(1)记录式文件
文件由若干记录组成,每个记录又由若干数据项组成。 记录:数据的基本单位(也是存取访问的基本单位)
定长记录 变长记录
数据项:数据的最小单位(指基本数据项)
增长,且易产生“磁盘碎片”。
其所对应的物理文件称之为顺序文件或连续文件。
3)链接分配方式
为文件分配离散的盘块,其间(逻辑块间)的逻辑 关系通过链接指针链接形成,链接方式有以下两种: * 隐式链接:链接指针设置在物理盘块中。 * 显式链接:建立反映盘块链接关系的显式线性链表
(或静态链表)。 注、整个盘(文件卷)建立一张文件分配表(FAT),
* 缺点:索引表占用外存空间,需先读索引块,文件很大
时,占用多个块,且查找索引表花费时间。
* 索引表查找速度问题的解决
采用两级索引,针对一般不太长文件
采用多级索引,针对较长文件
采用混合索引,长、短文件均适用
* 混合索引(UNIX OS采用)
主索引存放在文件的索引结点之中,文件操作(打开)时 被调到内存。 索引结点
逻辑结构:用户所能看到和可直接处理的文件的组织形式
与结构。
物理结构:文件在物理存储器上的组织形式与存储结构。
* 文件类型
按性质与用途划分:系统文件,用户文件,库文件 按数据的类型划分:源文件,目标代码文件,可执行文件,数据文件 按数据的存取属性划分:只读文件,可读、写文件,只可执行文件 按组织形式与处理方式划分:普通文件、目录文件、特殊文件
l
R0
l
R1
l
操作系统课件第6章 文件管理1
![操作系统课件第6章 文件管理1](https://img.taocdn.com/s3/m/e8455aad9f3143323968011ca300a6c30c22f1de.png)
3.索引文件
为解决变长记录文件的直接存取低效问 题,为变长记录文件建立一张索引表。
索引号 长度m 指针ptr
0
m0
1
m1
…
i
mi
…
索引表
r0 r1 …
ri
… 逻辑文件
索引文件的特点
• 优点 若很索大引 怎表么– 通过索引表可方便地实现直接存取,具有
办? 较快的检索速度。 – 易于进行文件的增删。
第6章 文件管理
文件系统
文件系统的功能/需解决的问题:
❖ 从系统角度看:负责为用户建立、删 除、读写、修改和复制文件。
❖ 从用户角度看:实现了按名存取。
第6章 文件管理
6.1 文件和文件系统 6.2 文件逻辑结构 6.3 外存分配方式 6.4 目录管理 6.5 文件存储空间的管理
6.1 文件和文件系统
– 通过索引表可方便地实现直接存取, 具有较快的检索速度。
– 易于进行文件的增删。
6.3 外存分配方式
• 文件存储单位:簇(cluster) 文件的存储空间通常由多个分立的簇组成,
而每个簇包含若干个连续的扇区(sector)/块。
• 目前常用的外存分配方法: 1.连续分配(顺序分配) 2.链接分配 3.索引分配
索引分配的几种方式
直接索引分配 多级索引分配 混合索引分配
文件
记录1
记录2
…
记录n
数据项1
数据项2
…
数据项n
2.文件类型 ---文件名.扩展名
• 按用途分 • 系统文件 • 用户文件 • 库文件
• 按数据形式分 • 源文件 • 目标文件 • 可执行文件
• 按存取控制属性 • 只读文件 • 读写文件 • 可执行文件
《计算机操作系统教程(第三版)》 第6章 文件管理
![《计算机操作系统教程(第三版)》 第6章 文件管理](https://img.taocdn.com/s3/m/e1c0a1ed6137ee06eff918ff.png)
2 . 路径名 在多级目录结构中,从根目录到末端的数据文件之间只有一条 唯一的路径。我们就可以用路径名惟一的表示一个文件。路径名有 绝对路径名和相对路径名两种表达形式。 绝对路径名,又称为全路径名,是指从根目录到达所要查找文 件的路径名。 相对路径名。在多级目录结构中,如果每次都从根目录开始检 索,会耗费大量的查找时间。为解决此问题,系统引入了当前目录 (又称为工作目录)。用户在一定时间内,可指定某一级的一个目 录作为当前目录(或称工作目录、值班目录),而后用户想访问某 一文件时,便不用给出文件的整个路径名,也不用从根目录开始查 找,只需给出从当前目录到查找的文件间的路径名即可,从而减少 查找路径。
6.1.2 文件的分类、属性及文件系统 的功能
返回本章首页
6.1.1 文件与文件系统的概念
1.文件的定义 文件是具有标识符(文件名)的一组相关信息的 集合。标识符是用来标识文件的。不同的系统对 标识符的规定有所不同。文件的确切定义有两种 说法: (1)文件是具有标识符的相关字符流的集合。 (2)文件是具有标识符的相关记录的集合。
3 . 索引分配
在索引分配策略中,系统为每个文件分配一个索 引块,索引块中存放索引表,索引表中的每个表 项对应分配给文件的一个物理块。
4 . i节点
最后一个磁盘分配策略是给每个文件赋予一张称 为i-节点(索引节点)的小型表,其中列出了文件 属性和各块在磁盘上的地址,实例如图6.13所示。
返回本节
索引节点编号 索引节点状态 连接指针 访问计数
逻辑设备名
返回本节
6.4.2 单级目录结构
文件名 C 文件的物理 位置 日期 时间 其他信 息
bsc
Wps …… 图6.8 单级目录结构
返回本节
操作系统课件第6章 文件管理2
![操作系统课件第6章 文件管理2](https://img.taocdn.com/s3/m/c517d18d3086bceb19e8b8f67c1cfad6185fe97f.png)
100
400
空闲盘
399
号栈
100
...
300
302
299
301
...
299
202
...
栈指针N 201
201
100 500 499
... ……
402 401
399 ...
301
本章作业
1、P247 第24题 2、设某系统磁盘共有1600块,块号从0-1599,
若用位示图管理这1600块磁盘空间,问位示图 需要多少个字节?
优点:
• 提高了检索目录的速度; • 不同用户目录中可重名; • 不同用户可用不同文件名来访问系统中一共享文件
缺点:
• 限制了各用户对文件的共享 • 增加了系统开销,缺乏灵活性,无法反映真实世界复
杂的文件结构形式。
两级目录结构
多级目录结构
• 在两级目录中若允许用户建立自己的子目录,则 形成3级或多级目录结构(即树型目录结构)
• 在整个系统中只建立一张目录表
文件名 Alpha Report Text ……
状态位
物理地址
文件其它属性
优点: 简单,易实现按名存取
缺点: 限制了用户对文件的命名(即易重名); 文件平均检索时间长(查找速度慢);不便于实现 文件共享;只适用于单用户环境
两级目录结构
• 在整个系统中建立两级目录
–为每个用户建立一个单独的用户文件目 录(UFD)
3、假定盘块的大小为1KB,硬盘的大小为 500MB,采用显式链接分配方式时,其FAT (32位)需占用多少存储空间?
文件控制块(FCB)
• 文件目录:把所有的FCB组织在一起,就构成了文件目 录,即文件控制块的有序集合。
操作系统第六章文件管理
![操作系统第六章文件管理](https://img.taocdn.com/s3/m/89254b324b35eefdc9d33309.png)
如果系统发生故障, 系统应对以前所发生的事务进行
清理。
26
6.7.2 检查点
1. 检查点(Check Points)的作用 作用是对事务记录表中事务记录的清理工作经常化。
• 首先是将驻留在易失性存储器(内存)中的当前事务记录表中的
所有记录,输出到稳定存储器中。
• 其次是将驻留在易失性存储器中的所有已修改数据,输出到 稳定存储器中;
(3) 可以采用索引结点,将文件的物理地址等属性不再存放于目录项中, 而是放在索引节点中。
(4) 在文件目录中只设置文件名及指向相应索引结点的指针,如下图所 示。 (5) 索引结点中的链接计数变量count,表示链接到本结点的用户目录项 的数量。
14
Wang 用户文件目录
Test r
索引结点
Lee用户文件目录
(2) 只有对分布在不同位置的同一数据所进行的读和写(含修改)操作 全部完成时,才能再以Commit操作来终止事务。
(3)只要有一个读、写或修改操作失败,便须执行Abort操作,使系
统中各数据项恢复至事务执行前的状态。事务原子性
24
2. 事务记录(Transaction Record) 事务记录存放于高度可靠的存储器中,用来记录事务运行时 数据项修改的全部信息,又称为运行记录(Log)。 包括如下信息: ·事务名: 用于标识该事务的惟一名字;
可在不同的磁盘上或在磁盘的不同区域中,分别
建立主、备两份目录表和FAT。
20
2) 热修复重定向和写后读校验
热修复重定向 保留磁盘容量的一部分( 2 %~3%),用作存放 磁盘缺陷区域的待写数据
写后读校验 1)每次从内存缓冲区向磁盘写入一个数据块后, 立即从磁盘上读出该块内容,并作比较。 2) 若不一致,则重写。 3)若重写后仍不一致,则将应写入该盘块的数 据写入到热修复重定向区。
操作系统第6章 文件管理(文件目录与目录文件)
![操作系统第6章 文件管理(文件目录与目录文件)](https://img.taocdn.com/s3/m/9eb1b05df7ec4afe04a1df83.png)
2015/11/7
2
内容提纲
一 文件目录管理
二 文件共享与文件保护1/7
3
一 文件目录管理
一 文件目录管理
【一】目录管理的基本功能
1.实现“按名存取”,目录管理中最基本的功能之一是通过提供的 访问文件名,便客快速准确地找到指定外存上的文件存储位置。 2.快速检索文件目录。通过合理地组织目录结构的方法,可加快对 目录的检索速度,从而提高对文件的存取速度。这是在设计一个 大、中型文件系统时所追求的主要目标。 3.实现文件共享。在多用户系统中,通过保留在外存中的副本,供 不同用户使用,以节省大量的存储空间,提高文件利用率。 4. 文件重名。系统允许在不同级别的目录中,命名相同的文件名。
2015/11/7
17
一 文件目录管理
【八】多级目录
●对于大型文件系统,通常采用三级或三级以上的目录结构,以提高对目 录的检索速度和文件系统的性能。多级目录结构又称为树型目录结构, 主目录称为根目录,把数据文件称为树叶,其它的目录均作为树的结 点。图2中,方框代表目录文件,圆圈代表数据文件。在该树型目录结 构中,主(根)目录中有三个用户的总目录项A、B和C。在B项所指出的B 用户的总目录 B中,又包括三个分目录 F、E和D,其中每个分目录中又 包含多个文件。如B目录中的 F分目录中,包含 J和N两个文件。为了提 高文件系统的灵活性,应允许在一个目录文件中的目录项既是作为目 录文件的 FCB,又是数据文件的 FCB,这一信息可用目录项中的一位来 指示。例如,在图3中,用户 A的总目录中,目录项 A是目录文件的 FCB, 而目录项B和D则是数据文件的FCB。
2. 优点:易于理解实现和维护;
3. 问题:划分要考虑到如果分层太少,连接与访问简 单,但每层内容复杂;分层太多,形成的参数太 多,传递速度慢。 4. Madnick 把文件系统画分为8层,如下图1所示
6操作系统 - 文件管理
![6操作系统 - 文件管理](https://img.taocdn.com/s3/m/82fc9c4bf7ec4afe04a1df3a.png)
对文件逻辑结构的要求
提高检索速度
便于修改 降低存储空间
6.2 文件的逻辑结构
6.2.2 顺序文件
1、逻辑记录的排序
文件中的记录排序可归纳为两种情况
串结构:各记录的顺序与关键字无关,一般按照时间。 顺序结构:各记录按照关键字排列。
2、对顺序文件的读/写操作
定长记录文件,已经当前记录逻辑地址,就可以确定下一个; 变长记录文件,设置读/写指针,每次读/写完更新。
9 16 10 13 14 18 22
16 1 17 20 24 28 21
25 -1 26 29 30
6.3 外存分配方式
6.3.2 链接分配
3、显式链接
将整个磁盘所有盘块指针放在内存的一张链接表中。
文件分配表,FAT
文件分配表中每个项包含指向下一个盘块的指针。 每个文件的FCB的物理地址字段保存第一个盘块号。
6.3.3 索引分配
1、单级索引分配
file jeep 0 4 8 12 16 17 20 21 24 25 28 29 18 22 26 30 1 5 9 13 2 6 10 14 3 7 11 15 19 23 27 31 19 9 16 1 10 25 -1 -1 -1 目录 块序号 19
逻辑 地址
姓 名 An Qi A n K an g
其它 属性
B ao R on g
…
逻辑 文件
6.2 文件的逻辑结构
6.2.5 直接文件和哈希文件
1、直接文件
前述文件由记录键值先对线性表或链表检索来找到物理地址。
直接文件是指记录键值本身就决定了记录的物理地址。
由记录键值到记录物理地址的转换称为键值转换。
操作系统_第六章 文件管理
![操作系统_第六章 文件管理](https://img.taocdn.com/s3/m/47b4026051e79b89690226be.png)
6.2.2 顺序文件
• 顺序文件的另一个缺点是,如果想增加或删除一 个记录,都比较困难。
• 为了解决这一问题,可以为顺序文件配置一个运 行记录文件(Log File)或称为事务文件(Transaction File), 把试图增加、删除或修改的信息记录于其 中,规定每隔一定时间,
• 例如4小时,将运行记录文件与原来的主文件加 以合并, 产生一个按关键字排序的新文件。
L (i+ 1)L
Ri
…
0
L0
L0+ 1
L1
L0+ L1+ 2
i- 1
k=∑0(Lk+ 1)
Li
k=∑i 0(Lk+ 1)
…
…
(a) 定长记录文件
(b) 变长记录文件
图 6-3 定长和变长记录文件
23
6.2.2 顺序文件
• 3. 顺序文件的优缺点
– 顺序文件的最佳应用场合,是在对诸记录进行批量 存取时, 即每次要读或写一大批记录。此时,对顺 序文件的存取效率是所有逻辑文件中最高的;此外 ,也只有顺序文件才能存储在磁带上,并能有效地 工作。
– (1) 顺序文件。这是由一系列记录按某 种顺序排列所形成的文件。其中的记录 通常是定长记录,因而能用较快的速度 查找文件中的记录。
– (2) 索引文件。当记录为可变长度时, 通常为之建立一张索引表,并为每个记 录设置一个表项,以加快对记录检索的 速度。
– (3) 索引顺序文件。这是上述两种文件 构成方式的结合。它为文件建立一张索 引表,为每一组记录中的第一个记录设 置一个表项。 19
– 降低文件的存储费用,即减少文件占用 的存储空间,不要求大片的连续存储空 间。
16
6.2.1 文件逻辑结构的类型
《计算机操作系统教程(第三版)》 第6章 文件管理
![《计算机操作系统教程(第三版)》 第6章 文件管理](https://img.taocdn.com/s3/m/e1c0a1ed6137ee06eff918ff.png)
在检索目录文件时,只用到了文件名,而其它信 息并没有利用到。只有当指定文件名与目录项中 的文件名相匹配的时,才需要从目录项中读取文 件的物理位置等相关信息。因此在检索目录项时, 并不需要把目录整个都调入内存。解决方案是, 将文件名和文件描述信息分开,将文件描述信息 单独形成一个称为索引节点的数据结构,简称i 节点。文件目录中的每个目录项,仅由文件名和 指向该文件所对应的i节点的指针构成。
(1)源文件。 (2)目标文件。 (3)可执行文 件。
下一页
l按操作保护分类
(1)只读文件。 (2)读写文件。 按文件的性质分类 (1)普通文件。 (3)执行文件 (2)目录文件。 (3)特殊文件。
下一页
2.文件的属性
(1)文件类型。
(2)文件长度。 (3)文件的位置。 (4)文件的存取控制。 (5)文件的建立时间。
返回本节
6.2.2 存取方法
( 1 )顺序存取。顺序存取是最简单的方法。它 严格按照文件信息单位排列的顺序依次存取,后 一次存取总是在前一次存取的基础上进行,所以 不必给出具体的存取位置。 ( 2 )随机存取。随机存取又称直接存取,在存 取时必须先确定进行存取时的起始位置(如记录 号、字符序号等)。
6.4.1 文件控制块和索引节点
1、文件控制块 2、索引节点
1、文件控制块
为了能对一个文件进行正确的操作,必须为文件 设置用于描述和控制文件的数据结构,称之为文 件控制块(FBC,File Control Block),文件和 文件控制块是一一对应的,而文件控制块的有序 集合称之为文件目录。
一般情形下文件控制块包括以下信息: 1)文件名。文件的标识符。 2)用户名。标识文件的生产者---用户。 3)文件的逻辑结构。对流式文件需说明文件的长度,对记 录文件需说明记录是否定长、记录长度及个数等。 4)文件在辅存上的物理位置。对连续结构和链接结构的文 件登记文件的起始物理块号和指向第一物理块的指针,对 索引结构的文件登记文件的索引表地址。 5)文件建立修改日期及时间。登记文件建立或修改日期、 时间。 6)文件的类型。指明文件的类型。 7)存取控制信息。指明用户对文件的存取权限。
操作系统第6章 文件管理
![操作系统第6章 文件管理](https://img.taocdn.com/s3/m/ade19b1b16fc700abb68fcf0.png)
5、磁盘存储空间的管理 ★空白物理块链 把其中所有的“空白块”链在一起。当用 户创 建文件需要一个或几个物理块时,就从链 头上依次取下一块或几块。反之,当系统 回收存储空间时,把这些空白块依次链到 链头上。 ★位示图 对每指示磁盘空间的使用情况。个磁盘可 以用一张位示图。
文件的管理
1、文件目录 目录是用于查找文件的,因而将其称作文 件目录。文件目录由目录项构成,目录项 又称文件控制块。 文件控制块(FCB)是文件存在的标志, 其中记录着系统对于文件进行管理所需要 的全部信息。包括: 有关文件存取控制信息 有关文件结构信息 有关文件管理信息
4、文件的存取方法 ★文件的类型和存储设备、存取方法的 关系 ◆如果文件是顺序存取的,组织成连 续文件或串联文件是可行的。 ◆如采用直接存取方式,且文件大小 是固定的,则采用索引式文件组织 是适宜的。
5、磁盘存储空间的管理 在创建一个文件时,存储空间的分配有两种 方案,一是分配连续的区域,二是分配不连 续的物理块。 常用的技术有如下几种: ★文空白文件目录 我们把一个连续的未分配区域称为“空白 文 件”。系统为所有这些“空白文件”单独 建立 一个目录。对应于每个空白文件,在这个 目录中建立一个表目,表目的内容包括:第 一个空白物理块的地址(物理块号)、空 白块的数目。
3、文件的分类 文件按其性质和用途大致可以分为三类: ★系统文件 ★库文件 ★用户文件 根据向文件系统提出的对文件实施的保护级别, 它可以分成下列几类: ★只读文件 ★读写文件 ★执行文件 ★不保护文件
3、文件的分类 按文件中信息的流向,它又可以分为以下 三类: ★输入文件 ★输出文件 ★输入/输出文件 根据系统保留文件的时间可分成临时文件、 永久文件和档案文件。 根据文件存储介质的设备类型可分成磁盘 文件、磁带文件、卡片文件和打印文件。
操作系统第6章文件管理
![操作系统第6章文件管理](https://img.taocdn.com/s3/m/aa4448c06429647d27284b73f242336c1eb930cb.png)
例如,Google的GFS(Google File System)是一个典型的分布式文件系统,它采用主从架构,支持大规模数 据处理和高效容错。Hadoop的HDFS(Hadoop Distributed File System)也是一款广泛应用的分布式文件系 统,适用于大数据存储和分析场景。
设备之间的统一管理和数据迁移。
THANKS
详细介绍ext4文件系统的特点,如支持大文件、日志功能、在线碎片整
理等,并分析其在Linux系统中的应用和性能表现。
02
XFS文件系统原理
阐述XFS文件系统的基本原理,如B+树索引、日志结构、动态分配等,
并探讨其在高性能计算和大规模存储领域的应用优势。
03
文件系统性能对比
对比分析ext4和XFS等Linux下常用文件系统的性能特点,包括读写速
访问控制列表(ACL)应用
ACL概述
访问控制列表(Access Control List,ACL)是一种灵活的访问控制技术,它允许管理员为文件和目录定义详细的访问规 则。
ACL实现
在支持ACL的文件系统中,管理员可以为每个文件和目录设置一个或多个ACL规则。这些规则指定了哪些用户或用户组可 以访问该文件或目录,以及他们可以进行哪些操作(如读、写、执行等)。
利用索引节点(i-node)建立文件链接,实现文件共享。多个用户可同时访问同一文件,且 对文件的修改对所有用户可见。
基于符号链接的共享方式
通过创建符号链接(symbolic link)实现文件共享。符号链接是一个特殊类型的文件,它包 含了对另一个文件或目录的引用。
基于分布式文件系统的共享方式
在分布式文件系统中,文件被存储在多个服务器上,用户可以通过网络访问这些服务器上的 文件,实现文件共享。
【操作系统】文件管理(六)
![【操作系统】文件管理(六)](https://img.taocdn.com/s3/m/27675ad2d4bbfd0a79563c1ec5da50e2524dd1e2.png)
【操作系统】⽂件管理(六)⼀、前⾔ 本篇是操作系统系列的最后⼀篇,⽂件管理,由于系统的内存有限并且不能长期保存,故平时总是把它们以⽂件的形式存放在外存中,需要时再将它们调⼊内存。
如何⾼效的对⽂件进⾏管理是操作系统实现的⽬标。
⼆、⽂件和⽂件系统 现代OS⼏乎都是通过⽂件系统来组织和管理在计算机中所存储的⼤量程序和数据的。
⽂件系统的管理功能是通过把它所管理的程序和数据组织成⼀系列⽂件的⽅法来实现的。
⽽⽂件则是指具有⽂件名的若⼲相关元素的集合。
元素通常是记录,⽽记录是⼀组有意义的数据项的集合。
可以把数据组成分为数据项、记录、⽂件。
①数据项,数据项是最低级数据组织形式。
分为基本数据项(⽤于描述⼀个对象某种属性的字符集,是数据组织中可以明明的最⼩逻辑数据单位,即原⼦数据,⼜称为数据元素或字段)和组合数据项(由若⼲个基本数据项组成) ②记录,是⼀组相关数据项的集合,⽤于描述⼀个对象在某⽅⾯的属性,为了能够唯⼀标识⼀个记录,需要在记录中确定⼀个或集合数据项,把他们的集合称为关键字,关键字是能够唯⼀标识⼀个记录的数据项。
③⽂件,⽂件是具有⽂件名的⼀组相关元素的集合,分为有结构⽂件和⽆结构⽂件。
有结构⽂件由若⼲个相关记录组成,⽆结构⽂件则被看成⼀个字符流。
⽂件是⽂件系统的最⼤数据单位。
⽂件应该具有⾃⼰的属性,包括⽂件类型(如源⽂件、⽬标⽂件、可执⾏⽂件等),⽂件长度(⽂件的当前长度,也可能是最⼤允许长度),⽂件的物理位置(指⽰⽂件在哪⼀个设备上及在该设备的哪个位置的指针),⽂件的建⽴时间(⽂件最后⼀次修改时间)。
⼀个⽂件可对应若⼲个记录,⼀个记录可对应若⼲个数据项。
⽂件系统管理的对象有:⽂件(作为⽂件管理的直接对象),⽬录(为了⽅便⽤户对⽂件的存取和检索,在⽂件系统中配置⽬录,每个⽬录项中,必须含有⽂件名及该⽂件所在的物理地址,对⽬录的组织和管理是⽅便和提⾼对⽂件存取速度的关键),磁盘(磁盘)存储空间(⽂件和⽬录必定占⽤存储空间,对这部分空间的有效管理,不仅能提⾼外存的利⽤率,⽽且能提⾼对⽂件的存取速度)。
计算机操作系统文件管理
![计算机操作系统文件管理](https://img.taocdn.com/s3/m/6d657713cd7931b765ce0508763231126edb774f.png)
24
第六章 文件管理
1、
count
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 18
19
20
21 22
23
24 28
25 29
26 30
27 31
目录
file 块序号
jeep
19
9
16
1
19
10 25
1
1
1
图 6-12 索引分配方式
25
第六章 文件管理
(1)空闲盘块链: (2)空闲盘区链:
* 回收合并算法
36
第六章 文件管理
6.5.2 位示法 1、位示图 利用二进制的一位来表示磁盘中一个块的使用情 况。0:盘块空闲,1:盘块已分配
通常位示图可用 m*n 位数来构成;也可以用 二维数组map[i,j]来表示。
37
第六章 文件管理
6.5.2 位示法 2、盘块的分配:
9
第六章 文件管理
6.2.1 文件逻辑结构的类型
1、有结构文件 (1)定长记录 (2)变长记录 (a)顺序文件 (b)索引文件 (c)索引顺序文件
2、 即流式文件,如:源程序、 可执行文件、 库
函数等, 采用指针来进行读写定位。
10
第六章 文件管理
6.2.2 顺序文件
指由一系列记录,按某种顺序排列所形成的文件。 对于顺序文件,知道了当前记录的地址,就能很方 便放入确定一个要存取记录的地址。
优、缺点: (1)管理简单、顺序存取速度快; (2)修改记录困难、要求连续存储空间; (3)必须事先知道文件的长度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
具有相似的结构,它由用户所有文件的文件控制块组成。此外,
在系统中再建立一个主文件目录MFD(Master File Directory); 在主文件目录中,每个用户目录文件都占有一个目录项,其目录 项中包括用户名和指向该用户目录文件的指针。如图2所示:
2015/11/7
15
一 文件目录管理
图2
2015/11/7
●缺点:查找速度慢;文件不能重名。不便于实现文件共享。
文件名 文件名 1 文件名 2 … 物理地址 文件说明 状态位
2015/11/7
表1 单级目录
14
一 文件目录管理
【七】二级目录
●为了克服单级目录所存在的缺点,可以为每一个用户建立一个单 独的用户文件目录UFD(User File Directory)。这些文件目录
二级目录结构示意图
16
一 文件目录管理
●两级目录结构基本上克服了单级目录的缺点,并具有以下优点:
1) 提高了检索目录的速度。如果在主目录中有n个子目录,采用两 级目录可使检索效率提高n/2倍。
2) 在不同的用户目录中,可以使用相同的文件名。
3) 不同用户还可使用不同的文件名来访问系统中的同一个共享文件。 但当多个用户之间要相互合作去完成一个大任务,且一用户又需 去访问其他用户的文件时,这种隔离便成为一个缺点,因为这种 隔离会使诸用户之间不便于共享文件。
2015/11/7 11
一 文件目录管理
●当文件被打开时,要将磁盘索引结点拷贝到内存的索引结点中,便于
以后使用。在内存索引结点中又增加了以下内容: 1. 索引结点编号,用于标识内存索引结点。 2. 状态,指示i结点是否上锁或被修改。 3. 访问计数,每当有一进程要访问此i结点时,将该访问计数加1, 访问完再减1。 4. 文件所属文件系统的逻辑设备号。 5. 链接指针。设置有分别指向空闲链表和散列队列的指针。
2015/11/7
5
一 文件目录管理
【二】文件的组成与文件控制块(FCB)
●文件管理是通过文件控制块( FCB )进行的。FCB通常含有基本 信息、存取控制信息及使用信息三类。 1. 文件的组成 = 文件头+文件体 1)文件头 —— 存放的是文件说明信息 2)文件体 —— 文件本身的信息,记录集合或字符流集。 2. 基本信息类 —— 包括:
2015/11/7 18
一 文件目录管理
●多级文件目录下的文件打开流程(按BDF和SDF方式排列) 1. 将与MFD(主目录)相关的表目复制到内存; 2. 将基本文件表中的BFD的相关部分复制到内存;
3. 将符号文件表(SFD)找到所要使用的文件名;
4. 打开文件。 ●被打开的文件叫活动文件; ●内存中的 BFD,整个系统才有1张。
2015/11/7
13
一 文件目录管理
【六】单级目录
●所有文件存入一个目录表,每个文件占目录表中的一项。目录项中含 文件名、文件扩展名、文件长度、文件类型、文件物理地址以及其它 文件属性。此外,为表明每个目录项是否空闲,又设置了一个状态位。 单级目录的优点是简单,且能实现按名存取 ●所有的文件目录都是连续或顺序存放; ●文件目录表调入内存工作;
【四】文件的磁盘索引节点 ●每个文件有惟一的一个磁盘索引结点,它主要包括以下内容:
1.文件主标识符,即拥有该文件的个人或小组的标识符。 2.文件类型,包括正规文件、目录文件或特别文件。 3. 文件存取权限,指各类用户对该文件的存取权限。 4.文件物理地址,每一个索引结点中含有13个地址项,即iaddr(0)~ iaddr(12),它们以直接或间接方式给出数据文件所在盘块的编号。 5.文件长度,指以字节为单位的文件长度。 6.文件连接计数,在本文件系统中所有指向文件名的指针计数。 7.文件存取时间,指本文件最近被进程存取的时间、最近被修改的时 间及索引结点最近被修改的时间。
●在建立了一张Hash索引文件目录的基础上,可利用Hash方法进行查询,
即系统利用用户提供的文件名并将它变换为文件目录的索引值,再利用 该索引值到目录中去查找,这将显著地提高检索速度。
●在现代操作系统中,通常都提供在文件名中使用了通配符“*”、“?” 等模式匹配功能。Hash方法不能对使用了通配符的文件名进行目录检索。
现代操作系统
第21讲:第6章 文件管理
(文件目录与目录文件)
主讲:朱贵良
2015
2015/11/7 1
2015/11/7
2
内容提纲
一 文件目录管理
二 文件共享与文件保护
三 文件的访问控制 四 磁盘容错技术简介 本章小结
2015/11/7
3
一 文件目录管理
一 文件目录管理
【一】目录管理的基本功能
2015/11/7 26
二 文件共享与文件保护
Wang 用户文件目录
Test r
索引结点
Lee 用户文件目录
count= 2 文件物理地址
Test
Test r
图4
2015/11/7
基于索引结点的共享方式
27
二 文件共享与文件保护
●在索引结点中还有一个链接计数count,用于表示链接到本索引 结点(亦即文件)上的用户目录项的数目。当count=3时,表示 有三个用户目录项连接到本文件上,即有三个用户共享此文件。
2015/11/7
17
一 文件目录管理
【八】多级目录
●对于大型文件系统,通常采用三级或三级以上的目录结构,以提高对目 录的检索速度和文件系统的性能。多级目录结构又称为树型目录结构, 主目录称为根目录,把数据文件称为树叶,其它的目录均作为树的结 点。图2中,方框代表目录文件,圆圈代表数据文件。在该树型目录结 构中,主(根)目录中有三个用户的总目录项A、B和C。在B项所指出的B 用户的总目录 B中,又包括三个分目录 F、E和D,其中每个分目录中又 包含多个文件。如B目录中的 F分目录中,包含 J和N两个文件。为了提 高文件系统的灵活性,应允许在一个目录文件中的目录项既是作为目 录文件的 FCB,又是数据文件的 FCB,这一信息可用目录项中的一位来 指示。例如,在图3中,用户 A的总目录中,目录项 A是目录文件的 FCB, 而目录项B和D则是数据文件的FCB。
2015/11/7
7
一 文件目录管理
以上三类信息简要归纳为: ●文件名 ●文件的大小 ●文件的结构形式 ●文件的首地址 ●文件的修改日期,时间等
●文件的归属(即上级目录,目录层,副本信息等,控 制方式等)
2015/11/7
8
一 文件目录管理
【三】文件系统的层次模型
1. 目的:为用户提供一个完整的文件系统的概念;下 层为上层服务;上层使用下层的功能。
2. 优点:易于理解实现和维护;
3. 问题:划分要考虑到如果分层太少,连接与访问简 单,但每层内容复杂;分层太多,形成的参数太 多,传递速度慢。 4. Madnick 把文件系统画分为8层,如下图1所示
2015/11/7
9
一 文件目录管理
图1 文件系统的层次模型
2015/11/7 10
一 文件目录管理
2015/11/7
12
一 文件目录管理
【五】文件目录管理的知识准备
1.目录文件 —— 对文件目录(文件说明信息)进行管理的文件叫目录 文件,文件系统是通过目录文件对文件进行管理的 2.文件系统 1)定义:对文件进行管理的软件和数据的集合称为文件系统。 2)主要功能: ●为用户建立、撤消、读写、修改和复制文件提供服务; ●完成对文件的按名存取 ●传输与存取控制管理。 ●文件的配、回收、同名冲突、共享与保护管理 ●文件搜索方法等(识别与查找)
1.实现“按名存取”,目录管理中最基本的功能之一是通过提供的 访问文件名,便客快速准确地找到指定外存上的文件存储位置。 2.快速检索文件目录。通过合理地组织目录结构的方法,可加快对 目录的检索速度,从而提高对文件的存取速度。这是在设计一个 大、中型文件系统时所追求的主要目标。 3.实现文件共享。在多用户系统中,通过保留在外存中的副本,供 不同用户使用,以节省大量的存储空间,提高文件利用率。 4. 文件重名。系统允许在不同级别的目录中,命名相同的文件名。
(3) 如果在目录表的相应目录项中的文件名与指定文件名并不匹 配,则表示发生了“冲突”,此时须将其Hash值再加上一个常 数(该常数应与目录的长度值互质),形成新的索引值,再返回 到第一步重新开始查找。
2015/11/7
23
一 文件目录管理
【十】文件目录管理方法小结
1.单级目录管理方法:目录文件放置在外存,CPU浪费大,搜索慢。 2.二级目录管理方法2启动时,将所有目录文件读入内存。 ◆优点:速度快;◆缺点:内存占用多。 3. 多级目录管理方法:把正在使用的文件目录存入内存指定区。关 闭文件时,删除内存中的有关目录文件的内存副本。 ◆优点:速度快、内存占用少、层次清晰;
●文件打开与关闭的含义(由系统调用方式完成)
◆打开文件: 把文件存储设备上的目录文件复制到内存, ◆删除文件: 把内存文件的副本的删除操作称为关闭文件
2015/11/7
24
二 文件共享与文件保护
二 文件共享与文件保护
【一】基于索引结点的共享方式
●在树型结构的目录中,当有两个或两个以上的用户要共享一个子目 录或文件时,必须将共享文件或子目录链接到两个或两个以上的 用户目录中 ,才能方便地找到该文件。此时该文件系统的目录 结构已不再是树型结构,而是个有向非循环图。 ●解决该问题,可以引用索引结点,即文件的物理地址等文件属性, 不再是放在目录项中,而是放在索引结点中。在文件目录中只设 置文件名及指向相应索引结点的指针,如图4所示。此时,由任 何用户对文件进行附加操作或修改,都会引起相应结点内容的改 变。例如,增加其他用户可见的、新的盘块号和文件长度等,都 可以给其他用户提供共享服务。