操作系统:文件系统

目录

1、文件

概念:

UNIX文件分类:

2、文件系统

3、文件的访问方式

顺序访问

随机访问

4、文件的组织

逻辑组织

物理组织

5、倒排结构(了解)

5、文件目录

文件控制块(FCB)

​编辑

目录项

单级目录

二级目录

多级目录

6、文件目录的改进

7、文件存储空间的管理

空闲块表

空闲块链

位图

8、内存所需表目


1、文件

概念:

具有符号名而且在逻辑上具有完整意义的信息项 的序列。

UNIX文件分类:

1、普通文件

内容可以是程序、数据、图象等,保存在磁盘块中

2、目录文件

(文件名,文件号)序列,保存在磁盘块中

3、特殊文件

设备

2、文件系统

文件与管理信息资源的程序集合

3、文件的访问方式

顺序访问

分类:

1、从文件头开始顺序访问

2、从文件中间某处开始顺序访问

随机访问

分类:

1、按记录编号随机访问,相当于数组访问索引。

2、按关键字(key)随机访问,相当于Map通过键访问键值。

4、文件的组织

逻辑组织

**定义:**用户看到的文件组织形式
分类:

流式文件: 字节的序列(UNIX, Windows, etc),文件的基本单位是字节。

记录式文件:

等长记录(优点:处理方便,速度快;缺点:空间浪费)

不等长记录(优点:省空间;缺点:处理不便,速度慢)

文件的基本单位是记录。

一条记录可能包含多个域,域指的是信息的一个特定类别或字段。

例如:一条员工记录可能包含姓名、职位、部门、入职日期等域。

当记录的域只有一个,且域的类型为字符型,则记录式文件便退化为流式文件。

流式文件是记录式文件的特例。

物理组织

**定义:**逻辑组织(文件)到磁盘块的映射

1、顺序结构

**定义:**一个文件占有若干连续的磁盘块。

2、链接结构:

**定义:**一文件可存于不连续块中,块间以指针相连。

3、索引结构

**定义:**一文件可存于不连续块中,块号记在索引块中。

4、散列结构(重点):

杂凑结构,适用于定长记录和按键随机查找的访问方式。一个文件由若干个记录构成,一个记录由若干个域。散列结构是通过给键key计算哈希值,从而计算出记录在磁盘中或文件中的存储位置。

hash(key)=addr (记录在磁盘或文件中的存放位置)

对于哈希函数的冲突碰撞问题,采用顺序探查法, 如发生冲突,则从冲突位置开始顺序探查第一个空闲的存储位置。

要给记录增加两个域,一个是冲突计数,一个是空闲标记。冲突计数主要是记录与当前地址发生冲突的个数,也就是说**记录位置=addr+冲突计数往回找。**而空闲标志是来标志当前记录空间是否被占用。以下是查找过程

5、倒排结构(了解)

**定义:**以键值和记录地址构成的索引结构称为倒排结构。以键值和记录地址构成的索引结构称为倒排结构。倒排结构以多个键和多个索引作为特征的。

优点:速度快

缺点:索引会带来较大的系统开销。

5、文件目录

文件控制块(FCB)

**定义:**文件存在的标志,其中保存系统管理文件需要的全部信息。每个文件都有一个文件控制块。

目录项

**定义:**目录文件中的一项,内容为FCB。

单级目录

**定义:**一个系统只有一个目录。

二级目录

**定义:**每个用户都有一个自己的专有目录。

多级目录

**定义:**从根节点出发的目录系统

6、文件目录的改进

FCB次部(文件名,文件号)保存在目录文件(内存)中。

FCB主部(其他,标识该主部与多少次部相对应的链接记数)保存在外存inode区域。

提示:当链接计数为0时,表示空闲未用的FCB主部。

7、文件存储空间的管理

**引入:**用于保存文件的外存空间是被划分为块的,需要对外存块进行管理。

空闲块表

**定义:**所有空闲块记录同一个表中,表中包括两栏目:首空闲块号和空闲块数。

空闲块链

**定义:**所有空闲块连成一条链。

位图

**定义:**使用1bit表示外存储器中一块的状态,1表示占用,0表示释放。位图需要永久保存在外存空间中。

8、内存所需表目

**用户打开文件表:**用于记录进程所打开的文件,其长度决定该进程可以同时开多少个文件,每个进程一个。

系统打开文件表: 存放在内存中,用来保存已打开文件的文件控制块,其长度决定整个系统可以同时开多少个文件,整个系统一个。

相关推荐
QYR-分析5 分钟前
26.2% 高增!场内及园区无人物流车,厂内短驳自动化的 L4 货运载体
运维·自动化
java_logo18 分钟前
Docker 部署 DPanel:轻松搭建轻量容器管理平台
运维·docker·容器·podman·容器管理·dpanel·轩辕镜像
时间售卖铺25 分钟前
Oracle DQL精髓:从基础到高级实战
运维·数据库·云原生·oracle
分布式存储与RustFS32 分钟前
CI 老被 Docker Hub 的 429 卡住,自建 Registry 把镜像搬进内网
运维·docker·开源·镜像仓库·对象存储·ci·rustfs
Ruiery38 分钟前
Linux 6.6内核内存管理深度解析(十七):vmalloc — 内核要“虚拟连续“就够:物理页逐个凑,页表来连
linux·运维·服务器
pt104339 分钟前
Cisco设备网络安全系列-19:网络安全事件驱动与调整
运维·网络
m0_6399069441 分钟前
MySQL 锁机制详解|表锁、行锁、意向锁,死锁成因与解决方案
数据库·mysql
sxgzzn44 分钟前
如何利用无人机提升光伏巡检效率?
运维·重构·无人机·开关柜局放在线监测·光伏运维管理系统
进击的荆棘1 小时前
MySQL——在ubuntu环境下安装MySQL
数据库·mysql·ubuntu
R²AIN SUITE1 小时前
企业智能体平台私有化部署需要什么服务器?CPU、内存、显卡与项目管理集成的7个评估项
运维·服务器