A 'resource', or 'system resource', is any physical or virtual component of limited availability within a computer system. Every device connected to a computer system is a resource. Every internal system component is a resource. Virtual system resources include
files, network connections and memory areas.
Major resource types
★
CPU time
★
Random access memory and
virtual memory
★
Hard disk space
★
Network throughput
Resource management
A 'resource handle' is an
identifier for a resource that is currently being accessed. Resource handles can be opaque, in which case they are often
integer numbers, or they can be
pointers that allow access to further information. Common resource handles are
file descriptors and
sockets.
'Resource tracking' is the ability of an
operating system,
virtual machine or other
computer program to terminate the access to a resource that has been allocated by a program but has not been deallocated immediately after use. When implemented by a virtual machine this is often done in the form of
garbage collection.
Access to memory areas is often controlled by
semaphores, which allows a pathological situation called a
deadlock, when different
threads or
processes try to allocate resources already allocated by each other. A deadlock usually leads to a program becoming partially or completely unresponsive.
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.
See also
★
Resource (Web)
★
Resource (Macintosh)
★
Resource (Windows)
★
Resource (Java)