资源预览内容
第1页 / 共2页
第2页 / 共2页
亲,该文档总共2页全部预览完了,如果喜欢就下载吧!
资源描述
实验四、文件系统原理与模拟实现实验目的:了解操作系统中文件系统的结构和管理过程,掌握经典的算法:混合索引与成组链接法等方法。实验内容:编程模拟实现混合索引和成组链接法算法;实验步骤:l 模拟混合索引的原理;假设每个盘块16字节大小,每个盘块号占2字节:设计支持混合索引算法的索引节点的数据结构;编程模拟实现混合索引算法。测试:输入一个文件的长度,给出模拟分配占用的磁盘块的情况;输入一个需要访问的地址,计算该地址所在的盘块号。代码:#include #include void main()int file,count,bsize,bnsize;printf(请输入每个盘块的大小:n);scanf(%d,&bsize);printf(请输入每个盘块号占的空间大小n);scanf(%d,&bnsize);printf(请输入文件的大小:n);scanf(%d,&file);if(file(10+bsize/bnsize+(bsize/bnsize)*(bsize/bnsize)+(bsize/bnsize)*(bsize/bnsize)*(bsize/bnsize)*bsize) printf(文件长度太大n);exit(0);elsecount=(file+bsize-1)/bsize;if (count10&count10+bsize/bnsize&count=10+bsize/bnsize+(bsize/bnsize)*(bsize/bnsize) printf(该文件启动了二级索引n);printf(该文件占了直接索引,一级索引和二级索引的从第一块到%d块,count-10-bsize/bnsize);/*if(file%bsize=0)printf(若为地址则块内地址为%dn,bsize);else*/printf(若为地址则块内地址为%dn,file/bsize-1);elseprintf(该文件启动了三级索引n);printf(该文件占了三级索引的从第一块到%块n,count-10-bsize/bnsize-(bsize/bnsize)*(bsize/bnsize);/*if(file%bsize=0)printf(若为地址则块内地址为%dn,bsize);else*/printf(若为地址则块内地址为%dn,file/bsize-1);
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号