当前位置: 首页 > news >正文

考研408《操作系统》复习笔记,第四章(1)《文件管理概念》

        应网友催稿,主包最近也是很多事很疲惫,所以笔记以最简洁形式来了,可能不适合初学者抠细节,但是复习框架是够的

一、文件系统基础概念

我直接思维导图(放大来看)

【文件基础概念术语】

  • 定义了解一下:【文件】就是一组有意义的数据/信息的【集合】
    • 一般【文件】是存储在【磁盘】的(因为是要长期保存的数据)
  • 文件的【属性(也叫“访问类型”)】(只记重要的常用的):
    • 文件名:"四级学习资料.pdf" 的这个 "四级学习资料" 就是给用户辨别的文件名
      • 注:同一目录下不可有同名文件(比如不能有2个"test.txt")
    • 类型:.mp3、.txt、.java、.pdf......这些文件类型
    • 位置:特指用户看的懂的文件路径,比如“D:/data”
      • 而非物理的磁盘实际地址
    • 大小:就是这个文件的实际大小
    • 保护:就是【安全】那限制“组”、“拥有者”、“其他用户”的“写、改、读...”等权限,经常做开发的应该会接触

其中思维导图里的【文件结构】只是简单提一下其【逻辑结构】,下面第二大点会重点讲

二、文件结构

1、文件的【逻辑结构】

直接思维导图,记得放大看

  • (1)无结构文件

    • 又称【流式文件】,就是一串【字符流】长度单位是【字节】,没有结构所以也没甚好探讨的
  • (2)有结构文件

    • 又称【记录式文件】
      • 多个【记录】构成
        • 记录里由【数据项】构成
        • 每个记录里可以【定一个数据项】作为【关键字】
      • 【记录】的类型又分为【不定长 (可变长) 记录】【定长记录】
        • 【定长记录】:每个记录的【数据线个数一样】、【对应的数据项大小一样】
          • 重点:【定长记录】可以【随机存储(随机查找)】!!!
            • 就像访问数组第3个元素直接访问 a[2]!!只要知道了第1个记录的起始地址 + 2个记录的大小就找到 a[2]了
        • 【不定长 (可变长) 记录】:每个记录的【数据线个数不一样】或者【对应数据项的大小不一样】

          • 重点:【不定长 (可变长) 记录】不可以【随机存储(随机查找)】!!!

            • 你都不知道每个记录的大小规律,怎么计算第i个元素在哪

  • 【“有结构(记录式文件)文件”】的【文件类型】

    • 1、《顺序文件》:
      • 顾名思义,就是文件一个一个按顺序排列
        • 其实就是数据结构第一章说得【逻辑结构之:线性结构】,那么回忆一下可知,线性结构有:线性表、串、数组、队列、栈
        • 而其中【逻辑结构:线性表】还对应了【物理结构:顺序存储 、链式存储】,所以按理来说,顺序文件同样也包含了“顺序存储”+“链式存储”
        • 但是考试不考【顺序文件:链式存储】,所以考试中【顺序文件】=【逻辑、物理都是顺序存储】!!!!!
      • 然后记住【顺序文件】对应的【可变长记录】【定长记录】“能否随机存取”的区别!!!!
        • 很明显【不定长(可变长)记录】是不适合【随机存取】的,因为各个记录大小不一样,没法根据a[0]的地址算出第i个记录在哪
        • 【定长记录】里还有【串结构】、【顺序结构】“能否按关键字排序”的区别!!!!
    • 2、《索引文件》:
      • 我直接思维导图解释,要记住的重点就是:
        • 添加【索引表】,每个【索引记录】是【变长记录】的长度、地址位置
        • 【索引表】必须是顺序、记录是定长的;【变长记录】是乱序的、记录是不定长的
        • 可以实现【快速查找 “不定长记录”】,但却额外增加了【索引表空间】
    • 3、《索引顺序文件》
      • 我直接思维导图解释,要记住的重点就是:
        • 解决【索引表】空间大问题:把 “多个变长记录” 归为【一组】,索引表每个记录指向的是【一组里的 “第1个记录” 的信息】
        • 【索引表】必须是顺序、记录是定长的,但不需按关键字排序;
        • 【变长记录组与组】之间是【乱序的】;【一组里的记录】是【按顺序的】
        • 不仅减小了【索引表空间】、还提高了【查找效率】
  • 这还多一个【多级索引表】,效率更高,原理就是“不断套娃”,【高级索引表】记录【低级索引表】的表项位置、【最低级索引表】才记录【各组变长记录】

