linux – 共享内存:shmget()共享内存如何工作?

linux – 共享内存:shmget()共享内存如何工作?,第1张

概述通过浏览shmget()的手册页,我知道shmget()调用会在内存中分配页面,这些页面可以跨进程共享. 是否要创建内核内存页面,该页面映射到进程的本地地址空间? 或者它是为该段保留的相同进程内存页面,同样也将为其他附加进程共享? 我的假设: 当调用shmget()时,内核将保留段数/页面数.调用shmat()时,保留的段将映射到进程的地址空间/页面.当新进程附加到同一段时,先前创建的内核sege 通过浏览shmget()的手册页,我知道shmget()调用会在内存中分配页面,这些页面可以跨进程共享.

是否要创建内核内存页面,该页面映射到进程的本地地址空间?
或者它是为该段保留的相同进程内存页面,同样也将为其他附加进程共享?

我的假设:
当调用shmget()时,内核将保留段数/页面数.调用shmat()时,保留的段将映射到进程的地址空间/页面.当新进程附加到同一段时,先前创建的内核segemnt将映射到新进程地址空间.

它是否正确 ?

解决方法 除了“内核内存页面”这个词之外,这个想法或多或少是正确的.内存管理中保留/分配的内存不是专门为内核编写的.它只是“内存页面”,尚未映射到进程内存中. 总结

以上是内存溢出为你收集整理的linux – 共享内存:shmget()/共享内存如何工作?全部内容,希望文章能够帮你解决linux – 共享内存:shmget()/共享内存如何工作?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1047693.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存