第四章文件管理

第四章文件管理

  • 4.1_2初识文件
  • 4.1_2文件的逻辑结构
    • 无结构文件
    • 有结构文件
      • (1)顺序文件
      • (2)索引文件
      • 索引顺序文件
      • 多级索引顺序文件
  • 4.1_3文件目录
    • 文件控制块FCB
    • (2)单级目录
    • (3)两级目录结构
    • (4)多级目录结构
    • (5)无环图目录结构
    • (6)索引结点
  • 4.1_4文件的物理结构
    • (1)连续分配(随机访问和顺序访问)
    • (2)链接分配
      • ①隐式链接(顺序访问)
      • ②显式链接(顺序访问和随机访问)
    • (3)索引方式(顺序访问和随机访问)
      • 如何解决索引表太大导致一个物理块装不下的问题
      • ①链接方案
      • ②多层索引
      • ③混合索引
  • 4.1_6文件存储空间管理
    • (1)空闲表法
    • (2)空闲链表法
    • (3)位示图法
    • (4)成组链接法

4.1_2初识文件

在这里插入图片描述

4.1_2文件的逻辑结构

在这里插入图片描述

无结构文件

有结构文件

有结构文件的分类: 按照各条记录的长度:定长记录和可变长记录
根据逻辑结构:顺序文件、索引文件、索引顺序文件

(1)顺序文件

顺序文件:文件中的记录一个接一个地顺序排列(逻辑上), 记录可以是定长的或可变长的。各个记录在物理上可以顺序存储链式存储
文件存储结构可以是串结构,也可以是顺序结构(注:一般来说,考试题目中所说的“顺序文件”指的是物理.上顺序存储的顺序文件。)
在这里插入图片描述

(2)索引文件

在这里插入图片描述
例如:学生信息表中,可用关键字“学号”建立一张索引表。也可用“姓名”建立一张索引表。这样就可以根据“姓名”快速地检索文件了

索引顺序文件

索引顺序文件中,同样会为文件建立张索引表,但不同的是:并不是每个记录对应一个索引表项,而是一组记录对应一个索引表项。(例如:一张学生信息的问价,将同一姓氏的记录划分为一组)
在这里插入图片描述

多级索引顺序文件

在这里插入图片描述
例如上一个例子,将姓氏中首字母相同的姓氏的组再进行一次索引

4.1_3文件目录

在这里插入图片描述

文件控制块FCB

在这里插入图片描述

(2)单级目录

早期操作系统并不支持多级目录,整个系统中只建立一-张目录表,每个文件占一个目录项。
在这里插入图片描述

(3)两级目录结构

早期的多用户操作系统,采用两级目录结构。分为主文件目录(MFD,Master File Directory)和用户文件目录(UFD,User Flie Directory)(每个用户拥有一个目录)

在这里插入图片描述

(4)多级目录结构

在这里插入图片描述
在这里插入图片描述
当前目录
在这里插入图片描述

(5)无环图目录结构

解决多级目录结构不能实现文件共享的问题
在这里插入图片描述

(6)索引结点

让索引表更简单
在这里插入图片描述

4.1_4文件的物理结构

在这里插入图片描述

(1)连续分配(随机访问和顺序访问)

连续分配方式要求每个文件在磁盘上占有一组连续的块。
在这里插入图片描述
优点

在这里插入图片描述
两个缺点

在这里插入图片描述
②外部碎片
在这里插入图片描述

(2)链接分配

①隐式链接(顺序访问)

在这里插入图片描述
在这里插入图片描述

②显式链接(顺序访问和随机访问)

题中不说的话一般为显式链接
在这里插入图片描述
在这里插入图片描述

(3)索引方式(顺序访问和随机访问)

在这里插入图片描述

如何解决索引表太大导致一个物理块装不下的问题

①链接方案

链接方案:如果索引表太大,一个索引块装不下,那么可以将多个索引块链接起来存放。
在这里插入图片描述

