High level architecture (3) Communication between processes is completely non-blocking: bulk data is passed in shared memory blocks (mmapped, anonymous files where all dynamic memory allocation is done). signalling occurs through AF_UNIX sockets; flushing the 'capture' subsystem requires little more than swapping two pointers.