1. A method of transferring data between first and second processes in a fault-tolerant data processing system having at least a first and a second processor, comprising the steps of: dividing a function to be performed by the fault-tolerant data processing system between the first process and the second process so that a transfer of data is required between the first and second processes; creating an input queue for the second process in a memory segment shared by the first and second processes, the input queue having a data field describing whether the second process should be awakened; and determining whether the transfer of data between the first and second processes requires checkpointing; responsive to a positive determination that the transfer of data requires checkpointing: checkpointing the data to be transferred, the step of checkpointing comprising the step of copying the data to be transferred; responsive to a negative determination that the transfer of data requires checkpointing: storing, by the first process in the input queue of the second process, a pointer in the shared memory segment pointing to the data to be transferred; and consuming, by the second process, the data pointed to by the pointer stored in the input queue of the second process.