第67章 スラブレイヤー・スラブアロケーター

 スラブレイヤー( slab layer )は Linux におけるキャッシュの概念を定義します。

 スラブ( slab )とは四角い石版のことですが、まあ一種のキャッシュを組み立てる部品みたいなものです。

キャッシュ
各データ構造ごとに用意されたキャッシュです(カーネル内のメモリー割り当てに使う kmalloc はスラブレイヤーの上に作られてます)
スラブ(slab)
一つ以上の連続したページのことです。各キャッシュの中には複数のスラブがあります
オブジェクト
スラブの中には連続したアドレスに複数のオブジェクトが配置されます

 スラブには Full / Partial / Empty の 3 つの状態がありまして、これをもとにしてオブジェクトを割り当てしていきます。

img/slab_allocator.png

 まあスラブとは同型のオブジェクトを保持可能なかたまりだと考えりゃオッケーだと思います。

 スラブの名前は聞き慣れないかもしれないですが、名前に騙されずキャッシュの概念を説明するために用いられる用語程度の理解があれば十分でしょうね。

Copyright 2018-2019, by Masaki Komatsu