差分

移動先: 案内検索

記憶管理

315 バイト追加, 2010年11月11日 (木) 09:16
/* ページ */
==== ページ ====
プロセスからアクセスできるメモリリソースを考えてみましょう。単純なモデルにしてみると下の図のようにCPUリソースからメモリリソースに対しアクセスし読み書きする形になります。[[File:Memory_fig1.png|thumb|right|300px|シンプルなアクセスモデル]]
+----+プロセスからアクセスできるメモリリソースを考えてみましょう。 +-----+ |----| | CPU +---->|----| メモリ +-----+ |----| +----+単純なモデルにしてみると右図のようにCPUリソースからメモリリソースに対しアクセスし読み書きする形になります。
しかし、みなさんは今時の記憶管理はこのような単純なモデルではなく、物理的なメモリサイズよりも大きなメモリ空間を扱える仮想記憶があることは既に承知しているはずです。
仮想記憶はメモリ空間をページと呼ばれる一定サイズのフレーム(区分)にし、そのページをハードディスクのような外部記憶装置と物理的なメモリである実メモリ間で書き出し、読み込みを行うことによって、実際の実メモリの容量よりも多くのメモリ空間を使えるようにしています。仮想記憶はメモリ空間をページと呼ばれる一定サイズのフレーム(区分)にし、そのページをハードディスクのような外部記憶装置と物理的なメモリである実メモリ間で書き出し、読み込みを行うことによって、実際の実メモリの容量よりも多くのメモリ空間を使えるようにしています。
この書き込みや読み込みをする単位をページといい、サイズは32ビットアーキテクチャーのCPUは4KBのページサイズで、64ビットアーキテクチャーのCPUは8KBのものがほとんどです。<ref>ただしCPUのアーキテクチャーによっては異なる場合があります。これらはCPUのアーキテクチャーに依存するので異なる場合があります。たとえばPowerPCは64KBのページサイズも利用することが出来ます、そのためパフォーマンスのために64KBのページサイズとして使う場合もあります。64KB pages on Linux for Power systems - http://www.ibm.com/developerworks/wikis/display/hpccentral/64KB+pages+on+Linux+for+Power+systems</ref>
==== MMU ====
匿名利用者