欢迎来到天天文库
浏览记录
ID:58516126
大小:15.50 KB
页数:2页
时间:2020-09-03
《操作系统 软中断实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软中断通信姓名:王文权学号:专业:计算机科学与技术实验代码:#include#include#include#includevoidwaiting();voidstop();intwait_mark;main(){intp1,p2;while((p1=fork())==-1);if(p1>0){while((p2==fork())==-1);if(p2>0){printf("parent");wait_mark=1;signal(SIGINT,stop);waiting();kil
2、l(p1,16);kill(p2,17);wait(0);wait(0);lockf(1,1,0);printf("parentprocessiskilled!");lockf(1,0,0);exit(0);}else{{printf("p2");signal(SIGINT,SIG_IGN);wait_mark=1;signal(17,stop);waiting();lockf(1,1,0);printf("childprocessiskilledbyparent!");lockf(1,0,0);exit(0);}}else{printf("p1
3、");signal(SIGINT,SIG_IGN);wait_mark=1;signal(16,stop);waiting();lockf(1,1,0);printf("childprocess1iskilledbyparent!");lockf(1,0,0);exit(0);}}voidwaiting(){while(wait_mark!=0);}voidstop(){wait_mark=0;}实验结果:[root@localhostWang]#gccwwq.c-owwq1[root@localhostWang]#./wwq1p1p2parentchild
4、process1iskilledbyparent!childprocess2iskilledbyparent!parentprocessiskilled![root@localhostWang]#问题与结果分析:在第一次输完代码保存后运行时,结果出错,最后检查,才是有一小段代码没输,就是killed子程序2那一段,可能因为两段后面都一样,在输入时看错了,所以以后做实验时一定要更细心仔细。运行程序,条用fork创建两个子进程,再调用signal让父进程捕捉中断信号,然后父进程调用kill发出信号,子进程捕捉到信号,响应软中断。
此文档下载收益归作者所有