当前位置:  技术问答>linux和unix

信号量是如何共享的?

    来源: 互联网  发布时间:2017-03-31

    本文导语:  我知道信号量实现的大概过程,但是我就是不知道我在A进程中申请一个信号量,如果和A没有亲属关系的B进程是如何得到这个信号量的?如果信号量是内核的资源,那么信号量的主要属性是什么?别的进程是如何确定...

我知道信号量实现的大概过程,但是我就是不知道我在A进程中申请一个信号量,如果和A没有亲属关系的B进程是如何得到这个信号量的?如果信号量是内核的资源,那么信号量的主要属性是什么?别的进程是如何确定这个信号量的“地址”?

|



我知道信号量实现的大概过程,但是我就是不知道我在A进程中申请一个信号量,如果和A没有亲属关系的B进程是如何得到这个信号量的
---------------------------------
你在A中要申请一个命名信号量,那么B一定要知道这个命名才可以使用。也就是说他们必须使用固定的,预先定义好的命名。

如果信号量是内核的资源,那么信号量的主要属性是什么?
-------------------------------------------------
命名信号量必须是内核资源,信号量和其他IPC资源一样都是持久存在的,除非被显示的释放(进程退出并不会释放),否则永远驻留在系统中。信号量的属性参看kernel_src/ipc目录下内容

别的进程是如何确定这个信号量的“地址”?
-------------------------------
通过已知的命名

|
比如说system v的信号量 , semget,segop,semctl操作的
内核中的sem结构可以看下内核中的头文件里的结构体.可能还有部分对此的管理存储等在内核的实现文件.c文件中
linux/sem.h
http://www.cs.fsu.edu/~baker/devices/lxr/http/source/linux/include/linux/sem.h?v=2.6.11.8
和linux/ipc.h
http://www.cs.fsu.edu/~baker/devices/lxr/http/source/linux/include/linux/ipc.h

虽然sem.h和ipc.h在/usr/include/sys/下也存在。但这里只是一个与调用系统调用的接口,,真正的实现在内核中。  百度/GOOGLE linux系统调用
在内核的arch/x86/include/asm/unistd.h中定义了所有的系统调用。其中semget,semop,semctl都在这里面。这也能说明信号量的实现是在内核中了。
http://lxr.free-electrons.com/source/arch/arm/include/asm/unistd.h?v=2.6.32

不知道我说明白了没有。

    
 
 

您可能感兴趣的文章:

  • 生产者消费者问题为什么不可以共用一个信号量,如果这个信号量可以设置取值固定为0到N,即当信号量取值为N的时候阻塞进程,是否也可以?
  • 关于信号量与UNIX信号的疑问
  • 自旋锁和读写自旋锁、信号量和读写信号量分别有什么区别?
  • semaphore.h sem.c Posix 信号量 System v 信号量
  • 当信号量(灯)遇上信号,help!
  • 书上说,中断用自旋锁,进程,用信号量,但是,为什么中断不能用信号量?
  • 关于消息队列信号量信号共享内存等核心编程的问题(求知若渴!!!.....)
  • 请问线程中的信号量,怎么设置成0,1信号量?
  • linux 中信号量的使用 当信号初始化的时候设置的值大于1将是如何?
  • 多个进程共用一个信号量,如果某个进程死掉,此时又将信号量锁定,其它进程就死掉,有什么办法可以解决这一问题
  • POSIX:有名信号量 和SYStem V的信号量 你用哪个?
  • 信号灯操作报错:semop:EINVAL(信号量集不存在或参数无效)
  • 求助一些关于信号量的问题
  • 【求助】多进程中 内核信号量无效?
  • 关于信号量的问题
  • 为什么中断不能用信号量?
  • 信号量
  • 信号量释放
  • 信号量的烦恼
  • 信号量的问题
  • 请问:p,v对共享区进行操作时, 需要几个信号量啊,一个行不行啊?
  • (在线等)消息队列,信号量和共享存储器之间各自有啥特殊功能?有啥共同点??
  • 哪位有信号量和共享内存同时使用的例子??高分
  • 一组除了信号量外不可能共享任何变量的顺序进程可以彼此通信吗?
  • 求高手,关于信号量和共享内存的...
  • 不显示删除回复显示所有回复显示星级回复显示得分回复 父子进程间通信:1:共享内存2:信号量:父进程里请求信号量错误,高手帮忙
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 信号量的调整值什么意思
  • 请高人指点:在unix下,如何实现二值信号量
  • 信号量实现的同步互斥机制
  • POSIX的信号量随内核存在的问题?
  • 信号量可以用于多进程多线程同时互斥不?
  • 关于信号量的问题(sem)????
  • 在linux下怎么使用信号量?
  • 进程间通信 信号量
  • 关于Linux下的信号量
  • 请问unix下如何设置信号量超时?
  • 用信号量机制解决实际的三个进程同步问题
  • 关于信号量ID的疑问
  • 请教信号量处理函数signal的问题?
  • 信号量编程!
  • 请问下,在嵌入式linux驱动里面可不可以用信号量?
  • 使用信号量如何让父子进程交替运行?
  • 操作系统中的信号量
  • 询问一个信号量问题
  • 问个信号量问题
  • 信号量和互斥锁有什么区别??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,