第六章 文件管理
始址 0 14 19 28 6
块数 2 3 6 4 2
tr
14 18 22 26 30
mail
19 23 27 31
list
28
24
6.2.2 文件的物理结构
2.链接文件
链接文件:一个文件的信息存放在若干不连续的物理 盘块中,各块之间通过指针连接,前一个物理盘块指向下 一个物理盘块,链接成一个队列。 优点: 链接结构可以消除大量的外部碎片,提高外存利用率 无需知道文件的长度,增删改方便 链接方式 隐式链接 显式链接
20
6.2.1 文件逻辑结构的类型
2.顺序文件
对顺序文件的读/写操作
定长记录顺序文件:例:顺序读,易于定位 变长记录([记录长度|记录内容],…)不易定位,只能顺序读取
优/劣
批处理时效率是所有逻辑文件中最高的,可存在于磁带上; 交互应用时“效率低”, 尤其是对变长记录的顺序文件;
2.顺序文件 文件是记录的集合。文件中的记录可以是任意顺序的, 因此,它可以按照各种不同的顺序进行排列。一般地,可归 纳为以下两种情况: 串结构。
各记录之间的顺序与关键字无关; 按存入时间的先后排列。
顺序结构。
文件中的所有记录按关键字(词)排列; 可以按关键词的长短从小到大排序; 也可以从大到小排序; 按其英文字母顺序排序。
…
长度 m m0 m1
指针 ptr
R0 R1
…
i
…
mi
Ri
…
索引表
逻辑文件
23
6.2.1 文件逻辑结构的类型
4.索引顺序文件
将顺序文件中若干记录分为一组,每组的第一项 在索引表中占一项。
键 An Qi Bao Ron g Ch en Lin 逻辑地址 姓 名 An Qi An Kang 其它属性
用户与文件系统交互的接口; 用户可通过键盘终端键入命令,取得文件系统的服务。
(2) 程序接口。
用户程序与文件系统的接口; 用户程序可通过系统调用来取得文件系统的服务。
10
6.1.2 文件系统的任务与功能
文件系统的主要目标是提高外存空间的利用率。文件 系统的主要功能: 1.文件存储空间的管理 2.目录管理 3.文件读/写管理 4.文件安全性管理 5.向用户提供接口
增加、删除记录涉及到排序问题,开销大;
21
对顺序文件的读/写操作
R0 R1 R2 R3
„
L L L L
0 L 2L 3L 4L Wp tr L (i+1 )L
L0 R0 L1 R1
„
0 L0 L1 L0 +1 L0 +L1 +2
i-1
Rp tr
Ri
„
L
Li Ri
„
k =0
∑(Lk +1 ) ∑(Lk +1 )
第六章 文件系统
操作系统 OS
CPU管理 (进程管理)
存储器管理 (内存管理)
设备管理 (I/O)
文件管理 (数据和代码)
接口管理
1
6.1 文件管理概述
文件系统的引入
所有的计算机应用程序都要:存储信息,检索信息,由于内存 容量限制,且不能长期保存,需要把这些信息以文件的方式 存放在外存中,需要时再调入内存。 若由用户直接管理文件,对用户的要求较高: 1.熟悉外存特性 2.了解文件属性及存放位置 3.在多用户环境下,保证文件安全性和一致性
11
6.1.3 文件的分类、属性、操作
1.文件的分类
分类的目的:
为了更好的管理和控制文件;
操作系统把文件类型作为扩展名缀在文件名的后面, 在文件名与扩展名之间用“.”分开。
12
操作系统中常见的文件
压缩文件: *.zip、*.arj、*.rar、*.lzh、*.jar 图像文件: *.bmp 、*.gif 、*.jpeg 、*.psd 、*.cdr 文本文件: *.txt 、 *.doc 、 *.csv 、 *.ppt 、*.wps
文件目录管理的要求如下:
实现“按名存取”—目录管理的基本要求 提高对目录的检索速度
文件共享
允许文件重名
35
6.3.1 文件控制块和索引结点
序一致。
2.顺序访问速度快
缺点:
1.要求有连续的存储空间,容易产生许多外部碎片; 2.必须事先知道文件的长度。(如文件的动态增长,日志文件等)
26
count
0 4 8 12 16 20 1 5 9 13 17 21 25 29 2 3 7 11 15
文件目录
f
6 10
文件名 count tr mail list f
数据项 1
数据项 2
„
数据项 n
5
6.1.1 文件和文件系统的概念
2.文件系统
文件系统是操作系统中负责文件管理和存储的一组 系统软件。 文件系统可分为三个层次:
对象及其属性说明 对对象进行操纵和管理的软件集合
文件系统接口
6
文件系统模型
文件系统接口 逻辑文件系统 对对象操纵和管理 的软件集合 基本I/O管理程序(文件组织模块) 基本文件系统(物理I/O层) I/O控制层(设备驱动层) 对象及其属性说明
1.有结构文件:记录式文件
记录长度:
1.定长记录文件 2.变长记录文件
记录组织方式:
1.顺序文件 2.索引文件 3.索引顺序文件
2.无结构文件:流式文件
以字节为单位,利用读/写指针进行访问。 Unix把所有 文件看作流式文件。文件的逻辑结构由用户程序自己解释。
19
6.2.1 文件逻辑结构的类型
文件信息保存在目录结构里
16
6.1.3 文件的分类、属性、操作
3.文件操作
(1)对记录的操作
l 检索所有记录
(2)对文件的操作
l 创建文件 l 读文件 l删除文件 l 写文件 l 截断文件 l 设置文件的读/写位置
l 检索单个记录
l 插入一个记录 l 修改一个记录
l删除一个记录
打开关闭操作
打开:将文件的属性从外存拷贝到内存打开文件表的一个表目中,并 将该表目的编号(索引)返回给用户
声音文件:
视频文件:
*.mp3 、 *.mid 、*.voc 、*.wav
*.mpeg 、*.avi 、*.rm 、*.rmvb
其他文件:
……
*.exe 、*.dll 、*.mdf 、*.bat ……
13
6.1.3 文件的分类、属性、操作
1.文件的分类
(1)按用途分类:
系统文件。系统软件构成的文件,只允许用户调用不能读写; 如.com 用户文件。用户的源代码、可执行文件或数据等。 库文件。由标准子程序及常用的例程等所构成的文件。如.lib
2.链接文件 3.索引文件
顺序式的文件结构
链接式的文件结构 索引式的文件结构
25
6.2.2 文件的物理结构
1.连续文件
连续文件是把一个文件中逻辑上连续的信息存放在介 质上依次相邻的块中所形成的文件,又称顺序文件。连续 分配要求为每一个文件分配一组相邻接的盘块。 优点:
1.顺序访问容易;逻辑文件中的记录顺序与存储器中的文件占用盘块的顺
3.链接表是一个全局分配表,常驻内存, 浪费空间;
31
6.2.2 文件的物理结构
3.索引文件
一个文件的信息存放在若干不连续物理块中,系 统为每个文件建立一个专用数据结构---索引表,
并将这些块的块号存放在一个索引表中。
索引文件的分类:
1.单级索引文件
2.多级索引文件
32
优点:直接访问,不会产生外部碎片 缺点:索引分配方式不适于小文件 索引分配方式
(4)逻辑结构
有结构(记录式) 无结构(stream 流式)
(5)物理安排
顺序文件 链接文件 索引文件
15
6.1.3 文件的分类、属性、操作
2.文件的属性
Name 文件名 Identifier 内部标识符 Type 文件类型 Size 文件长度 Location 文件物理位置 Time/date 文件建立时间 文件保护权限 ……
i
Lik =0(a来自 定长记录文件(b) 变长记录文件
22
6.2.1 文件逻辑结构的类型
3.索引文件
由变长记录组成的顺序文件不易直接存取,因此,为其建立一有 序的索引表,对索引采用折半查找,速度更快 特点:提高了速度,增加了存储开销—存放索引文件 增、删记录时,对索引表作相应的修改。
索引号 0 1
7
6.1.1 文件和文件系统的概念
(1) 对象及其属性。文件系统管理的对象有: ① 文件。 它作为文件管理的直接对象。 ② 目录。 方便用户和提高对文件存取速度的关键。 ③ 磁盘(磁带)存储空间。 文件和目录必定占用存储空间,对这部分空间的 有效管理; 提高外存的利用率; 提高对文件的存取速度。
(2)按文件中的数据形式分类
源文件。由源程序和数据构成的文件,由ASCII字符或汉字组成 目标文件。由编译程序编译而成的文件,二进制组成。 .OBJ 可执行文件。由目标文件链接而成的文件。.EXE
14
6.1.3 文件的分类、属性、操作
1.文件的分类
(3)存取控制
只读文件 读/写文件 只执行文件
显然,用户不能胜任,也不愿意承担,从而引入文件系统。
2
6.1.1 文件和文件系统的概念
文件是具有符号名的一组相关信息的集合。
存放在外存上; “按名存取”;
3
6.1.1 文件和文件系统的概念
文件系统中的数据可分为:文件、记录、数据项