About: Free list

An Entity of Type: building, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

A free list (or freelist) is a data structure used in a scheme for dynamic memory allocation. It operates by connecting unallocated regions of memory together in a linked list, using the first word of each unallocated region as a pointer to the next. It is most suitable for allocating from a memory pool, where all objects have the same size. The OCaml runtime uses free lists to satisfy allocation requests.

Property Value
dbo:abstract
  • A free list (or freelist) is a data structure used in a scheme for dynamic memory allocation. It operates by connecting unallocated regions of memory together in a linked list, using the first word of each unallocated region as a pointer to the next. It is most suitable for allocating from a memory pool, where all objects have the same size. Free lists make the allocation and deallocation operations very simple. To free a region, one would just link it to the free list. To allocate a region, one would simply remove a single region from the end of the free list and use it. If the regions are variable-sized, one may have to search for a region of large enough size, which can be expensive. Free lists have the disadvantage, inherited from linked lists, of poor locality of reference and so poor data cache utilization, and they do not automatically consolidate adjacent regions to fulfill allocation requests for large regions, unlike the buddy allocation system. Nevertheless, they are still useful in a variety of simple applications where a full-blown memory allocator is unnecessary or requires too much overhead. The OCaml runtime uses free lists to satisfy allocation requests. (en)
  • 빈칸 목록(free list)은 동적 메모리 할당을 위해서 계획적으로 사용된 데이터 구조이다. 빈칸 목록은 메모리의 할당되지 않은 영역들을 연결 리스트로 연결시켜서 운용한다. 모든 오브젝트들이 동일한 크기를 가지고 있다면, 빈칸 목록이 메모리 풀로부터 메모리를 할당하는데 가장 적합하다. 빈칸 목록들은 매우 간단하게 할당과 해제를 한다. 영역을 해제하려면, 해제하려는 영역을 빈칸 목록에 연결시키기만 하면 된다. 영역을 할당하려면, 빈칸 목록의 가장 끝 부분에 있는 하나의 영역을 제거하고 그 영역을 사용하면 된다. 영역들의 크기가 다양하다면, 충분히 큰 크기의 영역들을 찾으면 되지만, 이는 큰 비용을 유발할 수 있다. 빈칸 목록은 약한 참조 지역성과 데이터 캐시를 제대로 활용할 수 없는 단점을 가지고 있고 이는 연결 리스트의 단점이 그대로 계승된 것이다. 그리고 버디 메모리 할당과는 달리 빈칸 목록은 큰 영역에 대한 할당 요구를 충족시키기 위해서 자동으로 통합되지 않는다. 이러한 단점들이 있음에도 불구하고, 빈칸 목록은 완벽한 메모리 할당자가 필요하지 않는 간단한 응용 프로그램들에는 여전히 쓸만하다. (ko)
  • Список свободной памяти (англ. free list) — структура данных, используемая в алгоритмах динамического выделения памяти. Принцип работы заключается в объединении свободных областей памяти в связанный список, используя первое слово каждой свободной области в качестве указателя на следующий участок. Этот подход наиболее удобен при выделении памяти из , где все объекты имеют одинаковый размер. Списки свободной памяти упрощают операции выделения и освобождения памяти: чтобы освободить область, нужно просто добавить её в этот список, а чтобы выделить область можно просто удалить последнюю область в списке и использовать её. Если размеры областей разные, то необходим поиск области достаточно большого размера, что может быть затратно по ресурсам. Списки свободной памяти имеют недостаток, присущий связанным спискам — низкую , что влечёт неэффективность использования кэша. Также в таких списках не происходит автоматического объединения соседних областей для выделения областей большего размера, в отличие от (англ. buddy memory allocation), описанной Кнутом в монографии «Искусство программирования» . Тем не менее, списки свободной памяти находят свой применение в простых приложениях, где не нужен полноценный аллокатор памяти, или его накладные расходы слишком велики. (ru)
  • 自由表(英語:free list)是一种用来实现特定动态内存分配方案的数据结构,也称自由列表。自由表的核心原理是将若干未分配的内存块用链表连接起来,将未分配区域的第一个字作为指向下一个未分配区域的指针使用。自由表非常适合用来实现内存池,因为内存池中对象的大小都是相同的。 用自由表实现内存的分配和回收非常简单:回收内存时只需将内存块链入自由表;分配时也只需从自由表的一端取下即可直接使用。如果内存块的大小不一,则分配前还需要在自由表中搜索足够大的内存块,可能有一定的额外消耗。 因为自由表使用了链表结构,所以也继承了它的劣势:访问局部性低下,难以利用缓存。 (zh)
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 2932047 (xsd:integer)
dbo:wikiPageLength
  • 2078 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1120837378 (xsd:integer)
