That's great, up until the point when the 'unimportant' background task loses data and the user whinges, because the machine isn't fast enough or a task is poorly programmed.
In reality non server OS do exactly what you specify : foreground tasks get a performance boost over background tasks.
You do realise that a phone call on a smartphone is by nature a background task, so by your logic if you're busy in a game consuming plenty of CPU, the smartphone should drop the call and let you get on with squashing monsters
In short, it's not easy, and users get very annoyed when a dialog box pops up saying 'your computer is no longer fast enough to run more than one modern app at a time, please spend four hundred quid and try again'