2、文件目录

【目录文件】概念(简称“目录”)

        当我们双击“照片”后,操作系统会在这个目录表中找到【关键字 “照片”】对应的【目录项(也就是记录)】,然后从外存中将“照片”目录的信息读入内存,于是,“照片”目录中的内容就可以显示出来了。

  • 【文件控制块:FCB】

    • 那么一个【目录文件】里记录了很多条【目录项】,这每一条【目录项】也叫【文件目录】也叫【文件控制块:FCB】
      • (进程有【PCB】、文件有【FCB】)
      • 再次强调FCB的多个名字:【目录项】【文件目录】【文件控制块】
      • 他记录的就是一个文件的各种属性,其中最重要的是【文件名】、【文件物理存放地址】
      • FCB会涉及的一些操作(不用记,大家用电脑都有这些常识)

【目录结构分类】

记一下这个思维导图这几个关键字就够了

  • 非要研究是啥的话就看这几个图:
    • 【单级目录结构】                             
    • 【双级目录结构】                         
    • 【多级目录结构(树形目录)】:就是我们现在的文件夹形式
      • 拓展:其中,做多开发的朋友都知道Window和Linux有不同的【根目录】表达符号                           
      • 而【当前目录】都一样是【.】        
      • 那么绝对路径】会导致访问很多次磁盘,效率较低        而【相对路径】则是在已经在内存中打开的【当前目录文件】下接着往下找,会比绝对路径少访问很多次磁盘,效率较高(做开发的都有经验)
    •  【无环图目录结构】

【索引节点】(对FCB的改进)

思维导图

  • 因为在目录表查找文件时其实只用到了【文件名】,所以FCB太多冗余属性信息了
  • 因此【索引节点】的改进结构如下:
    • 【索引表】:只记录【文件名】+【该文件索引节点的位置指针】
    • 【索引节点】:除了【文件名】之外的文件其他属性信息
      • 另外,放在外存的索引节点叫【磁盘索引节点】;放在内存后的索引节点叫【内存索引节点】,放在内存后因为文件会被改动,所以会额外添加一些内容(比如:几个进程在访问这个节点?这个节点被改写了吗?.....等,了解即可)

【注意!!!】

【目录文件】和【文件目录】的区别

  • 这几个知识点可能很多人会混淆,下图直观解释了
    • 【文件目录】和【目录文件】
    • 【目录项】和【记录】抱歉这里应该一个文件目录应该对应的是【文件】而不是【文件夹】的,我截图时忽略这点,急了。。。

3、文件的【物理结构】

前提提示(不是知识点,只是方便加深计组的知识点):

        这一块概念有点像《计算机组成原理——第3章磁盘和固态硬盘》、《计算机组成原理——第3章Cache和主存映射》的内容,像复习的可以去看看(可看可不看,非必要):

 《磁盘和固态硬盘》https://blog.csdn.net/m0_73991249/article/details/149423765

《Cache和主存映射》https://blog.csdn.net/m0_73991249/article/details/149573251?spm=1001.2014.3001.5501

1、【文件块】和【磁盘块】理解

四句话:

  • 1、内存和外存(磁盘)以【块】传输
    • (【块】就是把多个存储单元分为一组,块之间存储单元都一样)
  • 2、用户操作的是【逻辑块号 + 块内地址】
    • (这里不理解需要补习计组内容,块内地址其实就是一块里的存储单元的相对地址)
  • 3、实际磁盘里用的是【物理块号 + 块内地址】
  • 4、用户的【逻辑块号 + 块内地址】对应 映射 磁盘的【物理块号 + 块内地址】

