文件和文件系统
1、基本概念:
2、文件类型:
按用途:系统、用户、库文件
按数据形式:源文件、目标文件、可执行文件
按存取控制属性:只执行、只读、读写
按组织和处理方式:普通文件、目录文件、特殊(设备)文件
3、文件系统模型
4、文件操作
最基本的操作:
创建/删除文件:分空间,形成FCB及目录(名,地址) 读、写:按名检索目录,找到文件地址,开始读、写 设置文件读写位置,实现随机存取(尤其适用于记录文件)
“打开”与“关闭”
其他操作:改名、改所属用户、改访问权限等属性的操作。
文件的逻辑结构
其中 变长记录:
1.顺序文件
两种记录排列方式 :
串结构:按记录形成的时间顺序串行排序。记录顺序与关键字无关;
顺序结构:按关键字排序。
检索方法:
从头检索,顺序查找要找的记录,定长的计算相对快。
顺序结构,可用折半查找、插值查找、跳步查找等算法提高效率。
顺序结构记录按关键字排序,可按关键字检索
定长:结合折半查找算法等提高检索速度
变长:从第1个记录开始顺序扫描,直到扫描到要检索的关键字标识的记录
2.索引文件
、
一个索引文件有多个索引表
3.索引顺序文件
4.直接文件
外存分配方式
目标:有效利用外存空间,提高文件访问速度
1) 连续分配
缺点:
会产生外存碎片。可紧凑法弥补,但需要额外的空间,和内存紧凑相比更花时间。
创建文件时要给出文件大小;存储空间利用率不高,不利于文件的动态增加和修改;
适用于变化不大顺序访问的文件,在流行的UNIX系统中仍保留了连续文件结构。如对换区
2) 链接分配
隐式链接:
显式链接(FAT--file allocationtable)
FAT有关计算:
一个1.2M的磁盘,盘块512B大小;若文件系统采用FAT格式,则FAT表大小如何?
由上述公式,若容量为200M的磁盘,盘块仍为512B,FAT表大小如何?.
200k*2.5B=500KB
3) 索引分配
②二级索引
多级索引下的文件大小
若两级索引,盘块1KB,盘块号占4字节 一个盘块可存放的盘块号数有多少个
1KB/4B = 2 10/4 = 2 8 = 256(个)
二级索引下的文件可分配的最大盘块数
256 * 256 =2 6×2 10=64 K(个)
文件最大长度为
64K(个)*1KB=64MB
若盘块大小为4KB,单级索引允许文件最大长度为4MB(4K/4*4KB),二级索引则文件最大可达4GB(1K*1K*4KB)。
习题:
FCB 与 FAT 的图 最后可以EOF 显示连接才有FAT
FAT 的大小为 盘块的个数*盘块的位数
存储空间的管理