Linuxプロセスの共通割り当て単位は何ですか?

Linuxプロセスの共通割り当て単位は何ですか?

私は現在、オペレーティングシステムでメモリ管理作業をしています。

割り当て単位は、オペレーティングシステムがプロセスに割り当てる最小のメモリ単位です。

私が読んでこのページ「カーネル内のメモリ割り当て」セクションでは、ページはオペレーティングシステムがプロセスに割り当てる最小単位です。

しかし、このページ「割り当てられたメモリ」セクションは、オペレーティングシステムがそれをより小さなチャンク(6バイトなど)に分割し、要求に応じてアプリケーションに提供できることを示しています。

両方のリンクが同じ内容を話しているかどうかはわかりませんが、私の質問は次のとおりです。仮想メモリとページングを持つオペレーティングシステムの共通割り当て単位は何ですか?

ベストアンサー1

2番目の参照では、次のように言います。

メモリアロケータは大きなメモリチャンク(4ページまたは4 * 4 KiBなど)を取り、より小さなチャンクに分割します。

「メモリアロケータ」はカーネルではなく、mallocのようなlibcルーチンです。

カーネルはメモリを割り当てますプロセスへページサイズのチャンクで構成されます。アプリケーションがこれらのページを要求して解放すると、mallocはこれらのページの使用済み部分と未使用部分を追跡します。

おすすめ記事