2、三种分配方式(映射方式)

【思维导图】

【①连续分配】

  • 就是要求【每个文件】在磁盘占有【一组连续块】
  • 重点
    • 文件【目录项】记录:该文件第一个磁盘块号】+【所占用块数
    • 映射关系物理块号 = 起始块号 + 逻辑块号
      • (比如图中给出【逻辑块号0】,那么对应的【物理块号 = 起始块4 + 逻辑块0 = 4】)
    • 优点:
      • 【可以随机访问(因为连续块方便计算块位置)】
      • 【方便磁盘访问(磁盘、磁头原理)】
    • 缺点:
      • 【为了保持文件整体有序,增、删块要整体迁移,不方便】
      • 【不灵活,只要连续空间,那就会产生很多外部碎片】

【②链式分配】

  • 就是文件在【物理上】是【离散分散存放的】
  • 【隐式链接】
    • 重点
      • 文件【目录项】:记录文件的【起始块号】+【结束块号】
        • (因为每个盘块都有指向下一个盘块的指针,所以中间信息不用记)
      • 缺点:(就是链表的特点)
        • 不能随机存取,只能顺序访问!!!
        • 其中一个盘块有问题,整个文件完蛋
        • 指针也占空间
      • 优点:插入删除方便(链表特点,改链尾节点的指针指向即可)
  • 【显式链接】
    • 重点:
      • 就是在隐式链接基础上加了个【FAT(File Allocation Table)文件分配表
      • 文件【目录】项:只有【起始块号】!!!!
        • ​​​​​​​然后每个盘块的下一块的指针由【FAT表】​​​​​​​来记录!!!!
        • 注意:【FAT表】之有一张,一开机就读入【内存】,所以显式链接查找文件时无需访问磁盘!!!!
      • ​​​​​​​优点:
        • ​​​​​​​可以随机存取!!!(FAT表帮忙直接找到)
        • 比【隐式】快得多(因为不访问磁盘)

【③索引分配】

未完待续。。。。。

4、【逻辑结构】和【物理结构】区分

未完待续。。。。。

三、文件的操作

未完待续。。。。。

例题

未完待续。。。。。

http://www.dtcms.com/a/399031.html

相关文章:

  • 如何整合 openSSL custom provider (以 TRNG 舉例)
  • 做电影网站一年赚多少钱wordpress 二级页面菜单 404
  • JAVA学习笔记——判断和循环的概念和一些习题
  • Java `synchronized` 关键字高频面试题(原理+场景+底层实现)
  • 微信企业号可以做微网站吗查看wordpress访问记录
  • 企业建站程序哪个好asp简单网站开发
  • 法术光环释义
  • todesk远程到被控Mac后不显示画面
  • 上网行为安全(2)
  • 网站颜色搭配技巧网站建设征税标准
  • 虚拟主机建网站网站建设技术主管
  • Transformer原理学习(4)注意力机制
  • Linux epoll 事件机制深度解析
  • 仿制网站软件王烨名字含义
  • 网站建设教程 乐视网冠辰网站建设
  • 网站建设方案说明微信里的小程序怎么删除
  • vue <img 图片标签 图片引入
  • 防伪网站怎么做为什么打开网址都是seo综合查询
  • 做极速赛车网站怎么做网站视频
  • DP4363远程无钥匙进入(PKE)技术:便利与安全的完美融合
  • 手机网站页面长沙网页设计培训班哪家好
  • 用 Codebuddy Code CLI 快速开发中小学数学测试系统
  • 开源 java android app 开发(十四)绘图定义控件--波形显示器
  • seo网站设计费用网站过期会怎样解决
  • 网站机房建设目的温州机械网站建设
  • WLB公司内推|招联金融2026届校招|18薪
  • 平安产险深圳分公司在深圳莲花山公园 参与2025年金融教育宣传周启动仪式活动
  • 从root用户切换到某个普通用户突然报错“su: failed to execute /bin/bash: 资源暂时不可用”
  • 沧州网站建设制作设计优化浏览器提醒 WordPress
  • 网站风格什么意思快速优化系统