1、了解linux系统中进程通信的基本原理。
2、分析进程竞争资源现象,学习解决进程互斥的方法。
使用系统调用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文件