文章分类 -  OS

Linux系统环境下关于多进程并发写同一个文件的讨论
摘要:原文地址:Linux系统环境下关于多进程并发写同一个文件的讨论作者:CUKdd讨论关于并发环境下,多个进程对同一文件写入的问题,我们会涉及到文件共享的知识。在开始之前,我们先讨论一些有关文件共享的知识。1. 文件共享Unix系统支持在不同进程间共享打开的文件。为此,我们先介绍一下内核用于所有I/O的数据结构。注意,下面的说明是概念性的,与特定的实现可能匹配,也可能不匹配。 内核使用三种数据结构表示打开的文件,它们之间的关系决定了在文件共享方面一个进程对另一个进程可能产生的影响。 (1) 每个进程在进程表中都有一个记录项,记录项中包含有一张打开文件描述符表,可将其视为一个矢量,每个描述符占用一项 阅读全文

posted @ 2014-02-11 09:59 优雅的码农 阅读(2191) 评论(0) 推荐(0)

几种进程间的通信方式
摘要:# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。# 信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。# 消息队列( message queue ) : 消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队 阅读全文

posted @ 2014-01-04 22:49 优雅的码农 阅读(130) 评论(0) 推荐(0)

导航