这篇的内容是文件管理。
个人理解:文件管理着重点是外存,更多地考虑如何对对外存的控制调度优化等,比较偏静态性。而内存管理的着重点是主存,并且往往与进程紧密结合,偏动态性(具有更多的信息交换)。
一、文件系统基础知识
1.文件的基本概念
1)文件的定义
结构化的定义表述
2)文件的基本属性
3)文件的基本操作
4)文件的打开与关闭
参考:文件的打开和关闭_m0_45325271的博客-CSDN博客_文件的打开与关闭
2.文件的逻辑结构
关键词:讲的是文件的内部结构是如何组织规划的。
1)无结构文件(流式文件)
2)有结构文件(记录式文件)
有点向数据结构靠近了。
顺序文件:
索引文件:
索引顺序文件:
其查找方式有点类似多级页表。
直接文件或散列文件:
3.目录结构
关键词:这是介绍文件间的逻辑结构。
目录结构有很强的数据结构特征。
1)文件控制块与索引节点
个人理解:FCB包含的信息比索引结点更全更详细。索引节点是一种数据结构,FCB应该也算是一种数据结构,可以把索引结点嵌套进FCB。
2)目录结构
单级目录结构:
两级目录结构:
多级目录结构:
无环图目录结构:
4.文件共享
1)基于索引的共享方式(硬链接)
要注意指针的指向以及count的值
2)符号链实现文件共享(软链接)
符号链方法主要是实现简单,但是容易出现问题。
5.文件保护
参见:操作系统知识点总结(十四)文件保护:文件访问类型和访问控制_啊?你真是什么都不会啊!!!-CSDN博客
二、文件系统实现
1.文件系统层次结构
1)层次结构图
2)模块详解说明
3)举例说明
2.目录实现
3.文件实现
文件的实现就是研究文件的物理结构,即文件数据在物理存储设备上是如何分布和组织的。同一个问题有两个方面的回答:一是文件的分配方式,讲的是对磁盘非空闲块的管理(即如何快速知道哪些非空闲块并定位到,注重查找修改);二是文件存储空间管理,讲的是对磁盘空闲块的管理(即如何找到空闲块并分配数据,注重分配)。
1)文件分配方式
三种。分别对应顺序表、链表、目录表
FAT表既能管理空闲盘区又能管理非空闲区块
补充:混合索引:
2)文件存储空间管理
关键信息:数据信息空间与控制信息空间分离,存放控制信息空间的块即为超级块
关键词:以块为单位
接下来是四种磁盘空闲分配方式:
空闲表法与空闲链表法与内存分配中的动态分配基本相似,只不过采用的不同的数据结构。
而位示图法则借鉴了非连续分配的分页管理的思想。
而成组链接法则是在空闲链表法的基础上,把每一个链表节点的存储信息拉大,记录的不仅是单个空闲块而是连续空闲块。
三、磁盘组织与管理
1.磁盘结构
关键词:磁道、磁头、扇区、盘块
关键词:磁盘地址
2.磁盘调度算法
1)相关参数
参数分析:首先磁头从当前位置定位到指定磁道用时Ts为寻找时间。
然后在定位到当前磁道的指定扇区,用时Tr(取的是平均时间,即转半圈用的时间)为延迟时间。
最后磁头旋转读取该块数据,用时Tt为传输时间。
2)调度算法1
3)调度算法2
4)调度算法3
5)调度算法4
6)磁盘调度算法对比
7)其他提高时间的方法
磁盘调度算法减少的是寻道时间。
错位命名法减少的是延迟时间
引入原因:一个硬盘只有一个磁头臂,硬盘同一时刻只有一个磁头在读写。错位命名法精髓在于数据交替存放,磁头交替读写。
参考:为什么硬盘同一时刻只有一个磁头在读写?不同盘片的磁头不能同时读写嘛?_百度知道
硬盘里只有一个磁头臂,那是不是一个磁头动其他磁头也跟着动?_百度知道
3.磁盘管理
1)磁盘初始化
个人理解:操作系统对磁盘进行物理分区和逻辑分区,
2)引导块
装过操作系统的话大概能理解,引导块应该就是存在BIOS里面的,是用户所能接触到最底层的程序了。
参考:BIOS上有四个重要的程序,有两个是:开机上电自检程序,系统启动自举程序。 什么叫开机上电自检?_百度知道
3)坏块
不过硬盘坏块要修的话试试diskgenius,参考: