05 2016 档案

摘要:1.什么是信号? A.信号是在软件层次上对中断机制的一种模拟。在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。 B.信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上进程也不知道信号到底什么时候到达。 C.信号可以直接进行用户空间进程和内核进程之间的交互,内核进程也 阅读全文
posted @ 2016-05-23 18:06 wssheng 阅读(666) 评论(0) 推荐(0)
摘要:1.什么是信号量? 为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问代码的临界区域。临界区域是指执行数据更新的代码需要独占式地执行。而信号量就可以提供这样的一种访问机制,让一个临界区同一时间只有一个线程在 阅读全文
posted @ 2016-05-16 19:07 wssheng 阅读(1062) 评论(0) 推荐(0)
摘要:1.什么是共享内存? 共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语 阅读全文
posted @ 2016-05-14 17:03 wssheng 阅读(424) 评论(0) 推荐(0)
摘要:在前一篇文章中,我们看到了如何使用匿名管道来在进程之间传递数据,这个方式有一个缺陷,就是这些进程必须由一个共同的祖先进程启动,这在不相关的的进程之间交换数据带来了不便。而另一种通信方式——命名管道,可以解决不相关进程间的通信问题。 1.什么是命名管道?命名管道也被称为FIFO文件,它是一种特殊类型的 阅读全文
posted @ 2016-05-14 16:30 wssheng 阅读(338) 评论(0) 推荐(0)
摘要:1.什么是管道? 管道分为无名管道和命名管道,本文中如无特殊说明均指无名管道。 管道是Linux支持的最初Unix IPC形式之一,具有以下特点:A.管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;B.只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);C.单独构成一 阅读全文
posted @ 2016-05-14 16:06 wssheng 阅读(527) 评论(0) 推荐(0)