Jump to content

英文维基 | 中文维基 | 日文维基 | 草榴社区

SLOB: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m Removing link(s): Wikipedia:Articles for deletion/DSLinux closed as delete (XFDcloser)
Citation bot (talk | contribs)
Added title. Changed bare reference to CS1/2. | Use this bot. Report bugs. | Suggested by Dominic3203 | #UCB_webform 36/49
 
(10 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{short description|Memory allocator in the Linux kernel}}
{{More footnotes|date=August 2008}}
{{Distinguish|Slob-octal}}
{{More footnotes needed|date=August 2008}}
{{Use dmy dates|date=March 2023}}
The '''SLOB''' (''simple list of blocks'') allocator was one of three available [[dynamic memory allocation|memory allocators]] in the [[Linux kernel]] up to version 6.3.<ref>{{cite web | url=https://lwn.net/Articles/936132/ | title=The 6.4 kernel has been released &#91;LWN.net&#93; }}</ref> The other two are SLAB ([[slab allocator]]) and [[SLUB (software)|SLUB]]. The SLOB allocator is designed to require little memory for the implementation and housekeeping, for use in small systems such as embedded systems. Unfortunately, a major limitation of the SLOB allocator is that it suffers greatly from external [[Fragmentation (computing)|fragmentation]].


SLOB currently uses a [[First fit algorithm|first-fit algorithm]], which uses the first available space for memory. In 2008, a reply from [[Linus Torvalds]] on a Linux mailing list<ref>https://elixir.bootlin.com/linux/latest/source/mm/slob.c SLOB Allocator Documentation and code. Retrieved 12 November 2010</ref> was made where he suggested the use of a [[Best fit|best-fit algorithm]], which tries to find a memory block which suits needs best. Best fit finds the smallest space which fits the required amount available, avoiding loss of performance, both by fragmentation and consolidation of memory.
{{Use dmy dates|date=August 2012}}


By default, Linux kernel used [[Slab allocation|a SLAB Allocation system]] until version 2.6.23, when SLUB allocation became the default. When the <code>CONFIG_SLAB</code> flag is disabled, the kernel falls back to using the SLOB allocator.<ref>https://lwn.net/Articles/157944/ slob: introduce the SLOB Allocator. Retrieved 12 November 2010.</ref> The SLOB allocator was used in DSLinux on [[Nintendo DS]] [[handheld console]].
The '''SLOB''' (''Simple list of blocks'') allocator is one of three available [[dynamic memory allocation|memory allocators]] in the [[Linux kernel]]. (The other two are [[Slab allocation|SLAB]] and [[SLUB (software)|SLUB]].) The SLOB allocator is designed to require little memory for the implementation and housekeeping, for use in small systems such as embedded systems. Unfortunately, a major limitation of the SLOB allocator is that it suffers greatly from internal [[Fragmentation (computing)|fragmentation]].

SLOB currently uses a [[First fit algorithm|first-fit algorithm]], which uses the first available space for memory. In 2008, a reply from [[Linus Torvalds]] on a Linux mailing list<ref>http://lxr.free-electrons.com/source/mm/slob.c SLOB Allocator Documentation and code. Retrieved 12 November 2010</ref> was made where he suggested the use of a [[Best fit|best-fit algorithm]], which tries to find a memory block which suits needs best. Best fit finds the smallest space which fits the required amount available, avoiding loss of performance, both by fragmentation and consolidation of memory.

By default, Linux kernel used [[Slab allocation|a SLAB Allocation system]] until version 2.6.23, when SLUB allocation became the default. When the CONFIG_SLAB flag is disabled, the kernel falls back to using the "SLOB" allocator.<ref>https://lwn.net/Articles/157944/ slob: introduce the SLOB Allocator. Retrieved 12 November 2010.</ref> The SLOB allocator was used in DSLinux on [[Nintendo DS]] [[handheld console]].


==See also==
==See also==
Line 14: Line 14:
==References==
==References==
{{reflist}}
{{reflist}}

==External links==
* [http://jaredlundquist.com/?p=101 Linux SLB (Simple List of Blocks) Memory Allocator] post at Jared Lundquist blog.


[[Category:Memory management algorithms]]
[[Category:Memory management algorithms]]

Latest revision as of 04:20, 9 October 2024

The SLOB (simple list of blocks) allocator was one of three available memory allocators in the Linux kernel up to version 6.3.[1] The other two are SLAB (slab allocator) and SLUB. The SLOB allocator is designed to require little memory for the implementation and housekeeping, for use in small systems such as embedded systems. Unfortunately, a major limitation of the SLOB allocator is that it suffers greatly from external fragmentation.

SLOB currently uses a first-fit algorithm, which uses the first available space for memory. In 2008, a reply from Linus Torvalds on a Linux mailing list[2] was made where he suggested the use of a best-fit algorithm, which tries to find a memory block which suits needs best. Best fit finds the smallest space which fits the required amount available, avoiding loss of performance, both by fragmentation and consolidation of memory.

By default, Linux kernel used a SLAB Allocation system until version 2.6.23, when SLUB allocation became the default. When the CONFIG_SLAB flag is disabled, the kernel falls back to using the SLOB allocator.[3] The SLOB allocator was used in DSLinux on Nintendo DS handheld console.

See also

[edit]

References

[edit]
  1. ^ "The 6.4 kernel has been released [LWN.net]".
  2. ^ https://elixir.bootlin.com/linux/latest/source/mm/slob.c SLOB Allocator Documentation and code. Retrieved 12 November 2010
  3. ^ https://lwn.net/Articles/157944/ slob: introduce the SLOB Allocator. Retrieved 12 November 2010.