2.4.1操作系统-文件管理:什么是计算机文件、文件物理结构划分、顺序存储、链式存储、索引文件结构、索引文件结构存储、直接索引方式、一级间接索引方式、二级间接索引方式、三级间接索引方式

2.4.1操作系统-文件管理:什么是计算机文件、文件物理结构划分、顺序存储、链式存储、索引文件结构、索引文件结构存储、直接索引方式、一级间接索引方式、二级间接索引方式、三级间接索引方式

什么是计算机文件

文件本身是对计算机中软硬件当中的软件资源的管理的基本单位。

对文件进行管理的时候,在操作系统当中会有一个文件系统来进行实现,而实现这些功能的时候,会先考虑文件怎么来进行放置,如何来查找文件等等。

整个文件的存储也会分为物理结构和逻辑结构两个维度来考虑。

文件的逻辑结构指的是概念层面的一些结构层次,主要有流式文件,还有记录式的文件,软考主要关心的是物理结构部分。

文件物理结构划分

物理结构部分划分可以分为三种,顺序存储、链式存储、索引文件结构存储。

顺序存储

物理结构划分,可以按照文件的逻辑顺序来存放到物理结构中去,这种存放相当于给一个文件分配连续的存储空间,逻辑上是什么形式,物理上页式什么形式,这种就是顺序存储。

链式存储

所谓的链式存储就是在存储空间分配的时候,不再考虑连续空间,将文件和相应的存储空间也可以划分成相同大小的物理块,或者叫做页,划分之后,逻辑上,它的0号位置对应的下一个逻辑应该是1号页的位置,这个1号页的位置,是通过一个指针来指向1号页的具体位置,找到1号页之后,在1号页也记录一个线索,指针指向下一个逻辑块的位置。也就是说,在存储相应文件信息的时候,会存储它们之间的逻辑关系,多了一个指向下一个逻辑的指针,这就是链式存储的方式。

索引文件结构存储

索引文件结构会相对更复杂,它会将所有的文件都划分成数据存储,会把它的具体位置记录下来,类似于在一张清单上,列出所有的存储位置,这种线索形式的就是索引文件结构。

索引文件在Unix系统中,默认有13个索引节点的表,没有特殊说明的情况下,索引结构是固定的。

在计算过程当中,为了简化,题目中一般会看到少于13个节点,而且会告知这些节点的结构。索引节点会形成一张表,节点编号依次为0~12,只有编号,没有内容,编号里面具体放什么?放的就是索引,索引是一种线索,也可以理解为是一个地址指向。

由于在索引文件结构当中,我们也会将文件和具体的存储空间,划分成相同的块,或者是页,所以最终会将页调入到物理块中去,所以这个索引的具体指向页可以理解为具体的物理块号。即索引→地址指向→物理块号。也就是说,可以理解为索引表是一个一维数组,每个数组中存储了一些内容,这个内容就是具体的物理块号。

请添加图片描述

直接索引方式

对于索引结构来看,默认13个索引节点的时候,前面的10个索引节点,编号0~9对应的都是直接索引方式,直接索引的方式,意味着编号的内容是直接指向了一些物理块,而这些物理块里面存放的是文件本身,或者叫做文件的逻辑页、文件的数据。
访问磁盘次数:1次数据盘=1次

请添加图片描述

我们在进行文件存储的过程中,由于文件它在逻辑上一定是连续的(比如一篇文章的段落、一篇古诗),所以逻辑上连续的页面在物理块上分散的存储的时候,它所对应的0号第一个索引节点一定对应0号逻辑页,其次会放置1,2,3~9,这个逻辑页号是连续放置在索引对应的数据空间当中的,这个就是直接索引方式。

一级间接索引方式

10号索引节点,也就是第11个索引,它所指向的是一级间接索引方式。就是说10号节点它所存储的地址指向假设是50,它表示指向50号物理块,这个50号物理块所存放的内容并不是数据,而是一个一级间接索引表,也就是将一些索引项集中起来了,这些索引项里面又包含了很多索引线索,比如索引表101,表示指向101号物理块,101物理块中才是存放数据的。
访问磁盘次数:1次索引盘+1次数据盘=2次

在索引文件结构中认为:文件在逻辑上一定是连续的,在物理上是可以分散的。

请添加图片描述

二级间接索引方式

11号索引节点,也就是第12个索引,它所指向的是二级间接索引方式。中间会经过两次间接查找的过程,第一次会去查找二级索引表,二级索引表里面的索引指向的具体物理块,里面存储的是一级索引表,一级索引表里面的索引数据,指向真正存放数据的物理块,也就是具体的文件内容。
访问磁盘次数:2次索引盘+1次数据盘=3次

三级间接索引方式

12号索引节点,也就是第13个索引,它所指向的是三级间接索引方式。中间会经过三次间接查找的过程。因此叫做三级间接索引方式。
访问磁盘次数:3次索引盘+1次数据盘=4次

软考内容

  1. 逻辑位置(字节或页号)对应的索引方式
  2. 不同索引方式指向的对象(数据块&索引表)
  3. 不同索引方式访问磁盘的次数
  4. 能够表示的文件长度(几种索引方式长度范围相加之后就是克表示的文件长度)

猜你喜欢

转载自blog.csdn.net/qq_41929714/article/details/129522766