Map Registers && Sections

Map Registers: translate address
    Drivers that perform DMA use three different address spaces.
    Map Registers (for HAL respect): a logical or device address to a physical address (a location in
physical RAM)
    Page TAble Entry (for CPU respect): a virtual address to physical address.
    An memory descriptor list(MDL) provides a similar mapping for a buffer associated with
driver DMA operations.

    Correspondence between a Map Register and a virtual-to-physical entry in MDL:
    1. maps at most a full physical page of data for a DMA transfer operation
    2. might map less than a full physical page of data
    3. at a minimum, maps one byte
    The map register base is a handle for a set of map registers that could be hardware
registers in a chip, in a system DMA controller, or in a bus-master adapter, or could even be HAL-created virtual registers in system memory.


The size of the kernel-mode stack is limited to approximately three pages.


Section Objects and Views:
    A section object represents a section of memory that can be shared.
    Each memory section has one or more corresponding views. A view of a section is a portion of the section that is actually visible to a process.
    The act of creating a view for a section is known as mapping a view of the section.

    File-backed and Page-file-backed Sections:
    1. A file-backed section reflects the contents of an actual file on disk; in other words, it is memory-mapped file. It can be mapped as Read-Only, Read-Write and Copy-On-Write       
       Copy-On-Write: The fundamental idea is that if multiple callers ask for resources which are initially indistinguishable, you can give them pointers to the same resource. This function can be maintained until a caller tries to modify its "copy" of the resource, at which point a true private copy is created to prevent the changes becoming visible to everyone else. All of this happens transparently to the callers. The primary advantage is that if a caller never makes any modifications, no private copy need ever be created.
    2. A page-file-backed section is backed by the page files rather than by any explicit file on the disk.

原文地址:https://www.cnblogs.com/dust/p/1164280.html