欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    操作系统原理进程管理器的模拟实现.doc

    • 资源ID:2395408       资源大小:207.50KB        全文页数:17页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    操作系统原理进程管理器的模拟实现.doc

    数学与计算机学院课程设计说明书课 程 名 称: 操作系统原理-课程设计 课 程 代 码: 8404161 题 目: 进程管理器的模拟实现 年级/专业/班: 学 生 姓 名: 学 号: 开 始 时 间: 2011 年 12 月 11 日完 成 时 间: 2011 年 12 月 24 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书撰写质量(45)总 分(100)指导教师签名: 年 月 日操作系统原理课 程 设 计 任 务 书学院名称: 数学与计算机学院 课程代码:_8404061_专业: 计算机科学与技术 年级: 2009 一、设计题目进程管理器的模拟实现二、主要内容目的:编程模拟实现进程管理器,加深对进程、程序概念掌握,并提高编程能力。内容:利用Windows相关编程工具,实现进程管理器的相关功能:(1) 显示当前正在运行的进程及其占用的资源(2) 可以对某一进程进行停止;三、具体要求及应提交的材料1、完成系统的需求分析:包含功能需求、数据需求、性能需求等。2、完成系统设计:包含系统概要设计(软件结构图)及详细设计(画出流程图)。3、测试:编写合适的测试用例完成系统的测试工作并分析结果。4、完成后应上交的材料: 课程设计说明书:包含封面、任务书、说明书(说明书见后面模板)。    包括系统设计目的要求,类的层次图(包括类成员列表)、设计思路,系统功能模块图、参考资料、程序清单、设计心得总结等。对照自己设计的完成情况认真书写。 软件源程序光盘。注:学生完成课程设计后,提交课程设计报告及相关电子文档,要求将前述全部内容依先后顺序写成设计报告一份,要求文字通畅、字迹工整,文字不少于20000字,装订成册。四、进度安排课程设计共两周(15、16周)进行,其进度时间大致分配如下:序号阶段内容地点所需时间1实际需求调查实验室、图书馆、教室3学时2系统分析与设计机房、教室6学时3编程调试机房、教室8学时4设计报告文档撰写机房、教室3学时合 计20学时五、参考资料1. 谢青松. 操作系统原理. 人民邮电出版社.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 退出模块137 系统测试138 结论15 1 引 言 1.1 问题的提出进程管理器是我们经常用到的一个工具,我们可以通过C语言编程来模拟进程管理器的功能,加深对进程、程序概念掌握,并提高编程能力1.2国内外研究的现状 进程管理器在各种操作系统中广泛应用,不管是windows还是linux都有进程管理器,方便用户对系统资源进行管理。在现代计算机中,进程管理器已经成了操作系统不可缺少的一部分了。1.3任务与分析本课题主要的目的是模拟一个进程管理器编程模拟实现进程管理器,加深对进程、程序概念掌握,并提高编程能力。内容:利用Windows相关编程工具,实现进程管理器的相关功能:1. 显示当前正在运行的进程及其占用的资源2. 可以对某一进程进行停止2. 程序的主要功能2.1创建进程功能创建一个进程,包括它的进程号,进程优先数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;float 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->next=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*)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->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.创建新的进程 2.查看运行进程 n"); printf(" 3.杀死运行进程 4退出系统 n"); printf("请选择(16)n"); scanf("%d",&i) 6 模块分析6.1 创建模块系统将提示用户输入新添加的进程的信息,插入在链表中。int creat() int i;if(shumu>20)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->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);printf("请输入新进程的优先级:(数字)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 换出模块当内存满了的时候需要换出一些进程后才能再创建新的进程。/换出进程函数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.4 杀死模块杀死当前正在运行的进程,其实也就是当前链表的头指针清空即可。/杀死正在运行进程函数void shasi() neizhi->next=NULL;printf("运行的进程已经杀死!n");return;6.5 退出模块退出模拟系统的模块 7 系统测试首先进入VC+6.0,打开工程进程管理器模拟.dsw,然后进入源程序,接着选择Build下的进程管理器模拟.exe即可,也可以不打开工程,直接双击文件夹下的debug或release子文件夹下的进程管理器模拟.exe文件即可运行程序。图7.1图7.2图7.3图7.48 结论通过这次课程设计,增强了自己的编程能力,也加深了对操作系统这门课程的理解,加深了对进程的理解。但还是有些不足之处,例如界面不美观,若能通过图形化界面显示则效果会更好

    注意事项

    本文(操作系统原理进程管理器的模拟实现.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开