memory allocation

Also found in: Dictionary, Thesaurus, Legal, Financial.
Related to memory allocation: Memory management, Dynamic memory allocation

memory allocation

Reserving memory for specific purposes. Operating systems and applications generally reserve fixed amounts of memory at startup and allocate more when the processing requires it. If there is not enough free memory to load the core kernel of an application, it cannot be launched. Although a virtual memory function will simulate an almost unlimited amount of memory, there is always a certain amount of "real" memory that is needed.

Allocate and Release
When an application is programmed, the programmer must typically allocate additional memory as needed and release that memory when that function is no longer used. This is tedious and error prone, as it is easy to forget to deallocate the memory, which then typically remains unused until the program is closed. Some operating systems perform "garbage collection," whereby they release memory automatically when the contents of memory has not been used for some period of time. One of the advantages of the Java environment is that memory allocation and deallocation is handled automatically by the Java Virtual Machine.

Disk Caches
Memory is also allocated for a disk cache by the operating system and may be configurable by the user. A disk cache retains large chunks of data from the disk in faster RAM. However, a large disk cache that speeds up one application may slow down another because there is less regular memory available.

Pretty Awful in the Days of DOS
On PCs before DOS 6, users were expected to allocate the right mix of expanded memory (EMS) and extended memory, causing third-party memory managers such as QEMM and 386MAX to become popular because they did it automatically. DOS 6 provided automatic allocation, and Windows 95 included even more dynamic memory allocations. Users should never have had to make such technical decisions in the first place. That is what a computer is supposed to do.
References in periodicals archive ?
13, the average data transfer time of the OpenCL implementations was much longer than the memory allocation time of the C and the OpenMP designs.
Enum will double memory allocation than ordinary static constant, so do not use it.
The CUDA developers have at their disposal a complex set of performance enhancing tools that must be extensively used in order to successfully performance tune a CUDA application: asynchronous memory copies, device memory allocation, CPU-GPU concurrency, etc.
6 shows the relationship of the lagged (lag = 180 s) moving average (window length is 480 s) of the memory allocation value vs.
The authors present the Unified Learning Model (ULM), which is based on three basic principles of learning, namely working memory allocation, prior knowledge, and motivation.
This volume covers all aspects of Linux system programming including topics such as file input/output, processes, memory allocation, file attributes, signals, threads, accessing shared libraries, sockets, and program execution.
4 also includes a preview implementation of the malloc memory allocation library optimized for multicore processors.
An example we encountered involved a client trying to locate the cause of a memory crash, where our audit found that the root cause was inconsistent memory allocation methods being used on the same global object accessed by different system modules.
Improved performance of files across the network with highly efficient memory allocation algorithms that improve the flow of files across the network.
With the addition of TotalView's memory debugging capabilities, developers will be able to reduce their production times by finding even the most difficult memory allocation errors and leaks quickly.
The new analyser also has an increased onboard memory allocation, which improves functionality, a redesigned analyser status panel, and a newly designed LCD, which facilitates the display of graphic based languages, the company claims.
It starts with an introductory tutorial, then describes programming view and UPC data types, pointers and arrays, work sharing and domain decomposition, dynamic shared memory allocation, synchronization and memory consistency, performance tuning and optimization and UPC libraries.