Incomputer science,resource contention is a conflict over access to ashared resource such asrandom access memory,disk storage,cache memory, internalbuses or external network devices. A resource experiencing ongoing contention can be described asoversubscribed.
Resolving resource contention problems is one of the basic functions ofoperating systems. Various low-level mechanisms can be used to aid this, includinglocks,semaphores,mutexes andqueues. The other techniques that can be applied by the operating systems include intelligent scheduling, application mapping decisions, andpage coloring.[1][2]
Access to resources is also sometimes regulated by queuing; in the case of computing time on aCPU the controllingalgorithm of thetask queue is called ascheduler.
Failure to properly resolve resource contention problems may result in a number of problems, includingdeadlock,livelock, andthrashing.
Resource contention results when multiple processes attempt to use the same shared resource. Access to memory areas is often controlled by semaphores, which allows a pathological situation called a deadlock, when differentthreads orprocesses try to allocate resources already allocated by each other. A deadlock usually leads to a program becoming partially or completely unresponsive.
In recent years, research on the contention is focused more on the resources in thememory hierarchy, e.g., last-level caches, front-side bus, and memory socket connection.[citation needed]
![]() | Thiscomputer science article is astub. You can help Wikipedia byexpanding it. |