previous | start | next

Copy What?

Copying data from one process's address space to another process's address space presents some challenges and seems like a general feature that may be needed by the operating system.

But more concretely, a user may want data, say from the process manager's process table and the data is too big or has too many parts to fit into a message. So in this case we would need to be able to copy data from the process manager (from its process table) into the awaiting variable or struct in the user's process.

We would need to implement a system call from the user to the process manager passing the address of the user's struct in a message.

The do_xxxx function in the process manager that handles the system can in most circumstances do the copying from its own address space into the user process by using the sys_vircopy function rather than duplicating the work of translating virtual to physical addresses that sys_vircopy does.



previous | start | next