@Argo:
AmigaOS uses round-robin, with a fixed (but settable) priority for each process with quite a bit of granularity (-127 to 127, IIRC). NT (and XP, which is just NT 5.1) has a much more complex round-robin variant, in which you give each process a rough priority (low, normal, high, or real-time) and XP dynamically allocates more CPU time to processes in the foreground (if you've set the OS up for client-side use) or the background (if you've set it up for server-side use). That, in theory, is a pretty good setup. In practice though, if I click to do a full project rebuild on Visual Studio 7 and immediately try to launch IE, the IE window will not pop up until compilation is finished on VS. I have no idea if VS just gives itself realtime priority to speed up compile times, but in any case the user experience is pretty crappy. I can't remember that sort of thing ever happening on AmigaOS 3.1, and BeOS (and recent Linux kernels) are said to be able to play multiple MPG videos simultaneously without any single player degrading more than the others. In other words, it's possible to do it "properly". As usual, MS seems to have a basically good design, but a lousy implementation.