dbo:wikiPageWikiLink
dbp:wikiPageUsesTemplate
dcterms:subject
gold:hypernym
rdf:type
rdfs:comment
  • 빈칸 목록(free list)은 동적 메모리 할당을 위해서 계획적으로 사용된 데이터 구조이다. 빈칸 목록은 메모리의 할당되지 않은 영역들을 연결 리스트로 연결시켜서 운용한다. 모든 오브젝트들이 동일한 크기를 가지고 있다면, 빈칸 목록이 메모리 풀로부터 메모리를 할당하는데 가장 적합하다. 빈칸 목록들은 매우 간단하게 할당과 해제를 한다. 영역을 해제하려면, 해제하려는 영역을 빈칸 목록에 연결시키기만 하면 된다. 영역을 할당하려면, 빈칸 목록의 가장 끝 부분에 있는 하나의 영역을 제거하고 그 영역을 사용하면 된다. 영역들의 크기가 다양하다면, 충분히 큰 크기의 영역들을 찾으면 되지만, 이는 큰 비용을 유발할 수 있다. 빈칸 목록은 약한 참조 지역성과 데이터 캐시를 제대로 활용할 수 없는 단점을 가지고 있고 이는 연결 리스트의 단점이 그대로 계승된 것이다. 그리고 버디 메모리 할당과는 달리 빈칸 목록은 큰 영역에 대한 할당 요구를 충족시키기 위해서 자동으로 통합되지 않는다. 이러한 단점들이 있음에도 불구하고, 빈칸 목록은 완벽한 메모리 할당자가 필요하지 않는 간단한 응용 프로그램들에는 여전히 쓸만하다. (ko)
  • 自由表(英語:free list)是一种用来实现特定动态内存分配方案的数据结构,也称自由列表。自由表的核心原理是将若干未分配的内存块用链表连接起来,将未分配区域的第一个字作为指向下一个未分配区域的指针使用。自由表非常适合用来实现内存池,因为内存池中对象的大小都是相同的。 用自由表实现内存的分配和回收非常简单:回收内存时只需将内存块链入自由表;分配时也只需从自由表的一端取下即可直接使用。如果内存块的大小不一,则分配前还需要在自由表中搜索足够大的内存块,可能有一定的额外消耗。 因为自由表使用了链表结构,所以也继承了它的劣势:访问局部性低下,难以利用缓存。 (zh)
  • A free list (or freelist) is a data structure used in a scheme for dynamic memory allocation. It operates by connecting unallocated regions of memory together in a linked list, using the first word of each unallocated region as a pointer to the next. It is most suitable for allocating from a memory pool, where all objects have the same size. The OCaml runtime uses free lists to satisfy allocation requests. (en)
  • Список свободной памяти (англ. free list) — структура данных, используемая в алгоритмах динамического выделения памяти. Принцип работы заключается в объединении свободных областей памяти в связанный список, используя первое слово каждой свободной области в качестве указателя на следующий участок. Этот подход наиболее удобен при выделении памяти из , где все объекты имеют одинаковый размер. (ru)
rdfs:label
  • Free list (en)
  • 빈칸 목록 (ko)
  • Список свободной памяти (ru)
  • 自由表 (zh)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:wikiPageDisambiguates of
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License