ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:103.82KB ,
资源ID:2903855      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2903855.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(模拟实现用位示图法管理文件存储空间的分配与回收1.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

模拟实现用位示图法管理文件存储空间的分配与回收1.docx

1、模拟实现用位示图法管理文件存储空间的分配与回收1 计算机科学与技术学院操作系统综合试验报告 (2016/2017学年 第一学期)学生姓名: 学生专业: 网络工程学生班级: 网络班学生学号: 2指导教师: 2016年12月12日计算机科学与技术学院综合试验任务书课程设计名称操作系统课程设计课程设计题目模拟实现用位示图法管理文件存储空间的分配与回收学生姓名专业班级网学号2综合试验任务内容问题描述 设计实现一个综合的应用程序。内容如下: (1)首先对位示图算法原理进行深刻的理解和掌握; (2)程序首先要给出位示图初态。分配时,参数为文件名及需要分配的块 数。回收时,参数为文件名。 (3)回答信息:分

2、配时,能够分配时,给出文件名和分配的具体块号。 否则,给出无法分配的信息。显示位示图。 (4)回收时:给出回收的具体块号。显示位示图。 基本要求 (1)理解文件存储空间的分配与回收的基本概念,掌握产生文件存储空间的分配与回收的几种方法,体会位示图算法是管理文件存储空间的分配与回收的一种行之有效的方法。(2)通过编写程序实现位示图算法,进一步理解位示图算法的原理和执行过程,掌握位示图算法的描述和应用,进一步熟练掌握文件存储空间的分配与回收的方法。测试要求 对每一个模块的功能进行黑盒测试,保证各个模块功能的正确性。指导教师: 时 间: 年 月 5 日第一章 功能需求描述1.1功能列表与说明功能名称

3、功能描述分配文件文件分配回收文件回收文件退出退出程序1.2 操作界面文件的存取和回收1.分配文件2.回收文件3.退出请输入选项:1.3 界面操作如图可以很清楚的看到可以输入1 2 3 三个数分别对应 分配文件、回收文件、退出三种操作。第二章 系统设计描述2.1 任务分解说明1. 位示图法系统初始化。2 .位示图法分配与回收算法。2.2主要数据结构设计说明 1.空闲区结构体定义 typedef struct node int start_location; /空闲区对象变量的开始位置 int free_number; /空闲区块数目 struct node*next; /指向下一个空闲区的指针

4、free_link; 2. 申请空间作业结构体定义typedef struct link char office20; /作业名 int begin_location; /作业申请空间后的开始位置 int office_number; /作业申请空间区的数目 struct link *next; /指向下一个申请空闲区的作业指针 office;3. 相关位示图操作的结构体定义 typedef struct free_link *p; /空间区链表指针 office *q; /作业链表指针work;2.3主要函数接口说明1.显示菜单函数 void menu() 2. 置空位示图进行初始化 voi

5、d zero_wst() int i; for(i=0;iflag; switch(flag) case 1:w=request(w,WST);break; case 2:w=delect(w,WST);break; case 3:exit(0); default:printf(输入错误,请重新输入!n);break; 第三章算法设计描述3.1主要函数和函数的流程图3.1.1. 盘块的分配算法流程图否是否是否是图3-1 盘块的分配3.2.2.盘块的回收算法流程图是是 否是否否是图3-2 盘块的回收算法流程图第四章 开发过程描述4.1 程序源码 由于源码较长,单独附加在后面,见附录1-程序源码4

6、.2 程序中遇到的错误及错误原因 编程中几乎没有遇到什么大的问题,只有一些语法中的小错误,编译器就解决完毕。4.3测试程序功能所用的数据和测试方法 此次测试使用黑盒测试方法,目的是测试功能是否跟预期一样测试用例预期输出实际输出输入1选择分配功能输出请输入文件名和块数输出请输入文件名和块数输入文件名和块数显示已有文件名:块数显示已有文件名:块数输入2选择回收输出请输入文件名输出请输入文件名第五章 设计心得体会1.准备越充分,实验越顺利。古人云,磨刀不误砍柴工。前期的知识储备、文献储备、材料准备、方法准备可以避免手忙脚乱,充分的预实验使你充满信心。一步一个脚印,就不必“从头再来”。最不能容忍的是在

7、开始的几步偷懒,造成后面总有一些无法排除的障碍。2.交流是最好的老师做实验遇到困难是家常便饭。你的第一反应是什么?反复尝试?放弃?看书?这些做法都有道理,但首先应该想到的是交流。对有身份的人,私下的请教体现你对他的尊重;对同年资的人,公开的讨论可以使大家畅所欲言,而且出言谨慎。千万不能闭门造车。一个实验折腾半年,后来别人告诉你那是死路,岂不冤大头?3.一半时间做实验,一半时间看文献。千万不能把时间全部消耗在实验台上。看文献、看书、看别人的操作、听别人的经验、研究别人的思路,边做边思考。要学会比较,不要盲从。否则,会被一些小小的问题困扰许久。附录1 程序源代码#includestdio.h#in

8、cludemalloc.h#includewindows.h#includestring.h/#includeiostream.h#include using namespace std;int WST256;/*空闲区结构体定义start_location 空闲区对象变量的开始位置free_number 空闲区块数目next 指向下一个空闲区的指针*/typedef struct node int start_location; int free_number; struct node*next; free_link;/*申请空间作业结构体定义office 作业名begin_location

9、 作业申请空间后的开始位置office_number 作业申请空间区的数目next 指向下一个申请空闲区的作业指针*/typedef struct link char office20; int begin_location; int office_number; struct link *next; office;/*相关位示图操作的结构体定义p 空间区链表指针q 作业链表指针*/typedef struct free_link *p; office *q;work;/*程序菜单*/void menu() printf( 文件的存取和回收n); printf( 1-分配文件n); print

10、f( 2-回收文件n); printf( 3-退出nt); printf( 请输入选项: );/*置空位示图进行初始化*/void zero_wst() int i; for(i=0;i256;i+) WSTi=0;/*位示图输出显示将初始化或者申请或者回收后的位示图进行显示*/void print_wst(int WST256) int i,j=0; printf(%3s,); for(i=0;i16;i+) printf(%3d,i); printf(n); printf(%3d,0); for(i=0;iq; q=q-next; if(q!=NULL) printf(已有文件:n); while(q!=NULL)printf(t%s:%d-%dn,q-office,q-begin_location,q-

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1