Shared memory is the fastest way of communicating between processes. It is
suitable for moving small amounts of data at high speed as well as large
amounts of data at high speed.
Mach messages and IOService calls are also able to move data back and forth,
but are better used in a signaling environment rather than a streaming
environment.
--
Mark Cookson
M-Audio, a part of Avid
225 Locust St.
Hudson, WI 54016
On 6/23/05 12:01 PM, "Tommy Schell" <email@hidden>
wrote:
> Hi,
>
> I am copying data back and forth from user space to a driver, at the
> rate of about 750 Kbytes per second.
> So I set up a shared buffer using IOConnectMapMemory for the user space
> app, and the shared buffer is
> created in the driver.
>
> At the end of the shared buffer I leave a little room for various flags
> and status indicators as a means of communication
> between the app and the driver (about 20 bytes).
> Is this a good way to communicate? Or does each read or write into the
> shared flags at the end of the buffer require
> memory paging, and is therefore an inefficient means of communication?
>
> Thanks,
> Tommy Schell
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-drivers mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/darwin-drivers/email@hidden
This email sent to email@hidden