1. A method for unidirectional communication between tasks, comprising: blocking a communication channel portion of a first virtual memory of a first task, such that the first task cannot access said portion; providing a second task, having access to a second amount of virtual memory with the same virtual address as the first virtual memory of the first task and having associated virtual table entries, wherein a communication channel portion of the second virtual memory corresponding to the blocked portion of the first virtual memory is usable; mapping virtual table entries in the communication channel to physical memory; transferring virtual table entries of the communication channel memory of the second task to the first task; and unblocking the communication channel memory of the first task.