②多层索引

建立多层索引(原理类似于多级页表)。。使第一层索引块指向第二层的索引块。还可根据文件大小的要求再建立第三层、第四层索引块。
在这里插入图片描述

③混合索引

多种索引分配方式的结合。例如,一个文件的顶级索引表中,既包含直接地址索引(直接指向数据块),又包含一级间接索引(指向单层索引表)、还包含两级间接索引(指向两层索引表)。

在这里插入图片描述

4.1_6文件存储空间管理

在这里插入图片描述
在这里插入图片描述

(1)空闲表法

在这里插入图片描述

(2)空闲链表法

在这里插入图片描述

(3)位示图法

可知0号盘块到31号盘块的空闲情况为01011111111100001110001100000010
在这里插入图片描述

(4)成组链接法

在这里插入图片描述
如何分配
在这里插入图片描述
在这里插入图片描述
如何回收
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/545495.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

免费的管理页面模板

2019独角兽企业重金招聘Python工程师标准>>> Free Bootstrap Admin Templates for Designers 1. Admin Lite AdminLTE - 是一个完全响应式管理模板。基于Bootstrap3的框架。高度可定制的,易于使用。支持很多的屏幕分辨率适合从小型移动设备到大型台式机。…

Redis 持久化——RDB

Redis 的读写都是在内存中,所以它的性能较高,但在内存中的数据会随着服务器的重启而丢失,为了保证数据不丢失,我们需要将内存中的数据存储到磁盘,以便 Redis 重启时能够从磁盘中恢复原有的数据,而整个过程就叫做 Redis 持久化。 Redis 持久化也是 Redis 和 Memcached 的主…

MATLAB使用教程

