您的当前位置:首页正文

操作系统——实验三(进程间通信)——3.3.3

2024-11-23 来源:个人技术集锦

操作系统——实验三(进程间通信)——3.3.3

实验目的

1、了解linux系统中进程通信的基本原理。

2、分析进程竞争资源现象,学习解决进程互斥的方法。


3.3.3消息通信

使用系统调用msgget(),msgsnd(),msgrcv()及msgctl()编制一长度为1K的消息发送和接收的程序。

〈程序设计〉

(1)为了便于操作和观察结果,用一个程序为“引子”,先后fork()两个子进程,SERVER和CLIENT,进行通信。

(2)SERVER端建立一个Key为75的消息队列,等待其他进程发来的消息。当遇到类型为1的消息,则作为结束信号,取消该队列,并退出SERVER。SERVER每接收到一个消息后显示一句“(server)received”。

(3)CLIENT端使用Key为75的消息队列,先后发送类型从10到1的消息,然后退出。最后的一个消息,既是SERVER端需要的结束信号。CLIENT每发送一条消息后显示一句“(client)sent”。

(4)父进程在SERVER和CLIENT均退出后结束。

第一步

创建c文件夹,在它下面创建test.c文件

显示全文