- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
段式存储管理的配与回收
学 号:
课 程 设 计
题 目 操作系统原理课程设计 学 院 计算机科学与技术 专 业 班 级 姓 名 指导教师
20XX 年 0X 月 0X 日
课程设计任务书
学生姓名:
指导教师: 雅蠛蝶 工作单位: 计算机科学与技术学院
题 目: 模拟设计段式存储管理的分配与回收
初始条件:
1.预备内容:阅读操作系统的内存管理章节内容,理解有关虚拟存储器、段式存储管理等概念,并掌握段式管理内存的分配和回收过程。
2.实践准备:掌握一种计算机高级语言的使用。
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1.采用方案。能够处理以下的情形进程申请为进程分配资源后有关后i)你认为你完成的设计哪些地方做得比较好或比较出色;
ii)什么地方做得不太好,以后如何改正;
iii)从本设计得到的收获(在编写,调试,执行过程中的经验和教训);
iv)完成本题是否有其他方法(如果有,简要说明该方法);
时间安排:
设计安排一周:周1、周2:完成程序分析及设计。
周2、周3:完成程序调试及测试。
周4、周5:验收、撰写课程设计报告。
(注意事项:严禁抄袭,一旦发现,一律按0分记)
指导教师签名: 年 月 日
系主任(或责任教师)签名: 年 月 日
模拟设计段式存储管理的分配与回收
1 需求分析
段式存储管理是基于为用户提供一个方便灵活的程序设计环境而提出来的。段式管理的基本思想是:把程序按内容或过程(函数)关系分成段,每段有自己的名字。一个用户作业或进程所包含的段对应于一个二维线性虚拟空间,也就是一个二维虚拟存储器。段式管理程序以段为单位分配内存,然后通过地址映射机构把段式虚拟地址转换成实际的内存物理地址。和页式管理时一样,段式管理也采用只把那些经常访问的段驻留内存,而把那些在将来一段时间内不被访问的段放入外存,待需要时自动调入的方法现实二维虚拟存储器。
模拟设计段式存储管理的分配与回收要求能够输入给定的内存大小,进程的个数,每个进程的段数及段大小;当某进程申请为进程分配资源后有关后 struct paragraph *head;
};
struct paragraph{ //段结构
int size;//段的大小
int start;//段的起始地址
int stop;//段的终止地址
struct paragraph *next;//下一个段定义的地址
};
struct memory{
int size;//内存的大小
int start;//内存的起始地址
int stop;//内存的终止地址
struct memory *next;
};
process p[10];
int count=0;//进程的个数
memory *head;
2.1 模块说明
程序中分别实现了进程的创建、创建进程后的信息显示以及进程的调度及调度后的相关信息显示。所以程序中最要包括了三个函数,创建进程函数void Create_process();,撤销进程函数void Destroy_process();,和显示进程函数void Disp_process();,显示空闲区函数void Disp_memory();。最后在主函数main()中调用这些函数来实现整个程序的功能。
while(go==1){
cout***************MENU***************endl
1.创建进程;2.撤销进程; endl
3.显示进程;4.显示内存;5.退出 endl
**********************************endl
请做出选择:;
cinchoice;
switch(choice){
case 1:Create_process();break;
case 2:Destroy_process();break;
case 3:Disp_process();break;
case 4:Disp_memory();break;
case 5:go=0;break;
default:cout您输入的数字有误!endl;break;
}
coutendl;
}
3 开发平台
Microsoft Windows XP操作系统;Microsoft Visual C++ 6.0。
4 测试用例
4.1 运行结果
运行程序,首先要求输入内存的大小。
输入内存的大小为30,然后选择1创建进程,创建2个进程,第一个进程的段数设为2段,段大小
文档评论(0)