- 2
- 0
- 约3.06千字
- 约 6页
- 2020-07-22 发布于江苏
- 举报
烟台大学
烟台大学计算机学院
操作系统
实 验 报 告 书
班 级:计 114-3 班
姓 名:刘镇
学 号:201158504337
日 期: 2013-6-7
烟台大学
《计算机操作系统》实验报告
一、 实验内容
(2.3 )进程的软中断通信
二、实验目的
(1)加深对进程概念的理解,明确进程和程序的区别。
(2 )进一步认识并发执行的实质。
(3 )分析进程竞争资源现象,学习解决进程互斥的方法。
(4 )了解 Linux 系统中进程通信的基本原理。
三、 实验题目
使用系统调用 fork() 创建两个子进程, 再用系统调用 signal() 让父进程捕捉键盘上来的中断信号 (即按DEL
键);当捕捉到中断信号后,父进程用系统调用 Kill() 向两个子进程发出信号,子进程捕捉到信号后分别
输出下列信息后终止:
Child Processll is Killed by Parent!
Child Processl2 is Killed by Parent!
父进程等待两个子进程终止后,输出如下的信息后终止
Parent Process is Killed!
四、设计思路和流程图
2019-6-13 第 2 页/共 6 页
烟台大学
五、源程序:
#includestdio.h
#includesignal.h
#includeunistd.h
#includestdlib.h
2019-6-13 第 3 页/共 6 页
烟台大学
int wait_mark;
void waiting()
{
sleep(5);
if(wait_mark != 0)
{
kill(getpid(), SIGALRM);
}
}
void alarming()
{
wait_mark = 0;
}
void stop()
{
wait_mark = 0;
}
void main()
{
int p1, p2;
if(p1 = fork())
{
if(p2 = fork())
{
wait_mark = 1;
signal(SIGINT, stop);
signal(SIGALRM, alarming);
waiting();
kill(p1, 16);
kill(p2, 17);
wait(0);
wait(0);
printf(parent process is over!);
exit(0);
}
2019-6-13 第 4 页/共 6 页
烟台大学
else
{
wait_mark = 1;
signal(17, stop);
您可能关注的文档
最近下载
- 日业BM500物料提升机变频一体机用户手册V1.0.pdf
- 2026年党章综合知识测试题(模拟题).docx VIP
- 初一相交线与平行线所有知识点总结和常考题提高难题压轴题练习(含答案解析).doc VIP
- 食材配送服务方案(通用16篇)精选全文完整版.pdf VIP
- 初一一元一次方程所有知识点总结和常考题提高难题压轴题练习(含答案解析).docx VIP
- 2025年江苏航空职业技术学院单招笔试英语试题库含答案解析.docx VIP
- 《林业碳汇计量与监测技术规程》.pdf VIP
- 初二平行四边形所有知识点总结和常考题提高难题压轴题练习(含答案解析).pdf VIP
- 2025年初二全等三角形所有知识点总结和常考题提高难题压轴题练习含答案解析.doc VIP
- (高清版)B-T 7251.1-2023 低压成套开关设备和控制设备 第1部分:总则.pdf VIP
原创力文档

文档评论(0)