はじめに この記事はコネヒトAdvent Calendar2023の24日目の記事です。 前回の記事では、Linuxの主要なメモリ割り当てアルゴリズムの一つであるBuddy Memory Allocationについて詳しく紹介しました。 本記事では、Linuxで使用されているもう一つの重要なメモリ割り当てアルゴリズムであるSlab Allocationに焦点を当てて、その仕組みについて解説していきたいと思います。 ↓ 前編の記事です 前提 前編のおさらい 前編では、Buddy Memory Allocationの基本原理と仕組みについて紹介しました。 このアルゴリズムは、メモリブロックの割り当てと解放を2の冪乗単位で行うことにより、外部フラグメンテーションの発生を削減できると同時に、割り当てと解放のプロセスを高速化できるというものでした。 ビットマップ方式とBuddy Memory All