I bin learning fings, Oi have.
With position independent (i.e. or maybe e.g. shared memory) data structures;
On Linux you do not need support for multple shared memory segments *as far as NUMA is concerned*.
This is obvious really – you just turn on striping.
You do need support for multiple shared memory segments *just because*, i.e. the user may want this for whatever reason.
On Windows, you *do* need support for multiple shared memory segments *as far as NUMA is concerned*, to perform striping manually, which is how you have to do it under Windows.
You also need it for itself, as on Linux.