操作系统——文件管理

本文详细探讨了文件管理与文件系统的关系,包括进程管理和存储管理的背景,文件的组成、属性和操作,以及文件的逻辑、物理结构(如顺序、链接、索引和I节点结构)。同时,文章还涉及了不同类型的存储介质、磁盘调度算法,以及文件分配方式和存储空间管理方法。
摘要由CSDN通过智能技术生成

1.导入

在介绍文件管理之前,我们不妨联系之前学过的进程管理、存储管理。我发现,进程管理是对抽象的CPU的具体表现,而存储管理又是内存的具体体现,所以不难推出,文件管理是对外存的具体表现。

进程管理——CPU

存储管理——内存

文件管理——外存

言归正传。计算机的作用之一是准确、高速地处理大量信息。计算机程序要存储信息、检索信息。那么对信息的存储要由一些基本的要求:

  1. 能存储大量的信息(储存容量大,内存虽然可以做大,但是费钱呀)
  2. 长期保存信息(就算断电了也没事)
  3. 可以共享(操作系统真的无时无刻不在强调共享呀)

 铺垫到这,文件呼之欲出。

1.1文件和文件系统

【文件】一组带标识的、在逻辑上有完整意义的信息项的序列。

【文件系统】是操作系统中统一管理信息资源的一种软件,它管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,并且方便用户使用。

好吧,上面的定义苦涩难懂,来个易懂的版本

文件是以计算机硬盘为载体的存储在计算机上的信息集合

那作为用户我们关心的是如何命名分类查找文件,如何保证文件数据的安全性以及能对文件进行哪些操作。涉及到如何存储在辅存上、如何管理文件辅存区域我们不太关心。不慌,文件系统会管。

【文件的组成】

(1)存储空间中的数据(2)“标签”:方便分类和检索(3)访问权限

【文件的结构】

(1)数据项:文件系统重最低级的数据组织形式

  • 基本数据项:描述一个对象的某种属性的一个值,例如姓名、日期等
  • 组合数据项:多个基本数据项的组合

(2)记录:记录是一组相关的数据项的集合,用于描述一个对象在某方面的属性的一个值,例如考生的报名信息

(3)文件:文件是由创建者所定义的一组相关信息的结合,逻辑上分为有结构文件(记录式文件)无结构文件(流式文件)。

1.2文件的属性

主要包括以下:

  1. 名称:人取的
  2. 标识符:系统分辨的根据
  3. 类型
  4. 位置:设备和设备上文件的指针
  5. 大小
  6. 保护:对文件进行保护的访问控制信息
  7. 时间、日期和用户标识:打开“我的电脑”可以看到

所有文件的信息保存在目录结构中,而目录结构保存在外存中。文件信息在需要时才调入内存

 1.3文件的基本操作

  1. 创建文件
  2. 写文件:写指针
  3. 读文件:读指针
  4. 文件重定位:基于文件新的位置
  5. 删除文件:删除文件的目录项,再回收该文件所占用的存储空间
  6. 截断文件:文件属性不变,并删除文件内容,将其长度设为0并释放空间。(在目录中还是有目录项)

2.文件的逻辑结构

  1. 无结构文件(流式文件):基本单位是一个字节(Byte)
字符流式文件

     2.有结构文件(记录式文件) :基本单位是记录

  • 顺序文件
  • 索引文件

  • 索引顺序文件

3.文件的物理结构

3.1顺序结构

连续结构,把逻辑上连续的文件信息依次存放在连续编号的物理块中。

例如:文件A的信息存放在第1、2、3块磁盘块中,文件B的信息存放在 第7、8块磁盘块中。

【优点】存取速度快,因为是连续顺序存放的,磁头移动得少

【缺点】(1)文件不能动态增长。比如文件A占了1-5块,文件B占了第7和第八块,文件A不能增长2块,因为没有位置了(2)产生外部碎片:第六块是外部碎片

3.2链接结构

 文件可以存放在不连续的物理块中,每个物理块设有指向后续物理块的指针。

【优点】解决外部碎片问题;有利于文件动态扩充;有利于文件插入和删除,提高磁盘空间利用率

【缺点】(1)存取速度慢,不适合随机存取;(2)磁头移动多,寻道次数和寻道时间增加,效率相对较低;(因为不连续存储了,那么磁头一会移到这个磁道,一会移到那个磁道)(3)存在可靠性问题,一个指针出错,全毁了;(4)指针也占空间

3.3索引结构

把每个磁盘块的指针字取出,放在内存的表或索引中,就够成了索引结构。

3.4I节点结构

 4.文件目录

从用户的角度看,目录要在所需要的文件名和文件之间提供一种映射,要实现“按名存取”。

4.1文件目录组成

联系进程管理,为了实现目录管理,操作系统引入了文件控制块这个数据结构,FCB存放了控制文件需要的各种信息,用来实现“按名存取”。FCB的有序集合称为文件目录。一个FCB就是一个文件目录项。为了创建一个新文件,系统分配一个FCB并存放在文件目录中,成为一个目录项。

4.2文件目录结构

1.一级目录结构

在整个文件系统中只建立一张目录表,每个文件占一个目录项。

缺点:文件不能重名,不便于共享,对多用户的操作系统是不适用的

2.两级目录结构

我想要新建一个文件叫“test”,巧了,你也将新建一个文件也取名叫“test”,操作系统就会默认这两个文件是一个,你能答应吗?所以,可以采用两级方案,将文件目录分成主文件目录(MFD)用户文件目录(UFD)

主文件目录:记录用户名及相应文件目录所在的存储位置。

用户文件目录:记录该用户文件的FCB信息

优点:解决了文件不能重名的问题,检索速度加快

缺点:不能对文件分类

3.多级目录结构(树形目录结构)

优点:分便文件分类

缺点:在树形目录中查找一个文件时,按路径名逐级访问中间结点,这些结点存在外存中,访问磁盘次数多,影响查询速度。不便于实现文件共享。

4.3文件目录的改进

一个文件控制块很大要占很多空间,这样导致目录文件也很大。在检索目录时,为了找到所需的目录项,要将存放目录文件的多个物理块逐块读入内存进行查找,降低了检索速度。为了加快目录检索的速度,可以采用目录项分解法:目录项(FCB)分成两部分:符号目录项(次部)和基本目录项(主部)。

【符号目录项】

文件名+文件内部号

【基本目录项】

原来FCB中除去文件名其他部分

按名查取的时候检索由符号目录项构成的文件,找到后根据文件内部号找到文件内部具体的信息。

举个例子:家庭人员调查的时候,我们会根据户主名册找到目标户主(文件名),找到户主后根据房号(文件内部号)找到这家人的位置,接着再进行详细的调查。没必要把一家人全部的进行全部记录到整个名册中。

【例题】

5.存储介质

5.1支持顺序存取——磁带

5.2支持随机存取——磁盘

【一次读写数据的时间】

5.2.1磁盘调度算法

 (1)先来先服务算法

(2) 最短寻找时间优先

(3)扫描算法(电梯调度算法):选择一个方向要进行到底,电梯不会上一下再下一下吧

 (4)循环扫描算法

(6)LOOK调度

6.文件系统的实现

6.1文件的实现

6.1.1文件分配方式

(1)连续分配

(2)链接分配

(3)索引分配

6.1.2文件存储空间管理

(1)空闲表法

(2)空链表法

(3)位示图法

(4)成组链接法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值