 QNX avoids the problem by requiring the client to specify the reply buffer as part of the message send call.When the server replies the kernel copies the data to the client's buffer, without having to wait for the client to receive the response explicitly.Microkernel servers are essentially daemon programs like any others, except that the kernel grants some of them privileges to interact with parts of physical memory that are otherwise off limits to most programs.