当前位置: 首页 > news >正文

操作系统:文件系统

目录

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、内存所需表目

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

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

相关文章:

  • Spring源码分析の构造方法推断
  • Android SystemUI深度定制实战:下拉状态栏集成响铃功能开关全解析
  • 设备健康管理系统在制造业的深度应用探索
  • 无人机 CAAC 执照考取全攻略
  • 第8天:面向对象编程入门 - 类与对象
  • 面试问题——如何解决移动端1px 边框问题?
  • 同步锁:同步实现的几种方式
  • NFC拉起微信小程序申请URL scheme 汇总
  • 一文掌握ADSL拨号代理的搭建方法,及详细使用
  • 如何证明有限域的大小都是2的幂次
  • 千峰React:Hooks(上)
  • 利用 Windows Terminal 和 SSH Config 简化 Linux 服务器管理
  • postgresql postgis扩展相关
  • VSCode 使用import导入js/vue等时添加智能提示,并可跳转到定义
  • 改进YOLOv8模型的空间注意力机制研究:RFAConv的贡献与实现
  • PostgreSQL的备份方式
  • SQL注入(order by、limit),seacmsv9联合注入数据
  • ROS2中的图形化显示---visualization_msgs
  • 【缓冲区】数据库备份的衍生问题,缓冲区在哪里?JVMor操作系统?(二)
  • 大模型应用案例 | 大模型+金融运维,擎创携手某证券创新运维能力新范式
  • 成都警方通报:8岁男孩落水父母下水施救,父亲遇难
  • 为证明我爸是我爸,我将奶奶告上法庭
  • 百利天恒董事长向复旦捐赠三千万元,用于支持创新药物靶点发现等师资建设需要
  • 祝贺!苏翊鸣成功解锁“2160”
  • 碧桂园:砸锅卖铁保交房、持续推进保主体,尽快让公司恢复正常经营
  • 5天完成1000多万元交易额,“一张手机膜”畅销海内外的启示