2013~2014学年第一学期
操作系统实验报告
实验题目: 实验三进程间通信
专业: 计算机科学与技术
班级: BU计算机111
学号: 1111503111
姓名: 于秀芳
实验日期: 2013年11月18日
实验地点: 1J2A205
盐城工学院机械优集学院
实验3 进程间通信
1、实验目的
Linux系统的进程通信机构(IPC) 允许在任意进程间大批量地交换数据。本实验的目的是
了解和熟悉Linux支持的消息通讯机制及信息量机制,理解进程处理信号的方法,使用用户自定义的信号处理程序。
分析进程竞争资源现象,学****解决进程互斥的方法。了解linux系统中进程通信的基本原理。
2、实验预备内容
、,熟悉Linux的三种机制。
3、实验内容
(1)编写一段程序,使其现实进程的软中断通信。
要求:使用系统调用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号(即按DEL键);当捕捉到中断信号后,父进程用系统调用Kill()向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止:
Child Processll is Killed by Parent!
Child Processl2 is Killed by Parent!
父进程等待两个子进程终止后,输出如下的信息后终止
Parent Process is Killed!
<程序代码>
<结果>
(2)进程的管道通信
编制一段程序,实现进程的管理通信。
使用系统调用pipe()建立一条管道线;两个子进程P1和P2分别向管道中写一句话:
Child 1 is sending a message!
Child 2 is sending a message!
而父进程则从管道中读出来自于两个子进程的信息,显示在屏幕上。要求父进程先接收子进程P1发来的消息,然后再接收子进程P2发来的消息。
<程序代码>
<结果>
(3)消息通信
使用系统调用msgge
实验3 进程间通信 来自淘豆网www.taodocs.com转载请标明出处.