handle
A handle is an object that represents a resource.
Handles are used when the resource cannot be represented directly. For example, a file handle is an object passed between a process and the OS in order to access a file, because the file itself cannot be represented.
In memory management, a handle is an object that represents another
object
. Handles are usually used because the object itself needs to bemoved <moving garbage collector>
inmemory (2)
, or evenswapped out
to disk. The program therefore cannot know theaddress
of the object.For example, Apple's Classic Mac OS made extensive use of handles in its heap management to avoid problems due to
Handle-based heap.fragmentation
. If the Classic Mac OS Memory Manager could not satisfy a request for memory, it triedcompacting <compaction>
theheap
: moving all therelocatable <relocation>
objects together to squeeze out gaps. It could do this because the program only had handles on the objects, and not their actual addresses.
pointer
.
header
in-band header
.
heap
free store, freestore.
The heap or free store is the
memory (2)
area managed bydynamic allocation
.This use of heap is unconnected with the data structure used by the heapsort algorithm.
heap allocation
dynamic allocation.
Heap allocation or dynamic allocation means run-time
allocation <allocate>
anddeallocation <free (1)>
ofmemory (1)
in arbitrary order.Dynamic allocation is usually for
objects
whose size, quantity, orlifetime
could not be determined at compile-time. It is necessary to implement modern data structures, such as recursive trees and fullclosures
.Objects on the
heap
can be managedmanually <manual memory management>
, as inC
, orautomatically <automatic memory management>
, as inLisp
andJava
.
stack allocation
,static allocation
.
indefinite extent
.
hit
A hit is a successful lookup in any form of
cache (3) <caching (3)>
, most commonly at some level of astorage hierarchy
, such as acache (1)
orvirtual memory
system.
miss
.
hit rate
At any level of a
storage hierarchy
, the hit rate is the proportion of accesses whichhit
.
miss rate
.
hosted
In the
C
programming language, a hosted implementation is one that provides all the features of the standard C library.
freestanding
.
ISO/IEC 9899:1990 <C1990>
,ISO/IEC 9899:1999 <C1999>
.
hot
hot end
A
control stack
has two ends: the oldest items are at the cold end and the newest items are at the hot end. Sometimes the hot end is called the "top" of the stack, but that is misleading when the stack grows downwards, as it does on common computing platforms.
cold end
huge page
large page, superpage.
Some processor architectures support multiple
page
sizes. This allows operating systems to better match the page size to the granularity of memory usage and so reduce the size of thepage table
.