A computer system having a kernel for mapping virtual memory address space
to physical memory address space. The computer system uses a method for
performing an input/output operation. A physical memory buffer is
registered with a subsystem, and the physical memory buffer is associated
with a first virtual address, a size and a key. The physical memory
buffer is dynamically associated with a second virtual address which is
different from the first virtual address. As part of an application
program an input/output operation is requested regarding the second
virtual address. An application table is used to obtain the first virtual
address, the key and the size. The first virtual address, the key and the
size are supplied to the subsystem. The subsystem uses the first virtual
address, the key and the size, to determine the physical memory buffer
and performs an input/output operation using the physical memory buffer
without intervention of the kernel.