Unix网络编程(卷二)
文章平均质量分 82
准备找工作的Ocean
坚持住才能变得和别人不一样
展开
-
UNIX网络编程卷2进程间通信读书笔记----记录锁
1.记录锁的功能 当一个进程正在读或修改文件的某个部分时,它可以阻止其他进程修改同一文件区。我们不应该从字面上去理解记录锁,实际上它应该叫“区域锁”,因为它锁定的只是文件的一个(也可能是整个文件)。这个区域用来存放多用户的共享区。 2.记录锁的分类 记录锁分为共享读锁和独占写锁,前者也叫做共享锁后者也叫做排他锁。 3.加锁规则 如果一个进程对共享区原创 2014-09-24 12:57:58 · 805 阅读 · 0 评论 -
UNIX网络编程卷2进程间通信读书笔记—Posix信号量
一、Posix有名信号灯 1.posix有名信号灯函数 函数sem_open创建一个新的有名信号灯或打开一个已存在的有名信号灯。有名信号灯总是既可用于线程间的同步,又可以用于进程间的同步。 1. 名称:: sem_open 功能: 创建并初始化有名信号灯 头文件: #includ原创 2014-09-28 10:47:45 · 720 阅读 · 0 评论 -
UNIX网络编程卷2进程间通信读书笔记 共享内存区
第6章 Posix共享内存区 6.1 共享内存区 共享内存区是可用IPC形式中最快的,只有映射和解除映射需要进入内核的系统调用,映射后对共享内存区的访问和修改不再需要系统调用(内核只要负责好页表映射和处理页面故障即可),但通常需要同步手段。 一个客户-服务器间传递文件数据的例子中,FIFO或消息队列等IPC方式需要4次内核-进程间的数据复制,每次都需要切换地址空间,开销很大;共享内存区只原创 2014-10-02 09:36:51 · 1036 阅读 · 0 评论 -
UNIX网络编程卷2进程间通信读书笔记—System V消息队列
1、消息队列的基本概念 消息队列就是一个消息的链表。有足够写权限的进程可往队列中放置消息,有足够读权限的进程可从队列中取走消息。每个消息是一个记录它由发送者赋予一个优先级。在某个进程往一个队列写入消息之前,并不需要另外某个进程在该队列上等待消息的到达。这跟管道和FIFO是相反的,对后者来说,除非读出者已存在,否则先有写入者是没有意义的。消息队列是随内核持续的。一个进程可以先往某个队原创 2014-09-24 11:09:58 · 803 阅读 · 0 评论 -
UNIX网络编程卷2进程间通信读书笔记—有名管道
二.有名管道 管道应用的一个重大限制是它没有名字,因此,只能用于具有亲缘关系的进程间通信,在有名管道(named pipe或FIFO)提出后,该限制得到了克服。FIFO不同于管道之处在于它提供一个路径名与之关联,以FIFO的文件形式存在于文件系统中。这样,即使与FIFO的创建进程不存在亲缘关系的进程,只要可以访问该路径,就能够彼此通过FIFO相互通信,因此,通过FIFO不相关的进程原创 2014-09-24 11:04:54 · 1168 阅读 · 0 评论 -
UNIX网络编程卷2进程间通信读书笔记-管道
一.管道 管道的名称很形象,它就像是一个水管,我们从一端到水然后水从令一端流出。不同的是这里说的管道的两边都是进程。从一端往管道里写数据,其它进程可以从管道的另一端的把数据读出,从而实现了进程间通信的功能。 管道是Linux支持的最初Unix IPC形式之一,具有以下特点: 1.管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管原创 2014-09-24 10:45:51 · 835 阅读 · 0 评论 -
UNIX网络编程卷2进程间通信读书笔记—概述
一.什么是进程间通信 IPC是进程间通信的简称,所谓进程通信,就是不同进程之间进行一些"接触",这种接触有简单,也有复杂。机制不同,复杂度也不一样。通信是一个广义上的意义,不仅仅指传递一些massege。还包含进程之间的合作等。 二.进程间通信的分类 进程间通信大致可分为本地进程间通信和网络进程间通信。 三.进程间通信的几种主要手段 1.管道(P转载 2014-09-24 10:47:05 · 1006 阅读 · 0 评论