第四章.文件管理
1.文件逻辑结构
(1)无结构文件(流式文件)
(2)有结构文件(记录式文件)
1.顺序文件
2.索引文件
文件控制块(FCB):包含文件基本信息(文件名,物理位置),存取控制信息(存取权限),使用信息(建立时间,修改时间)
文件目录:FCB的有序集合
索引结点:有的系统采用文件名与文件描述信息分开的方式,文件描述信息单独形成一个称为索引结点的数据结构。简称i结点
4.文件共享
(1)基于索引结点的共享方式(硬链接)
共享文件有自己的索引节点,多个用户的文件目录中有一项指向该索引节点
(2)利用符号链实现文件共享(软链接)
只有文件拥有者有指向其索引结点的指针。其他用户只有指向LINK类型文件的指针。该文件包含共享文件的路径名。不会产生悬空现象。
当文件拥有者删除共享文件,其他用户通过符号链去访问它时,会出现访问失败,然后删除符号链。
4.2文件系统的实现
1.文件系统的层次结构
当用户请求访问文件时,对OS发出命令(第0级用户调用接口)
OS查找文件目录来获得文件F的索引信息,可能是FCB或索引结点(第1级文件目录系统)
查看FCB上的信息,验证该用户是否有访问文件的权限(第2级存取验证控制)
通过逻辑文件系统,找到文件内容的逻辑地址(第3级逻辑文件系统与文件信息缓冲区)
逻辑地址转化为物理地址,寻址完成(第4级物理文件系统)
若要释放空间,任务交给辅助分配模块
若要输入/输出,任务交给设备管理程序模块
2.文件的实现
(1)文件分配方式
1.连续分配:支持顺序/随机访问。文件目录的目录项:文件名 开始块号 块的数量。反复增删文件会产生外部碎片。文件长度不宜动态增加,适用于长度固定的文件。
2.链接分配:离散分配,消除外部碎片。文件长度可动态增加,无须事先知道文件大小。
隐式链接:每个盘块有指向下一个盘块的指针。文件目录项:文件名 开始块指针 结束块指针。只能顺序访问
显式链接:把各块的指针显式地存放在文件分配表中(FAT)。FAT中存放每一块的下一块指针。文件目录项格式:文件名 起始块号
FAT表在系统启动时读入内存,查找FAT的过程在内存中进行。提高了检索速度,减少了访问磁盘的次数。
3.索引分配:每个文件都有索引块,索引块的第i个条目指向文件的第i个块。支持直接访问,没有外部碎片。
(2)文件存储空间管理(对空闲块的组织和管理)
1.空闲表法
连续分配方式,每个文件分配一块连续的存储空间。外存上所有空闲区建立一张空闲盘块表。空闲盘区的分配类似于内存的动态分配,同样采用首次适应,循环首次适应算法等。
2.空闲链表法
3.位示图法
4.成组链接法
4.3磁盘组织与管理
1.磁盘读写时间:包含寻道时间(移动磁头到指定磁道,与磁盘调度算法相关),延迟时间(磁头定位到扇区的时间),传输时间(磁盘读出或向磁盘写入数据所经历的时间)
2.磁盘调度算法
(1)先来先服务
(2)最短寻找时间优先(SSTF):每次选择离当前磁道最近的磁道
(3)扫描算法:每次在磁头当前移动方向上选择最近的磁道
(4) 循环扫描算法:移动方向固定的扫描算法