易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux进程间通讯之消息队列


1. 基本概念
消息队列的最佳定义是:内核地址空间中的内部链表。消息可以顺序地发送到队列中,
并以几种不同的方式从队列中获取。当然,每个消息队列都是由 IPC标识符所唯一标识的。
2. 内部和用户数据结构
要完成理解象系统 V IPC这样复杂的问题,关键是要彻底熟悉内核的几个内部数据结构。
甚至对那些最基本的操作来说,直接访问这些结构中的某几个结构也是必要的,而其他的结
构则停留在一个更低的级别上。
3. 消息缓冲区
我们要介绍的第一个结构是 msgbuf结构。这个特殊的数据结构可以认为是消息数据的模
板。虽然定义这种类型的数据结构是程序员的职责,但是读者绝对必须知道实际上存在
msgbuf类型的结构。它是在在 linux/msg.h中定义的,有2个成员:
• mtype—它是消息类型,以正数来表示。这个数必须为一个正数!
• mtext—它就是消息数据。
 
4. 内核msg结构
内核把消息队列中的每个消息都存放在 msg结构的框架中。该结构是在 linux/msg.h中定义
的,如下是其成员的描述:
• msg_next—这是一个指针,指向消息队列中的下一个消息。在内核寻址空间中,它们
是当作一个链表存储的。
• msg_type—这是消息类型,它的值是在用户结构 msgbuf中赋予的。
• msg_spot—这是一个指针,指向消息体的开始处。
• msg_ts—这是消息文本(消息体)的长度。
• 内核 msgid_ds结构—IPC对象分为三类,每一类都有一个内部数据结构,该数据结构
是由内核维护的。对于消息队列而言,它的内部数据结构是               msqid_ds结构。对于系统上
创建的每个消息队列,内核均为其创建、存储和维护该结构的一个实例。该结构在
linux/msg.h中定义,如下所示:
struct msqid_ds{
    struct ipc_perm     msg_perm;  
    msgqnum_t   msg_qnum;      
    msglen_t    msg_qbytes;    
    pid_t       msg_lspid;     
    pid_t       msg_lrpid;         
 &


相关文档:

在LINUX上实现 windows 回收站功能的脚本


由于公司里的备份软件是每天晚上执行一次,如果员工当天不小心删除了文件,那只能回复到昨天的状态,如果是员工今天花了一天才写完的CODE,那就没法恢复 了,这样就员工一天的工作就白干了,当然你可能会说,这个员工活该,谁让他不小心了,但是当事情发生了之后,人家就会来找你解决了,虽然 你平常躲在角落里听歌、看电 ......

Linux 用户(user)和用户组(group)管理概述


Posted 十月 14th, 2005 by beinan
Fedora
 
Redhat
 
基础入门
 
Fedora
作者:北南南北
来自:LinuxSir.Org
摘要:本文主要讲述在Linux 系统中用户(user)和用户组(group)管理相应的概念;用户(user)和用户组(group)相关命令的列举;其中也对单用户多任务,多用户多任务也做以解说,本文应该说 ......

Linux热插拔


Linux热插拔
from: 
http://blog.chinaunix.net/u1/34190/showart_287894.html
将可移动设备连入系统时,系统的后台中会依次发生如下事件:
l         
内核检测到新硬件插入,然后分别通知
hotplug

udev
。前者用来装入相应的内核模块
(

usb-stora ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号