様々な学問/勉強課目をシミュレーションで解説!シミュレーター/ツール/ゲームで、いろんな学問を楽しく分かりやすく解説するサイトです!思考の改善や、効率化の話題も!
⇒ 本ブログの詳細/連絡先はコチラ!
学問系TOP AI/ChatGPT 数学 物理 統計学 コンピューター 経済学 Webツール
  1. ホーム
  2. 〇学問シミュレーター/改善・効率化
  3. 情報科学/コンピューター
  4. OS
  5. 主記憶管理
  6. 「メモリの仮想記憶」をシミュレーターで体感してみよう!
■注目記事一覧

高校数学 教科書用シミュレーターの制作に携わりました!!

マルチタスクのCPUの動きをシミュレーターで見てみよう!

本サイトの「サイコロ シミュレーター」が熊本の特別教育テレビ授業で使われました!

コンピューターの全理基礎:半加算器の原理をシミュレーターで理解しよう!

浮動小数点型の仕組みをシミュレーターで理解しよう!

コンピューターの半理基礎:半加算器の原理をシミュレーターで理解しよう!

ストレージのRAID5構成をシミュレーターで理解しよう!
 
全テーマ共通記事一覧

「メモリの仮想記憶」をシミュレーターで体感してみよう!

$$\newcommand\CB[1]{\textcolor{blue}{#1}} \newcommand\CR[1]{\textcolor{red}{#1}} \newcommand\CG[1]{\textcolor{magenta}{#1}}$$

「メモリの仮想記憶」をシミュレーターで体感しよう!

前回記事に続いて、メモリ管理について解説します!今回は仮想記憶(仮想アドレス)についてです!

「メモリの仮想記憶」をシミュレーターで体感してみよう!

おさらい:メモリを複数のタスク(アプリ)が使っていると断片化する

コンピューターは↓のようにページという区画で管理します。

この管理の上でタスク(アプリ)が起動停止を繰り返していると、、、↓のような断片化が起こります。詳しくは前回記事のシミュレーターを動かして見てください

このような断片化がおこるため、このままだと「タスク(アプリ)がメモリが断片化して、連続でないことを意識しないといけない」ことになります!これは大変に面倒なことになります。

このために、用いるのが「仮想記憶」という方式になります!

仮想記憶は「仮想的な連続なメモリ領域」をタスク(アプリ)に提供する

今回、↓のような場合のタスク(アプリ)Aのメモリを考えます。絵を見ればわかる通り、物理的にはまったく連続しておらず断片化しています。

ここで、タスク(アプリ)Aに提供する仮想的なメモリとして↓のような連続の領域を考えます。↓の数字のように左から番地が連続で振られいます。これを「仮想記憶」といい、番地を「仮想アドレス」といいます。

↑のような物理的な環境で、上記の仮想記憶アドレスをタスク(アプリ)Aに提供するためには、、、
↓のような対応関係をOSやハードウェアが変換すればよいのです!区画ごとで管理しているので、「各区画が、実際のメモリでどこから始まるのか」の関連付けを記憶しておけばよいのです!それが↓の赤矢印の対応関係です。

つまり、仮想記憶方式とは↑の赤矢印のような変換を、タスク(アプリ)のメモリアクセス時に行うことなんです!

POINT仮想記憶方式=「連続した仮想領域」と「実際の断片化したメモリ領域」の間で変換を行うもの!

「メモリの仮想記憶」をシミュレーターで確認してみよう!

それではシミュレーターで実際の仮想記憶と実メモリの対応関係を確認してみましょう!

シミュレーターの説明
  • タスク(アプリ)Aの仮想記憶とメモリの配置を図示しています
  • 再配置ボタンを押すと、多数のタスク(アプリ)がメモリに配置されます
  • 各タスク(アプリ)は色とアルファベットで分けて表しています
  • 仮想番地をスライドすると、仮想記憶とメモリ両方で、どの位置になるのか赤線で示します
  • 赤線を動かして、タスクAの仮想記憶とメモリの対応関係を確認しましょう!

 

仮想番地
7



 

「メモリの仮想記憶」シミュレーターの要点解説

↓のようにメモリが断片化していた場合、仮想記憶との紐づけが重要になります。

番地20以前は連続ですが、

番地20を超えると、3番目の領域にジャンプします。仮想記憶上では連続ですが、メモリ上ではジャンプするんです

このような仮想的な連続領域「仮想記憶」をつくることで、タスク(アプリ)Aは楽にメモリを使うことができるんです!

「メモリの仮想記憶」まとめ

  • 実際の物理メモリは区画ごとで違うタスク(アプリ)が入交り、断片化する
  • 仮想記憶という仮想的な連続番地を持つ領域をつくり、区画ごとで実メモリに紐づけ、変換はOSやハードウェアが行う
  • タスク(アプリ)Aは連続的な仮想領域だけ意識すればよいので、楽にメモリが使える

 


⇒「主記憶管理」カテゴリ記事一覧

その他関連カテゴリ




お気軽にコメントお願いします!

Your email address will not be published. Required fields are marked *




記事カテゴリ