Allocation (IT)

from Wikipedia, the free encyclopedia

In computer science, allocation is the reservation of main memory or other resources by a computer program .

Linguistic use

While the spelling of the noun “Allocation” is unambiguous, both “allo k ieren” and “allo z ieren” are used as associated verbs . “ Allocation ” is therefore also possible as a noun .

background

When developing embedded systems , allocation is part of the task of structuring software in addition to partitioning and scheduling , taking non-functional requirements into account. The allocation assigns software units to certain computer resources. The goals of an allocation include minimizing the overall costs of the application and communication between the processes. Allocation problems can be solved with flow problem algorithms or with heuristic approaches.

In the context of distributed databases , the allocation of data fragments to one or more computer systems (database nodes) is referred to as allocation.

time

An essential feature is the time of the allocation, since in the rarest of cases the address area of ​​the allocated memory can be determined by the part of the program that uses it, and so the access addresses have to be adapted accordingly. A distinction is made here between three basic cases:

  • Compile time : addresses are assigned here during compilation (more precisely: linking ) the program. Today, this is only common and possible with ECUs , since an operating system with all program parts and drivers is compiled at once, and no parts of the main memory are usually available for subsequent allocation during runtime.
  • Loading time : After compiling and linking, an executable file has been created that can be loaded directly by an operating system (i.e. not a script ). In addition to the machine code of the program, this file also contains information about its memory requirements, which the operating system allocates when loading and whose addresses it writes into the program.
  • Runtime : A program can allocate memory during its runtime via the operating system interface. The program must then be accessed via the address that the operating system communicates to it when it is allocated.

In principle, it is also possible to specify an address with the variable declaration in the program code, i.e. a manual allocation at programming time . Nowadays, however, this option is rarely used, since overlaps must be excluded for all program parts that are executed on a computing node (PC, ECU, ...) (and therefore access the same memory) Left to operating systems.

Individual evidence

  1. Andrew S. Tanenbaum , James R. Goodman: Chapter 7.4: Linking and Loading . In: Structured Computer Organization . 4th edition. Prentice Hall of India, New Delhi 2001, ISBN 81-203-1553-7 , pp. 506 ff .

Web links

Wiktionary: Allocation  - explanations of meanings, word origins, synonyms, translations
Wiktionary: allocate  - explanations of meanings, word origins, synonyms, translations
Wiktionary: allocate  - explanations of meanings, word origins, synonyms, translations