文件系统

2020-06-26  本文已影响0人  R_est
逻辑结构 物理结构
用户观点 系统观点
为用户提供逻辑结构清晰、方便使用的文件
强调文件信息项的构成方式和用户的存取方式
文件在存储设备上的存储结构
强调合理利用储存空间,缩短I/O存取时间
记录式文件 流式文件
信息项是记录(结构化数据) 信息项是字节,文件长度就是字节数量
如学生花名册包含若干学生记录
每条记录包含姓名、学号等
文件需要保存记录长度和数量等说明信息,记录这些额外信息浪费存储空间
文件无需额外说明信息,节省存储空间

现代操作系统中所有文件都是流式文件,由应用程序解释和处理文件

顺序存取 随机存取
按文件信息项排列顺序依次存取 直接存取,需要指定存取位置
文件打开时,读写指针指向第一个信息项
每存取一个信息项,读写指针自动加1而指向下一个信息项
对流式文件或记录为定长的记录式文件容易缺点存取位置
对记录不定长的记录式文件比较定位较麻烦,需从第一条记录开始查询,可建立索引进行改善
类型 连续文件 索引文件 串联文件
概念 文件按逻辑块的顺序存放在硬盘的连续物理存储块中,文件目录记录文件长度(块数)和第一个存取块的块号 文件存放在不连续的存储块中,通过建立索引表记录逻辑块和物理存储块的对应关系,索引表单独放在存储块中 文件存放再不连续的存储块中,每个存储块有一个指针,指向下一个存储块
特点 文件建立时给出文件最大长度并登记文件起始位置 文件=索引区+数据区
先访问索引,再访问数据
文件目录指明文件名和第一个存储块的块号
优点 实现简单
支持顺序存取和随机存取
顺序存取速度快,所需磁盘寻道次数和寻道时间短
支持顺序存取和随机存取
支持文件动态增长、插入和删除
适用于顺序存取
提高磁盘空间利用率,不存在外部碎片
有利于文件动态扩充、插入和删除
缺点 文件不易动态增长,需要预留空间,大了浪费,少了需要重新分配和移动
不利于文件插入和删除
外部碎片问题
存取速度慢,不适合随机存取
可靠性差,若指针出错则文件访问失败
指针占用一定空间

扇区是磁盘上最小可寻址存储单元(512字节)

簇(存取块)是设备的最小存取单元,具有固定数量的扇区
360KB的磁盘,簇=2个扇区
10MB的磁盘,簇=8个扇区
2G的硬盘,簇=64个扇区

启动扇区 FAT1 FAT2 根目录 其他目录和文件
空闲文件目录 空闲块链 位示图
索引空闲文件代表存储设备全部空闲空间
为空闲文件建立的专门目录,称为空闲文件目录
每个表项对应一个空闲文件,包含第一个空闲块号,连续空闲块个数
把所有空闲块链接在一起
当申请者需要空闲块时,链头开始搜索所需空闲块
当回收空闲块时,把释放的空闲块逐个加在链尾
从内存中划出若干个字节,每个bit标识1个存储块空闲(1)或占用(0)状态

Unix,文件目录项中的文件名和其他属性信息分开,后者单独组成一个定长数据结构,索引结点i_node

Linux的目录
操作 标识 操作 标识
仅允许执行 E 仅允许读 R
仅允许写 W 仅允许在文件尾写 A
仅允许对文件进行修改 U 允许改变文件的存取权限 C
允许取消文件 U
文件操作 目录操作 相关常见API 典型文件系统
创建文件
写文件
读文件
文件定位
删除文件
截短文件
属性设置和读取
创建目录
删除目录
Create
Delete
Rename
File_attribute
Open
Close
Write
Read
DIR_read
DISK_space
Link
Unlink
File_date
FAT16
FAT32
NTFS
EXT2
EXT3
EXT4
上一篇 下一篇

猜你喜欢

热点阅读