文件管理(第八章、九)

文件

分类

文件逻辑结构

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

无结构/流式文件:

一些二进制或字符流组成

有结果/流式文件:

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

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

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

文件物理结构

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

文件在外存的组织方式

常见物理结构:

①连续分配

②链接分配------

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

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

FAT文件系统

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

基本操作

创建文件

分配空间

在目录中记录该文件

写文件

分配指针

读文件

文件寻址

删除文件

打开文件的关联信息

文件指针

文件打开技术

文件磁盘位置

访问权限

※文件系统

主要是实现按名存取

※逻辑文件

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

※文件访问速度

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

※文件多级间址

目录结构

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

数据结构

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

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

操作

搜索

创建文件

删除文件

显示目录

修改目录

结构

单级结构目录

两级结构目录

树形目录结构

无环图目录结构

目录查询技术

线性检索法

哈希法

※目录项组成

文件共享

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

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

※多进程共享文件

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

系统打开文件表只有一张

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

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

文件保护

访问类型:

执行

添加

访问控制:

控制用户身份

口令密码

文件存储管理

初始化

目录区

文件区

管理方法

空闲表

空闲链

位示图

成组链接法

※磁盘空闲区管理

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

相关推荐
啊森要自信1 小时前
【MySQL 数据库】MySQL索引特性(二)页目录&&(B和B+树)&&(非)聚簇索引 && 索引操作
android·数据库·sql·mysql·adb·数据库架构
2025年一定要上岸2 小时前
【Django】-6- 登录用户身份鉴权
数据库·django·sqlite
奋进的孤狼2 小时前
【Java】在一个前台界面中动态展示多个数据表的字段及数据
java·数据库·oracle
极限实验室2 小时前
IK 字段级别词典升级:IK reload API
数据库
中国lanwp3 小时前
Spring 全局异常处理机制:多个 @ControllerAdvice 与重复 @ExceptionHandler
java·数据库·spring
bing_1583 小时前
如何保护 Redis 实例的安全?
数据库·redis·安全
yh云想3 小时前
SQL 四大语言分类详解:DDL、DML、DCL、DQL
数据库·sql·oracle
筏.k4 小时前
用 Qt 打造优雅的密码输入框:添加右侧眼睛图标切换显示
开发语言·数据库·qt
怒码ing4 小时前
分布式事务----spring操作多个数据库,事务以及事务回滚还有用吗
数据库·分布式·spring