分かる君

「分かる君」が運営するサイトです。 ITの難しい用語や、仕事で感じた事などを中心に"わかりやすさ"を意識して記事にしています。少しでも共感や参考にしていただける人がいたら嬉しいです。

2023/9/15

不揮発性メモリとは

不揮発性メモリ(ふきはつせいめもり) 不揮発性メモリ(英:non-volatile memory)とは、データの記憶に用いられる半導体メモリの分類の一つで、電源を供給しなくても記憶内容を維持できるメモリのことです。 メモリは揮発性メモリである「RAM」と不揮発性メモリである「ROM」に分類されています。 RAM(揮発性) DRAM 主記憶装置(メインメモリ)として使用されている SRAM キャッシュメモリとして使用されている ROM(不揮発性) マスクROM 読み出し専用のメモリ。ユーザーによる消去・書き ...

2023/9/15

揮発性メモリとは

揮発性メモリ(きはつせいめもり) 揮発性メモリ(英:volatile memory)とは、データの記憶に用いられる半導体メモリの分類の一つで、電源を切ると記憶内容が消えてしまうメモリのことです。 コンピュータで使用するメモリは「揮発性(きはつせい)」と「不揮発性(ふきはつせい)」の2種類に分かれています。 電源を供給しないと記憶している情報を保持できない(電源を切ると記憶内容が消えてしまう)メモリを「揮発性メモリ」、電源を供給しなくても情報を失わない(電源を切っても記憶内容が消えない)メモリを「不揮発性メ ...

2025/2/15

実記憶管理とは?図解でわかる【基本情報技術者試験対策】

基本情報技術者試験や応用情報技術者試験で出題される「実記憶管理」の問題。聞きなれない言葉のため難しく感じますが、「実記憶管理」の各方式の動きを理解してしまえばそこまで難しい問題ではありません。 本記事では、「実記憶管理」について図解で分かりやすく解説しています。 実記憶管理とは プログラム内蔵方式を採用しているコンピュータは、プログラムを実行するときハードディスクなどの補助記憶装置に保存してあるプログラムを主記憶装置(メインメモリ)に読み込んでから実行します。 このようにコンピューターがプログラムを主記憶 ...

2024/5/29

スワッピング方式とは

スワッピング方式 スワッピング方式とは、主記憶装置の空き領域が少ないとき、優先度の低いプログラムを一時的にハードディスクなどの補助記憶装置に退避(スワップアウト)させて空き領域を作り、退避させたプログラムが必要になったら再び主記憶装置にロードする(スワップイン)方式のことです。 実記憶管理 プログラム内蔵方式という方式を採用しているコンピュータは、プログラムを実行するときハードディスクなどの補助記憶装置に保存してあるプログラムを主記憶装置(メインメモリ)にロードしてから実行します。 このように主記憶装置に ...

2024/5/31

スワップインとは

スワップイン スワップインとは スワップイン(swap-in)とは、スワップアウトによりハードディスクなどの補助記憶装置に退避していたプログラムを主記憶装置に再ロードすることです。 主記憶装置(メインメモリ)の空き領域が少ないとき、優先度の低いプログラムを一時的にハードディスクなどの補助記憶装置に移すことをスワップアウトといいます。 次の図は、スワップアウトのイメージ例です。 そして、スワップアウトにより退避していたプログラムが必要となり、主記憶装置に戻すことをスワップインといいます。 次の図は、スワップ ...

2024/5/31

スワップアウトとは

スワップアウト スワップアウトとは スワップアウト(英:swap-out)とは、主記憶装置の空き領域が少ないとき、一時的に優先度の低いプログラムをハードディスクなどの補助記憶装置に移すことです。 次の図は、スワップアウトのイメージ例です。主記憶装置にロードしていた「プログラムC」を補助記憶装置に退避させることで、主記憶装置に空き領域を作っています。 そして、スワップアウトしたプログラムを、主記憶装置に戻すことを「スワップイン」といいます。 次の図は、スワップインのイメージ例です。スワップアウトにより補助記 ...

2024/5/23

オーバーレイ方式

