Resource management (computing)
In computer programming, resource management refers to techniques for managing resources (components with limited availability).
- Resource management (computing)18 related topics
System resource
Any physical or virtual component of limited availability within a computer system.
Any physical or virtual component of limited availability within a computer system.
Managing resources is referred to as resource management, and includes both preventing resource leaks (not releasing a resource when a process has finished using it) and dealing with resource contention (when multiple processes wish to access a limited resource).
Structured programming
Programming paradigm aimed at improving the clarity, quality, and development time of a computer program by making extensive use of the structured control flow constructs of selection and repetition (while and for), block structures, and subroutines.
Programming paradigm aimed at improving the clarity, quality, and development time of a computer program by making extensive use of the structured control flow constructs of selection and repetition (while and for), block structures, and subroutines.
Most modern languages provide language-level support to prevent such leaks; see detailed discussion at resource management.
Exit (system call)
Exit system call.
Exit system call.
For resource management, the operating system reclaims resources (memory, files, etc.) that were used by the process.
Resource leak
Particular type of resource consumption by a computer program where the program does not release resources it has acquired.
Particular type of resource consumption by a computer program where the program does not release resources it has acquired.
Resource leaks can be prevented or fixed by resource management: programming techniques or language constructs may prevent leaks by releasing resources promptly, while a separate process may reclaim resources that have been leaked.
Resource acquisition is initialization
Initialization is a programming idiom used in several object-oriented, statically-typed programming languages to describe a particular language behavior.
Initialization is a programming idiom used in several object-oriented, statically-typed programming languages to describe a particular language behavior.
The technique was developed for exception-safe resource management in C++ during 1984–89, primarily by Bjarne Stroustrup and Andrew Koenig, and the term itself was coined by Stroustrup.
Object lifetime
Object is the time between an object's creation and its destruction.
Object is the time between an object's creation and its destruction.
In languages where objects have deterministic lifetimes, object lifetime may be used for piggybacking resource management: this is called the Resource Acquisition Is Initialization (RAII) idiom: resources are acquired during initialization, and released during finalization.
Dispose pattern
In object-oriented programming, the dispose pattern is a design pattern for resource management.
Parallel computing
Type of computation in which many calculations or processes are carried out simultaneously.
Type of computation in which many calculations or processes are carried out simultaneously.
Threads will often need synchronized access to an object or other resource, for example when they must update a variable that is shared between them.
Manual memory management
In computer science, manual memory management refers to the usage of manual instructions by the programmer to identify and deallocate unused objects, or garbage.
In computer science, manual memory management refers to the usage of manual instructions by the programmer to identify and deallocate unused objects, or garbage.
Manual memory management has one correctness advantage, which is that it allows automatic resource management via the Resource Acquisition Is Initialization (RAII) paradigm.