操作系统原理_课程设计说明书_进程管理器的模拟实现

上传人:人*** 文档编号:498715706 上传时间:2023-06-01 格式:DOC 页数:17 大小:204.50KB
返回 下载 相关 举报
操作系统原理_课程设计说明书_进程管理器的模拟实现_第1页
第1页 / 共17页
操作系统原理_课程设计说明书_进程管理器的模拟实现_第2页
第2页 / 共17页
操作系统原理_课程设计说明书_进程管理器的模拟实现_第3页
第3页 / 共17页
操作系统原理_课程设计说明书_进程管理器的模拟实现_第4页
第4页 / 共17页
操作系统原理_课程设计说明书_进程管理器的模拟实现_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《操作系统原理_课程设计说明书_进程管理器的模拟实现》由会员分享,可在线阅读,更多相关《操作系统原理_课程设计说明书_进程管理器的模拟实现(17页珍藏版)》请在金锄头文库上搜索。

1、数学与计算机学院课程设计说明书课 程 名 称: 操作系统原理-课程设计 课 程 代 码: 8404161 题 目: 进程管理器的模拟实现 年级/专业/班: 学 生 姓 名: 学 号: 开 始 时 间: 2011 年 12 月 11 日完 成 时 间: 2011 年 12 月 24 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书撰写质量(45)总 分(100)指导教师签名: 年 月 日操作系统原理课 程 设 计 任 务 书学院名称: 数学与计算机学院 课程代码:_8404061_专业: 计算机科学与技术 年级: 2009 一、设计题目进程管理器的模拟实现二、

2、主要内容目的:编程模拟实现进程管理器,加深对进程、程序概念掌握,并提高编程能力。内容:利用Windows相关编程工具,实现进程管理器的相关功能:(1) 显示当前正在运行的进程及其占用的资源(2) 可以对某一进程进行停止;三、具体要求及应提交的材料1、完成系统的需求分析:包含功能需求、数据需求、性能需求等。2、完成系统设计:包含系统概要设计(软件结构图)及详细设计(画出流程图)。3、测试:编写合适的测试用例完成系统的测试工作并分析结果。4、完成后应上交的材料: 课程设计说明书:包含封面、任务书、说明书(说明书见后面模板)。 包括系统设计目的要求,类的层次图(包括类成员列表)、设计思路,系统功能模

3、块图、参考资料、程序清单、设计心得总结等。对照自己设计的完成情况认真书写。 软件源程序光盘。注:学生完成课程设计后,提交课程设计报告及相关电子文档,要求将前述全部内容依先后顺序写成设计报告一份,要求文字通畅、字迹工整,文字不少于20000字,装订成册。四、进度安排课程设计共两周(15、16周)进行,其进度时间大致分配如下:序号阶段内容地点所需时间1实际需求调查实验室、图书馆、教室3学时2系统分析与设计机房、教室6学时3编程调试机房、教室8学时4设计报告文档撰写机房、教室3学时合 计20学时五、参考资料1. 谢青松. 操作系统原理. 人民邮电出版社.20042. 曹先彬. 操作系统原理与设计.

4、机械工业出版社3. 袁宝华. 操作系统实验教程. 北京交通大学出版社 指导教师 签名日期 年 月 日系 主 任 审核日期 年 月 日目 录 1 引 言41.1 问题的提出41.2国内外研究的现状41.3任务与分析42.程序的主要功能42.1创建进程功能42.2查看进程功能42.3 换出进程功能42.4杀死进程功能52.5退出功能53 程序运行平台54 总体设计55 程序说明66 模块分析86.1 创建模块86.2 查看模块116.3 换出模块116.4 杀死模块136.5 退出模块137 系统测试138 结论15 1 引 言 1.1 问题的提出进程管理器是我们经常用到的一个工具,我们可以通过C

5、语言编程来模拟进程管理器的功能,加深对进程、程序概念掌握,并提高编程能力1.2国内外研究的现状 进程管理器在各种操作系统中广泛应用,不管是windows还是linux都有进程管理器,方便用户对系统资源进行管理。在现代计算机中,进程管理器已经成了操作系统不可缺少的一部分了。1.3任务与分析本课题主要的目的是模拟一个进程管理器编程模拟实现进程管理器,加深对进程、程序概念掌握,并提高编程能力。内容:利用Windows相关编程工具,实现进程管理器的相关功能:1. 显示当前正在运行的进程及其占用的资源2. 可以对某一进程进行停止2. 程序的主要功能2.1创建进程功能创建一个进程,包括它的进程号,进程优先

