- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验二-实验报告进程管理
实验二 模拟实现进程管理
组长:李和林 软件1402
组员分工实验目的
理解进程的概念,明确进程和程序的区别。
理解并发执行的实质。
掌握进程的创建,睡眠,撤销等进程控制方法。
实验内容
用C语言,JAVA语言,C++语言编写程序,模拟实现创建新的进程;查看运行进程,换出某个进程;杀死运行进程。
实验准备
进程的定义
进程是程序在一个数据集合上的运行过程,是系统资源分配和调度的一个独立单位。一个程序在不同的数据集合上运行,乃至一个程序在同样数据集合上的多次运行都是不同的进程。
进程的状态
通常情况下,一个进程必须具有就绪,执行和阻塞三种基本情况。
就绪状态
当进程已分配到除处理器外的所有必要资源后,只要再获得处理器就可以立即执行,这时进程的状态就为就绪状态。在一个系统里,可以有多个进程同时处于就绪状态,通常把这些就绪进程排成一个或多个队列,称为就绪队列。
执行状态
处于就绪状态的进程一旦获得处理器,就可以运行,进程状态也就处于执行状态,在单处理器系统中,只能有一个进程处于执行状态,在多处理器系统中,则可能有多个进程处于执行状态
阻塞状态
正在执行的进程因为发生某些事件而暂停运行,这种受阻暂停的状态称为阻塞状态,也可称为等待状态。通常将处于阻塞状态的进程拍成一个队列,称为阻塞队列,在有些系统中,也会按阻塞原因的不同将阻塞状态的进程排成多个队列。
进程状态之间的转换
接纳
完成
中断
调度
阻塞
执行
终止
就绪
新进程
I/O请求
I/O完成
进程控制块
进程控制块的作用
进程控制块是进程实体的重要组成部分,主要包含下述四个方面的信息:
进程标示信息
说明信息
现场信息
管理信息
进程控制块的组织方式
链接方式
索引方式
进程控制原语
创建原语
撤销原语
阻塞原语
唤醒原语
程序代码
#include stdio.h
#includeiostream
using namespace std;
void clrscr();
void create();
void run( );
void exchange( );//唤出
void kill( );
void wakeUp( );//唤醒
struct process_type{
int pid;
int priority;//优先次序
int size;
int state;//状态
char info[10];
};
struct process_type internalMemory[20];
int amount=0,hangUp=0,pid,flag=0;//数目,挂起
void main( ){
int n;
int a;
n=1;
clrscr( );
while(n==1){
cout\n********************************************;
cout\n* 进程演示系统 *;
cout\n********************************************;
cout\n 1.创建新的进程 2.查看运行进程 ;
cout\n 3.换出某个进程 4.杀死运行进程 ;
cout\n 5.唤醒某个进程¨ 6.退出系统 ;
cout\n*********************************************endl;
cout请选择 ;
cina;
switch(a){
case 1:
create( );
break;
case 2:
run( );
break;
case 3:
exchange();//换出
break;
case 4:
kill();
break;
case 5:
wakeUp();
break;
case 6:
exit(0);
default:
n=0;
}
}
}
void create(){ //创建进程
int i=0;
if (amount=20)
{
cout 内存已满,请先结束或换出进程;
}
else{
for (i=0;i20;i++)
{
if (internalMemory[i].state==0)
{
break;
}
}
cout请输入新进程的pid: endl;
cininternalMemory[ i ].pid;
cout请
您可能关注的文档
- 实践结题报告封面等格式.doc
- 实验1 连续时间系统的时域分析及matlab实现.doc
- 实验15数据库的备份与恢复.doc
- 实验1拉膜法测定液体表面张力系数309.doc
- 实验1指导书常用电子仪表的使用电子.doc
- 实验202类与对象2-选做.doc
- 实验201类与对象-必做.doc
- 实验2高桩及板桩试验.doc
- 实验5__FIR数字滤波器设计与软件实现.doc
- 实验7数据库完整性.docx
- 2024年05月山东交通职业学院招考聘用博士研究生50人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽芜湖市弋江区老年学校(大学)工作人员特设岗位公开招聘2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东东营河口区教育类事业单位招考聘用22人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东交通职业学院招考聘用100人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东威海职业学院招考聘用高层次人才2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽石台县事业单位工作人员33人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东滨州市博兴县事业单位公开招聘考察笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽蚌埠固镇县湖沟镇选聘村级后备干部7人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东省安丘市教育和体育局所属事业单位学校公开2024年招考232名工作人员笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东临沂临港经济开发区工作人员(5人)笔试历年典型题及考点剖析附带答案含详解.docx
文档评论(0)