您好,欢迎访问三七文档
山东建筑大学计算机学院实验报告班级:姓名:学号:实验成绩:课程:操作系统同组者:实验日期:实验文件系统原理与模拟实现一.实验目的了解操作系统中文件系统的结构和管理过程,掌握经典的算法:混合索引与成组链接法等方法。二.实验内容编程模拟实现混合索引和成组链接法算法;三.实验步骤:模拟混合索引的原理;假设每个盘块16字节大小,每个盘块号占2字节:设计支持混合索引算法的索引节点的数据结构;编程模拟实现混合索引算法。测试:输入一个文件的长度,给出模拟分配占用的磁盘块的情况;输入一个需要访问的地址,计算该地址所在的盘块号。混合索引算法实验代码:package实验四;importjava.util.Scanner;publicclassSuoYin2{staticintP_size;//每个盘块的大小staticintPN_size;//每个盘块号所占空间的大小staticintf_size;//输入的文件大小staticintquai;//所占的块staticintpian;//偏移量publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);System.out.println(请输入每个盘块的大小(单位:字节):);山东建筑大学计算机学院实验报告班级:姓名:学号:实验成绩:课程:操作系统同组者:实验日期:P_size=sc.nextInt();System.out.println(请输入每个盘块号所占空间的大小(单位:字节):);PN_size=sc.nextInt();System.out.println(请输入文件的大小(单位:字节):);f_size=sc.nextInt();if(f_size=0){System.out.println(所输入的文件大小不合法,请重新输入!!!);}elseif(f_size=10*P_size&&f_size0){//直接块quai=f_size/P_size;pian=f_size%P_size;System.out.println(启动了直接索引,文件占用了直接索引的地址块是第+quai+块,偏移量是+pian);}elseif(f_size10*P_size&&f_size=(10*P_size+P_size*(P_size/PN_size))){//一级索引quai=(f_size-P_size*10)/P_size;pian=(f_size-P_size*10)%P_size;System.out.println(启动了一级索引,文件占用了一级索引的地址块是第+quai+块,偏移量是+pian);}elseif(f_size(10*P_size+P_size*(P_size/PN_size))&&f_size=(10*P_size+P_size*(P_size/PN_size)+P_size*(P_size/PN_size)*(P_size/PN_size))){//二级索引quai=(f_size-P_size*10-P_size*(P_size/PN_size))/P_size;pian=(f_size-P_size*10-P_size*(P_size/PN_size))%P_size;System.out.println(启动了二级索引,文件占用了二级索引的地址块是第+quai+块,偏移量是+pian);}elseif(f_size(10*P_size+P_size*(P_size/PN_size)+P_size*(P_size/PN_size)*(P_size/PN_size))&&f_size=(10*P_size+P_size*(P_size/PN_size)+P_size*(P_size/PN_size)*(P_size/PN_size)+P_size*(P_size/PN_size)*(P_size/PN_size)*(P_size/PN_size))){//三级索引quai=(f_size-P_size*10-P_size*(P_size/PN_size)-P_size*(P_size/PN_size)*(P_size/PN_size))/P_size;pian=(f_size-P_size*10-P_size*(P_size/PN_size)-P_size*(P_size/PN_size)*(P_size/PN_size))%P_size;System.out.println(启动了三级索引,文件占用了三级索引的地址块是第山东建筑大学计算机学院实验报告班级:姓名:学号:实验成绩:课程:操作系统同组者:实验日期:+quai+块,偏移量是+pian);}}}运行结果:
本文标题:混合索引算法
链接地址:https://www.777doc.com/doc-7399279 .html