Moving Data to or from a Virtual Memory Object
Moving data to or from a virtual memory object is an operation on the virtual memory object, not an address space range.
A data provider (such as a file system) can call the vm_makep service to cause a memory page to be instantiated. This permits a page of data to be moved into a virtual memory object page without causing the virtual memory manager to page in the previous data contents from an external source.
The vm_move and vm_uiomove kernel services move data between a virtual memory object and a buffer specified in a uio structure. This allows data providers (such as a file system) to move data to or from a specified buffer to a designated offset in a virtual memory object. This service is similar to uiomove service, but the trusted buffer is replaced by the virtual memory object, which need not be currently addressable.