付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2.文件系统模拟2.1 问题描述编写程序,模拟混合索引形式的文件系统。2.2 基本要求编写程序,模拟混合索引形式的文件系统。能接收建立、删除、读、写和查询属性令,并在模拟文件系统中进行操作。提供一个可供操作者建立、删除、读、写文件和查看文件属性的交互界面。2.3 测试数据及1)在 tc 下编译mi.c 文件,生成 mi.exe 可执行文件2)在命令行提示符下进入 mi.exe 所在目录下本次测试为 k:os3) 功能测试命令 1mi create filename功能: 创建名为 filename 的文件测试 1:mi create myfile0File Size:128 File Type
2、:r结果:8 个直接索引被分配测试 2:mi create myfile1 File Size:256File Type:w结果:8 个直接索引被分配一级索引被使用,16 号为索引盘块测试 3:mi create myfile2 File Size:1280File Type:w结果:8 个直接索引被分配一级索引被使用,32 号为索引盘块二级索引被使用,42,4350 号盘块被作为索引盘块使用其余为数据盘块测试 4:mi create myfile3 File Size:8000File Type:w结果:8 个直接索引被分配一级索引被使用,123 号为索引盘块二级索引被使用,132,1331
3、40 号盘块被作为索引盘块使用三级索引被使用,205,206213,214277 为索引盘块其余为数据盘块由于输出缓冲,所以不能同时看到结果,往后均为数据块分配命令 2mi earse filename功能:删除名为 filename 的文件测试 1:mi earse myfile0(问题)命令 3mi readfilename功能:从名为 filename 的文件输入字符数据测试 1:mi read myfile0结果:(i)其中 i 表示盘块号,-代表空字节命令 4mi write filename功能:输出字符数据到名为 filename 的文件测试 1:mi write myfile0
4、输入数据:abcd.123.!$.#(#为结束符,数据不宜太多,20 字符以内)写数据:写完后读出数据:命令 5mi ask filename功能:读名为 filename 的文件的相关信息测试 1:mi ask myfile0结果:Thu Jul 06 02:59:29 2006256Bytemyfile1w2.4 算法1、UNIX 操作系统中,文件系统得混合索引分配算法,对模拟磁盘空间 DISK.C(100kb)进行模拟磁盘空间管理。16byte 为一块,共 6400 块。2、文件目录 DIR.C(100 条):每项结构:11 文件名;1 所分配的 I 节点的。3、索引 i 节点文件 IN
5、DEX.C(100 条索引):每个 I 节点的结构:1 ; 1 类型; 4 文件的长度; 14 文件建立/最后修改的时间(yyyymmddhhmmss); 22 物理地址(8 个直接,1 个一级,1 个二级,1 个三级4、位视图文件 MAP.C:);模拟位示图法表示的空闲盘块数据结构,个字节表示一个盘块。能表达 6400 个盘块。2.5 模块划分分为五个功能模块:Create: 建立文件void longmdfmant row,col)inum)readiItem(long prv,alloBlkIndex(long iblknum,ibnum1)voidalloBlk0(iIndex,bnu
6、m)void void voidalloBlk1( alloBlk2( alloBlk3(iIndex, iIndex, iIndex,bnum) bnum2) bnum3)Earse: 删除文件void earsefile(Read: 读文件内容void readfile( Write: 写文件内容idir)idir)void writefile(idir) Ask: 显示文件属性void pr2.6 数据结构1、文件索引块FileInfo(idir)typedef struct indexnum;/*/ unsigned longlen;/*文件长度*/char char long lon
7、g long long charI,* ;type;/*类型*/ModiTime27;/*文件建立/最后修改的时间*/ iAddrDir08;/*直接索引*/iAddrDir1;/*一级索引*/ iAddrDir2;/*二级索引*/ iAddrDir3;/*三级索引*/ used;I findexINDEX_ITEM_NUM;2、文件目录表typedef struct directory char fnameFNAMELEN;inum; char used;Dir,*pDir;Dir fdirDIR_ITEM_NUM;3、位视图char mapMAP_ROW_NUMMAP_COLLUM_NUM
8、;2.7 源程序由于思路类似,这里只给出建立文件模块的功能函数。void mdfmant row,col)功能:修改 map.c 文件的某个盘块标记long readiItem(long prv,inum)功能:prv 指向的索引盘块的第 inum 条,返回所存的盘块号alloBlkIndex(long iblknum,ibnum1)功能:给 iblknum 所指向的盘块分配 ibnum1 个空闲盘块,返回 1,0void alloBlk0(iIndex,bnum)功能:占用直接索引,需分配 bnum 个数据盘块void alloBlk1(iIndex,bnum)功能:占用一级索引,需分配 bnum 个数据盘块void alloBlk2(iIndex,bnum2)功能:占用二级索引,需分配 bnum2 个数据盘块void alloBlk3(iIndex,bnum3)功能:占用三级索引,需分配 bnum3 个数据盘块2.8 测试情况1、create 模块的测试情况良好,未发现大2、earse模块测试情况较差,如果写入文件较多,会出现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地下防水工程施工技术试题及答案
- 船舶机工诚信品质考核试卷含答案
- 锅炉管阀检修工岗前基础实战考核试卷含答案
- 乙氧基化装置操作工操作强化考核试卷含答案
- 飞机电缆盘箱工持续改进测试考核试卷含答案
- 联合收割机驾驶员安全文明竞赛考核试卷含答案
- 有机硅生产工岗前价值创造考核试卷含答案
- 壁球制作工安全生产规范知识考核试卷含答案
- 2026年乡镇干部农机安全考核奖惩题库
- 2026年电力企业主要负责人安全履职能力测试
- GB/T 6900-2025铝硅系耐火材料化学分析方法
- 知识图谱课程培训课件
- 女德知识培训课件
- 钢结构防火涂料应用技术规程TCECS 24-2020
- 热泵实施方案范本
- 药食同源中药课件
- 2025年大学侦查学专业题库- 手机取证技术在侦查中的应用
- 静配中心工作总结课件
- 康复医学骨科康复指南
- 2025年拆船业行业研究报告及未来行业发展趋势预测
- 事业单位档案培训课件
评论
0/150
提交评论