Before software can use your computer's RAM, it requests a memory allocation from the operating system. The operating system attempts to accommodate the request, based on factors including how much memory is used by other software. If not enough memory can be allocated, the software may not run.
Before a non-volatile storage device, such as a hard disk or SSD, can be used, some or all its available space must be allocated. The allocation is performed by disk management software, such as your operating system installer, Windows Disk Management, fdisk, or GParted. The allocation is called a partition. Any space not partitioned on the disk is called unallocated.
On the Internet and on networks, IP addresses are broken into blocks that are allocated to devices. On a local or home network, this allocation is often automatically handled by a router. On the Internet, the allocation is handled by ICANN.
Memory allocation in computer programming
Each computer programming language offers its own approach to memory management. The C programming language requires the developer explicitly allocate and free memory used by a C program. The Python programming language manages memory automatically, which makes the developer's life easier, at the expense of performance. Like C, the C++ programming language permits for explicitly managed memory, but also provides optional memory management features such as GC (garbage collection).