川师实验六 磁盘存储空间的分配与回收

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数学与软件科学学院实验报告

学期:__2019 至_ 2020 第_ 1 学期 2019年 12 月 5日课程名称:_ 计算机操作系统专业:__ 信息与计算科学级 _ 班

实验编号: 6 实验项目:磁盘存储空间的分配与回收指导教师:

姓名:学号:实验成绩:

实验六磁盘存储空间的分配与回收

(综合性实验2学时)

1、实验目的

掌握磁盘空间的分配与回收的基本思想及实现方法。

2、实验内容

模拟采用位示图管理磁盘空间的分配与回收。要求输出运行前后的位示图,以及分配和回收磁盘的物理地址。

3、实验准备

理解采用位示图实现磁盘空间的分配与回收的基本思想与方法。

4.实验过程

一、需求分析

要求打印或显示程序运行前和运行后的位示图,以及分配和回收磁盘的物理地址过程(1)假定现有一个磁盘组,共40个柱面。每个柱面4个磁道,每个磁道又划分成4个物理记录。磁盘的空间使用情况用位示图表示。位示图用若干个字构成,每一位对应一个磁盘块。1表示占用,0表示空闲。为了简单,假定字长为16位,其位示图如图所

位示图

(2)申请一个磁盘块时,由磁盘块分配程序查位示图,找出一个为0的位,并计算磁盘的物理地址(即求出柱面号、磁道号(也即磁头号)和扇区号)。

由位示图计算磁盘的相对块号的公式如下:

相对块号一字号×16+位号

之后再将相对块号转换成磁盘的物理地址:

由于一个柱面包含的扇区数=每柱面的磁道数×每磁道的扇区数=4×4=16,故柱面号=相对块号/16的商,即柱面号=字号

磁道号=(相对块号/16的余数)/4的商,即(位号/4)的商

物理块号=(相对块号/16的余数)/4的余数,即(位号/4)的余数

(3)当释放一个相对物理块时,运行回收程序,计算该块在位示图中的位置,再把相应位置0。计算公式如下:

先由磁盘地址计算相对块号:

相对块号=柱面号×16+磁道号×4+物理块号

再计算字号和位号:

字号=相对块号/16的商,也即字号=柱面号

位号=磁道号×物理块数/每磁道+物理块号

(4)按照用户要求,申请分配一系列磁盘块,运行分配程序,完成分配。然后将分配的相对块号返回用户,并将相对块号转换成磁盘绝对地址,再显示系统各表和用户已分配的情况。

(5)设计一个回收算法,将上述已分配给用户的各盘块释放。并显示系统各表。回收算法框图如图5所示。

二、整体功能及设计

程序整体主要有三个功能模块,分别是:初使化、分配以及回收。当点击相应按钮时实现其功能。

使用二维数组array1_after[50][16]、array1_before[50][16]、array2_after[50][16]分别记录分配前、分配后、回收后的位示图的使用情况,使用表格m_list1_after、m_list1_before、m_listafter显示位示图的使用情况。

程序设计了三个方法,分别是初始化OnInitDialog()、分配算法OnButtonFp()、回收算法OnButtonHs()。

磁盘空间分配框图如图所示

磁盘空间回收框图如图所示

三.结果分析

程序满足要求,测试通过

四.心得体会

掌握磁盘空间的分配与回收的基本思想及实现方法,并理解采用位示图实现磁盘空间的分配与回收的基本思想与方法

相关文档
最新文档