I'm not sure I understand the need to fully reserve cores for the OS. On the PS3 it made sense for the Cell because of the LS I guess, but here what's the reason for not giving access in a non-guaranteed way instead, and give high priority to the OS thread? Most of the time the OS will be idle, it feels like it's kind of a waste of available resources.
Because if you limit the OS to run on specific cores it behaves deterministically.
Console Games generally start 1 thread per hardware core and use affinity to keep them there, if the OS can run on any core, it could push one of those threads over a frame, even though it was no necessary.
It also doesn't pollute the L1 of any none OS cores and if the OS requires multiple cores, and they are on the same module, it doesn't pollute the L2 of the other module.