メモリ管理
メモリ
- 8~16GB程度の少ないが高速にアクセスできるストレージ。
- CPUから直接アクセス可能。
- OSがプログラムに対して、メモリの一部を割り当てる。
- プログラムは仮想アドレスを使って連続したメモリ空間を使用できる。
- 実施にはOSが仮想アドレスを物理アドレに変換して、不連続なメモリ空間を扱うことができている。
- メモリの一部をキャッシュとして使用する。
- キャッシュはHDから読み込んだファイルや使わないプログラムのメモリを一時的に保存しておく。しばらく使わないデータはHDなどのストレージにまとめて保存する。これよって毎回HDにデータを読み書きする必要がなくなる。
ファイル管理
- 人がデータを扱いやすいように、ファイル、ディレクトリにまとめる。
- ファイルはHDなどのハードディスクに保存されているが、使用する際にはメモリに読むこむ必要がある。
- プログラムはメモリ上で読み書きを行い、一定の期間ファイルを変更しないとデータがメモリからHDへと保存される。
通常のファイル読み込み
プログラムがファイルを読み込む際は、通常ファイル全体をメモリにコピーする。
メモリマップトファイル
ファイルを読み込む際に、ファイルの一部のみを読み込む。しかし、仮想アドレス自体はファイル全体のアドレス空間を保持するため、プログラムからはファイル全てが読み込まれたように見える。ページフォルトが起きた際に残りのファイルを読み込む作業を行う。メモリ管理の一環として考えられる。