gpt4 book ai didi

linux - 共享内存 : How does shmget()/shared memory work?

转载 作者:IT王子 更新时间:2023-10-29 00:37:56 24 4
gpt4 key购买 nike

通过查看 shmget() 的手册页,我了解到 shmget() 调用会在内存中分配# of pages,这些页面可以跨进程共享。

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

我的假设:

  • 调用 shmget() 时,内核将保留一定数量的段/页。
  • 调用 shmat() 时,保留段映射到进程的地址空间/页面。
  • 当新进程附加到同一段时,先前创建的内核段将映射到新进程的地址空间。

这是正确的吗?

最佳答案

这个想法或多或少是正确的,除了“内核内存页”的措辞。在内存管理中保留/分配的内存不是专门为内核设计的。它只是“内存页”,还没有映射到进程内存中。

关于linux - 共享内存 : How does shmget()/shared memory work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21931127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com