Windows XP是否具有与VAX / VMS安装的共享映像相同的功能?

时间:2012-09-24 12:25:29

标签: windows windows-xp executable

回到我在VAX / VMS上开发的好旧时代,它有一个名为“已安装的共享映像”的功能,如果一个预期的可执行程序将由许多用户同时运行,则可以调用INSTALL实用程序:

$ INSTALL

INSTALL>添加ONES_PROGRAM.EXE / SHARE

INSTALL> EXIT

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

Windows XP有类似的东西吗?我无法弄清楚控制面板的“添加程序/功能”是否相同(我认为是,但我不确定)

非常感谢任何信息

理查德

P.S。 INSTALL还会分享图书馆和程序,以防您感到好奇

1 个答案:

答案 0 :(得分:1)

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

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

最重要的是,您无需做任何明确的事情来实现这一目标。