Software under single user OS' just is not threaded well enough.
What has a "single user OS" to do with threading Programs? It's up to the programmer to enable multithreading of an application. For example on Windows I used
HANDLE WINAPI CreateThread( lpThreadAttributes, dwStackSize, lpStartAddress, lpParameter, dwCreationFlags, lpThreadId)
more than a decade ago already. And windows balances the threads quite well.
If the developers don't slice their apps into threads, the OS cannot do much about that.