操作系统知识点四(持续更新)

123 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第6天,点击查看活动详情

文件管理:

文件控制块(FCB),类似进程管理的PCB,存放控制文件需要的各种信息的数据结构。

  • 基本信息:包括文件物理位置
  • 存取控制信息
  • 使用信息
  • 索引结点

一个文件对应一个FCB,而一个文件目录项就是一个FCB

打开文件操作是讲该文件的FCB存入内存的活跃文件目录表,而不是将文件内容负责到主存,找到指定文件目录是打开文件之前的操作。

文件系统基础:

逻辑结构

  • 无结构文件(流式文件):将数据按顺序组织成记录并积累保存,(流式文件)则被看成是一个字符流,以字节(Byte)为单位;

  • 有结构文件:

    • 顺序文件:

      • 串结构:记录之间的顺序与关键字无关
      • 顺序结构:记录之间的顺序与关键字有关
    • 索引文件:为变长文件建立索引表,提高查找速度

    • 索引顺序文件:顺序文件和索引文件的结合,将顺序文件中的所有记录分为若干组,为顺序文件建立一张索引表,在索引中为每组的第一个记录建立一个索引项,其中含有该记录的关键字值和指向该记录的指针

    • 直接文件(查找文件)Hash File:通过哈希函数直接决定记录地址

目录结构

  • 单级:全部文件都放在一个目录下
  • 两级:在目录下分出用户目录
  • 多级:将两级结构加以推广,采用树形结构
  • 无环图:在树形结构上加入一些有向边,便于共享

文件共享

  • 基于索引结点(硬链接):共享文件指向同一个索引节点;链接计数count;
  • 基于符号链(软链接):有文件拥有者才拥有指向其索引结点的指针,共享该文件的其他用户则只有该文件的路径;

文件保护

  • 口令保护:通过口令访问文件
  • 加密保护:对文件进行加密处理
  • 访问控制:根据访问者的身份进行限制

文件系统实现:

目录实现

  • 线性列表:

    • 无序:查找文件较慢,新建文件较快
    • 有序:查找文件较快,新建文件较慢
  • 哈希表:查找、新建文件都较快,要处理冲突

文件实现

  • 连续分配:在磁盘上连续存放文件

  • 链接分配:

    • 隐式:采用类似链表的结构
    • 显示:把隐式文件中的指针单独抽离出来
  • 索引分配:每个文件所有的盘块号都集中存放,建立索引表

存储空间管理

  • 空闲表:把所有空闲块组织成表
  • 空闲链表法:把所有空闲块组织成链表
  • 位示图:利用二进制的每位记录空闲块
  • 成组链接:空闲表和空闲链表的结合,适合大的文件系统