ipc
happylife1527
这个作者很懒,什么都没留下…
展开
-
IPC通信:互斥锁和条件变量
互斥锁机制(Mutual exclusion,缩写为Mutex)是一种用于多线程编程中,防止两条线程同时对同一公共资源(比如全局变量)进行读写的机制。该目的通过将代码切片成一个一个的临界区域(critical section)达成。临界区域指的是一块对公共资源进行存取的代码,并非一种机制或是算法初始化: 在Linux下, 线程的互斥量数据类型是pthread_mutex_t. 在使用前, 要转载 2012-12-12 12:26:52 · 320 阅读 · 0 评论 -
3--共享内存的实践到内核--撤销共享内存的映射和控制
http://blog.csdn.net/embeddedfly/article/details/6411686shmdt(shared_memory) == -1这句代码是撤销共享内存,另一句shmctl(shmid, IPC_RMID, 0) == -1是删除共享内存。我们还是按照原来的分析方法这里不再重复如何进入sys_ipc()的,我们把进入sys_ipc()后的代码重要的代码转载 2012-12-19 21:18:22 · 536 阅读 · 0 评论 -
3--消息队列(报文队列)实践到内核--消息的接收 .
http://blog.csdn.net/embeddedfly/article/details/6411661我是无名小卒,一直想写一些关于内核方面的资料,学习内核很久了,市面上的内核书我都读过了,无法对任何一本书加以总结,因为他就象linux的内核一样在不断更新和升级,针对2.6内核现在市面上非常缺少相关内核的分析资料情况,当然,也有不少网友写了一些关于2.6内核的博客文章,我也看转载 2012-12-12 22:51:58 · 584 阅读 · 0 评论 -
2--信号量的实践到内核--进入内核分析信号量的操作 .
http://blog.csdn.net/embeddedfly/article/details/6411691我们接着看信号量的操作,在semaphore_p()函数中调用了semop(sem_id, &sem_b, 1) 函数,在sys_ipc()系统调用中则会到达 case SEMOP: return sys_semtimedop (转载 2012-12-12 23:20:22 · 437 阅读 · 0 评论 -
2--共享内存的实践到内核--共享内存的映射
http://blog.csdn.net/embeddedfly/article/details/6411681今天继续我们的内核研究,即然我们选择了2.6.26内核做为研究对象的版本,所以请朋友们还是手中有这个源代码比较好,有的地方可能需要朋友们自己去研读,特别是有一定基础的朋友可以更宽泛一些的阅读,如果你是新手就请跟着我的步骤进行,必竟主线我们是牢牢抓住不放的,好了,接着上一节我们转载 2012-12-12 23:19:53 · 380 阅读 · 0 评论 -
1--共享内存的实践到内核--共享内存的创建
http://blog.csdn.net/embeddedfly/article/details/6411677今天我们继续linux从实践到内核的学习,我们开始看一下应用实践程序,他是关于共享内存的,程序来自于linux程序设计书中例子,利用他的例子是为了让大家知道什么是共享内存以及他有什么好处,相信朋友们跟我看我这个练习并走进内核就会清楚了,我们边分析边介绍,遇河搭桥,引领分析方法转载 2012-12-12 23:18:53 · 437 阅读 · 0 评论 -
1--消息队列(报文队列)实践到内核--消息队列的创建 .
http://blog.csdn.net/embeddedfly/article/details/6411650我是无名小卒,一直想写一些关于内核方面的资料,学习内核很久了,市面上的内核书我都读过了,无法对任何一本书加以总结,因为他就象linux的内核一样在不断更新和升级,针对2.6内核现在市面上非常缺少相关内核的分析资料情况,当然,也有不少网友写了一些关于2.6内核的博客文章,我也看转载 2012-12-12 22:50:50 · 613 阅读 · 0 评论 -
Linux环境进程间通信(三)消息队列
http://www.cnblogs.com/webols/archive/2012/04/22/2474061.html转载自http://www.ibm.com/developerworks/cn/linux/l-ipc/part3/消息队列(也叫做报文队列)能够克服早期unix通信机制的一些缺点。作为早期unix通信机制之一的信号能够传送的信息量有限,后来虽然POSIX转载 2012-12-12 22:06:24 · 322 阅读 · 0 评论 -
Linux环境进程间通信(二): 信号
http://www.cnblogs.com/webols/archive/2012/04/22/2474063.htmlhttp://www.cnblogs.com/webols/archive/2012/04/22/2474062.html一、信号及信号来源信号本质信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以转载 2012-12-12 22:05:51 · 297 阅读 · 0 评论 -
1--信号量的实践到内核--信号量的实验 .
http://blog.csdn.net/embeddedfly/article/details/6411689前边几节中我们谈到了关于进程间通讯的消息队列和共享内存,今天我们研究一下信号量,这里所说的信号量是“用户空间进程通讯的信号量”与内核进程的信号量是不同的,还是与以前的学习方法一样,我们先来看一个例子,在这个例子中通过semget创建一个信号量,它返回一个信号量的ID号,我们看转载 2012-12-12 23:19:25 · 422 阅读 · 0 评论 -
2--消息队列(报文队列)实践到内核--消息的发送
http://blog.csdn.net/embeddedfly/article/details/6411655我是无名小卒,一直想写一些关于内核方面的资料,学习内核很久了,市面上的内核书我都读过了,无法对任何一本书加以总结,因为他就象linux的内核一样在不断更新和升级,针对2.6内核现在市面上非常缺少相关内核的分析资料情况,当然,也有不少网友写了一些关于2.6内核的博客文章,我也看转载 2012-12-12 22:51:20 · 523 阅读 · 0 评论 -
Linux环境进程间通信(五): 共享内存
http://www.cnblogs.com/webols/archive/2012/04/22/2474059.htmlhttp://www.cnblogs.com/webols/archive/2012/04/22/2474058.html转载自http://www.ibm.com/developerworks/cn/linux/l-ipc/part5/index1.html转载 2012-12-12 22:07:24 · 444 阅读 · 0 评论 -
Linux环境进程间通信(一)管道和FIFO
http://www.cnblogs.com/webols/archive/2012/04/22/2474064.html1、 管道概述及相关API应用1.1 管道相关的关键概念管道是Linux支持的最初Unix IPC形式之一,具有以下特点:管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具转载 2012-12-12 22:04:40 · 411 阅读 · 0 评论 -
IPC通信:Posix消息队列读,写
http://www.cnblogs.com/polestar/archive/2012/04/16/2451198.html创建消息队列的程序: 1 #include 2 #include 3 #include //头文件 4 #include 5 #include 6 #include 7 #include 8转载 2012-12-12 12:27:58 · 347 阅读 · 0 评论 -
Linux环境进程间通信(四)信号灯
http://www.cnblogs.com/webols/archive/2012/04/22/2474060.html转载自http://www.ibm.com/developerworks/cn/linux/l-ipc/part4/一、信号灯概述信号灯与其他进程间通信方式不大相同,它主要提供对进程间共享资源访问控制机制。相当于内存中的标志,进程可以根据它判定是否能够访问某转载 2012-12-12 12:10:42 · 361 阅读 · 0 评论 -
IPC通信:Posix共享内存2
Posix共享内存区涉及两个步骤:1、指定一个名字参数调用shm_open,以创建一个新的共享内存区对象或打开一个以存在的共享内存区对象。2、调用mmap把这个共享内存区映射到调用进程的地址空间。传递给shm_open的名字参数随后由希望共享该内存区的任何其他进程使用。相关函数: 1 shm_open()函数 2 功能: 打开或创建一个共享内存区 3 头文件:转载 2012-12-12 12:25:59 · 378 阅读 · 0 评论 -
IPC通信:Posix共享内存1
http://www.cnblogs.com/polestar/archive/2012/04/23/2466003.html 共享内存区是最快的可用IPC形式。它允许多个不相关的进程去访问同一部分逻辑内存。如果需要在两个运行中的进程之间传输数据,共享内存将是一种效率极高的解决方案。一旦这样的内存区映射到共享它的进程的地址空间,这些进程间数据的传输就不再涉及内核。这样就可以减少系统调用时间,提转载 2012-12-12 12:25:35 · 341 阅读 · 0 评论 -
IPC通信:Posix消息队列的属性设置
Posix消息队列的属性使用如下结构存放:struct mq_attr { long mq_flags; /*阻塞标志位,0为非阻塞(O_NONBLOCK)*/ long mq_maxmsg; /*队列所允许的最大消息条数*/ long mq_msgsize; /*每条消息的最大字节数*/ long mq_curmsgs; /*队列当前的转载 2012-12-12 12:28:24 · 342 阅读 · 0 评论 -
4--消息队列(报文队列)实践到内核--消息队列的控制
http://blog.csdn.net/embeddedfly/article/details/6411669前边三节,我们讲了消息队列的创建、发送信息和接收消息,今天继续沿着应用程序路线看内核中的对消息队列的控制,首先是我们看一下应用程序中的界面函数msgctl(msgid,IPC_RMID,0);通过sys_ipc()系统调用中看到这样一句switch语句代码:转载 2012-12-19 21:18:51 · 515 阅读 · 0 评论