混合索引算法.docVIP

  • 266
  • 0
  • 约2.31千字
  • 约 3页
  • 2018-12-17 发布于河北
  • 举报
混合索引算法

山东建筑大学 计算机学院 实验报告 班级: 姓名: 学号: 实验成绩: 课程: 操作系统 同组者: 实验日期: 实验 文件系统原理与模拟实现 一.实验目的 了解操作系统中文件系统的结构和管理过程,掌握经典的算法:混合索引与成组链接法等方法。 二. 实验内容 编程模拟实现混合索引和成组链接法算法; 三.实验步骤: 模拟混合索引的原理; 假设每个盘块16字节大小,每个盘块号占2字节: 设计支持混合索引算法的索引节点的数据结构;编程模拟实现混合索引算法。 测试:输入一个文件的长度,给出模拟分配占用的磁盘块的情况;输入一个需要访问的地址,计算该地址所在的盘块号。 混合索引算法实验代码: package 实验四; import java.util.Scanner; public class SuoYin2 { static int P_size; //每个盘块的大小 static int PN_size; //每个盘块号所占空间的大小 static int f_size; //输入的文件大小 static int quai; //所占的块 static int pian; //偏移量 public static void main(String[] args) { Scanner sc = new Scanner(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(所输入的文件大小不合法,请重新输入!!!); }else if(f_size = 10*P_size f_size 0){ //直接块 quai = f_size / P_size; pian = f_size % P_size; System.out.println(启动了直接索引,文件占用了直接索引的地址块是第+quai+块,偏移量是+pian); }else if(f_size 10*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); }else if(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); }else if(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

文档评论(0)

1亿VIP精品文档

相关文档