Linux进程通信实验报告

Linux进程通信实验报告

一、 实验目的和要求

1. 进一步了解对进程控制的系统调用方法。

2. 通过进程通信设计达到了解UNIX或Linux系统中进程通信的基本原理。

二、 实验内容和原理

1. 实验编程,编写程序实现进程的管道通信(设定程序名为pipe.c)。使用系统调用pipe()建立一条管道线。而父进程从则从管道中读出来自于两个子进程的信息,显示在屏幕上。要求父进程先接受子进程P1发来的消息,然后再接受子进程P2发来的消息。

2. 可选实验,编制一段程序,使其实现进程的软中断通信(设定程序名为softint.c)。使用系统调用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号(即按Del键),当父进程接受这两个软中断的其中一个后,父进程用系统调用kill()向两个子进程分别发送整数值为16和17的软中断信号,子进程获得对应软中断信号后分别输出相应信息后终止。

三、 实验环境

一台安装了Red Hat Linux 9操作系统的计算机。

四、 实验操作方法和步骤

进入Linux操作系统,利用vi编辑器将程序源代码输入并保存好,然后打开终端对程序进行编译运行。

五、 实验中遇到的问题及解决

六、 实验结果及分析

基本实验

可选实验

七、 源代码

Pipe.c

#include"stdio.h"

#include"unistd.h"

main(){

int i,j,fd[2];

char S[100];

pipe(fd);

if(i=fork==0){

sprintf(S,"child process 1 is sending a message \n");

write(fd[1],S,50);

sleep(3);

return;

}

if(j=fork()==0){

sprintf(S,"child process 2 is sending a message \n");

write(fd[1],S,50);

sleep(3);

return;

}else{

wait(0);

read(fd[0],S,50);

printf("%s",S);

read(fd[0],S,50);

printf("%s",S);

return;

}

}

Softint.c

#include"stdio.h"

#include"unsitd.h"

main(){

int i,j,fd[2];

char S[100];

pipe(fd);

if(i=fork==0){

sprintf(S,"child process 1 is sending a message \n"); write(fd[1],S,50);

sleep(3);

return;

}

if(j=fork()==0){

sprintf(S,"child process 2 is sending a message \n"); write(fd[1],S,50);

sleep(3);

return;

}else{

wait(0);

read(fd[0],S,50);

printf("%s",S);

read(fd[0],S,50);

printf("%s",S);

return;

}

}

Linux进程通信实验报告

一、 实验目的和要求

1. 进一步了解对进程控制的系统调用方法。

2. 通过进程通信设计达到了解UNIX或Linux系统中进程通信的基本原理。

二、 实验内容和原理

1. 实验编程,编写程序实现进程的管道通信(设定程序名为pipe.c)。使用系统调用pipe()建立一条管道线。而父进程从则从管道中读出来自于两个子进程的信息,显示在屏幕上。要求父进程先接受子进程P1发来的消息,然后再接受子进程P2发来的消息。

2. 可选实验,编制一段程序,使其实现进程的软中断通信(设定程序名为softint.c)。使用系统调用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号(即按Del键),当父进程接受这两个软中断的其中一个后,父进程用系统调用kill()向两个子进程分别发送整数值为16和17的软中断信号,子进程获得对应软中断信号后分别输出相应信息后终止。

三、 实验环境

一台安装了Red Hat Linux 9操作系统的计算机。

四、 实验操作方法和步骤

进入Linux操作系统,利用vi编辑器将程序源代码输入并保存好,然后打开终端对程序进行编译运行。

五、 实验中遇到的问题及解决

六、 实验结果及分析

基本实验

可选实验

七、 源代码

Pipe.c

#include"stdio.h"

#include"unistd.h"

main(){

int i,j,fd[2];

char S[100];

pipe(fd);

if(i=fork==0){

sprintf(S,"child process 1 is sending a message \n");

write(fd[1],S,50);

sleep(3);

return;

}

if(j=fork()==0){

sprintf(S,"child process 2 is sending a message \n");

write(fd[1],S,50);

sleep(3);

return;

}else{

wait(0);

read(fd[0],S,50);

printf("%s",S);

read(fd[0],S,50);

printf("%s",S);

return;

}

}

Softint.c

#include"stdio.h"

#include"unsitd.h"

