早期和现代 Unix 系统之间的共享内存有什么区别?

早期和现代 Unix 系统之间的共享内存有什么区别?

在 Unix 的早期版本中,进程如何共享内存?这与共享内存的现代实现相比如何?

答案1

非常早期的 UNIX 系统没有MMU,因此有效地,全部系统中的内存在内存中的所有进程之间共享。 UNIX V7 是第一个具有内存管理功能的操作系统,据我所知。 PDP-11发布时甚至没有MMU;看这本 PDF 书,第 35 页

随着时间的推移,MMU 变得司空见惯,UNIX 开始需要它。然后内存可以在进程之间分离。在 20 世纪 80 年代,我们看到了更多的 IPC 机制,包括由操作系统管理的共享内存(这是 1983 年左右 SVR1 中的新功能)。 SVR1 还引入了消息和信号量,并且 System V API 在现代系统上仍然可以用于所有这三件事。

相关内容