KDOC 163: セグメンテーションとページングのユースケース

この文書のステータス

  • 作成
    • 2024-05-09 貴島
  • レビュー
    • 2024-05-09 貴島

最近はページングを使うことが多い

メモリのアドレス変換に2つの方式があることを学んだ。どう使い分けるのだろう、と疑問を持った。

調べてみて、使い分けというよりは、歴史的な2つの方式だと理解した。セグメンテーションはあまり使われなくなり、今はページングを使うことが多い。

セグメンテーションは連続化したメモリが必要で、解放されているメモリが小さな塊では使えない。そのためデフラグメンテーションという処理で移動が必要。デフラグメンテーションは大量のコピーが必要なので遅い。断片化しすぎる前に定期的に実行する必要がある。

x86の64bitモードではセグメンテーションをサポートしていない。ほとんどのシステムでセグメンテーションが用いられなくなった理由の1つに断片化の問題がある。ページングによって断片化の問題を回避できる。

参考

関連