操作系统磁盘空间管理实验报告

上传人:我*** 文档编号:132263526 上传时间:2020-05-14 格式:DOCX 页数:8 大小:14.56KB
返回 下载 相关 举报
操作系统磁盘空间管理实验报告_第1页
第1页 / 共8页
操作系统磁盘空间管理实验报告_第2页
第2页 / 共8页
操作系统磁盘空间管理实验报告_第3页
第3页 / 共8页
操作系统磁盘空间管理实验报告_第4页
第4页 / 共8页
操作系统磁盘空间管理实验报告_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《操作系统磁盘空间管理实验报告》由会员分享,可在线阅读,更多相关《操作系统磁盘空间管理实验报告(8页珍藏版)》请在金锄头文库上搜索。

1、操作系统 磁盘管理一、实验目的怎样有效地管理磁盘存储空间是操作系统应解决的一个重要问题,通过本实习使学生掌握磁盘存储空间的分配和回收算法。 二、实验内容模拟磁盘空闲空间的表示方法,以及模拟实现磁盘空间的分配和回收。本实习模拟用位示图管理磁盘存储空间的管理方法。设计申请一块磁盘空间和归还一块磁盘空间的程序。要求能显示或打印程序运行前和运行后的位示图;分配时把分配到的磁盘空间的物理地址显示或打印出来,归还时把归还块对应于位示图的字节号和位数显示或打印出来。假定已有如表1的磁盘空间被占用了,现在要申请五块磁盘空间,运行分配程序,显示或打印运行的结果。然后再归还如表2的空间,运行回收程序,显示或打印运

2、行结果。表1柱面号磁道号物理记录号001002010013100112表2柱面号磁道号物理记录号002010101三、实验步骤本实验在Visual C+ 6.0编程平台下进行编程实现,详见实验内容。1 算法设计流程,及源代码;算法思想,及算法流程:磁盘存储空间的分配有两种方式,一种是分配连续的存储空间,另一种是可以分配不连续的存储空间。为了表示哪些磁盘空间已被占用,哪些磁盘空间是空闲的,可用位示图来指出。位示图由若干字节构成,每一位与磁盘上的一块对应,“1”状态表示相应块已占用,“0”状态表示该块为空闲。当申请一块磁盘空间时,由分配程序查位示图,找出一个为“0”的位,计算出这一位对应块的磁盘物

3、理地址,且把该位置成占用状态“1”。假设现在有一个盘组共80个柱面,每个柱面有两个磁道,每个磁道分成4个物理记录。那么,当在位示图中找到某一字节的某一位为“0”时,这个空闲块对应的磁盘物理地址为:柱面号=字节号 磁道号=位数/4 物理记录号=位数/4当归还一块磁盘空间时,由回收程序根据归还的磁盘物理地址计算出归还块在位示图中的对应位,把该位置成“0”。归还块在位示图中的位置计算如下: 字节号=柱面号位数=磁道号4+物理记录号源程序:#include#include#include#define A 10#define B 2#define C 4int kokoABC;int M,N;int

4、i,j,k;char ch;void i_koko()for(i=0;iA;i+)for(j=0;jB;j+)for(k=0;kC;k+)kokoijk=1;void Dispense()docout请输入字节号:M;cout请输入位数:N;i=M;j=N/4;k=N%4;kokoijk=0; cout是否继续输入(Y/N):ch;while(ch=Y|ch=y);void Recycle()docout请输入柱面号i;cout请输入磁盘号j;cout请输入逻辑记录号k;kokoijk=1;cout是否继续输入(Y/N):ch;while(ch=Y|ch=y);void Display()in

5、t i,j,k;int flag=0;cout*位示图*endl;cout字位setw(3);for(i=0;iB*C;i+)coutisetw(3);coutendl;for(i=0;iA;i+)coutsetw(3)isetw(6);for(j=0;jB;j+)for(k=0;kC;k+)coutkokoijksetw(3);flag+;if(flag%8=0)coutendl;coutendl;cout*磁盘分配图*endl;cout柱面号t磁道号t物理记录号endl;for(i=0;iA;i+)for(j=0;jB;j+)for(k=0;kC;k+)if(kokoijk=0)couti

6、tjtkendl; coutendlendl;void KOKO()cout*endl;cout* 1.分配 2.回收 3.显示 4.退出 *endl;cout*endl;cout选择所要执行的功能:x;coutendl;switch(x)case 1:Dispense(); break;case 2:Recycle();break;case 3:Display();break;case 4:exit(1);break;default:coutError! 该功能不存在请重新输入endlendl;void main()i_koko();while(1)KOKO();2.编译、调试程序;3.运行

7、程序,记录结果。假定已有如表6-1的磁盘空间被占用了,现在要申请五块磁盘空间,运行分配程序。然后再归还如表6-2的空间,运行回收程序,。(1)输出初始位图:字/位01234567011111111111111111输出申请表柱面号磁道号物理记录号001002010013100112输出申请分配位示图字/位01234567010010110101111101(2)输出回收表柱面号磁道号物理记录号002010101输出回收后位示图字/位01234567010111110101111101四、思考题1. 此磁盘调度有哪些算法?答:磁盘调度算法有:FCFS算法、最短寻道时间优先SSTF算法、扫描算法(如:扫描SCAN算法、循环扫描CSCAN算法)。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号