If you're using multiple resources on the same hard drive, then you can't. As both a software developer and end-user, aside from telling the process scheduler what you want to run more, you have no direct control over what process can run at time X and access hardware Y. As a developer, the best you can do is give the scheduler "hints" in some cases, and as an end-user, you can change the scheduler priority (the more said program runs, the more disk I/O operations it will have relative to the other programs).
If you're doing multiple things on a mechanical hard drive at once, you might find better results by performing these actions one at a time. If you're talking about file transfers, considering replacing the Explorer file copy handler with another program which supports transfer queuing (such as TeraCopy).