实验二-实验报告(进程管理)

实验二-实验报告(进程管理)

ID:39810259

大小:79.68 KB

页数:9页

时间:2019-07-11

实验二-实验报告(进程管理)_第1页
实验二-实验报告(进程管理)_第2页
实验二-实验报告(进程管理)_第3页
实验二-实验报告(进程管理)_第4页
实验二-实验报告(进程管理)_第5页
资源描述:

《实验二-实验报告(进程管理)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验二模拟实现进程管理组长:李和林软件1402组员分工一、实验目的1.理解进程的概念,明确进程和程序的区别。2.理解并发执行的实质。3.掌握进程的创建,睡眠,撤销等进程控制方法。二、实验内容用C语言,JAVA语言,C++语言编写程序,模拟实现创建新的进程;查看运行进程,换出某个进程;杀死运行进程。三、实验准备1.进程的定义进程是程序在一个数据集合上的运行过程,是系统资源分配和调度的一个独立单位。一个程序在不同的数据集合上运行,乃至一个程序在同样数据集合上的多次运行都是不同的进程。2.进程的状态通常情况下,一个进程必须具有就绪,执行和阻塞三种基本情况。1)就绪状态当进程

2、已分配到除处理器外的所有必要资源后,只要再获得处理器就可以立即执行,这时进程的状态就为就绪状态。在一个系统里,可以有多个进程同时处于就绪状态,通常把这些就绪进程排成一个或多个队列,称为就绪队列。2)执行状态处于就绪状态的进程一旦获得处理器,就可以运行,进程状态也就处于执行状态,在单处理器系统中,只能有一个进程处于执行状态,在多处理器系统中,则可能有多个进程处于执行状态3)阻塞状态正在执行的进程因为发生某些事件而暂停运行,这种受阻暂停的状态称为阻塞状态,也可称为等待状态。通常将处于阻塞状态的进程拍成一个队列,称为阻塞队列,在有些系统中,也会按阻塞原因的不同将阻塞状态的进

3、程排成多个队列。1.进程状态之间的转换接纳完成中断调度阻塞执行终止就绪新进程I/O请求I/O完成1.进程控制块1)进程控制块的作用进程控制块是进程实体的重要组成部分,主要包含下述四个方面的信息:a)进程标示信息b)说明信息c)现场信息d)管理信息2.进程控制块的组织方式1)链接方式2)索引方式3.进程控制原语1)创建原语2)撤销原语3)阻塞原语4)唤醒原语4.程序代码#include#includeusingnamespacestd;voidclrscr();voidcreate();voidrun();voidexchange(

4、);//唤出voidkill();voidwakeUp();//唤醒structprocess_type{intpid;intpriority;//优先次序intsize;intstate;//状态charinfo[10];};structprocess_typeinternalMemory[20];intamount=0,hangUp=0,pid,flag=0;//数目,挂起voidmain(){intn;inta;n=1;clrscr();while(n==1){cout<<"******************************************

5、**";cout<<"*进程演示系统*";cout<<"********************************************";cout<<"1.创建新的进程2.查看运行进程";cout<<"3.换出某个进程4.杀死运行进程";cout<<"5.唤醒某个进程¨6.退出系统";cout<<"*********************************************"<>a;switch(a){case1:create();break;case2:run();break

6、;case3:exchange();//换出break;case4:kill();break;case5:wakeUp();break;case6:exit(0);default:n=0;}}}voidcreate(){//创建进程inti=0;if(amount>=20){cout<<"内存已满,请先结束或换出进程";}else{for(i=0;i<20;i++){if(internalMemory[i].state==0){break;}}cout<<"请输入新进程的pid:"<>internalMemory[i].pid;cout<<"请输入

7、新进程的优先级:"<>internalMemory[amount].priority;cout<<"请输入新进程的大小:"<>internalMemory[amount].size;cout<<"请输入新进程的内容:"<>internalMemory[amount].info;internalMemory[i].state=1;amount++;}}voidclrscr()//清除内存空间{for(inti=0;i<19;i++){internalMemory[i].pid=0;intern

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。