1. OSs are generally unaware of the details of memory controller configuration, everything is preconfigured by firmware. Apple's vertical integration could help here, but they would probably need help from Intel and it would work only in OSX.
2. It's not the case that if you install four 8GB sticks they will be mapped at 0-8G, 8-16G, etc. and the OS can simply move data from one area to another. For performance, data are striped RAID0-style across all modules. They would have to disable this.
3. I don't know if OSX supports non-identity VM-mapping of kernel memory pages. Linux for example doesn't afaik. Without this it's impossible to move arbitrary kernel objects because you can't find and update all pointers pointing to them.
1. OSs are generally unaware of the details of memory controller configuration, everything is preconfigured by firmware. Apple's vertical integration could help here, but they would probably need help from Intel and it would work only in OSX.
2. It's not the case that if you install four 8GB sticks they will be mapped at 0-8G, 8-16G, etc. and the OS can simply move data from one area to another. For performance, data are striped RAID0-style across all modules. They would have to disable this.
3. I don't know if OSX supports non-identity VM-mapping of kernel memory pages. Linux for example doesn't afaik. Without this it's impossible to move arbitrary kernel objects because you can't find and update all pointers pointing to them.