文件管理(第八章、九)

文件

分类

文件逻辑结构

文件内部数据的组织方式和关系,决定文件中数据元素之间的逻辑联系和存储方式

无结构/流式文件:

一些二进制或字符流组成

有结果/流式文件:

一组相似的记录组成,又称为"记录式文件"

记录是一组相关数据项的集合,数据项是文件系统中最基本的数据单位

类型:顺序文件(存取速度快,插删记录困难,不利于动态扩充);索引文件(索引表;检索速度快,插删记录方便,系统开销大);索引顺序文件(顺序存取速度快,随机访问,增删改记录方便);直接文件(也称为直接存取文件;直接寻址)和哈希文件

文件物理结构

文件在存储介质上的实际存储方式和组织形式,影响文件的存取速度

文件在外存的组织方式

常见物理结构:

①连续分配

②链接分配------

隐式链接【不会有碎片问题,只支持顺序访问】

显式链接【文件分配表,常驻内存;顺序访问和随机访问,不会有碎片问题,占用存储空间】

FAT文件系统

③索引分配【顺序访问和随机访问,占用存储空间】

基本操作

创建文件

分配空间

在目录中记录该文件

写文件

分配指针

读文件

文件寻址

删除文件

打开文件的关联信息

文件指针

文件打开技术

文件磁盘位置

访问权限

※文件系统

主要是实现按名存取

※逻辑文件

从用户观点看的文件组织形式,是用户可以直接处理的数据及结构

※文件访问速度

提前读、为文件分配连续的簇、延迟写、采用磁盘高速缓存

※文件多级间址

目录结构

目录:文件名称和它的索引节点号结合在一起的一张表

数据结构

文件控制块FCB------目录文件中一条记录就是一个文件控制块,包含文件基本信息

索引节点------一个结构,包含文件长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息

操作

搜索

创建文件

删除文件

显示目录

修改目录

结构

单级结构目录

两级结构目录

树形目录结构

无环图目录结构

目录查询技术

线性检索法

哈希法

※目录项组成

文件共享

基于索引节点的共享方式------链接到多个目录中;硬链接

利用符号连接实现文件共享------只存放路径link;软链接

※多进程共享文件

多进程可以同时以"读"或"写"方式打开文件

系统打开文件表只有一张

各进程的用户打开文件表中,同样一个文件的表项内容不一定相同

进程关闭时会是文件的引用技术-1,引用计数为0时删除表项

文件保护

访问类型:

执行

添加

访问控制:

控制用户身份

口令密码

文件存储管理

初始化

目录区

文件区

管理方法

空闲表

空闲链

位示图

成组链接法

※磁盘空闲区管理

可用于文件系统管理空闲磁盘块的数据结构是位示图、空闲磁盘块链、文件分配表FAT、成组链接法

相关推荐
NineData4 小时前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
赵渝强老师6 小时前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
全栈老石11 小时前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
倔强的石头_1 天前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou642 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤3 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区4 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1775 天前
《从零搭建NestJS项目》
数据库·typescript
加号35 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏5 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker