经典:第六章-文件管理

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– 变长记录:不易定位,只能顺序读取。
15
R0 R1 R2 R3
Rptr Ri

0 L
L L
L
2L
L
3L
4L
L0 R0 L1 R1
Wptr

L
来自百度文库
Li
L (i+1)L
Ri
0
L0
L0+1
L1
L0+L1+2
i-1
¡KÆ=0 (Lk+1)
Li
i
¡KÆ=0 (Lk+1)


(a) 定长记录文件
(b)变长记录文件
二、无结构文件:流式文件
– 以字节为单位,利用读/写指针进行访问。
14
6.2.2 顺序文件
一、逻辑记录的排序
(1)按记录录入的时间排:串结构。 (2)按关键字排序:顺序结构。 后一种情况更有利于提高查询速度。如可用折半查找法等。
二、对顺序文件的读/写操作(图6.3)
– 定长记录顺序文件:例:顺序读 • 易于定位,甚至可随机读取。
– 记录 • 一组相关数据项的集合 • 关键字:能唯一地标识出记录的基本/组合数据 项
– 文件 • 具有文件名的一组相关信息的集合。
3
文件属性
• 文件类型
• 文件长度
• 文件物理位置
• 文件建立时间
文件
• ……
记录1 记录2

记录n
数据项1 数据项2 …
数据项n
图 6-1 文件、 记录和数据项之间的层次关系 4
教学重点:逻辑结构和物理组织、文件存储空间 的管理、目录管理、文件的共享和保护 教学难点:逻辑结构和物理组织,成组链接法
2
6.1文件和文件系统
6.1.1 文件、记录、数据项(说明包含关系)
– 数据项 • 基本数据项:可命名的最小逻辑单位/字段 • 组合数据项:由若干基本数据项组成 • 基本数据项的类型和数据
• 因磁头移动距离小,顺序访问容易且速度快.
• 例2:1000000个纪录:
– 一级索引:(100个纪录一组):平价查找5050次 – 二级索引:平价查找50+50+50=150次
20
键 An Qi Bao Rong Chen Lin
逻辑地址
姓名 An Qi An Kang
其它属性
Bao Rong

图 6-5 索引顺序文件 逻辑文件 21
6.2.5 直接文件和哈希文件
17
6.2.3 索引文件
• 由变长记录组成的顺序文件不容易直接 存取,因此,为其建立一有序的索引表, 对索引采用折半查找,速度更快。
• 特点:提高了速度,增加了存储开销— —放索引文件。
• 增、删记录时,对索引表作相应的修改。
18
索引号 0 1
长度 m
m0 m1
指针 ptr

i
mi

索引表
图 6-4 索引文件的组织
• 直接文件
– 键值转换:由记录键值到记录 物理地址的转换
• 哈希文件
– A=H(k)
• 是一种索引链接文件
Hash函数
f 键值
目录表
图 6-6 Hash文件的逻辑结构22
6.3外存分配方法(文件物理组织)
6.3.1 连续分配(磁带,磁盘都可采用)(顺序文件)
– 每个文件分配一组相邻盘块。
– 优点:
第六章 文件管理
6.1 文件和文件系统 6.2 文件的逻辑结构 6.3 外存分配方式 6.4 目录管理 6.5 文件存储空间的管理 6.6 文件共享与文件保护 6.7 数据一致性控制
1
教学目的与要求
• 理解文件和文件系统的概念 • 掌握文件的逻辑结构和物理组织 • 掌握文件存储空间的管理、目录管理 • 掌握文件的共享和保护
五、物理安排 • (1)顺序文件;数据(连续放) • (2)链接文件; • (3)索引文件;
六、文件与目录文件
6
文件系统模型
• 概念:文件和对文件进行操纵 和管理的软件集合。
– 三个层:文件(对象及属性)文 件操作文件访问接口
一、管理的对象及属性
(1)文件
(2)目录:例:目录项
• 用于方便用户(提供文件逻 辑名来访问文件)和提高文 件存取速度。
6.1.2 文件类型和文件系统模型
• 类型
一、按用途分类: • 系统文件,用户文件,库文件。 • (用户对以上三者的访问权限不同)
二、按文件中的数据形式分类 • 源,目标,可执行。
三、存取控制 • E,R,R/W
5
6.1.2 文件类型和文件系统模型
• 类型
四、逻辑结构 • (1)有结构(记录式) • (2)无结构(流式)
(3)物理存贮空间的管理,好坏 将影响访问速度。
图 6-2 文件系统模型
7
文件系统模型
二、对对象操纵和管理的软件集合:
(1)逻辑文件系统:受命write(record of 文件,buf) ->write(逻辑号,buf)
(2)基本I/O管理:write(逻辑号, buf) (3)基本文件系统:向driver发令,(buf具体物理
盘块号) (4)I/O控制层:driver
三、文件系统接口
– 命令接口:例如copy命令 – 程序接口:
11
6.1.3 文件操作
一、对记录操作——类似数据库 二、对文件操作:
– 创fopen/删/读fread/写fwrite/截断(清空) /拔指针fseek
三、打开关闭操作
– 打开:将文件的属性从外存拷贝到内存打开文 件表的一个表目中,并将该表目的编号fd(索 引)返回给用户


R0 R1 Ri
逻辑文件
19
6.2.4 索引顺序文件
• 将顺序文件中若干记录分为一组,每组的第一 项在索引表中占一项。
• 速度: • 例1:10000个记录,顺序文件:5000次查找
查到。
– 索引顺序文件,设100个记录一组,索引表的找法设 为顺序法的情况下,则平价查找次数为50+50=100。
图 6-3 定长和变长记录文件
16
6.2.2 顺序文件
三、优/劣:
– 批处理时效率是所有逻辑文件中最高的。 – 可存在于磁带上。 – 交互应用时“效率低”(如要查找单个记录),尤其
是对变长记录的顺序文件。 – 增加、删除记录涉及到排序问题,开销大。
• 事务文件(log),用于存放将更新到主文件的记录。
四、其它
– 更名、更改属性…
12
6.2 文件逻辑结构
• 概念:用户所能观察和访问到的文件的数 据结构组织,独立于物理特性,容易检索 和修改。
• 无论是逻辑还是物理结构,都会影响到文 件的检索速度
13
6.2.1 逻辑结构类型
一、有结构文件:记录式文件
a类: (1)定长记录 (2)变长记录
b类: (1)顺序文件:通常是定长记录,(为何,因变长 采用此方式查询速度慢) (2)索引文件: (3)索引顺序文件:顺序组织多个组,每组记录中 的第一个记录设置一索引项。
相关文档
最新文档