合肥学院计算机科学与技术系课程设计报告20011~2024 学年第 1 学期课程名称操作系统原理课程设计名称模拟实现用位示图法管理文件存储空间的分配与回收专 业 班 级学 生 姓 名学生学号指导老师20011 年 11 月实验题目 模拟用位示图法管理文件存储空间的分配与回收一、实验目的:1)理解文件存储空间的分配与回收的基本概念,掌握产生文件存储空间的分配与回收的几种方法,体会位示图算法是管理文件存储空间的分配与回收的一种行之有效的方法。2)通过编写程序实现位示图算法,进一步理解位示图算法的原理和执行过程,掌握位示图算法的描述和应用,进一步熟练掌握文件存储空间的分配与回收的方法。二、实验内容:(1)首先对位示图算法原理进行深刻的理解和掌握;(2)程序首先要给出位示图初态。分配时,参数为文件名及需要分配的块数。回收时,参数为文件名.(3)回答信息:分配时,能够分配时,给出文件名和分配的具体块号。否则,给出无法分配的信息。显示位示图。(4)回收时:给出回收的具体块号。显示位示图。三、实验环境Windows 系统,在C++的环境下来运行这儿程序四、实验主要步骤1、初始化及使用数据结构对数组 WST[]元素初始化为 0。定义以下 3 个链表并初始化。空闲区结构体定义free_link、申请空间作业结构体定义 office、相关位示图操作的结构体定义 work.位示图算法是利用二进制的一位来表示磁盘中的一个盘块的使用情况。在外存上建立一张位示图(bitmap),记录文件存储器的使用情况。每一位仅对应文件存储器上的一个物理块,取值 0 和 1 分别表示空闲和占用.文件存储器上的物理块依次编号为:0、1、2、….定义为一维数组 WST[],操作起来更为方便。下表号与盘块号对应。在输出的时候控制输出为二维形式。01234567891011121314150110001110010111010001111110000111211100011111100003┇15位示图2、申请空间算法首先要输入文件名和大小,查找与已存在的文件是否重名。没有,则比较空闲区中空闲块数是否大于欲分配的块数。有的话分配.分配的时候该作业要记录下自己所占盘块的其实盘号和所占用的盘快数.并修改对应盘块的位示图的值。m=r—〉start_location;//空闲区的起始地址s-〉begin_location=r—>start_location;//作业从空闲区的起始地址开始分配r—>start_location=r->start_location+s—〉office_number;//改变空闲区空闲块数的起始地址r->free_number=r-〉free_number—s—>office_number;//改变空间区...