6、数2.2查看进程功能能够查看当前正在运行的进程。2.3 换出进程功能能够换出某个已经创建好的进程。2.4杀死进程功能能够杀死一个当前正在运行的进程。2.5退出功能退出进程模拟系统。3 程序运行平台VC+6.0。具体操作如下:新建进程管理器模拟工程,添加相应的源文件进程管理器.C,再编译,链接,执行等。4 总体设计主 函 数创建模块查看模块换出模块杀死模块通信模块退出模块 图4.1 系统总体框架图5 程序说明进程的内容结构体struct nodeint a;char ch;/进程PCB结构体struct jinchengint pid;int youxian;float luntime;floa

7、t zhantime;char zhuangtai;/a表示执行,b表示动态就绪node *neirong;struct jincheng *next;struct jincheng *neijin,*neizhi,*p,*q;主菜单void main()int zhixing();void shasi();void chakan();void tongxing(int);neizhi=(jincheng*)malloc(sizeof(jincheng);neizhi-next=NULL;neijin=(jincheng*)malloc(sizeof(jincheng); neijin-nex

8、t=NULL; neijin-pid=1;neijin-youxian=6;neijin-luntime=3.5;neijin-zhantime=3; neijin-neirong=(node*)malloc(sizeof(node);neijin-neirong=NULL;neijin-zhuangtai=b;shumu+;p=(jincheng*)malloc(sizeof(jincheng);p-next=neijin-next;neijin-next=p; p-pid=2;p-youxian=5;p-luntime=3.5;p-zhantime=3;p-neirong=(node*)m

9、alloc(sizeof(node);p-neirong=NULL;p-zhuangtai=b;shumu+; q=(jincheng*)malloc(sizeof(jincheng);q-next=p-next;p-next=q;q-pid=3;q-youxian=4;q-luntime=3.5;q-zhantime=3;q-neirong=(node*)malloc(sizeof(node);q-neirong=NULL;q-zhuangtai=b;shumu+;int i,n=1;int k,j,s;j=zhixing();int creat();while(n=1)printf( 1.

10、创建新的进程 2.查看运行进程 n); printf( 3.杀死运行进程 4退出系统 n); printf(请选择(16)n); scanf(%d,&i) 6 模块分析6.1 创建模块系统将提示用户输入新添加的进程的信息,插入在链表中。int creat() int i;if(shumu20)printf(内存已满请先换出进程!n); i=-1;return i;elseif(neijin=NULL) p=(jincheng*)malloc(sizeof(jincheng);printf(请输入新进程的名字(数字):n);scanf(%d,&p-pid);printf(请输入新进程的优先级:(

11、数字)n);scanf(%d,&p-youxian);p-luntime=3.5;p-zhantime=3;p-neirong=(node*)malloc(sizeof(node);p-neirong=NULL;p-zhuangtai=b;p-next=NULL;neijin=p;shumu+;i=1;elsep=neijin;while(p-next!=NULL)p=p-next;q=(jincheng*)malloc(sizeof(jincheng);q-next=p-next;p-next=q;printf(请输入新进程的名字(数字):n); scanf(%d,&q-pid);print

12、f(请输入新进程的优先级:(数字)n);scanf(%d,&q-youxian);q-luntime=3.5;q-zhantime=3;q-neirong=(node*)malloc(sizeof(node);q-neirong=NULL;q-zhuangtai=b;shumu+;i=1;return i;6.2 查看模块查看模块将输出所有进程的主要信息void chakan()p=neizhi-next;printf(该执行进程的名字为:%dn,p-pid);printf(该执行进程的的优先级:%dn,p-youxian);printf(该执行进程的轮转时间为:%fn,p-luntime);printf(该执行进程占用cpu的时间为:%fn,p-zhantime);printf(%d ,p-neirong-a);printf(%c,p-neirong-ch);printf(n);6.3 换出模块当内存满了的时候需要换出一些进程

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号