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

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

ストレージのRAID5構成をシミュレーターで理解しよう!

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

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

ページングをシミュレーターで体感しよう!

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

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

「メモリのページング方式管理と断片化」をシミュレーターで体感してみよう!

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

今回はコンピューターでのメモリの管理の仕方の基礎を解説していきます!

「メモリのページング方式管理と断片化」をシミュレーターで体感してみよう!

コンピューターは「有限のメモリ」を「複数のタスク(アプリ)」に配分する処理をしている

コンピューターやスマホのメモリはもちろん有限で、保存できるサイズが決まっています。
それに対して、コンピューターでは複数のタスクが動きます。そのメモリ領域をどう分配するかが「メモリ管理」になります!

「ページング方式」=最小の区画を決めて管理する方式

メモリは有限しかないので、自由にタスク(アプリ)に使わせると、めちゃくちゃな状態になります。
そのため、コンピューターのOSでは「ページング方式=最小の区画を決めて管理する方式」をとります。

その例が↓のようなものです。アルファベットはタスク(アプリ)の種類を指します。メモリを一定の区画ごとにわけて、各区画をどのタスク(アプリ)が使うのか決める形になります。

このようにすると、ページという大きな区画単位で誰が使っているか管理できるので、楽に管理できるようになるんです!ちなみに、windowsでは1ページ=4KBで管理しています。

また、当たり前ですが、同じ領域を二つのタスク(アプリ)が同時に使うなどないように管理/調整してるのです!

POINTOSはページという大きな区画単位で、どのタスク(アプリ)がメモリを使っているかを管理する

タスク(アプリ)は、基本は連続した領域が確保されるが、稼働が長くなるとページが断片化していく

ページには番地(アドレス)がつけられて管理されます。
今回は↓のように左上が一番先頭で、右にいくほど番地が大きくなっていくように図で表しています。
(タスクMは途切れているように見えますが、1行目最後と2行目最初はつながってると見てください)

最初は↑のように順番に配置されているのです。各タスク(アプリ)の領域は連続になっていますよね。ただ、タスク(アプリ)は消えたり、稼働開始したりするので、↓のように段々と穴あき状態になっていきます。

そして、空いている領域に新しく稼働するを配置していくと、、、↓のように断片化していきます。

このように、普通に管理していると、自然と各タスク(アプリ)の領域は非連続になり、断片化してしまうというんです!

POINTコンピューターはタスク(アプリ)の各領域が断片化することを前提に管理しないといけない!

「メモリのページング方式管理と断片化」をシミュレーターで確認してみよう!

実際にタスク(アプリ)がメモリの領域をとっていく状況を見てみましょう!

シミュレーターの説明
  • ↓のメモリ区画上を、タスク(アプリ)が稼働と停止を繰り返します
  • 各タスク(アプリ)は色とアルファベットで分けて表しています
  • 実行を押すと、稼働開始/リセットできます
  • メモリは上位から順に、空いている区画を使っていきます
  • 時間がたつと、断片化していく様子を確認しましょう

 



 

まとめ:「メモリのページング方式管理と断片化」

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

この管理の上でタスク(アプリ)が起動停止を繰り返していると、、、↓のような断片化が起こります。

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

それを解決するのが、次のページで解説する「仮想アドレス方式」になります!
 

「メモリのページング方式管理と断片化」まとめ

  • コンピューターはメモリをページという区画で管理している
  • 起動停止を繰り返していると、自然に断片化してくる

 


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

その他関連カテゴリ




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

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




記事カテゴリ