位示图模拟文件系统空闲快管理c语言

实验三 文件系统空闲空间管理模拟一、实验内容及要求要求打印或显示程序运行前和运行后的位示图,以及分配和回收磁盘的物理地址过程;二、基本原理用数组表示位示图,其中的每一位对应磁盘一个物理块的状态,0表示

实验三文件系统空闲空间管理模拟 一、实验内容及要求 要求打印或显示程序运行前和运行后的位示图,以及分配和回收磁盘的物理地址过程; 二、基本原理 01 用数组表示位示图,其中的每一位对应磁盘一个物理块的状态,表示空闲,表 0 示分配;当请求分配一个磁盘块时,寻找到数组中为的位,计算相对磁盘块号,并 01 计算其在磁盘中的物理地址(柱面号、磁道号、物理块号),并将其状态由变到。 当释放某一物理块时,已知其在磁盘中的物理地址,计算其相对磁盘块号,再找到 10 位示图数组中的相应位,将其状态由变为。 三、实验相关公式:计算公式如下: 1i ,j, ()已知位示图中的下标计算相对块号 Block= I* sizeof( int )+j 2 ()已知相对块号计算柱面、磁道、物理块号如下: C= /(*) 柱面号相对块号每柱面磁道数每磁道物理块数 H= %*/ 磁道号相对块号(每柱面磁道数每磁道物理块数)每磁道物理块数 R= % 物理块号相对块号每磁道物理块数 4. 提出申请磁盘块或释放磁盘块的要求,根据要求完成操作。 0 若申请盘块,则在位示图中找到为的位,计算相对磁盘块号,再计算相应具体物 CHR3CHR 理设备的柱面号、磁道号和物理块号,计算方法如步骤;输出分配的地 01 址,并将位示图相应位由变为,输出位示图; CHR 若释放盘块,则从已分配磁盘块表中随机选择一个盘块释放,此时,已知地 (i,j) 址,计算该盘块的相对磁盘块号,再计算其相应信息在位示图中的位置。计算过程 如下: =**+ 相对磁盘块号柱面号每柱面磁道数每磁道物理块数 *+ 磁道号每磁道物理块数物理块号 i= /sizeof(int) 相对磁盘块号 j= %sizeof(int) 相对磁盘块号 四、实验程序清单: #include <stdio.h> #include <stdlib.h>

腾讯文库位示图模拟文件系统空闲快管理c语言