文件系统基础

初识文件管理

前情回顾

在这里插入图片描述

从最熟悉的Windows操作系统出发

在这里插入图片描述

一个文件有哪些属性?

文件名:由创建文件的用户决定文件名,主要是为了方便用户找到文件,同一目录下不允许有重名文件

标识符:一个系统内的各文件标识符唯一,对用户来说毫无可读性,因此标识符只是操作系统用于区分各个文件的一种内部名称。

类型:指明文件的类型。

位置:文件存放的路径(让用户使用)、在外存中的地址(操作系统使用,对用户不可见)。

大小:指明文件大小创建时间、上次修改时间文件所有者信息

保护信息:对文件进行保护的访问控制信息。

文件内部的数据应该怎样组织起来?

无结构文件(如文本文件)--由一些二进制或字符流组成,又称“流式文件”。

有结构文件(如数据库表)--由一组相似的记录组成,又称“记录式文件”:记录是一组相关数据项的集合。
在这里插入图片描述

文件之间应该怎样组织起来?

在这里插入图片描述

操作系统应该向上提供哪些功能?

可以“创建文件”。(点击新建后,图形化交互进程在背后调用了“create系统调用”)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可用几个基本操作完成更复杂的操作,比如:“复制文件”:先创建一个新的空文件,再把源文件读入内存,再将内存中的数据写到新文件中。

从下往上看,文件应如何放在外存?

在这里插入图片描述

从上往下看,文件应如何放在外存?

文件数据放在连续的几个磁盘块中。
在这里插入图片描述

其他需要操作系统实现的文件管理功能

在这里插入图片描述

知识回顾与重要考点

在这里插入图片描述

文件的逻辑结构

知识总览

在这里插入图片描述
类似于数据结构的“逻辑结构”和“物理结构”。如线性表就是一种逻辑结构,在用户角度看来,线性表就是一组有先后关系的元素序列。

无结构文件

按文件是否有结构分类,可以分为无结构文件、有结构文件两种。

无结构文件:文件内部的数据就是一系列二进制流或字符流组成。又称“流式文件”。如:Windows操作系统中的.txt文件。

有结构文件

有结构文件:由一组相似的记录组形成,又称“记录式文件”。每条记录由若干个数据项组成。如:数据库表文件。一般来说,每条记录有一个数据项可作为关键字(作为识别不同记录的ID)。根据个记录长度(占用的存储空间)是否相等,又可分为定长记录可变长记录两种

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

有结构文件的逻辑结构

在这里插入图片描述

顺序文件

顺序文件:文件中的记录一个接一个地顺序排列(逻辑上),记录可以是定长的或可变长的。各个记录在物理上可以顺序存储链式存储
在这里插入图片描述

索引文件

在这里插入图片描述

索引顺序文件

在这里插入图片描述

索引顺序文件(检索效率分析)

在这里插入图片描述

多级索引顺序文件

在这里插入图片描述

知识回顾与重要考点

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

文件目录

知识总览

在这里插入图片描述

文件控制块

在这里插入图片描述
在这里插入图片描述
需要对目录进行哪些操作?
搜索:当用户要使用一个文件时,系统要根据文件名搜索目录,找到该文件对应的目录项。
创建文件:创建一个新文件时,需要在其所属的目录中增加一个目录项。
删除文件:当删除一个文件时,需要在目录中删除响应的目录项。
显示 目录:用户可以请求现实目录的内容,如显示该目录中的所有文件及相应属性。
修改目录:某些文件属性保存在目录中,因此这些属性变化时需要修改相应的目录项(如:文件重命名)

目录结构--单级目录结构

在这里插入图片描述

目录结构--两级目录结构

在这里插入图片描述

目录结构--多级目录结构

又称树形目录结构
在这里插入图片描述
在这里插入图片描述

目录结构--无环图目录结构

在这里插入图片描述

索引结点(FCB的改进)

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

知识点回顾与重要考点

在这里插入图片描述

文件的物理结构

(文件的分配方式)

知识总览

在这里插入图片描述

文件块、磁盘块

在这里插入图片描述
在内存管理中,进程的逻辑地址空间被分为一个一个页面。
同样的,在外存管理中,为了方便对文件数据的管理,文件的逻辑地址空间也被分为了一个一个的文件“块”
于是文件的逻辑地址也可以表示为(逻辑块号,块内地址)的形式。
在这里插入图片描述

文件分配方式--连续分配

连续分配方式要求每个文件在磁盘上占有一组连续的块
在这里插入图片描述
物理块号 = 起始块号 + 逻辑块号

可以直接算出逻辑块号对应的物理块号,因此连续分配支持顺序访问和直接访问(即随机访问)

读取某个磁盘块时,需要移动磁头。访问的两个磁盘块相隔越远,移动磁头所需时间就越长。

结论:连续分配的文件在顺序读/写时速度最快
在这里插入图片描述
物理上采用连续分配的文件不方便拓展
在这里插入图片描述
在这里插入图片描述

文件分配方式--链接分配

链接分配方式采取离散分配的方式,可以为文件分配离散的磁盘块。分为隐式链接显示链接两种。

链接分配--隐式链接

在这里插入图片描述
只支持顺序访问,不支持随机访问,查询效率低。另外,指向下一个盘快的指针也需要耗费少量的存储空间。
在这里插入图片描述
在这里插入图片描述

链接分配--显式链接

把用于链接文件的各物理快的指针显示地存放在一张表中。即文件分配表。
在这里插入图片描述
在这里插入图片描述
显示链接--把用于链接文件各物理块的指针显式地存放在一张表中,即文件分配表(FAT)。一个磁盘只会建立一张文件分配表。开机时文件分配表放入内存,并常驻内存

优点:很方便文件拓展,不会有碎片问题,外存利用率高,并且支持随机访问。相比于隐式链接来说,地址转换时不需要访问磁盘,因此文件的访问效率更高

缺点:文件分配表需要占用一定的存储空间。
在这里插入图片描述


Less interests,more interest.