系统03:15min导图复习 文件管理

前言

系统03:15min导图复习 文件管理_第1张图片

图源:文心一格

 考研笔记整理,纯复习向,思维导图基本就是全部内容了,不会涉及较深的知识点~~

  • 第1版:查资料、画思维导图~

编辑: 梅头脑

参考用书:王道考研《2024年 操作系统考研复习指导》

参考视频:4.1_1_初识文件管理_哔哩哔哩_bilibili


思维导图 

系统03:15min导图复习 文件管理_第2张图片

  • 思维导图为整理王道教材操作系统第4章文件管理,如果看不清的话,可以试试存到本地然后放大~
  • 博文后面会以大纲的形式复述一遍,面向复习,不会写得很详细,且可能有误;如果想仔细了解知识点,或许可以考虑以下两种方式~
    • 王道咸鱼老师的视频:4.1_1_初识文件管理_哔哩哔哩_bilibili
    • 较为重要的内容有从网络找相关配图并给出原文链接,点击配图的链接可以传送到各位大佬博文,也很适合快速复习~

目录

前言

思维导图 

目录

文件管理

文件系统基础

文件逻辑结构

文件物理结构

文件存储空间管理【空闲块】

目录

文件系统

计算

混合索引分配

读页访盘次数

减少访盘次数

结语


