




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上 软中断通信1、 实验内容 编写一段程序,使其现实进程的软中断通信。2、 实验目的 (1)加深对进程概念的理解,明确进程和程序的区别。 (2)进一步认识并发执行的实质。 (3)分析进程竞争资源现象,学习解决进程互斥的方法。 (4)了解Linux系统中进程通信的基本原理。3、 实验题目 要求:使用系统调用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘 上来的中断信号(即按DEL键);当捕捉到中断信号后,父进程用系统调用Kill()向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止: Child Processll is Killed
2、 by Parent! Child Processl2 is Killed by Parent! 父进程等待两个子进程终止后,输出如下的信息后终止 Parent Process is Killed!在上面的程序中增加语句signal (SIGNAL, SIG-IGN) 和signal (SIGQUIT, SIG-IGN), 观察执行结果,并分析原因。 4、 源程序及注释 #include #include #include void waiting(),stop(),alarming(); int wait_mark; main() int p1,p2; if(p1=fork() /*创建子进
3、程p1*/ if(p2=fork() /*创建子进程p2*/ wait_mark=1;signal(SIGINT,stop); /*接收到c信号,转stop*/signal(SIGALRM,alarming);/*接受SIGALRMwaiting();kill(p1,16); /*向p1发软中断信号16*/ kill(p2,17); /*向p2发软中断信号17*/ wait(0); /*同步*/wait(0);printf(parent process is killed!n);exit(0); else wait_mark=1;signal(17,stop);signal(SIGINT,SI
4、G_IGN); /*忽略 c信号*/while (wait_mark!=0);lockf(1,1,0);printf(child process2 is killed by parent!n);lockf(1,0,0);exit(0);elsewait_mark=1;signal(16,stop);signal(SIGINT,SIG_IGN); /*忽略c信号*/while (wait_mark!=0)lockf(1,1,0);printf(child process1 is killed by parent!n);lockf(1,0,0);exit(0);void waiting()slee
5、p(5);if (wait_mark!=0) kill(getpid(),SIGALRM);void alarming()wait_mark=0;void stop()wait_mark=0;任务2在上面的任务1中,增加语句signal(SIGINT,SIG_IGN)和语句signal(SIGQUIT,SIG_IGN),观察执行结果,并分析原因。这里,signal(SIGINT,SIG_IGN)和signal(SIGQUIT,SIG_IGN)分别为忽略键信号以及忽略中断信号。#include#include#includeint pid1,pid2;int EndFlag=0;int pf1=
6、0;int pf2=0;void IntDelete()kill(pid1,16);kill(pid2,17);void Int1()printf(child process 1 is killed !by parentn);exit(0);void Int2()printf(child process 2 is killed !by parentn);exit(0);main()int exitpid;if(pid1=fork() if(pid2=fork() signal(SIGINT,IntDelete);waitpid(-1,&exitpid,0);waitpid(-1,&exitpid,0);printf(parent process is killedn);exit(0); else signal(SIGINT,SIG_IGN);signal(17,Int2);pause(); elsesignal(SIGINT,SIG_IGN);signal(16,Int1);pause();5、 程序运行时初值和运行结果程序一运行结果:实验二运行结果: 不做任何操作等待五秒钟父进程回在子进程县推出后退出,并打印退出的顺序;或者点击ctrl+C后程序退出并打印退出的顺序。6、 实验体会 通过这次实验我学到了很多知识,明白了进程的创建原理。For
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绵阳飞行职业学院《机械振动》2023-2024学年第二学期期末试卷
- 湖南三一工业职业技术学院《法理学》2023-2024学年第二学期期末试卷
- 阜阳科技职业学院《计算机专业英语》2023-2024学年第二学期期末试卷
- 闽江学院《数字信号处理B》2023-2024学年第二学期期末试卷
- 江西师范大学科学技术学院《马克思主义基本原理》2023-2024学年第二学期期末试卷
- 重庆城市职业学院《基础微生物学实验》2023-2024学年第二学期期末试卷
- 绥化学院《地球物理计算方法》2023-2024学年第二学期期末试卷
- 浙江同济科技职业学院《纳米材料合成与表征》2023-2024学年第二学期期末试卷
- 黄河交通学院《小学英语课堂教学观摩》2023-2024学年第二学期期末试卷
- 韩山师范学院《银行综合业务实验实训》2023-2024学年第二学期期末试卷
- 演唱会安保工作委托合同
- TSG ZF001-2006《安全阀安全技术监察规程》
- 岭南版美术八年级上册11课 传统纹饰·民族风格(教学设计)
- 售后服务授权书(2024版)
- (高清版)DB42T 2179-2024 装配式建筑评价标准
- 矫形鞋垫产品技术要求标准2024年版
- 2024年江西省南昌市中考生物·地理合卷试卷真题(含答案逐题解析)
- Photoshop平面设计与制作智慧树知到期末考试答案章节答案2024年黑龙江农业工程职业学院(松北校区)
- (教学设计)第2章第1节新知探究课7化学键与物质构成2023-2024学年新教材高中化学必修第二册(鲁科版2019)
- DL∕T 796-2012 风力发电场安全规程
- 急诊科骨髓腔穿刺及输液技术
评论
0/150
提交评论