- 浏览: 458095 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (538)
- C/C++ Primer (69)
- Objective-C Primer (102)
- Python Primer (19)
- JavaScript Primer (1)
- Java Primer (37)
- PHP Primer (17)
- 泛 Linux (37)
- Shell Script (21)
- APUE (21)
- UNP__1&2 (19)
- NetWork (7)
- Oracle周边 (38)
- Mysql里边 (6)
- Windows技 (9)
- 简单算法 & 数据结构 (14)
- 设计模式 (6)
- GTK历程 (12)
- 工具使用 (25)
- 杂事 (23)
- 一些概念 (17)
- Web方面 (10)
- myCodeTools (9)
- ^未 竟$ (13)
- 硬件通信 (2)
- Games (1)
最新评论
- - 纯属抄书。。。
IPC(InterProcess Communication)
1)管道(pipe),大多是半双工,进程族里应用
2)FIFO命名管道(mkfifo),不同进程,是一种文件类型。
3)消息队列(queue)
4)信号量(semaphore),与123不同,是一个计数器,用于多进程共享数据对象的访问。
5)共享内存(shared memory)
6)套接字(socket)
管道
http://www.easycpp.org/content/science_doc/%E8%BF%9B%E7%A8%8B%E9%97%B4%E9%80%9A%E4%BF%A1%EF%BC%9A%E7%AE%A1%E9%81%93_pipe_popen_%E5%8D%8F%E5%90%8C%E8%BF%9B%E7%A8%8B%E8%AF%A6%E8%A7%A3
IPC(InterProcess Communication)
1)管道(pipe),大多是半双工,进程族里应用
2)FIFO命名管道(mkfifo),不同进程,是一种文件类型。
3)消息队列(queue)
4)信号量(semaphore),与123不同,是一个计数器,用于多进程共享数据对象的访问。
5)共享内存(shared memory)
6)套接字(socket)
管道
http://www.easycpp.org/content/science_doc/%E8%BF%9B%E7%A8%8B%E9%97%B4%E9%80%9A%E4%BF%A1%EF%BC%9A%E7%AE%A1%E9%81%93_pipe_popen_%E5%8D%8F%E5%90%8C%E8%BF%9B%E7%A8%8B%E8%AF%A6%E8%A7%A3
#include <unistd.h> // pipe int pipe(int filedes[2]); FILE *popen(const char *command, const char *mode); int pclose(FILE *stream); #include <sys/stat.h> // FIFO int mkfifo(const char *pathname, mode_t mode); #include <sys/msg.h> // queue int msgget(key_t key, int flag); int msgctl(int msqid, int cmd, struct msqid_ds *buf); int msgsnd(int msqid, const void *ptr, size_t nbytes, int flag); size_t msgrcv(int msqid, void *ptr, size_t nbytes, long type, int flag); #include <sys/sem.h> // semaphore int semget(key_t key, int nsems, int flag); int semctl(int semid, int semnum, int cmd, .../* union semun arg */); int semop(int semid, struct sembuf semoparray[], size_t nops); #include <sys/shm.h> int shmget(key_t key, size_t size, int flag); int shmctl(int shmid, int cmd, struct shmid_ds *buf); void *shmat(int shmid, const void *addr, int flag); int shmdt(void *addr);
发表评论
-
execl
2010-10-28 11:13 840#include <stdio.h> ... -
dup2-close-fd
2010-10-28 10:54 809int main(int argc, char *argv ... -
Chapter 16__套接字
2010-10-25 11:39 585AF_INET、TCP、UDP、SCTP 报文界限 soc ... -
pthread_mutex_lock Test
2010-10-22 15:43 971#include <stdio.h> #in ... -
Chapter 14__高级IO
2010-10-20 11:45 715struct flock { short ... -
APUE一栏入口
2010-10-14 15:25 752《UNIX环境高级编程》 《Advanced Programm ... -
Chapter 3__文件IO
2010-10-14 14:51 24int fcntl(int filedes, int cm ... -
Chapter 14
2010-10-14 09:01 7051、永远阻塞的调用有哪些? 阻塞,直到函数调用完成为止, ... -
Chapter 5__标准IO库
2010-10-12 11:56 5981)缓冲的本质是减少read和write调用的次数,也就是物 ... -
Chapter 4__文件和目录
2010-10-09 17:34 697一些概念: 主、次设备号 主设备号标识设备驱动程序 次设备号 ... -
Chapter 3__文件IO
2010-10-08 15:47 651无聊,贴些本章的关键字: 一、空洞文件、预读技术(read ... -
Chapter 1__ls DIR And struct dirent
2010-10-08 10:25 58遍历目录 #include "aupe.h& ... -
stdarg.h 可变长参数
2010-09-30 12:13 752http://zh.wikipedia.org/zh-sg/S ... -
Practice Shell解释器
2010-09-29 15:34 950http://linux.chinaunix.net/bbs/ ... -
Chapter 13__守护进程Daemon
2010-09-29 14:43 620为什么守护进程会从进程中成为一类,相对普通进程有什么区别? ... -
Chapter 12__线程控制
2010-09-29 09:53 622★12.2线程限制,sysconf函数,增强可移植性; ★ ... -
Chapter 11__线程
2010-09-28 09:35 675★线程的执行环境 线程ID、栈 一组寄存器值 调度优先级和策 ... -
Chapter 10__信号
2010-09-27 14:06 738SIGHUP解说,有关终端和 ... -
Chapter 9__进程关系
2010-09-27 12:06 749------------------------------ ... -
Chapter 8__进程控制
2010-09-19 13:58 718//一些函数: pid_t getpid(void); ...
相关推荐
《进程间通信》章节主要探讨了操作系统中进程如何相互协作和交换信息。这一章包括以下几个关键知识点: 1. **进程的概念**: - 进程是计算机中正在执行的一个程序的实例,拥有自己的内存空间和资源,是操作系统...
这一章可能讲解了如何创建(fork)、退出(exit)和等待(waitpid)进程,以及进程间通信(IPC)的方法,如管道(pipe)、信号(signal)和共享内存。 2. **内存管理**:Linux内核提供了动态内存分配的接口,如...
- Linux中的信号是进程间通信的一种方式,用于通知进程发生了一些事件,如硬件异常、用户中断等。 - 我们会学习如何使用`signal()`, `sigaction()`等函数注册信号处理程序,并理解它们的区别。 - 了解信号掩码...
《UNIX网络编程卷2:进程间通信》是网络编程领域中的经典著作,深入探讨了在UNIX操作系统环境下如何实现进程间的高效通信。这部分源代码包含了书中多个章节的关键示例,可以帮助读者更好地理解和应用书中的理论知识...
在通信任务中,我们需要处理进程间的通信、多跳路由和转发以及物理接口上的帧交换(Tasks for communication)。网络架构通过一组协议定义了每一层的功能,这些协议提供了灵活性,允许在不改变底层协议的情况下修改...
这些机制包括消息传递、管道、套接字以及远程过程调用(RPC)等,为进程间的数据交换提供了途径。 虚拟化技术允许一个硬件平台模拟多个独立的硬件环境,这对于资源调度和隔离非常有用,也便于测试和部署应用程序。...
这一主题涵盖了在同一物理节点上和跨不同物理节点的进程间通信。在本篇中,我们将深入探讨几种主要的进程通信方式,包括信号、管道、命名管道、消息队列、信号灯和共享内存。 首先,让我们重点关注同一物理节点上的...
本文将深入探讨VC++中常用的五种进程间通信(IPC,Inter-Process Communication)方式:剪贴板、匿名管道、命名管道、邮槽和共享内存,并对每种通信方式的特点和使用场景进行详尽的解释。 ### 1. 剪贴板 剪贴板是...
- 操作系统基础:简述操作系统如何管理和调度进程,以及与汇编语言的接口。 学习这组课件,不仅能够掌握8086汇编语言的基本概念,还能提升对计算机底层运作的理解。通过实例解析和实践练习,将有助于提升编程能力...
Chapter 15: 进程间通信 Chapter 16: 网络 IPC: 套接字 Chapter 17: 高 【资源声明】:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。需要有一定的基础能够看懂代码,能够自行...
服务器通常是指为多个客户端提供信息共享的计算机,运行着服务或称为守护进程的后台程序。 点对点(P2P)网络和应用程序则打破了传统的客户端-服务器模式。在P2P网络中,每个参与的设备既可以作为服务器提供资源,...
总结,传输层是网络通信的核心,它确保了不同主机间应用层的高效、可靠通信。理解其工作原理和协议对于设计和优化网络系统至关重要。在实际应用中,开发者可以根据需求选择UDP的高效性或TCP的可靠性。
源代码ch15部分主要涉及第十五章的内容,这一章通常涵盖了一些高级主题,例如多线程编程、信号处理、异步I/O以及进程间通信等。 1. **多线程编程**: 在Linux中,多线程编程通过pthread库实现,该库提供了创建、...
4. **经典IPC问题**:进程间通信(IPC)是解决进程同步的关键。经典的IPC问题包括生产者消费者问题、读者写者问题、哲学家就餐问题等,这些问题通过同步原语得以解决。 5. **管程**:管程是一种高级的进程同步机制...
**Android Interface Definition Language (AIDL) 是Android系统中用于实现进程间通信(Inter-Process Communication, IPC)的一种机制。AIDL允许服务端和服务客户端在不同的进程中进行数据交换,使得它们可以像在同...
本章(Chapter 03 - Processes)主要关注操作系统中的进程管理,包括进程的概念、调度、操作、进程间通信(IPC)以及客户端-服务器系统中的通信。 首先,我们需要理解什么是进程。一个进程可以被定义为正在执行的...
9. **Chapter12_InProcess.ppt** - 可能会探讨进程内的通信机制,如共享内存、管道和命名管道,这些都是进程间通信(IPC)的基础。 10. **Chapter14_AsynchIO.ppt** - 最后,这部分可能详细讲解了异步I/O,包括完成...
- **进程间通信:** 在不同的Java虚拟机(JVM)之间传递对象。 **实现机制:** Java提供了`java.io.Serializable`接口来支持对象的序列化。实现了这个接口的对象可以在Java序列化机制的帮助下被序列化。此外,还...
同时,多个进程可能需要合作完成一项任务,这就涉及到了进程间通信(Interprocess Communication, IPC)。进程间通信允许进程之间交换信息,以实现同步和协作。常见的进程间通信机制有管道、消息队列、共享内存、...
3.10 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7th Edition, Nov 15, 2006 合作进程与进程间通信 在多进程环境中,往往需要多个进程协同工作来完成一项任务。这就涉及到进程...