How does a Windows Kernel mode Driver, access paged memory?

后端 未结 1 1486
渐次进展
渐次进展 2021-02-11 01:44

1) A usermode process has its own \"address context\", which maps the user-mode virtual addresses to a unique collection of physical page frames. That is, the meaning

1条回答
  •  野趣味
    野趣味 (楼主)
    2021-02-11 02:40

    The concept used is the "user/kernel address space split". Each process address space is split into a lower portion (typically 2 GB) that is accessible to the process in user mode and differs for each process, and an upper portion (the remaining address space) that is only accessible in kernel mode, and is the same for every process.

    When the driver allocates paged memory, it is allocated on the kernel side of the address space split, so it will be visible to kernel code no matter which processes page tables are loaded at the time (since this part of the address space is mapped in the same way for every process).

    0 讨论(0)
提交回复
热议问题