💨

PC基本構成~苦手なメモリ系まとめ

に公開

PCの基本構成

入力装置キーボードなど)
出力装置画面
CPU
記憶装置がある

入力・出力装置はCPUの中にある制御装置によって制御される

「記憶装置」には2種類ある。

  1. 主記憶装置
    揮発性/よくDRAMが使われる(要領大/リフレッシュ必要)
  2. 補助記憶装置
    不揮発性/長期保存に適してる/スワッピング時の退避先にも使われる
    このスワッピングがおきまくってCPUの反応が遅くなることを「スラッシング」

仮想メモリとは

仮想メモリは、実際に搭載している 主記憶(RAM) が不足した場合に、補助記憶装置(HDDやSSD) の一部を利用して、あたかも 主記憶 が増えたかのように見せる技術です。これにより、大きなプログラムや多くのプログラムを同時に実行することが可能になります

仮想メモリを実現するための技術をスワッピング(主記憶と補助記憶の間でデータを入れ替える(出し入れ)動き)という

仮想メモリを実現するための技術

スワッピング
スワッピングは、主記憶(RAM)と補助記憶装置(HDDやSSD)間で データを入れ替える(出し入れ) 動きです。例えば、現在使われていないデータを補助記憶に退避させ、その空いた場所に別のデータをロードすることによって、メモリの容量を効率よく使用します。

仮想メモリの管理方法

  1. ページング方式(現代の主流)
    主記憶とプログラムを「ページ(固定サイズ)」に分ける
    必要なページだけ主記憶に置く → 仮想メモリ実現しやすい
    ページ同士は独立してるので、外部フラグメンテーションが起きにくい!!✨

  2. セグメント方式(ページングと対比される)
    プログラムを意味のある単位(セグメント)に分ける
    (例:データセグメント、コードセグメント)
    長さがバラバラなので → 外部フラグメンテーションが起こりやすい

[補足:フラグメンテーションとは]

フラグメンテーションとは、メモリを管理する際に、必要なサイズの空き領域がメモリ全体に散らばってしまい、空き領域があってもまとめて使うことができない状態のこと

フラグメンテーションは、主記憶(物理メモリ)でも仮想メモリでも発生します
フラグメンテーションを解決するための方法が「メモリの再配置」や仮想メモリにおける「ガーベジコレクション(不要なメモリを整理)」です

Discussion