admin 管理员组

文章数量: 1086019


2024年3月20日发(作者:isms是什么)

实 验 报 告

姓名:

实验题目

嵌入式Linux多进程通讯实验

学号:

课程名称:

所在学院:

专业班级:

任课教师:

实验项目名称 嵌入式Linux多进程通讯实验

一、实验目的与要求:

1、熟悉UNIX/LINUX 支持的无名管道通信方式。

2、熟悉UNIX/LINUX 支持的有名管道通信方式。

3、熟悉 LINUX 系统中进程之间信号通信的基本原理。

4、熟悉UNIX/LINUX 支持的共享内存通信方式。

5、熟悉UNIX/LINUX 支持的消息队列通信方式。

二、实验设备:

华清远见开发环境,PC机

三、实验方法(原理,流程图)

Linux 下的进程通信手段基本上是从 Unix 平台上的进程通信手段继承而来

的。而对 Unix 发展做出重大贡献的两大主力 AT&T 的贝尔实验室及 BSD(加州

大学伯克利分校的伯克利软件发布中心)在进程间的通信方面的侧重点有所不

同。前者是对 Unix 早期的进程间通信手段进行了系统的改进和扩充,形成了

“system V IPC”,其通信进程主要局限在单个计算机内;后者则跳过了该限制,

形成了基于套接口(socket)的进程间通信机制。而 Linux 则把两者的优势都

继承了下来,如图1所示。

 Unix 进程间通信(IPC)方式包括管道、FIFO 以及信号。

 System V 进程间通信(IPC)包括 System V 消息队列、System V 信号量

以及 System V 共享内存区。

 Posix 进程间通信(IPC)包括 Posix 消息队列、Posix 信号量以及 Posix

共享内存区。现在在 Linux 中使用较多的进程间通信方式主要有以下几种。

图 1 进程间通信发展历程

(1)管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间

的通信,有名管道,除具有管道所具有的功能外,它还允许无亲缘关系进程间的

通信。

(2)信号(Signal):信号是在软件层次上对中断机制的一种模拟,它是比较复

杂的通信方式,用于通知进程有某事件发生,一个进程收到一个信号与处理器收

到一个中断请求效果上可以说是一样的。

(3)消息队列(Messge Queue):消息队列是消息的链接表,包括 Posix 消息


本文标签: 进程 间通信 实验 管道 方式