gpt4 book ai didi

c# - 内存映射文件被加载到进程的用户模式地址空间或内核地址空间?

转载 作者:太空狗 更新时间:2023-10-30 00:52:04 25 4
gpt4 key购买 nike

我一直在阅读有关 memory mapped files 的内容,它允许跨多个进程共享文件。

每个进程(具体为 32 位)都有 4GB 的私有(private)地址空间,分为 2GB 用户模式地址空间2GB 为内核保留,如 here 所述通过 Eric Lippert 。用户模式地址空间是每个进程私有(private)的,不能被其他进程修改。

那么,这是否意味着 MMF 被映射到内核模式地址空间,因为它在所有进程之间共享?

我搜索了很多关于 MMF 映射的地方,但找不到任何说明这一点的资源。所以,如果我的假设是正确的或者我在这里遗漏了什么,请在这里发布问题? MSDN 的任何资源也很好。

最佳答案

内存映射文件被映射到用户模式地址空间。

这样想。假设您有一个 4K 文件,该文件被内存映射到两个进程中。这仅仅意味着磁盘上的一个存储页面与两个进程中每个进程中的特定虚拟地址空间页面相关联。

此页面上的图 3 可能会有所帮助:

http://msdn.microsoft.com/en-us/library/ms810613.aspx

关于c# - 内存映射文件被加载到进程的用户模式地址空间或内核地址空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23594414/

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