歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux內存分配機制:SLAB / SLUB / SLOB

Linux內存分配機制:SLAB / SLUB / SLOB

日期:2017/2/28 16:10:59   编辑:Linux教程

很久很久以前:一個叫做Mark Hemment的哥兒們寫了Slab。在接下來的一些年裡,其他人對Slab進行了完善。一年半以前,SLOB問世了。SLOB的目標是針對嵌入式系統的,主要是適用於那些內存非常有限的系統,比如32MB以下的內存,它不太注重large smp系統,雖然最近在這方面有一些小的改進。幾個月之前,SLUB閃亮登場。它基本上屬於對Slab的重設計(redesign),但是代碼更少,並且能更好的適應large NUMA系統。SLUB被很認為是Slab和Slob的取代者,大概在2.6.24/2.6.25將會被同志們拋棄。而SLUB將是未來Linux Kernel中的首選。

Linux內核真是變化太快了,內存管理這塊就是一個好例子。

簡單的說:Slab是基礎,是最早從Sun OS那引進的;Slub是在Slab上進行的改進,在大型機上表現出色(不知道在普通PC上如何),據說還被IA-64作為默認;而Slob是針對小型系統設計的,當然了,主要是嵌入式。相關文章如下:

Linux slab 分配器剖析 http://www.linuxidc.com/Linux/2011-06/37150.htm

The SLUB allocator http://www.linuxidc.com/Linux/2011-07/38558p2.htm

The SLOB allocator http://www.linuxidc.com/Linux/2011-07/38558p3.htm

這也正好體現了一個Linux內核開發一貫的思想:提供一種機制,而不是一種策略(Provide mechanism not policy)。

Copyright © Linux教程網 All Rights Reserved