<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://mat.midlight.eu/index.php?action=history&amp;feed=atom&amp;title=ChronOS_Memory_Management%3A_TLSF</id>
	<title>ChronOS Memory Management: TLSF - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://mat.midlight.eu/index.php?action=history&amp;feed=atom&amp;title=ChronOS_Memory_Management%3A_TLSF"/>
	<link rel="alternate" type="text/html" href="https://mat.midlight.eu/index.php?title=ChronOS_Memory_Management:_TLSF&amp;action=history"/>
	<updated>2026-06-11T22:39:40Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in ProjectWiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://mat.midlight.eu/index.php?title=ChronOS_Memory_Management:_TLSF&amp;diff=128&amp;oldid=prev</id>
		<title>Mat am 6. September 2013 um 19:35 Uhr</title>
		<link rel="alternate" type="text/html" href="https://mat.midlight.eu/index.php?title=ChronOS_Memory_Management:_TLSF&amp;diff=128&amp;oldid=prev"/>
		<updated>2013-09-06T19:35:28Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Version vom 6. September 2013, 19:35 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot; &gt;Zeile 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;On allocation, it searches for the first a free block in a list at least one size class greater (=&amp;gt; good fit allocator). If possible, the block is splitted up, the remaining free memory is put back in the free lists. On deallocation, the freed block is coalesced with neighboring free blocks, the resulting block is put back in the free lists.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;On allocation, it searches for the first a free block in a list at least one size class greater (=&amp;gt; good fit allocator). If possible, the block is splitted up, the remaining free memory is put back in the free lists. On deallocation, the freed block is coalesced with neighboring free blocks, the resulting block is put back in the free lists.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;It also has a low memory fragmentation (15%) and a low block overhead (4 to 8 bytes, 4 bytes header and 4 byte block align).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Further Reading ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Further Reading ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mat</name></author>
		
	</entry>
	<entry>
		<id>https://mat.midlight.eu/index.php?title=ChronOS_Memory_Management:_TLSF&amp;diff=127&amp;oldid=prev</id>
		<title>Mat: Created page with &quot;== Overview == The TLSF (Two Level Segregated Fit) memory allocator is an algorithm for dynamic allocation/deallocation of memory blocks with a runtime of ''O(1)'' (bounded respo...&quot;</title>
		<link rel="alternate" type="text/html" href="https://mat.midlight.eu/index.php?title=ChronOS_Memory_Management:_TLSF&amp;diff=127&amp;oldid=prev"/>
		<updated>2013-09-06T14:13:10Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== Overview == The TLSF (Two Level Segregated Fit) memory allocator is an algorithm for dynamic allocation/deallocation of memory blocks with a runtime of &amp;#039;&amp;#039;O(1)&amp;#039;&amp;#039; (bounded respo...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Overview ==&lt;br /&gt;
The TLSF (Two Level Segregated Fit) memory allocator is an algorithm for dynamic allocation/deallocation of memory blocks with a runtime of ''O(1)'' (bounded response time). That means, the number of blocks managed by the algorithm has no effect on the time it takes to perform a (de-)allocation procedure. It uses two hierarchically bitmaps to store lists of blocks with specific sizes.&lt;br /&gt;
&lt;br /&gt;
On allocation, it searches for the first a free block in a list at least one size class greater (=&amp;gt; good fit allocator). If possible, the block is splitted up, the remaining free memory is put back in the free lists. On deallocation, the freed block is coalesced with neighboring free blocks, the resulting block is put back in the free lists.&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* [http://www.gii.upv.es/tlsf/ TLSF main page]&lt;br /&gt;
* [http://tlsf.baisoku.org/ Public Domain implementation]&lt;br /&gt;
&lt;br /&gt;
== Sample ==&lt;/div&gt;</summary>
		<author><name>Mat</name></author>
		
	</entry>
</feed>