实验四:管道通信、消息通信程序
课程名称:操作系统原理
项目名称:管道通信、消息通信程序
实验(实训)类型:综合性实验
实验(实训)课时:2
[目的和要求]
目的:
通过本实验使学生充分掌握管道通信和消息通信的概念,掌握编程实现管道通信和消息通信的方法。
掌握linux进程通信系统调用的功能,这里给出了进程通信实现机制中使用的系统调用命令的格式和如何利用系统调用命令进行进程通信编程,以便通过学习,提高学生对进城通信系统调用的编程能力。
要求:
理解进程通信的原理,掌握管道通信机制,熟悉无名管道和有名管道通信的实现。
使用系统调用命令msgget(),msgrev()j及msgctl()编写一长度为1K的消息发送和接收的程序。
编译、运行消息发送和接收程序,实现消息传递。
[内容与步骤]
内容:(1)编写两个程实现进程的无名管道和有名管道通信。要求分别调用pipe()、 close()、write()、 read()、popen()、pclose()、mknod()、mkfifo()、open()实现多个进程间的通信。
(2)调试并分析结果。
对观察到的内容做详细记录分析,并写出实验报告。
步骤:使用无名管道pipe(),进行父子进程之间的通信。
[主要器材与工具]
Windows xp、VMware、 Iinux系统