• 文件系统,软硬链接


    磁盘和磁带

    1. 磁盘和磁带的工作原理基本相同
    2. 对于磁盘,其有多个磁片,数据是存放在磁片中的一个同心圆的扇区(一般取512字节为一个单位)
    3. 当我们学习文件系统的时候,用2D的视角分析磁盘
    4. 我们可以把磁片按同心圆切割,最后连接起来的就成为磁带那种2D的线。
    5. 以连续的2D视角,方便学习。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hsoGylhk-1666880736668)(./%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.assets/image-20221027193438911-1666870479903-1.png)]

    文件系统

    1. 直接管理一个磁盘的代价很高,如果将磁盘进行分区(也就是C盘,D盘等),只要管理好一个区,其它区就可以管理好,同时因为分块的原因,区块间的耦合性非常低,维护起来也很容易。
    2. 文件系统就是OS为了管理磁盘每个分区,为每个分区内置的一种管理系统。
    3. 理解文件系统是,要学会用2D的视角分析内存,采用一种虚拟映射思想,毕竟磁盘的数据定位需要很多操作协同。
    4. 以linux下的 文件EXT系统介绍

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gu85111u-1666880736678)(./%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.assets/image-20221027204928976-1666874970293-1.png)]

    Data Block和Block Bitmap

    当文件写入内容时,OS会遍历 block bitmap,找到第一个为0的二进制位,使用这个编号对于的内存块。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mwOhalix-1666880736684)(./%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.assets/image-20221027205012558.png)]

    inode Table 和inode Bitmap

    1. linux下,OS并不是通过文件名识别一个文件的,而是通过一个编号来标识一个文件的,也就是inode。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gu5HUXjz-1666880736687)(./%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.assets/image-20221027210412304.png)]

    2. inode的内存块中存放的时文件属性,和data block中的编号数组,可以看成是一种映射数组

    3. 当创建一个新的文件时,OS会遍历inode bitmap,找第一个为0的二进制位,其对应的编号就是新文件的ionde。

    4. 当删除一个文件时,inode bitmap对应二进制位变为0,block bitmap对应二进制位也变为0

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UJRUgsQA-1666880736689)(./%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.assets/image-20221027205434366-1666875275378-3.png)]

    Super block

    存放文件系统本身的结构信息。记录的信息主要有:bolck 和 inode的总量,
    未使用的block和inode的数量,一个block和inode的大小,最近一次挂载的时间,最近一次写入数据的时间,最近一次检验磁盘的时间等其他文件系统的相关信息。Super Block的信息被破坏,可以说整个文件系统结构就被破坏了 。

    Group Descriptor Table:

    块组描述符,描述数据块的使用情况,inode块的使用情况等资源信息

    目录

    1. 目录也是一种文件,也拥有它独立的inode
    2. 目录存放的数据是:其子文件的inode和子文件名的映射关系

    对文件的指令

    对文件的指令本质都是对特定inode对应文件的访问与操作

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NYBP8vtt-1666880736692)(./%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.assets/image-20221027213127555-1666877489276-5.png)]

    touch

    创建文件时,使用inode bitmap中第一个二进制位为0对应编号作为新文件的inode

    cat

    根据文件名与inode的映射关系,打印对应inode的data block中的数据

    rm

    将inode bitmap 中对应二进制位赋值为0,同时对block bitmap也继续同样的删除操作

    cp

    以指定文件为模板,建立新的inode,同时将这些新文件的文件名和inode放在指定的目录下

    mv

    将目录下的一对inode和文件名放到另外一个目录下。

    回收站

    回收站的本质是将一个目录下的inode与文件名移到另外一个目录下

    软硬链接

    软链接

    1. 软连接就像window下的快捷方式。通过window的快捷方式,即使软件的执行文件的路径不在当前路径下,也可以完成对软件的执行

    2. 软链接是新建一个文件,存放链接对象的地址。

    ln -s 目标文件名 软链接的新文件名
    
    • 1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v9Xa2hYo-1666880736694)(./%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.assets/image-20221027215526937.png)]

    硬链接

    1. 硬链接是链接对象的别名,不生成新的文件
    2. 硬链接是一种引用计数
    ln -s 目标文件名 硬链接文件名
    
    • 1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tr48gR54-1666880736695)(./%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.assets/image-20221027215914644.png)]

    删除链接

    unlink +链接名
    
    • 1

    软硬链接的区别

    1. 软链接是有自己独立的inode,会创建新的文件
    2. 硬链接是链接对象的inode的一种新的映射关系—也就是别名,不会创建文件。

    硬链接数

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qqmle9Ux-1666880736698)(./%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.assets/image-20221027220953848.png)]

    硬链接的使用

    为什么一个新建的目录它的硬链接数为2?

    .就是指向当前目录,这也就是为什么一个新建的目录为什么链接数为2

    如何再当前目录里面下新建一个目录,当前目录的硬链接数会变为2是因为 新建目录里面有个‘’…’

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vCMnLL5Z-1666880736700)(./%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.assets/image-20221027222453624-1666880694550-10.png)]

  • 相关阅读:
    【AI大模型-什么是大模型】
    使用MySQL设计一个“信息管理系统”数据库(1+X Web前端开发中级 例题)
    计算机操作系统 第六章:输入输出系统(1)
    【Vue 实战】 生成二维码
    docker alpine:3.16 root权限安装Anaconda3-2020.07-Linux-x86_64和jdk
    大数据分析案例-基于RFM模型对电商客户价值分析(聚类)
    数据库、计算机网络,操作系统刷题笔记7
    设计模式 -- 策略模式(Strategy Pattern)
    2023数学建模国赛B题完整论文来啦!(含一二问求解代码及三四问仿真模拟代码)
    奥菲斯办公
  • 原文地址:https://blog.csdn.net/qq_55439426/article/details/127562129