文件管理:把所管理的程序和数据组织成一系列的文件,并能进行合理的存储、使用等操作。
1 )基本概念
数据项:描述对象某种属性的字符集;是数据组织中可以命名的最小逻辑数据单位。
记录:一组相关数据项集合,描述对象某方面的属性;
关键字:一个记录中的一个或几个数据项的集合,用于唯一的标识一个记录。
文件:由创建者定义的、具有文件名的一组相关元素的集合。
无结构:字符流的形式有结构:由相关记录组成
属性:类型、长度、物理位置、创建时间
文件读/写操作 = 检索 + 读/写。
每次读写前都要重复检索增大开销。所以为了方便对同一文件的多次读写,一次检索到文件后就在内存中记录其位置,避免重复检索。被记录下位置的文件就是“打开”文件;
不需要再操作文件时,通过“关闭”这个系统调用关闭文件——即从打开文件表上删除其路径信息即可。
2、文件的逻辑结构
文件系统设计的关键要素:如何构成一个文件,以及如何存储在外存。
文件结构:
文件的逻辑结构file logical structure:按用户观点如何组织数据;又称文件组织file organization
基本要求:检索速度高、方便修改、降低存储空间费用(不连续)
文件的物理结构:根据外存上的物理块的分配机制,记录文件外存的存储结构。用户感知不到的。
3、外存分配方式
目标:有效利用外存空间,提高文件访问速度
常用三种方式:
连续分配
链接分配(不连续)
索引分配
通常一个系统中仅采用一种方式
采用的磁盘分配方式决定了文件的“物理结构”
顺序结构;链接式结构;索引式结构。
注意与逻辑结构名类似但不是一回事。
FAT表的相关计算
MS-DOS文件分配结构为例:
一个1.2M的磁盘,盘块512B大小;若文件系统采用FAT格式,则FAT表大小如何?
表项个数 = 盘块个数
= 容量 / 盘块大小 = 1.2 *220 / 29 = 1.2 *211 个
表项大小,决定于盘块数量编号需要的位数=12 位;
FAT表大小 = 表项个数 * 表项大小 = 1.2 *211 * 12 bit= 1.2 *211 * 1.5B = 3.6KB
以半字节(0.5B=4b)为基本单位,表项需12位(1.5B)
4、存储空间的管理
为实现存储空间分配,系统需要:
记住空闲存储空间使用情况;为空间设置相应的数据结构;
提供对存储空间分配、回收的操作手段。
典型的管理方法:
1)空闲表和空闲链表法
2)位示图法
3)成组链接法
5、目录管理
文件控制块—FCB
为了能对一个文件进行正确的存取,必须为文件设置用于描述和控制文件的数据结构,称之为“文件控制块”(FCB)
文件与文件控制块一一对应
记录文件名及其存放地址、文件的说明和控制信息。(是谁?在哪里?什么权?)
文件管理程序借助于文件控制块中的信息对文件施以各种操作。
把文件控制块的有序集合称为文件目录,即一个文件控制块就是一个目录项。通常一个文件目录也被看作是一个文件,称为目录文件。
6、文件共享与保护
1)文件共享
多个用户共享一份文件,只保留文件的一份副本,节约存储空间
提高磁盘I/O速度的途径:
磁盘高速缓存(内存中,磁盘块的副本)
提前读(每次访问磁盘,多读入一些磁盘块 )
延迟写
优化物理块分布(可能顺序存取的块放在一起 →尽量分配在同一柱面上)
虚拟盘(内存模仿磁盘)
磁盘冗余阵列(高速、大容量磁盘系统,并行交叉存取)
高速缓存与缓冲区的对比
网友评论