main(){

int i,j,fd[2];

char S[100];

pipe(fd);

if(i=fork==0){

sprintf(S,"child process 1 is sending a message \n"); write(fd[1],S,50);

sleep(3);

return;

}

if(j=fork()==0){

sprintf(S,"child process 2 is sending a message \n"); write(fd[1],S,50);

sleep(3);

return;

}else{

wait(0);

read(fd[0],S,50);

printf("%s",S);

read(fd[0],S,50);

printf("%s",S);

return;

}

}


相关内容

  • 进程通信实验报告
  • 操作系统实验报告 任课教师 刘晓燕 姓名 赵九州 学号 1070410210 实验指导教师 刘晓燕 哈尔滨工业大学 年 6 月 8 日 2010 实验六 进程通信 一.实验目的 (1)学习Linux下用信号处理异步事件的方法 (2)掌握Linux下怎样通过管道实现进程通信 (3)了解Linux下进程 ...

  • 嵌入式系统综合设计说明书
  • 嵌入式系统综合设计说明书 题 目:智能车系统-MP3播放器设计与实现 学生姓名:杜继凤 组 员:王嘉敏 杜继凤 学 院:信息工程学院 班 级:计算机11-2班 指导教师:庄旭菲 王晓强 蒋贵良 刘志强 2014 年 3 月 15 日 嵌入式项目T-CAR 智能小车是嵌入式技术和物联网技术结合的产物. ...

  • 工程实践报告
  • 工程实践报告 这两周我们在北京凌阳爱普科技有限公司进行了嵌入式工程实践.第一天凌阳公司的领导带着我们参观了公司为我们详细地介绍了公司的企业文化和公司的业务范围并为我们现场演示了公司的一些产品. 接下来的几天公司的工程师为我们进行了嵌入式Linux相关的培训,让我们对嵌入式行业有了更深的了解和认识. ...

  • [Linux环境下C编程指南]读书笔记1
  • 2009-12-08 11:10:00|  分类: Linux基础 |  标签: |字号大中小 订阅 1.存储管理 Linux采用页式存储管理机制,每个页面的大小随处理机芯片而异.例如,Intel386处理机页面大小可为4KB和2MB两种,而Alpha处理机页面大小可为8KB.16KB.32KB和6 ...

  • 浙工大 嵌入式实验报告
  • 金艳霞 通信2班 [1**********]0 实验五 Linux 交叉编译平台 一. 实验目的 1. 掌握一些基本的linux 读写操作 2. 利用vcc 编译c 程序 3. 通过nfs 挂载到实验箱中,利用交叉编译执行文件 二.实验设备 1. Arm9试验箱 2. Pc 机 3. Linux 系 ...

  • 操作系统,交通信号灯问题
  • 课 程 设 计 报 告 课程名称 操作系统 课题名称交通信号灯问题 专 业班 级 1301班 学 号 [1**********]1 姓 名李世伟 2016 年 6 月 18 日 湖南工程学院 课 程 设 计 任 务 书 课程名称 操作系统 课 题 交通信号灯问题 专业班级 信息管理与信息系统 学生姓 ...

  • 高性能计算系统设计方案
  • 高性能计算系统 方案设计 第1章 需求分析 1.1 高性能计算的和大规模数据处理的应用 高性能计算作为一种先进的科研手段,在国内的应用发展很快,得到了普遍的重视,近年来国家投入逐年加大. 高性能计算的应用条件已经成熟,表现在: ◆ 价格相对低廉的高性能机群系统为高性能计算应用提供了物质基础: ◆ 高 ...

  • 操作系统调查报告
  • <操作系统调查报告> 调查报告二 专业班级: 学 号: 姓 名: 报告日期:2020 年 12 月 14 日 摘要 操作系统是方便用户.管理和控制计算机软硬件资源的系统软件(或程序集合). 从用户角度看,操作系统可以看成是对计算机硬件的扩充:从人机交互方式来看,操作系统是用户与机器的接口 ...

  • Hadoop大数据平台的搭建与测试_崔文斌
  • Hadoop 大数据平台的搭建与测试 *崔文斌,王云诚,牟少敏,浩庆波,昌腾腾 (山东农业大学农业大数据研究中心,山东泰安271018) 摘要:大数据处理平台Apache ?Hadoop 是一个开源的分布式系统框架,可以运行分布式应用程序.在大数据时 代Hadoop 有着良好的发展前景.本文简要介绍 ...