0

早在我在 VAX/VMS 上开发时,它有一个名为“已安装共享图像”的功能,如果一个人期望一个可执行程序将由多个用户同时运行,那么可以调用 INSTALL 实用程序:

$安装

安装> 添加一个_PROGRAM.EXE/SHARE

安装>退出

/SHARE 标志具有将代码从数据中分离出来的效果,以便 ONES_PROGRAM.EXE 的并发用户都将共享代码(当然是只读的)但每个人都有自己的数据副本(在读写基础)。这种技术/功能节省了数兆字节的内存(这在当时是必要的),因为无论并发用户的数量如何,只需将程序代码的一个副本驻留在 VAX 内存中。

Windows XP 有类似的东西吗?我不知道控制面板的“添加程序/功能”是否等效(我认为是,但我不确定)

非常感谢任何信息

理查德

ps INSTALL 还会共享库和程序,以防您好奇

4

1 回答 1

1

Windows 虚拟内存管理器会自动为您执行此操作。只要模块可以在每个进程中加载​​到相同的地址,代码的物理内存将在加载该模块的每个进程之间共享。这适用于所有模块、库以及可执行文件。

这是通过链接器将代码段标记为可共享来实现的。因此,链接器将代码段标记为可共享,否则将数据段标记为可共享。

最重要的是,您不必做任何明确的事情来实现这一点。

于 2012-09-24T13:17:39.827 回答