很久以来我都是只闻其名,未见其形.终于在这次系统的学习linux编程中接触到了共享内存.果然很牛.
上一篇文章中我们讲的信号量,个人感觉,严格的说,信号量只是进城通信的辅助.而共享内存才真正实现了进程通信.
共享内存机制允许两个不想关的进程访问同一段物理内存,当然得是一台主机.
头文件 和信号量的情况一样,也需要包含sys/types.h 和 sys/ipc.h .当然有可能已经包含在了...
分类:
其他好文 时间:
2015-04-27 00:32:44
阅读次数:
149
首先我们需要了解的一个概念应该是临界资源和临界区.所谓临界资源即多个进程同时访问的一个资源.此资源的特点是同一时间只能有一个进程对它进行访问.而临界区的概念,就是我们的程序中,负责访问临界资源的那段代码,一般也就是那么几行而已....
分类:
其他好文 时间:
2015-04-26 18:24:02
阅读次数:
152
SystemV共享内存机制:shmgetshmatshmdtshmctl原理及实现:systemVIPC机制下的共享内存本质是一段特殊的内存区域,进程间需要共享的数据被放在该共享内存区域中,所有需要访问该共享区域的进程都要把该共享区域映射到本进程的地址空间中去。这样一个使用共享内存的进程可以将信息写...
分类:
系统相关 时间:
2015-04-17 15:26:58
阅读次数:
222
CentOS7/RHEL7systemd详解目录1.为什么是systemd(1)关于Linux服务管理(2)SysVinit的优缺点(3)UpStart的改进(4)systemd的诞生(5)为什么systemd能做到启动很快2.SysVinit介绍(1)什么是SystemV(2)SysVinit的运行级别(3)SysVinit运行顺序(4)SysVinit和系统关闭(..
分类:
其他好文 时间:
2015-04-07 20:10:16
阅读次数:
385
消息队列
消息队列分为:
1.posix消息队列:可以在同一主机上有亲缘关系或无亲缘关系的进程间使用。
2.system v消息队列:同上。
消息队列有随内核的持续性....
分类:
其他好文 时间:
2015-02-28 21:45:15
阅读次数:
245
IPC的3种技术:
进程(线程)间传递消息的6种接口:
1.管道
2.消息队列
3.过程调用
进程(线程)间同步的6种接口:
1.信号量(两种)
2.互斥量
3.条件变量
4.读写锁
5.记录上锁
进程(线程)间共享内存的2种接口:
1.匿名共享内存
2.有名共享内存...
分类:
系统相关 时间:
2015-02-28 18:40:12
阅读次数:
215
System V(“系统五”)系统上发明了三种IPC机制(消息队列、信号量和共享内存),通常称为System V IPC。
C语言是一门面向过程的语言,与OO语言不同,它没有做到数据和操作的封装。因此在编写C语言程序的时候暴露在你面前的是一大堆函数。由于缺少OO的那层抽象,增加了记忆时的复杂度,因此如果你对函数分不清的话,常常会使你在编程的时候焦头烂额。本文不会详实地介绍各个函数的参数、返回值等等这些细节,本文的目的是帮助你打通三种IPC之间关系的任督二脉,从而强化理解,减轻记忆难度。看了本文希望您也能引申...
分类:
其他好文 时间:
2015-02-19 16:19:23
阅读次数:
309
一 概念
内核分配的一块存储去,多个进程可以将物理内存映射到进程的虚拟地址空间,从而实现对内存的直接操作,是效率最高的IPC。
消息队列和管道都有在用户地址空间和内核空间相互复制产生的开销。
二 操作函数
1 创建共享内存
#include
#include
int shmget( key_t key, //代...
分类:
其他好文 时间:
2014-09-22 15:56:52
阅读次数:
312
Samba配置Samba服务安装完成后,需要修改Samba服务配置文件以满足使用需求。Samba主配置文件为smb.conf,位于/etc/samba目录下。Samba服务配置基本流程如图6-2所示。常规配置(1)1.Samba服务启动、暂停Samba属于SystemV服务,其启动、暂停相关命令如下。servicesmbstart#启动..
分类:
系统相关 时间:
2014-09-15 19:43:10
阅读次数:
518