【OS】仮想メモリについてざっくりまとめ
はじめに
スマートフォンやパソコンを使っていると、たくさんのアプリを同時に開いたり、大きなファイルを扱ったりします。しかし、実際の物理メモリ(RAM)の容量には限界があります。この問題を解決するのが「仮想メモリ」という技術です。
仮想メモリは「実際には存在しないのに、あたかも存在するかのように見せる」メモリのことで、コンピュータが快適に動作するために欠かせない仕組みです。
本記事では、仮想メモリの基本的なポイントについてまとめていきます。
仮想メモリとは
仮想メモリとは、物理メモリ(実際のRAM)とストレージ(HDDやSSD)を組み合わせて、アプリケーションから見える「仮想的なメモリ空間」を提供する技術です。
物理メモリだけでは足りない場合に、ストレージの一部を「仮のメモリ」として使います。
各プログラムに「メモリが十分にあるかのように」見せることができ、実際の物理メモリの配置をOSが自動的に管理するようになります。
仮想メモリが解決する3つの主要な問題
① メモリ不足の解消:物理メモリより大きなプログラムを実行可能
② メモリ保護:プログラム同士が互いのメモリ領域に干渉するのを防ぐ
③ メモリ管理の簡素化:プログラム開発者がメモリ配置を気にしなくて済む
仮想メモリの仕組み
ページング方式
仮想メモリの代表的な実装方法が「ページング」です。
・仮想アドレス:プログラムが認識するメモリ上のアドレス
・物理アドレス:実際のRAM上のアドレス
・ページ:メモリを分割する単位(通常4KB)
・ページテーブル:仮想アドレスと物理アドレスの対応表
ページフォールトとは?
プログラムがアクセスしようとしたデータが物理メモリにない場合、「ページフォールト」という割り込みが発生します。
このとき、OSは以下のことを行ないます。
・必要なデータをストレージから読み込む
・物理メモリに空きがなければ、使われていないページをストレージに退避(スワップアウト)
・新しいデータを物理メモリに読み込み(スワップイン)
・ページテーブルを更新
この一連の処理はユーザーには見えず、あたかも最初から全てのデータがメモリにあったかのように見えます。
まとめ
仮想メモリは現代のコンピュータシステムを支える重要な技術です。物理メモリの制限を超えた柔軟なメモリ管理を可能にし、私たちが複数のアプリをスムーズに使えるようにしています。OSが裏で行っているこの「魔法のような」技術によって、私たちはメモリの心配をせずにコンピュータを利用できるのです。
最後までお読みいただき、ありがとうございました。
参考・画像引用元URL
Discussion