操作系统原理进程管理器的模拟实现Word下载.docx
《操作系统原理进程管理器的模拟实现Word下载.docx》由会员分享,可在线阅读,更多相关《操作系统原理进程管理器的模拟实现Word下载.docx(11页珍藏版)》请在冰点文库上搜索。
技术水平与实际能力(20)
创新(5)
说明书撰写质量(45)
总分(100)
指导教师签名:
年月日
《操作系统原理》课程设计任务书
学院名称:
数学与计算机学院课程代码:
_8404061__
专业:
计算机科学与技术年级:
2009
一、设计题目
进程管理器的模拟实现
二、主要内容
目的:
编程模拟实现进程管理器,加深对进程、程序概念掌握,并提高编程能力。
内容:
利用Windows相关编程工具,实现进程管理器的相关功能:
(1)显示当前正在运行的进程及其占用的资源
(2)可以对某一进程进行停止;
三、具体要求及应提交的材料
1、完成系统的需求分析:
包含功能需求、数据需求、性能需求等。
2、完成系统设计:
包含系统概要设计(软件结构图)及详细设计(画出流程图)。
3、测试:
编写合适的测试用例完成系统的测试工作并分析结果。
4、完成后应上交的材料:
课程设计说明书:
包含封面、任务书、说明书(说明书见后面模板)。
包括系统设计目的要求,类的层次图(包括类成员列表)、设计思路,系统功能模块图、参考资料、程序清单、设计心得总结等。
对照自己设计的完成情况认真书写。
软件源程序光盘。
注:
学生完成课程设计后,提交课程设计报告及相关电子文档,要求将前述全部内容依先后顺序写成设计报告一份,要求文字通畅、字迹工整,文字不少于20000字,装订成册。
四、进度安排
课程设计共两周(15、16周)进行,其进度时间大致分配如下:
序号
阶段内容
地点
所需时间
1
实际需求调查
实验室、图书馆、教室
3学时
2
系统分析与设计
机房、教室
6学时
3
编程调试
8学时
4
设计报告文档撰写
合计
20学时
五、参考资料
[1].谢青松.操作系统原理.人民邮电出版社.2004
[2].曹先彬.操作系统原理与设计.机械工业出版社
[3].袁宝华.操作系统实验教程.北京交通大学出版社
指导教师签名日期年月日
系主任审核日期年月日
1引言
问题的提出
进程管理器是我们经常用到的一个工具,我们可以通过C语言编程来模拟进程管理器的功能,加深对进程、程序概念掌握,并提高编程能力
国内外研究的现状
进程管理器在各种操作系统中广泛应用,不管是windows还是linux都有进程管理器,方便用户对系统资源进行管理。
在现代计算机中,进程管理器已经成了操作系统不可缺少的一部分了。
任务与分析
本课题主要的目的是模拟一个进程管理器
1.显示当前正在运行的进程及其占用的资源
2.可以对某一进程进行停止
2.程序的主要功能
创建进程功能
创建一个进程,包括它的进程号,进程优先数
查看进程功能
能够查看当前正在运行的进程。
换出进程功能
能够换出某个已经创建好的进程。
杀死进程功能
能够杀死一个当前正在运行的进程。
退出功能
退出进程模拟系统。
3程序运行平台
VC++。
具体操作如下:
新建进程管理器模拟工程,添加相应的源文件进程管理器.C,再编译,链接,执行等。
4总体设计
主函数
创建模块
查看模块
换出模块
杀死模块
通信模块
退出模块
图系统总体框架图
5程序说明
进程的内容结构体
structnode
{
inta;
charch;
};
建新的进程2.查看运行进程\n"
);
printf("
3.杀死运行进程4退出系统\n"
请选择(1~6)\n"
scanf("
%d"
&
i)
6模块分析
创建模块
系统将提示用户输入新添加的进程的信息,插入在链表中。
intcreat()
{
inti;
if(shumu>
20)
{
内存已满请先换出进程!
\n"
i=-1;
returni;
}
else
if(neijin==NULL)
p=(jincheng*)malloc(sizeof(jincheng));
请输入新进程的名字(数字):
p->
pid);
请输入新进程的优先级:
(数字)\n"
youxian);
p->
luntime=;
zhantime=3;
neirong=(node*)malloc(sizeof(node));
neirong=NULL;
zhuangtai='
b'
;
next=NULL;
neijin=p;
shumu++;
i=1;
p=neijin;
while(p->
next!
=NULL)
p=p->
next;
q=(jincheng*)malloc(sizeof(jincheng));
q->
next=p->
next=q;
q->
}
查看模块
查看模块将输出所有进程的主要信息
voidchakan()
p=neizhi->
该执行进程的名字为:
%d\n"
p->
该执行进程的的优先级:
该执行进程的轮转时间为:
%f\n"
luntime);
该执行进程占用cpu的时间为:
zhantime);
%d"
neirong->
a);
%c"
ch);
换出模块
当内存满了的时候需要换出一些进程后才能再创建新的进程。
sw,然后进入源程序,接着选择Build下的进程管理器模拟.exe即可,也可以不打开工程,直接双击文件夹下的debug或release子文件夹下的进程管理器模拟.exe文件即可运行程序。
图
8结论
通过这次课程设计,增强了自己的编程能力,也加深了对操作系统这门课程的理解,加深了对进程的理解。
但还是有些不足之处,例如界面不美观,若能通过图形化界面显示则效果会更好