文件管理(第八章、九)

文件

分类

文件逻辑结构

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

无结构/流式文件:

一些二进制或字符流组成

有结果/流式文件:

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

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

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

文件物理结构

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

文件在外存的组织方式

常见物理结构:

①连续分配

②链接分配------

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

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

FAT文件系统

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

基本操作

创建文件

分配空间

在目录中记录该文件

写文件

分配指针

读文件

文件寻址

删除文件

打开文件的关联信息

文件指针

文件打开技术

文件磁盘位置

访问权限

※文件系统

主要是实现按名存取

※逻辑文件

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

※文件访问速度

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

※文件多级间址

目录结构

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

数据结构

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

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

操作

搜索

创建文件

删除文件

显示目录

修改目录

结构

单级结构目录

两级结构目录

树形目录结构

无环图目录结构

目录查询技术

线性检索法

哈希法

※目录项组成

文件共享

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

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

※多进程共享文件

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

系统打开文件表只有一张

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

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

文件保护

访问类型:

执行

添加

访问控制:

控制用户身份

口令密码

文件存储管理

初始化

目录区

文件区

管理方法

空闲表

空闲链

位示图

成组链接法

※磁盘空闲区管理

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

相关推荐
向日的葵00624 分钟前
Redis会话机制vsJWT机制深度解析
数据库·redis·python·缓存·系统架构·jwt
bosins28 分钟前
如何配置SQL Server数据库定时自动备份
数据库
烟雨归来1 小时前
RAC数据库OS进程消失,GV$SESSION长期残留KILLED僵尸会话处理
数据库·oracle
小龙报1 小时前
【优选算法】1. 水果成蓝 2.找到字符串中所有字母的异位词
java·c语言·数据结构·数据库·c++·redis·算法
宇宙第一小趴菜2 小时前
六、Oracle 目录结构
数据库·oracle
IvorySQL2 小时前
PG 日报|修复高 IO 并发场景,解决预读机制耗尽本地缓冲区缺陷
数据库·人工智能·sql·postgresql·区块链
TiDB 社区干货传送门2 小时前
TiDB 8.5.7 发版|六项实用功能上线
数据库·mysql·tidb
在繁华处2 小时前
MySQL 学习笔记 01:从概念到约束,搭好库表骨架
数据库·oracle
三言老师3 小时前
CentOS7.9:Redis 数据持久化结构化实战教程
数据库·redis·缓存
鸽芷咕3 小时前
KingbaseES 优化器底层逻辑:等价变换如何改写 SQL,条件调度如何驱动运行时
数据库