【操作系统百科】共享内存:SysV vs POSIX vs memfd
共享内存是最快的 IPC,但 API 分裂成三代:SysV shmget/shmat、POSIX shm_open、现代 memfd_create。本文讲三者的内核差别、hugetlbfs 的大页共享、memfd sealing 在 GPU/Wayland 里的安全作用、以及 /dev/shm 的 tmpfs 真相。
发布来自土法炼钢兴趣小组的知识、笔记、进展和应用。主题包括数据结构和算法、编程语言、网络安全、密码学等。
共 4 篇文章 · 返回首页
共享内存是最快的 IPC,但 API 分裂成三代:SysV shmget/shmat、POSIX shm_open、现代 memfd_create。本文讲三者的内核差别、hugetlbfs 的大页共享、memfd sealing 在 GPU/Wayland 里的安全作用、以及 /dev/shm 的 tmpfs 真相。
消息队列承诺「有边界的带优先级的 IPC」,但 Linux 上两代 API(SysV msg、POSIX mq)都很冷清。内核内的 kdbus 曾想成为下一代系统总线,最终被拒。本文讲三者的设计、使用限制、以及为什么现代系统几乎都改走 Unix socket + 序列化库 + userspace broker。
在大数据和分析系统的演进过程中,一个反复出现的性能瓶颈不是计算本身,而是数据在不同系统之间搬运时的序列化(Serialization)与反序列化(Deserialization)开销。Pandas 把数据交给 Spark,Spark 把结果传给 R,R 再把子集喂给 TensorFlow——每一次跨系统传递,数据都要从…
容器不是魔法。它就是几个系统调用。本文用 C 从 clone() 开始,逐个开启 PID/UTS/Mount/IPC namespace,看隔离到底是怎么回事。50 行代码,你就拥有了一个'容器'的雏形。