
浙江理工大学操作系统实验二:进程通信报告
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本报告为《操作系统》课程第二阶段实验总结,专注于进程间通信机制的研究与实现。通过深入探讨管道、信号量及消息队列等技术的应用,旨在增强对多任务环境下数据交换原理的理解和实践能力。
实验内容
任务一:
1. 阅读父子进程利用管道进行通信的例子(例1),写出程序的运行结果并分析。
2. 编程实现:父进程通过管道将一个字符串传递给子进程处理,子进程负责反转该字符串中的字符,并将其返回给父进程。最后由父进程接收这个反向后的字符串并打印出来。
任务二:
1. 阅读例2的程序代码,在系统中运行一次此程序后使用ipcs命令查看当前共享存储区的状态信息;再次执行同一程序,再用同样的方法检查共享内存的情况,并对两次的结果进行对比分析。最后通过ipcrm命令移除自己创建的所有共享存储区域。
2. 同学们需要分别登录到两个终端窗口中,在一个窗口里运行例3的程序1(或者在单一窗口内以后台模式执行该程序),然后切换至另一个窗口,启动并运行例3中的程序2。观察这两个程序交互的结果,并进行分析讨论。
3. 利用系统调用shmget()、shmat()、shmdt()和shmctl()编写一个简单的应用程序,在父进程中创建长度为30字节的私有共享内存段;初始化指向该内存区域的一个字符指针,向其中写入一系列大写字母。接着通过fork函数生成子进程,让其显示共享内存中的内容;然后修改这些字母使其变为小写形式,并由子进程完成对共享区数据的更新操作。
全部评论 (0)
还没有任何评论哟~


