好文档 - 专业文书写作范文服务资料分享网站

操作系统实验四

天下 分享 时间: 加入收藏 我要投稿 点赞

操作系统

实验(训)报告

学号:15406038 姓名:牛超 班级:2班 实验时间:2017,11,24

OS0004 实验名称 进程通信

1.理解Linux关于进程间通信的概念

实验目的和要求 2.掌握几种进程间通信的方法

3.巩固进程同步概念和实现进程同步的方法

1. 利用管道实现两个进程间的消息互通; 实验内容 2. 利用标准流管道实现文件的读取和单词统计;

3. 利用无名管道实现父子进程之间的通信。 实验题目

一、读取文件/etc/profile的内容,并且统计该文件中有多少个单词。 程序截图:

实验编号

运行结果截图:

二、编写一段程序,用管道实现父子进程之间的通信,子进程读父进程写入管道的内容,如父进程写“Hello”,子进程能读取该信息。 程序截图:

#include #include #include

int main() {

int fds[2]; pipe(fds);

char buf[512]=\ if(fork()==0){

close(fds[1]);

if(read(fds[0],buf,sizeof(buf))>0)

puts(buf); exit(0);

}else{ } return 0; }

close(fds[0]); write(fds[1],buf,6); close(fds[1]); exit(0);

运行结果截图:

思考题:编写一段程序,使其用管道实现父子进程之间的进程通信。子进程向父进程发送自己的进程标识符,以及字符串“is sending a message to parent!”。父进程则通过管道读出子进程发来的消息,将消息显示在屏幕上,然后终止。 程序截图:

#include #include #include

int main() {

int fds[2]={0}; pipe(fds);

char buf[512]=\ if(fork()==0){

printf(\ close(fds[0]);

write(fds[1],buf,50);

exit(0);

}else{

close(fds[1]);

read(fds[0],buf,50);

puts(buf);

}

close(fds[0]); exit(0);

return 0; }

运行结果截图:

成绩与评语:

操作系统实验四

操作系统实验(训)报告学号:15406038姓名:牛超班级:2班实验时间:2017,11,24OS0004实验名称进程通信1.理解Linux关于进程间通信的概念实验目的和要求2.掌握几种进程间通信的方法3.巩固进程
推荐度:
点击下载文档文档为doc格式
1p2a389cl45s23r4b01m9s4tl8lgrm00e7t
领取福利

微信扫码领取福利

微信扫码分享