2023年实验二实验报告进程管理.docx

上传人:太** 文档编号:86744971 上传时间:2023-04-14 格式:DOCX 页数:11 大小:81.83KB
返回 下载 相关 举报
2023年实验二实验报告进程管理.docx_第1页
第1页 / 共11页
2023年实验二实验报告进程管理.docx_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《2023年实验二实验报告进程管理.docx》由会员分享,可在线阅读,更多相关《2023年实验二实验报告进程管理.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

2、(in t er n al Memory i. s t at e =0)。coutVn要杀死的进程不存在n”;。 e I se(coutn要杀死的进程已被挂起n0 )。f I ag=1;。 brea k :。1if (!fl a g)( coutV n要杀死的进程不存在n”;)vo i d wa keUpO i f (! a mount)(。cout当前没有运营进程end I ;ret urn;if ( ! hangUp).c out p i d;o for (int i = 0; i 20;i+)(i f (pid=interna IM e mor y i. p id)(。,flag=0;。

3、if (int e r n al Memory i. s t a te=2)s ( inte r na I Memory i . stat e =1;。 h a ngU p ;coutV ”已经成功唤醒进程n”:, o 。else if (internaIMemor y i. stat e =0)。,。 coutn要换战的进程不存在n”;。 e lse(。8 11伏”小要唤酰的进程已被挂起: break;if (f lag), cout”n要唤醒的进程已被挂起nVen d I;)8 ,实现的结果卜。wakeUpO C:UserstDesktopImprocessProcessControlDe

4、bugProcessContr.noryi.s iory(i.sIMemor卦奂醒的1 W唤醒的i;的 黎某 建出酸 圈盘 13 5进程演不系统8-itL Jt,二,A 二一丁一工兀 运运一系 看死出 杳一嚷 2 4 6请选择:1请输入新进程的Pid : 曲认新进程的优先级: 量输入新进程的大小: 也输入新进程的内容: interface进程演示系统进进 任苴 运运系 看死出 查甯情况。1)就绪状态当进程已分派到除解决器外的所有必要资源后,只要再 获得解决器就可以立即执行,这时进程的状态就为就绪 状态。在一个系统里,可以有多个进程同时处在就绪状 态,通常把这些就绪进程排成一个或多个队列,称为就

5、绪 队列。2)执行状态处在就绪状态的进程一旦获得解决器,就可以运营,进程 状态也就处在执行状态,在单解决器系统中,只能有一个 进程处在执行状态,在多解决器系统中,则也许有多个 进程处在执行状态3)阻塞状态正在执行的进程由于发生某些事件而暂停运营,这种受 阻暂停的状态称为阻塞状态,也可称为等待状态。通常将 处在阻塞状态的进程拍成一个队列,称为阻塞队列,在有 些系统中,也会按阻塞因素的不同将阻塞状态的进程排 成多个队列。3 .进程状态之间的转换4 .进程控制块1) 进程控制块的作用进程控制块是进程实体的重要组成部分,重要包含下述四个方面的信息:a)进程标示信息b)说明信息c)现场信息d)管理信息5

6、 .进程控制块的组织方式1) 链接方式2) 索引方式.进程控制原语1)创建原语2)撤消原语3)阻塞原语4)唤醒原语.程序代码#includ e # i n c I udeusi n g n am e space s td;void c I r s c r ();void cr e a te();void run();void e xch an g e( ) ; / / 啖出void kill ();void wakeUp( ) ;/唤醒str u ct p ro c e ss_ t yp e i nt pid;。i nt p r i or i t y ; / /优先顺序o in t size:

7、* i nt sta t e ;状态。char i n fo1 0;);s truct proc ess _type inte r nalMemo r y20:int amoun t =0, hangUp=O, pi d , f I a g = 0 ;/ / 数目,挂起void ma i n( ) int n;i n t a :n = 1;cIrsc r ();while (n 1 ) o cout V a;。s w i tch (a) ca s e 1:。 create ();a break;。ca s e 2:。 run ();。s brea k ;。case 3:o e x c h a

8、n ge ();/换出。,br e a k ;。case 4:。kill ();ob r eak;。o case 5:。,v/akeUp0 ;。a,br e ak; case 6:exit (0);ode f ault:。n=0:。)void crea t e () /创建进程int i =0; i f ( a mount= 20),(。cout ”内存已满,请先然束或换出进程;。)e I se (o。for ( i =0; i 2 O ; i+) # 。 if ( i ntern a IMemoryi. st a te=0)0 (obre a k:1。coutinte r na I Memo

9、 r y i . p i d:coutV”请输入新进程的优先级: i nt e r na I Me mor y amount. priori t y; cout ”请输入新进程的大小:endl;c i n i nt e r n a I Memory a mount, s i z e:。coutV”请输入新进程的内容:V int e rna I Memory am o unt. i nf o ; interna IM e moryi. s t a te= 1 ;amount+ + :)void c I rscr ()济除内存空间for (int i=0;i19;i+)。i n terna I M

10、emoryi.pid=0; inter n a I Memory i . pr i o r i ty=0;。internaIMemoryi.size=0;* 3 in t e r nalMemo ry i. s t a t e =0;)amount=O ;1voi d r un ()|fo r (int i=0: i20; i + + )(if (int e r n a IM e moryi. stat e =1)。 (ocou t VV当前内存中的进程:n”Vendl;。,cout VV ”当前运营的进程:;cout i nternalMemo ryi . pidendl;。,coutV当前

11、运营进程的优先级:;cout i n ter n alMem o ry i . pr i or i t yen d I;。cout”当前运营进程占用的空间大小:c o ut i nt e rna I Memory i . size;vo i d e xcha n ge ( ) /唤出优先级最小的进程 if ( ! amoun t)(cout当前没有运营进程n ; r et u r n ;。I。c o u t”n输入换出进程的ID值:;。ci n pid;for (int i=0;i20;i-H-),( if (pid= int e rna I Memory i. p id)(if ( i nt

12、e r nalMemory i . st a te=1)0 d (。 interna I Mem o r y i . stat e=2; h a ngU p + ;。cout=n已经成功换出进程n;aa ) else if ( internal Memory i . s t a t e= = 0)0 (。3。coutn要换出的进程不存在;1。 e I se ,。仇”3要换出的进程已被挂起广;。fI ag=1 ;。,。b r eak:。I)if (flag=O)(cout V n要换出的进程不存在;6 1void kill ( ) o i f (! am o u n t)(。9 cout当前没有运营进程n:。 r e tu r n;cout ”请输入要杀死的进程:。c i npi d ;for (in t i=0: i 20; i+)6 。 if (p i d=interna IMe moryi. p i d)( if (i n t ernalM emoryi. st ate=1) i nterna IM emoryi. s tate=0;

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

当前位置:首页 > 应用文书 > 解决方案

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