资源描述
实验三 进程间通信
1200380102 林海艳
(一)信号机制
一、实验目的
1、了解什么是信号
2、熟悉LINUX系统中进程之间软中断通信的基本原理
二、实验内容
1、编写程序:用fork( )创建两个子进程,再用系统调用signal( )让父进程捕捉键盘上来的中断信号(即按^c键);捕捉到中断信号后,父进程用系统调用kill( )向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止:
Child process1 is killed by parent!
Child process2 is killed by parent!
父进程等待两个子进程终止后,输出如下的信息后终止:
Parent process is killed!
2、 分析利用软中断通信实现进程同步的机理
三、 实验代码
四、实验结果
(二)进程管道通信
一、实验目的
1、了解什么是管道
2、熟悉UNIX/LINUX支持的管道通信方式
二、 实验内容
编写程序实现进程的管道通信。用系统调用pipe( )建立一管道,二个子进程P1和P2分别向管道各写一句话:
Child 1 is sending a message!
Child 2 is sending a message!
父进程从管道中读出二个来自子进程的信息并显示(要求先接收P1,后P2)。
三、 实验代码
四、 实验结果
(三)消息发送与接收
一、实验目的
1、了解什么是消息
2、熟悉消息传送的机理
二、实验内容
消息的创建、发送和接收。使用系统调用msgget( ),msgsnd( ),msgrev( ),及msgctl( )编制一长度为1k的消息发送和接收的程序。
三、 实验代码
四、 实验结果
(四)共享存储区通信
一、 实验目的
了解和熟悉共享存储机制
二、实验内容
编制一长度为1k的共享存储区发送和接收的程序。
三、 实验代码
四、 实验结果
展开阅读全文