2022年文件系统存储空间管理模拟 .pdf





《2022年文件系统存储空间管理模拟 .pdf》由会员分享,可在线阅读,更多相关《2022年文件系统存储空间管理模拟 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实 验 报 告课程名称操作系统实验名称文件系统存储空间管理模拟专业班级计 1001 姓 名 郭军涛学 号 201007010108 实验日期2013.06.20 成绩指导教师王潇潇一、 实验内容1. 模拟文件空间分配、释放过程,可选择连续分配、链式分配、索引分配方法;2. 文件空闲空间管理,可采用空白块链、空白目录、位示图方法;二、实验要求及原理根据提出的文件分配和释放请求,动态显示磁盘空闲空间的状态以及文件目录的变化,以位示图和索引分配为例:每次执行请求后要求显示或打印位示图的修改位置、分配和回收磁盘的物理块地址、更新的位示图、目录。地址过程;用数组表示位示图,其中的每一位对应磁盘一个物理块
2、的状态,0 表示、空闲, 1 表示分配; 当请求分配一个磁盘块时,寻找到数组中为0 的位,计算相对磁盘块号,并计算其在磁盘中的物理地址(柱面号、磁道号、物理块号),并将其状态由0 变到 1。当释放某一物理块时,已知其在磁盘中的物理地址,计算其相对磁盘块号,再找到位示图数组中的相应位,将其状态由1 变为 0。三、实验步骤1. 输入磁盘基本信息参数,计算位示图大小,并随机初始化位示图;(1)磁盘基本信息:磁盘柱面数m, 每柱面磁道数p, 每磁道物理块数q;(2)假设采用整数数组存放位示图,则数组大小为:Size= ceil( (柱面数 * 每柱面磁道数 *每磁道物理块数)/ ( sizeof(in
3、t)*8) )(3)申请大小为size 的整数数组map ,并对其进行随机初始化。例如:假设m=2, p=4, q=8, 共有 64 个磁盘块,若 sizeof(int)=2, 则位示图大小为 4, map4 如下:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 map0 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 map1 1 0
4、1 0 1 1 0 0 0 0 1 1 0 0 0 0 map2 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 map3 1 0 0 0 1 0 0 0 0 1 1 0 0 1 1 0 位示图中每一位对应的相对磁盘块号如下图,磁盘块号由小到大对应于数组的低地址到高地址位上。 即 map0 的第 0 位到第 15 位分别对应0号磁盘块到15 号磁盘块的状态, map1的第 0 位到第 15 位对应 16 号磁盘块到31 号磁盘块的状态,以此类推。15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 map0 15 14 13 12 11 10 9 8 7 6
5、5 4 3 2 1 0 map1 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 map2 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 map3 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 如上表所示, 29 号磁盘的状态存在map1 中,对应于第13 位;2. 输出初始位示图信息;3. 输入文件分配或释放请求,( 1)格式:“+ 文件名申请块数”或“ - 文件名”“+”表示申请文件分配, “- ”表示删除文件如: + F1 5 4. 根据请求
6、完成相应操作。(1)若为分配申请x 个盘块,则在位示图中找到x 个为 0 的位,将其修改为“1” ,计算相应具体物理设备的柱面号C、磁道号 H和物理块号R,并将 CHR地址或相对磁盘块号记录在文件目录中。 输出位示图修改位置、分配的磁盘块CHR地址、修改后的目录和位示图信息。否则,空间不够,退出执行下一条请求;计算公式如下:a. 已知位示图中的下标i , j, 计算相对块号 Block= i*sizeof( int )*8+j 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,
7、共 8 页 - - - - - - - - - b. 已知相对块号计算柱面、磁道、物理块号如下:柱面号 C= 相对块号 /( 每柱面磁道数 * 每磁道物理块数) 磁道号 H= 相对块号 % (每柱面磁道数*每磁道物理块数)/ 每磁道物理块数物理块号 R= 相对块号 % 每磁道物理块数文件目录如下(以索引表分配为例):文件名首个物理块CHR地址块个数索引表beta (0,0,0) 2 (0,0,0)(0,0,1) Alpha (2,3,0) 3 (2,3,0) Toyota 4 3 (4 9 12 ),Sony 文件名首个物理块地址( 相对 ) 块个数索引表beta 0 2 (0,2,3),Al
8、pha 3 3 (3,6,7),Toyota 8 3 (8, 9,12),(2)若为删除申请,则从目录中找到要删除的文件所在的目录项,读取索引表,依次读取文件相应的盘块CHR 地址 , 计算该盘块的相对磁盘块号,再计算其相应信息在位示图中的位置 ( i,j),将位示图中的相应位有“1”改为“ 0” , 并从目录中删除该目录项。输出删除的磁盘块CHR 地址、相应位示图修改位置、修改过的位示图和目录。计算过程如下:相对磁盘块号 = 柱面号 *每柱面磁道数 * 每磁道物理块数+ 磁道号 * 每磁道物理块数+ 物理块号i = 相对磁盘块号 / (sizeof(int)*8) j = 相对磁盘块号 %
9、(sizeof(int)*8) 四、源程序代码#include #include using namespace std; struct AllocatedSpace /已分配内存空间结构体 int start_address; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - int length; char job; struct AllocatedSpace *next; ; struct FreeSpace /未分配内存空
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年文件系统存储空间管理模拟 2022 文件系统 存储空间 管理 模拟

限制150内