- 28
- 0
- 约9.9千字
- 约 10页
- 2017-06-17 发布于湖北
- 举报
实验7 共享内存和信号量(进程间通信)
邢卫 2008-11-26修订
实验目的
学习并掌握Linux系统中的进程间通信机制,包括共享内存和信号量。
实验内容
学习共享内存相关的系统调用shmget(), shmat(), shmdt, shmctl()
学习信号量(semaphore)相关的系统调用semget(), semop(), semctl()
学习信号(signal)相关的系统调用signal(), atexit()等
完成《边干边学》第6.4.1节的实验程序的编辑、编译、运行操作
分析、学习实验程序的工作过程和原理
选做:学习《边干边学》第6章,结合使用联机手册(可以从man 2 ipc命令开始),编程练习各种进程间通信机制
实验步骤
1.以stu帐号登录
2.编辑reader_writer1.c程序
注意:在193页delete()函数中,注意改成
if (mysemctl(Semid, 0, IPC_RMID, (union semun)0) == -1) {
限于实验的时间,该文件已预先存放在/home/stu/.kernel/lab6目录下,可以直接使用。但每位同学务必通读并理解该程序。
登录后,使用 cd .kernel/lab6 命令进入该文件所在目录,继续以下实验步骤。
3.编译 gcc reader_writer1.c -o reader_w
原创力文档

文档评论(0)