MATLAB使用教程2.1.1 MATLAB系统环境(1)命令行窗口(2)工作区窗口2.2.1MATLAB数值数据(1)强制转换如转换为int整形(2)判断变量类型(3)复型(4&#…

解决myeclipse中新导入的工程旁出现红色感叹号的问题

2019独角兽企业重金招聘Python工程师标准>>> 或许很多像我这样的java初学者在使用myeclipse时出现新导入的工程旁边有红色的感叹号。 1.问题一般就是java build path 设置不正确的问题。解决步骤如下: 右击工程找到Build Path——>Configure Build Pa…

层次分析法

层次分析法一、层次分析法原理二、解题步骤(1)层次结构模型(2)成对比较矩阵①成对比较矩阵(有现成代码进行一致性检验和求权重)②成对比较阵标度表及举例③一致性检验三、旅游性问题举例(1&…

Redis 持久化——混合持久化

RDB 和 AOF 持久化各有利弊,RDB 可能会导致一定时间内的数据丢失,而 AOF 由于文件较大则会影响 Redis 的启动速度,为了能同时使用 RDB 和 AOF 各种的优点,Redis 4.0 之后新增了混合持久化的方式。 在开启混合持久化的情况下,AOF 重写时会把 Redis 的持久化数据,以 RDB 的…

多属性决策模型

多属性决策模型一、多属性决策模型(1)特点(2)属性值的归一化①效益型②成本型③固定型④偏离型⑤区间型⑥偏离区间型二、例题及步骤①建立数学模型②属性值归一化③对不同的属性构建成对比较矩阵并计算属性权重④计算每个公司的WA…

Redis 管道技术——Pipeline

管道技术(Pipeline)是客户端提供的一种批处理技术,用于一次处理多个 Redis 命令,从而提高整个交互的性能。 通常情况下 Redis 是单行执行的,客户端先向服务器发送请求,服务端接收并处理请求后再把结果返回给客户端,这种处理模式在非频繁请求时不会有任何问题。 但如果…

灰色预测

灰色预测一、灰色预测理论简介(1)灰色系统(2)灰色系统的特点(3)灰色生成(4)GM(1,1)模型(5)GM(1,1)模型精度检验…

Redis 过期策略与源码分析

在 Redis 中我们可以给一些元素设置过期时间,那当它过期之后 Redis 是如何处理这些过期键呢? 过期键执行流程 Redis 之所以能知道那些键值过期,是因为在 Redis 中维护了一个字典,存储了所有设置了过期时间的键值,我们称之为过期字典。 过期键判断流程如下图所示: 过期…

SVN分支与合并

SVN分支与合并1 分支与合并的概念:分支:版本控制系统的一个特性是能够把各种修改分离出来放在开发品的一个分割线上。这条线被称为分支。分支经常被用来试验新的特性,而不会对开发有编译错误的干扰。当新的特性足够稳定之后,开发…

图论模型迪杰斯特拉算法

一、步骤 二、MATLAB执行代码 tulun1.m weight [0 2 8 1 Inf Inf Inf Inf Inf Inf Inf;2 0 6 Inf 1 Inf Inf Inf Inf Inf Inf;8 6 0 7 5 1 2 Inf Inf Inf Inf;1 Inf 7 0 …

图论模型Floyd算法

图论模型Floyd算法一、简介二、MATLAB执行代码一、简介 二、MATLAB执行代码 tulun2.m a [ 0,50,inf,40,25,10;50,0,15,20,inf,25;inf,15,0,10,20,inf;40,20,10,0,10,25;25,inf,20,10,0,55;10,25,inf,25,55,0]; [D, path]floyd(a)floyd.m function [D,path,min1,path1]floyd(a,…

查询附近的人——GEO

受过高等教育的我们都知道,我们所处的任何位置都可以用经度和纬度来标识,经度的范围 -180 到 180,纬度的范围为 -90 到 90。纬度以赤道为界,赤道以南为负数,赤道以北为正数;经度以本初子午线(英国格林尼治天文台)为界,东边为正数,西边为负数。 Redis 在 3.2 版本中增…

种群竞争模型

种群竞争模型一、种群竞争模型二、分析(1)未改变初值(2)改变自然增长率r(3)改变该环境种群最大容量(4)改变两个种群初始数量(5)改变资源竞争力三、MATLAB执行…

内存淘汰机制与算法

在本文开始之前,我们先要明白:在 Redis 中,过期策略和内存淘汰策略两个完全不同的概念,但很多人会把两者搞混。 首先,Redis 过期策略指的是 Redis 使用那种策略,来删除已经过期的键值对;而 Redis 内存淘汰机制指的是,当 Redis 运行内存已经超过 Redis 设置的最大内存之…

Java基础结构语句和IDEA使用和数组

Java基础结构语句和IDEA和数组基本类型和引用类型static第一章:结构语句1.1.1三元运算符1.1.2switch语句1.1.3do-while循环第二章:IDEA2.1_IDEA的项目结构2.2_IDEA的使用(代码及时自动保存)(1)代码快捷方式…

同时对view延时执行两个动画时候的现象

同时对view延时执行两个动画时候的现象 对于view延时执行了两个动画后,会将第一个动画效果终止了,直接在第一个动画的view的最后的状态上接执行后续的动画效果,也就是说,我们可以利用这个特性来写分段动画效果,比如&am…

子网掩码+ip地址_C ++程序使用位掩码查找唯一编号

子网掩码ip地址Problem statement: C Program to find unique number in an array of n numbers in which except one (unique number) rest all are present thrice. 问题陈述: C 程序在n个数字的数组中查找唯一数字,其中除一个(唯一数字)外其余所有其余…

消息队列的其他实现方式

在 Redis 5.0 之前消息队列的实现方式有很多种,比较常见的除了我们上文介绍的发布订阅模式,还有两种:List 和 ZSet 的实现方式。 List 和 ZSet 的方式解决了发布订阅模式不能持久化的问题,但这两种方式也有自己的缺点,接下来我们一起来了解一下,先从 List 实现消息队列的…