Re: cross-bounday memory communication b/w user app and the Kernel.How?
site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com Terry Lambert writes:
are different address spaces. Unlike most 32 bit OS's intended to operate on small machines, MacOS X does not map the user process address space into the kernel address space, so a direct copy is not possible for a user space buffer when you are operating in kernel space (or vice versa - which is not possible even on OS's that map process in, since they don't map the kernel out into user land). The benefit of doing this is that instead of having only 2G or 3G for your programs, you get the full 4G. It also means that instead of only having 2G or 1G for the kernel's use, you have the full 4G - that effectively means that the kernel can do a lot more housekeeping in its own memory, and can theerefore run on machines with large amounts of physical memory (8G, 16G, etc.) without running out of address space.
The downside of this is that things like syscalls take about 8x long as linux on the same hardware the last time I measured them. Drew _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... This email sent to site_archiver@lists.apple.com
participants (1)
-
Andrew Gallatin