オーバーレイ方式 オーバーレイ方式とは、プログラムをセグメントという単位に分割し、その時に必要なセグメントだけを主記憶装置(メインメモリ)にロードする方式のことです。 実記憶管理 プログラム内蔵方式という方式を採用しているコンピュータは、プログラムを実行するときハードディスクなどの補助記憶装置に保存してあるプログラムを主記憶装置(メインメモリ)にロードしてから実行します。 このように主記憶装置に効率よくプログラムを割り当てることを実記憶管理といい、実記憶管理には、「固定区画方式」「可変区画方式」「オーバー ...

2024/5/31

メモリリークとは

メモリリーク メモリリークとは メモリリーク(英:memory leak)とは、プログラムが確保したメモリ領域の一部 または すべてを解放し忘れ、確保したまま放置してしまうことであり、プログラミングにおけるバグの一種です。 通常プログラムは、次の図のように主記憶装置から必要な領域を確保し、役割を終えて不要になったタイミングで確保したメモリ領域を解放し、空き領域に戻します。 しかし、プログラムの記述ミスなどにより解放処理を怠ると、不要になったプログラムがメモリ領域を確保したままになってしまう現象が起こります ...

2022/3/22

メモリコンパクションとデフラグテーションの違い

メモリコンパクションとデフラグテーション メモリコンパクションとデフラグテーションはどちらも断片化(フラグメンテーション)を解消するための手法です。 メモリコンパクションとデフラグテーションの違いは、メモリで発生した断片化を解消するのがメモリコンパクション、ハードディスクなどのストレージ機器で発生した断片化を解消するのがデフラグテーションです。 メモリコンパクション メモリの断片化 プログラム内蔵方式という方式を採用しているコンピュータは、プログラムを実行するとき補助記憶装置に保存してあるプログラムを主記 ...

2022/3/22

ガベージコレクションとメモリコンパクションの違い

