实验三 进程通信
1. 实验类型:设计性实验
2. 实验目的:
了解和熟悉LINUX的管道通信、软中断通信、消息队列、SOCKET通信等 3. 实验内容:
练习一 三个子进程和父进程的管道通信。(必做)
编写一个程序,建立一个管道。同时,父进程生成子进程P1,P2,P3,这三个子进程分别向管道中写入消息(消息由键盘输入),父进程将消息读出。
练习二 软中断一(必做)
编写一个程序循环输出“how are you?”,当键盘输入Ctrl+C时终止,当输出次数不超过5000次时在此过程中使用Ctrl+C不能中断显示,5000次后才能用Ctrl+C中断显示,然后输出“Byebye”.
练习三 软中断二(必做)
使用软中断实现父子进程同步,父进程先输出A,然后子进程输出B。父进程接收到子进程退出的信号后再输出C。
练习四 消息队列(必做)
通过消息队列实现进程同步,进程A从键盘上接收十个字符串,并发送给进程B,然后退出,进程B接收到十个字符串后退出。
练习五 编程实现基于SOCKET的进程间通信,实现网络中不同终端间可相互
通信。(选做)
要求:分别编写服务器端和客户端两个程序(使用线程),编译后分别在不同终端运行程序,二者间可相互进行通信。
实验记录
三个子进程和父进程的管道通信。(必做)
编写一个程序,建立一个管道。同时,父进程生成子进程P1,P2,P3,这三个子进程
分别向管道中写入消息(消息由键盘输入),父进程将消息读出。
结果
软中断一(必做)
编写一个程序循环输出“how are you?”,当键盘输入Ctrl+C时终止,当输出次数不超过5000次时在此过程中使用Ctrl+C不能中断显示,5000次后才能用Ctrl+C中断显示,然后输出“Byebye”.
结果:
软中断二(必做)
使用软中断实现父子进程同步,父进程先输出A,然后子进程输出B。父进程接收到子进程退出的信号后再输出C。