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

上传人:细水****9 文档编号:58130923 上传时间:2022-02-26 格式:DOC 页数:17 大小:204.50KB
收藏 版权申诉 举报 下载
操作系统原理_课程设计说明书_进程管理器的模拟实现_第1页
第1页 / 共17页
操作系统原理_课程设计说明书_进程管理器的模拟实现_第2页
第2页 / 共17页
操作系统原理_课程设计说明书_进程管理器的模拟实现_第3页
第3页 / 共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. 谢青松. 操作系统原理. 人民邮电

4、出版社.20042. 曹先彬. 操作系统原理与设计. 机械工业出版社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

5、 退出模块 .137 系统测试 .138 结论 .15 1 引引 言言 1.11.1 问题的提出问题的提出进程管理器是我们经常用到的一个工具,我们可以通过 C 语言编程来模拟进程管理器的功能,加深对进程、程序概念掌握,并提高编程能力1.21.2 国内外研究的现状国内外研究的现状 进程管理器在各种操作系统中广泛应用,不管是 windows 还是 linux 都有进程管理器,方便用户对系统资源进行管理。在现代计算机中,进程管理器已经成了操作系统不可缺少的一部分了。1.31.3 任务与分析任务与分析本课题主要的目的是模拟一个进程管理器编程模拟实现进程管理器,加深对进程、程序概念掌握,并提高编程能力。

6、内容:利用 Windows 相关编程工具,实现进程管理器的相关功能:1. 显示当前正在运行的进程及其占用的资源2. 可以对某一进程进行停止2.2. 程序的主要功能程序的主要功能2.1 创建进程功能创建进程功能创建一个进程,包括它的进程号,进程优先数2.2 查看进程功能查看进程功能能够查看当前正在运行的进程。2.3 换出进程功能换出进程功能能够换出某个已经创建好的进程。2.4 杀死进程功能杀死进程功能能够杀死一个当前正在运行的进程。2.5 退出功能退出功能退出进程模拟系统。3 3 程序运行平台程序运行平台VC+6.0。具体操作如下:新建进程管理器模拟工程,添加相应的源文件进程管理器.C,再编译,

7、链接,执行等。4 4 总体设计总体设计 图 4.1 系统总体框架图5 5 程序说明程序说明进程的内容结构体struct nodeint a;char ch;/进程 PCB 结构体struct jinchengint pid;int youxian;float luntime;float zhantime;char zhuangtai;/a 表示执行,b 表示动态就绪node *neirong;struct jincheng *next;struct jincheng *neijin,*neizhi,*p,*q;主 函 数创建模块查看模块换出模块杀死模块通信模块退出模块主菜单void main(

8、)int zhixing();void shasi();void chakan();void tongxing(int);neizhi=(jincheng*)malloc(sizeof(jincheng);neizhi-next=NULL;neijin=(jincheng*)malloc(sizeof(jincheng); neijin-next=NULL; neijin-pid=1;neijin-youxian=6;neijin-luntime=3.5;neijin-zhantime=3; neijin-neirong=(node*)malloc(sizeof(node);neijin-ne

9、irong=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*)malloc(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-y

10、ouxian=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.创建新的进程 2.查看运行进程 n); printf( 3.杀死运行进程 4 退出系统 n); printf(请选择(16)n); scanf(%d,&i) 6 6 模块分析模块分析6.16.1 创建模块创建模块系统将提示用户输入新添加的进程的信息,插入

11、在链表中。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(请输入新进程的优先级:(数字)n);scanf(%d,&p-youxian);p-luntime=3.5;p-zhantime=3;p-neirong=(node*)malloc(sizeof(node);p-neirong=NULL;p-zhuan

12、gtai=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);printf(请输入新进程的优先级:(数字)n);scanf(%d,&q-youxian);q-luntime=3.5;q-zhantime=3;q-neirong=(node*)malloc(sizeof(node);q-neiron

13、g=NULL;q-zhuangtai=b;shumu+;i=1;return i;6.26.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.36.3 换

14、出模块换出模块当内存满了的时候需要换出一些进程后才能再创建新的进程。/换出进程函数void huanchu(int a)p=neijin;while(p-pid!=a&p!=NULL)q=p;p=p-next;if(p=NULL)printf(该进程不在内存里!n);return;if(p=neijin)neijin=neijin-next;elseq-next=p-next;6.46.4 杀死模块杀死模块杀死当前正在运行的进程,其实也就是当前链表的头指针清空即可。/杀死正在运行进程函数void shasi() neizhi-next=NULL;printf(运行的进程已经杀死!n);return;6.56.5 退出模块退出模块退出模拟系统的模块 7 7 系统测试系统测试首先进入 VC+6.0,打开工程进程管理器模拟.dsw,然后进入源程序,接着选择Build 下的进程管理器模拟.exe 即可,也可以不打开工程,直接双击文件夹下的 debug或 release 子文件夹下的进程管理器模拟.exe 文件即可运行程序。图 7.1图 7.2图 7.3图 7.48 8 结论结论通过这次课程设计,增强了自己的编程能力,也加深了对操作系统这门课程的理解,加深了对进程的理解。但还是有些不足之处,例如界面不美观,若能通过图形化界面显示则效果会更好

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!