Before when I ran a Folding@Home client and now when using BOINC they always used "idle" cpu time (for those of you unfamiliar with those programs they run huge scientific calculations on your computer, so very intensive). However I noticed that in both Windows and in Linux trying to do other things (Firefox, programming in Netbeans, etc) all those programs are extremely slow.
Now I know you can do things like only running the clients on 2 or 3 cores (assuming 4 core system) but I'm more interested in why this "idle" cpu time would cause programs with normal priority to slow down. Wouldn't a process with normal priority run first before the process with idle priority, interrupting it if necessary? Why is it difficult for OS's to manage this?