Resource contention

In computer science, resource contention is a conflict over access to a shared resource such as random access memory, disk storage, cache memory, internal buses or external network devices.

Resolving resource contention problems is one of the basic functions of operating systems.

Various low-level mechanisms can be used to aid this, including locks, semaphores, mutexes and queues.

The other techniques that can be applied by the operating systems include intelligent scheduling, application mapping decisions, and page coloring.

[1][2] Access to resources is also sometimes regulated by queuing; in the case of computing time on a CPU the controlling algorithm of the task queue is called a scheduler.