• 操作系统重点快览第六章


    第六章 文件系统


    文件系统的功能
    文件存储空间的管理
    目录管理
    文件的读写管理
    文件的共享和保护
    提供友好的接口方便用户使用信息资源

    文件逻辑结构
            是指从用户观点出发所看到的文件组织形式,即用户对文件中信息的组织方式,它又称为文件组织。


    无结构文件(即字符流式文件)ps:现代OS普遍采用无结构方式
    有结构文件(包括顺序文件、 索引文件、 索引顺序文件)
    文件物理结构
           文件在存储介质上的存储组织方式,它与文件存储空间的分配策略和存储介质的性能相关。
    顺序结构文件(也叫连续文件)
    链接结构文件(包括隐式链接和显式链接)(如 MS-DOS)
    索引结构文件(包括单级、多级、混合索引结构)(如UNIXLINUXMINIX)

    逻辑文件与物理文件
    逻辑文件指从用户观点出发所看到的文件,如现代OS中的流式文件(也叫无结构文件)。
    物理文件是指存放在文件存储器中的文件。
    流式文件中信息按字节为单位从0开始编号,此即逻辑地址,它可以转换成逻辑块号,和块内偏移量。
    物理文件中每个单元的地址则以物理块号和块内偏移表示,此即物理地址。
    逻辑地址到物理地址的转换


    文件存储空间的分配方式
    连续分配
    链接分配:隐式链接分配,显式链接分配
    索引分配:单级索引、多级索引、混合索引

    文件物理结构的比较

    顺序文件:顺序存取效率最高;随机访问也很方便。但文件动态地增长和缩小系统开销很大;文件创建时要求用户提供文件的大小;存储空间浪费较大。
    隐式链接文件:克服了连续文件的不足之处,但不适合随机访问,可靠性差。
    显式链接文件:能随机访问,但对大文件随机访问性能差。
    单级、多级索引:既适合顺序访问,也适合随机访问,但索引表比较浪费文件存储空间。
    混合索引:既适合顺序访问,也适合随机访问,比普通索引方式节约存储空间,是一种比较好的文件物理结构。UNIX系统采用混合索引方式。

    目录管理的要求

    (1)实现“按名存取”。 ←文件系统最基本的目标
    (2) 提高对目录的检索速度。 
    (3) 文件共享。 
    (4) 允许文件重名。 

    文件控制块 (FCB)
    文件控制块是OS用来存放描述文件、管理文件的文件属性信息(包括文件名、文件的物理地址、文件的长度、文件的存取权限、创建使用的时间等)的数据结构。
    文件 = FCB + 文件内容
    文件与FCB一一对应
    FCB是文件存在的唯一标志
    FCB与文件一起存放在文件存储空间中,对文件执行打开操作时,FCB被读入内存


    FCB的实现方式:
    一个FCB就是一个目录项,目录项的有序集合形成文件目录(如MS-DOS)。
    将FCB拆分成文件名和索引结点两部分(如UNIX)
          目录项=文件名+索引结点编号
           一个文件只有一个磁盘磁盘索引结点,但可有多个目录项
    引入索引结点的目的
          减少目录文件的内容(长度),从而提高在目录中检索文件的速度。

    目录结构
    单级目录
    两级目录
    多级目录(树形目录)ps:目前最常用的目录结构
          根目录、当前工作目录
    层次清晰;
     进一步提高目录检索速度;
     文件重名更方便;
     容易实现共享和保护

    文件存储空间的管理
    空闲表
    空闲链表
    位示图
    成组链接法

    文件的共享
    基于索引结点的共享(硬链接文件)
            被共享的文件:1个磁盘索引结点(其中的链接计数为N),N个目录项,若干个存放文件的数据盘块;
            链接计数保证被共享的文件不会被文件主删除,因此系统不会出现链接失效的情况。
    基于符号链的共享(符号链接文件)
           符号链文件:1个磁盘索引结点(其中的链接计数为1),1个目录项,1个存放文件内容的数据盘块(文件的内容为被共享文件的路径名)
            被共享的文件: 1个磁盘索引结点(其中的链接计数为1或X),1个或X个目录项,若干个存放文件内容的数据盘块

  • 相关阅读:
    Python 产生和验证IMEI Vevi
    Ubuntu常见问题及解决方案
    error LNK2019: 无法解析的外部符号 WinMain(vs2019)
    NVIDIA GPU 架构演进
    RFCN详解
    Visdom 使用教程
    传统特征提取方法总结
    模型转换、模型压缩、模型加速工具
    YoloV5实战
    React vscode 创建 react 项目流程
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3170372.html
Copyright © 2020-2023  润新知