ガベージコレクションとメモリコンパクション オペレーティングシステム(OS)が持つメモリ管理の機能である「ガベージコレクション」と「メモリコンパクション」、実現方法によってはガベージコレクションと共にメモリコンパクションも行う仕組みのため、メモリコンパクションを含めてガベージコレクションと呼ぶ場合もありますが、厳密には区別されています。 本記事では、ガベージコレクションとメモリコンパクションの違いについて解説していきます。 ガベージコレクションとは ガベージコレクション(英:garbage collect ...

2024/6/10

ガベージコレクションとは

ガベージコレクション ガベージコレクションとは ガベージコレクション(英:garbage collection)とは、コンピュータプログラムが動的に確保したメモリ領域のうち、不要になった領域を自動的に解放し、空き領域として再利用できるようにすることです。GCという略記で表記されることもあります。 次の図は、ガベージコレクションのイメージ例です。 主記憶装置(メインメモリ)上にロードされたプログラムが不要になったタイミングで自動的に解放し、空き領域として再利用できるようにしています。 従来のプログラムは、プ ...

2024/6/10

デフラグメンテーション(デフラグ)とは

デフラグメンテーション(デフラグ) デフラグメンテーション(英:defragmentation)とは、ハードディスクなどのストレージ装置(外部記憶装置)に保存してあるデータを再配置し、各データの領域や空き領域を綺麗に整理することです。 デフラグメンテーションは、省略してデフラグと呼ばれることが多く、その目的はディスク上で発生した断片化(フラグメンテーション)を解消することです。 断片化(フラグメンテーション)とは ハードディスクなどのストレージ機器は、ファイルなどを保存するとき、空き領域から必要な大きさの ...

2024/5/31

メモリコンパクションとは

メモリコンパクション メモリコンパクション(英:memory compaction)とは、オペレーティングシステム(OS)などが持つ主記憶装置(メインメモリ)の管理機能の一つで、空き領域の断片化(フラグメンテーション)を解消し、連続したひとつの空き領域にすることです。 メモリの断片化 プログラム内蔵方式を採用しているコンピュータでは、プログラムを実行するとき補助記憶装置に保存してあるプログラムを主記憶装置(メインメモリ)にロードしてから実行します。 このとき、主記憶装置にロードしたプログラムがロードした順 ...

2022/3/22

フラグメンテーションとは

フラグメンテーション(断片化) メモリのフラグメンテーションとは フラグメンテーション(英:fragmentation)とは、メモリの管理上の単位が小さく分割されてしまい、そのままでは有効活用できない状態のことをいいます。 プログラム内蔵方式を採用しているコンピュータは、プログラムを実行するとき補助記憶装置に保存してあるプログラムを主記憶装置(メインメモリ)にロードしてから実行します。 このとき、主記憶装置(メインメモリ)にロードしたプログラムがロードした順番に終了するとは限りません。 例えば、次の図のよ ...

2022/3/22

可変区画方式とは

可変区画方式 可変区画方式(読み:かへんくかくほうしき)とは、主記憶装置(メインメモリ)にロードするプログラムのサイズに応じて必要なサイズの区画を確保し、その領域にプログラムをロードする方式のことです。 コンピュータはプログラムを実行するとき、補助記憶装置に保存してあるプログラムを主記憶装置にロードしてから実行します。(このような方式をプログラム内蔵方式という) 補助記憶装置に保存してあるプログラムを主記憶装置にロードするときの方式には「固定区画方式」「可変区画方式」「オーバーレイ方式」「スワッピング方式 ...

2024/5/31

固定区画方式とは

固定区画方式 固定区画方式(読み:こていくかくほうしき)とは、主記憶装置をあらかじめ一定の大きさ区画に分け、その領域にプログラムを読み込む(ロード)方式のことです。 コンピュータがプログラムを実行するとき、補助記憶装置に保存してあるプログラムを主記憶装置(メインメモリ)にロードしてから実行します。このような方式をプログラム内蔵方式といいます。 固定区画方式は、補助記憶装置のプログラムを主記憶装置にロードするときの方式のひとつであり、固定区画方式には、単一区画方式と多重区画方式があります。 単一区画方式 単 ...

2025/2/15

デッドロックとは?図解でわかる【基本情報技術者試験対策】

基本情報技術者試験や応用情報技術者試験で出題されるデッドロックの問題。システム開発の現場でもよく耳にする言葉であり、エンジニアであれば知っておきたい知識です。 本記事では、デッドロックについて図解で分かりやすく解説しています。 排他制御とロック 排他制御とは 排他制御とは、共有資源を複数のタスク(プログラム)が同時に操作しても問題なく動作できる仕組みのことです。 例えば、次の図のように共有資源に対して「+1」を加算するプログラムAとプログラムBがあるとします。 本来であれば、共有資源の値が「10」でその値 ...

2025/2/15

排他制御(占有ロックと共有ロック)とは?図解でわかる【基本情報技術者試験対策】

基本情報技術者試験や応用情報技術者試験で出題される内容である排他制御。排他制御には「ロック」や「セマフォ」「ミューテックス」などがあります。 本記事では、排他制御について図解で分かりやすく解説しています。 排他制御 排他制御とは、共有資源を複数のタスク(プログラム)が同時に操作しても問題なく動作できる仕組みのことです。 例えば、次の図のように「プログラムA」と「プログラムB」が、共有の領域の値に対して同時に書き込む可能性があるとします。 「プログラムA」と「プログラムB」はお互い「+1」するプログラムであ ...

2024/12/10

ミューテックスとは | 分かりやすく図解で解説

ミューテックス ミューテックス(英:mutex)とは、複数のプログラム(タスク)が同時に処理を行う環境(並列処理)で、共有資源に対して同時にアクセスしても問題なく動作できる仕組みのひとつです。 複数のプログラム(タスク※1)が共有資源に同時にアクセスするとき、最初のプログラムが共有資源をロック(ミューテックスオブジェクトを非シグナル状態にする)し、ロック中はロックが解放されるまで他のプログラムは共有資源にアクセスができず待機します。 そして、ロック中のプログラム(タスク)の処理が終了すると、他のプログラム ...

2024/12/10

セマフォとは | 分かりやすく図解で解説

セマフォ セマフォ(英:semaphore)とは、複数のプログラム(タスク)が同時に処理を行う環境(並列処理)で、共有資源に対して同時にアクセスしても問題なく動作できる仕組みのひとつです。 共有資源に対して同時にアクセスしても問題なく動作できる仕組みを「排他制御」といい、排他制御には「ロック」や「ミューテックス」「セマフォ」などがあります。 排他制御とは 排他制御とは、共有資源に対して同時にアクセスしても問題なく動作できる仕組みのことです。 例えば、次の図のようにプログラムAとプログラムBがアクセスできる ...

S