文件管理

  • 文件系统基础

    • 基本概念

      • 概念:文件是以硬件为载体的存储在计算机上的信息集合
        • 计算机在实现资源的分配和调度时,以进程为基本单位
        • 计算机在用户进行的输入、输出中,以文件为基本单位
      • 组成
        • 数据项:文件系统中最低级的数据组织形式
        • 记录:一组相关的数据项的集合,用于描述一个对象在某方面的属性
        • 文件:创建者所定义的、具有文件名的一组相关元素的集合
    • 文件控制块【FCB】

      • 信息
        • 基本信息:如文件名、文件的物理位置、文件的逻辑结构、文件的物理结构
        • 存取控制信息:如文件主的存取权限、核准用户的存取权限以及一般用户的存取权限
        • 使用信息:如文件的创建时间、上次修改时间等
      • 目录文件
        • 目录项:创建文件时,系统将分配一个文件控制块【FCB】并存放在文件目录中,成为目录项
        • 目录文件存放的信息:子目录文件、数据文件的目录项

       系统03:15min导图复习 文件管理_第3张图片 

      图源:操作系统&文件管理之FCB_文件fcb-CSDN博客

    • 文件索引节点【inode】

      • 描述:有的系统【如UNIX】采用了文件名和文件描述信息分开的方法,使文件描述信息单独形成一个成为索引节点的结构
      • 目录:在文件目录中的每个目录仅由文件名和指向该文件所对应的i节点的指针构成
      • 磁盘索引节点:存放在磁盘上的索引结点,每个文件有一个唯一的磁盘索引结点
      • 内存索引节点:存放在内存中的索引结点,当文件被打开时,将相应的索引节点从磁盘复制到内存中

       系统03:15min导图复习 文件管理_第4张图片 

      图源:文件系统 | 文件的物理结构 - 知乎

    • 文件的操作 | 用户接口

      • 文件的基本操作:创建文件、写文件、读文件、重新定位文件、删除文件、截断文件
      • 文件的打开与关闭
        • 打开
          • 单个文件打开:调用open根据文件名搜索目录,将指明文件的属性从外存复制到内存打开文件表的一个表目中,并将该表目的编号返回给用户
          • 多个文件打开:通常采用两级表,整个系统表【包含FCB的副本和其他信息】和每个进程表【打开的所有文件,包含指向系统表中适当条目的指针】
        • 关闭
          • 系统打开表为每个文件关联一个打开计数器【open count】,每次关闭使count递减,计数器为0时,可从系统打开文件表删除相应条目
        • 打开文件关联信息:文件指针、文件打开计数、文件磁盘位置、访问权限
    • 文件的保护

      • 口令保护【防止文件被窃取】:用户在建立一个文件时提供一个口令,系统建立FCB时附上相应口令
      • 加密保护【防止文件被窃取】:用户对文件进行加密,文件被访问时需要使用秘钥
      • 访问控制【对文件的访问方式】:使用精简访问控制列表【拥有者、组、其它】,根据用户类型进行控制,灵活性很高,必须由系统实现
  • 文件逻辑结构

    • 概念:从用户观点出发看到的文件的组织形式,与存储介质特性无关

    • 结构
      • 无结构文件【流式文件】
        • 概念:一系列二进制或字符流组成
        • 访问:穷举搜索
        • 适用:基本信息单位操作不多的文件【例,txt、源程序文件】
      • 有结构文件【记录式文件】
        • 概念:文件由若干个相似的记录组成【例,数据库】
        • 记录组织形式
          • 顺序文件
            • 概念:记录一个接一个地顺序排列,可以顺序存储或以链表形式存储
            • 适用:读或写大批记录的效率较高、对于顺序存储设备【如磁带】只有顺序文件才能被存储
          • 索引文件
            • 定长记录文件:可按 “记录地址=首地址+记录长度x条数”
            • 非定长记录文件:必须顺序查找前i-1条记录
            • 特点:提高了存取速度,但配置索引表增加了存储空间
          • 索引顺序文件
            • 概念:为顺序文件建立一张索引表,查找记录时,通过索引表找到所在的组,然后在组内顺序查找
            • 特点:提高了存取速度,但配置索引表增加了存储空间
            • 查找次数
              • 最理想状态:N条记录的顺序文件,记录分为组,每组 条记录
              • 查找次数:近似,或严格
          • 散列文件
            • 概念:通过散列函数转换的键值直接决定记录的物理地址
            • 特点:有很高的存取速度,但是会引起冲突,即不同关键字的散列函数值相同

           系统03:15min导图复习 文件管理_第5张图片 

          图源:文件的逻辑结构_蜗牛_Chenpangzi的博客-CSDN博客

  • 文件物理结构

    • 概念:研究文件的实现,即文件数据在物理存储设备上是如何分布和组织的
    • 文件的分配方式【非空闲块】
      • 连续分配
        • 描述:每个文件在磁盘上占有一组连续的块
        • 插入记录访问磁盘次数 = 移动块次数x2(读写访存2次) + 1(写入块访存1次)
        • 优点:支持顺序访问与随机访问,实现简单、存取速度快
        • 缺点:插入、删除较为复杂,且经常存取会增加外部碎片;文件不宜动态增加
        • 适用:存储长度固定或者是较大的文件,例如视频文件

        图源:2021-10-24 文件的物理结构-CSDN博客

      • 链接分配
        • 描述:离散分配,笑出了磁盘的外部碎片,提高了磁盘的利用率
        • 隐式链接
          • 描述:目录项中含有文件第一块和最后一块的指针,每个文件对应一个磁盘块的链表,每个盘块含有指向下一个盘块的指针
          • 插入记录访问磁盘次数 = 移动块次数x1(读访存2次) + 2(写入块并修改指针访存2次)
          • 文件最大访问长度 = 地址最大长度 x 单位地址大小 = 2^(指针大小 bit) x (文件块大小 - 指针大小)
          • 缺点:只适合顺序访问,不适合直接【随机】存取,稳定性很差
          • 改善:将几个盘块构成簇,减少查询时间
        • 显示链接
          • 描述:把用于链接文件各物理块的指针,从每个物理块的末尾提取出来,显式地存放在内存的文件分配表【FAT】中
          • 特点:系统启动时就会读入内存,显著提高了检索速度,减少了访问磁盘的次数

         系统03:15min导图复习 文件管理_第6张图片 

        图源:4.1.4 OS之文件的物理结构。-CSDN博客

      • 索引分配
        • 描述:把每个文件所有的盘块号都集中在一起构成索引块(表)
        • 优点:支持直接访问,且没有外部碎片的问题
        • 缺点:由于索引块的分配,增加了系统存储空间的开销
        • 索引块大小
          • 链接方案:为了支持大文件,可以将多个索引块连接起来
          • 多层索引:通过第一级的索引块指向一组第二级的索引块,第二级索引块再指向文件块
          • 混合索引:系统既采用直接地址,又采用单级索引分配或两级索引分配方式

         系统03:15min导图复习 文件管理_第7张图片 

        图源:一口气搞懂「文件系统」,就靠这 25 张图了 - 知乎

    • 文件存储空间管理【空闲块】

      • 空闲表法
        • 描述:属于连续分配方式,为每个文件分配一块连续的存储空间
        • 分配:首次适应算法、最佳适应算法等

         系统03:15min导图复习 文件管理_第8张图片 

        图源:4.1.5 OS之文件管理空闲磁盘块的几种算法-CSDN博客

      • 空闲链表法
        • 空闲盘块链
          • 描述:将磁盘上的所有空闲空间以盘块为单位拉成一条链
          • 特点:分配和回收一个盘块的过程非常简单,但是需要重复多次,效率较低
        • 空闲盘区链
          • 描述:将磁盘上的所有空闲盘区【每个盘区可能包含若干盘块】拉成一条链
          • 特点:分配和回收的过程比较复杂,但效率通常较高,且空闲盘区链较短 

        系统03:15min导图复习 文件管理_第9张图片

        图源:4.1.5 OS之文件管理空闲磁盘块的几种算法-CSDN博客

      • 位示图法
        • 描述:利用二进制的一位来表示磁盘中一个盘块的使用情况【1bit 管理 1个盘块】,是最省空间的管理方法
        • 备注:若题意无特殊说明,位示图法中的行和列都从1开始编号

         

        系统03:15min导图复习 文件管理_第10张图片

         

        图源:操作系统总结之磁盘管理-CSDN博客

      • 成组链接法
        • 描述:把顺序的n个空闲盘块号保存在第一个成组链块中,其最后一个空闲盘块则用于保存另一组空闲盘块号

         系统03:15min导图复习 文件管理_第11张图片 

        图源:操作系统原理之成组链接法_成组链接法基本原理-CSDN博客

      • 备注:文件分配表FAT 可以记录各个块的先后链接关系,也可以标记空闲的磁盘块
  • 目录

    • 基本概念:文件控制块FCB的有序集合称为文件目录,一个文件FCB就是一个文件目录项
    • 基本要求
      • 单用户:在用户所需要的文件名和文件之间提供一种映射,时间“按名存取”
      • 多用户:允许多个用户共享一个文件
    • 目录结构
      • 单级目录结构
        • 描述:整个文件系统中只建立一张目录表,每个文件占一个目录项
        • 特点:实现了案名存取,但存在查找速度慢、文件不允许重名、不便于文件共享等缺点,不适合多用户的操作系统
      • 两级目录结构
        • 描述:将文件目录分成主文件目录和用户文件目录
        • 特点:提高了检索速度,解决了多用户之间的文件重名文集,但是两级目录缺乏灵活性,不能对文件分类
      • 树形目录结构
        • 描述:两级目录加以推广
        • 特点:方便分类、层次清晰,主流操作系统采用的分配方式
      • 无环图目录结构
        • 描述:在树形目录结构的基础上增加了一些指向统一结点的有向边
        • 特点:便于文件共享,但是系统管理变得复杂

       系统03:15min导图复习 文件管理_第12张图片 

      图源:Linux树状目录结构简介

    • 目录操作
      • 搜索
      • 创建文件、删除文件
      • 创建目录、删除目录、移动目录、显示目录、修改目录
    • 目录实现
      • 线性列表 | 线性查找:实现简单,从当前目录查找,只要路径的一个分量名未找到,就停止查找;查找的结果是目录项
      • 哈希表 | 散列查找:查找迅速,插入与删除简单,但需要措施避免冲突
    • 文件共享
      • 基于索引结点的共享方式【硬链接】
        • 前置:链接共享同一个内存索引结点,文件描述符分别指向各自的用户打开文件表的一项
        • 链接:链接计数count,用于表示链接到内存索引的节点(即文件)上的用户目录项的个数
        • 删除:当count=0时,表示没有用户使用该文件,才会删除该文件
      • 利用符号链实现文件共享【软链接】
        • 前置:系统创建一个LINK类型的新文件【记录文件路径】
        • 链接:只有文件主才拥有指向其索引链接的指针
        • 删除:当文件主把一个共享文件删除后,Link链接依然可以存在,但访问文件会失败

       系统03:15min导图复习 文件管理_第13张图片 

      图源:linux文件系统(四)——软连接与硬连接-CSDN博客

  • 文件系统

    • 文件系统结构
      • 用户/应用程序
      • 用户接口
      • 用户存取控制模块
      • 逻辑文件系统与文件信息缓冲区
      • 物理文件系统
        • 辅助分配模块
        • 设备管理模块
          •  设备

       系统03:15min导图复习 文件管理_第14张图片 

      图源:4.3_1_文件系统的层次结构_哔哩哔哩_bilibili

    • 文件系统布局
      • 在磁盘中的结构
        • 主引导记录MBR:位于磁盘的0号扇区,用来引导计算机
        • 分区表:每个分区的起始和结束地址
        • 分区
          • 活动分区
            • 引导块:MBR执行引导块中的程序后,该程序负责启动该分区中的操作系统
            • 超级块:包含文件系统的所有关键信息,其典型信息包括分区的块的数量、块的大小、空闲块的数量和指针,空闲的FCB数量和FCB指针等
            • 空闲空间管理:文件中空闲块的信息,可以使用位示图或指针链接的形式给出
            • i 结点:每个文件对应1个i 结点,说明了文件的方方面面
            • 根目录:存放文件系统树的根部
            • 文件和目录
          • 其它分区
        • 备注:这个仅仅是unix系统的分区,可能会在磁盘管理也提到~
        • 计组+系统02:30min导图复习 存储系统_梅头脑_的博客-CSDN博客

         系统03:15min导图复习 文件管理_第15张图片 

        图源:4.3_2_文件系统的全局结构(布局)_哔哩哔哩_bilibili

      • 在内存中的结构
        • 安装表:包含每个已安装文件系统的有关信息
        • 目录结构的缓存:最近访问目录的信息;对安装分区的目录,它可以包括一个指向分区表的指针
        • 整个系统的打开文件表:包含打开文件的FCB副本及其他信息
        • 每个进程的打开文件表:包含一个指向整个系统的打开文件表中的适当条目的指针,以及其它信息
    • 虚拟文件系统

      • 用途:为用户程序提供了文件系统的统一接口,屏蔽了不同文件系统的差异和操作细节

       系统03:15min导图复习 文件管理_第16张图片 

      图源:Linux虚拟文件系统(VFS) (baidu.com)

  • 计算

    • 混合索引分配

      • 最大索引表项大小 = log 磁盘地址数 bit= log (系统空间的最大容量 / 磁盘块大小) bit
      • 最大索引表项数目 = 索引表区大小 / 索引表项大小
      • 单个文件最大长度1【地址空间】 = (直接索引地址+一级间接地址索引x单张页表地址项数+二级间接地址索引x单张页表地址项数)x 磁盘块大小
      • 单个文件最大长度2【地址标识】 = 磁盘地址数 x 磁盘块大小 = 2^(磁盘地址大小x8 bit) x 磁盘块大小
    • 读页访盘次数

      • 根目录调入内存,至少0次【假设根目录常驻内存】
      • 路径的每个文件夹调入内存,每个文件至少1次【目标文件位于文件夹的第1个物理块】
      • 文件存储结构
        • 索引
          • 目标文件控制块FCB调入内存,1次
          • 文件FCB查找调入索引表地址,直接地址0次,间接地址根据索引表的存储结构不同次数不同,至少1次
          • 页面调入内存,1次
        • 链式:访盘次数 = 文件记录 / 单个物理块包含的记录,至少1次,即所查询物理块在文件记录首页
        • 顺序:访盘次数 = 1次,按照起始地址与偏移量可直接推算
    • 减少访盘次数

      • FCB分解法描述
        • 描述:分解为文件名+inode指针【UNIX系统】,减少每个目录项的大小
        • 适用:但读入inode也需要一次磁盘I/O,因此每级适合目录较多的情况
      • 设置“当前目录”

结语

‍️博文到此结束,写得模糊或者有误之处,欢迎小伙伴留言讨论与批评,督促博主优化内容~

博文若有帮助,欢迎小伙伴动动可爱的小手默默给个赞支持一下,博主肝文的动力++~

博主可能会佛系更新思维导图,在这里:

计算机组成原理_梅头脑_的博客-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_42789937/category_12434026.html?spm=1001.2014.3001.5482操作系统_梅头脑_的博客-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_42789937/category_12434025.html博主也有整理数据结构学习笔记,在这里:

数据结构_梅头脑_的博客-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_42789937/category_12262100.html?spm=1001.2014.3001.5482

你可能感兴趣的:(#,操作系统,操作系统,考研,笔记,文件系统)