管理人

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

2024/5/27

ページング方式とは

ページング方式 ページング方式とは、仮想記憶の実現方式のひとつで、メモリ領域をページと呼ばれる一定の大きさの領域に分割し管理する方式のことです。 仮想記憶とは、仮想的な記憶領域のことであり、仮想記憶を利用することで主記憶装置(メインメモリ)の容量を超えてメモリ空間を利用することができます。 ページング方式で管理する単位 ページング方式では、プログラムを「ページ」という単位に分割して管理します。 次の例では、プログラムAを「ページ1」~「ページ4」に分割して、仮想記憶に記憶しています。 仮想記憶は"仮想的な ...

2024/5/23

仮想記憶(仮想メモリ)とは

仮想記憶(仮想メモリ) 仮想記憶(英:virtual memory)とは仮想的な記憶領域のことであり、仮想記憶を利用することで主記憶装置(メインメモリ)の容量を超えてメモリ空間を利用することができます。 仮想記憶の役割 プログラム内蔵方式を採用しているコンピュータは、プログラムを実行するときハードディスクやSSDなどの補助記憶装置に保存してあるプログラムを主記憶装置(メインメモリ)に格納し、それをCPUが読み出し実行します。 プログラムを主記憶装置上の領域に配置したり、不要になったプログラムを解放したりす ...

2023/9/15

RAMとROMの違い

RAMとROMの違い コンピュータで使用するメモリは、揮発性メモリである「RAM」と、不揮発性メモリである「ROM」に分かれています。 RAM(揮発性) DRAM 主記憶装置(メインメモリ)として使用されている SRAM キャッシュメモリとして使用されている ROM(不揮発性) マスクROM 読み出し専用のメモリ。ユーザーによる消去・書き込みは不可能 PROM 読み出し専用のメモリ。ユーザーによる消去・書き込みが可能 揮発性はコンピュータの電源を切ると記憶内容が消えてしまうメモリ、不揮発性は電源を供給しな ...

2022/3/29

逐次制御方式とは

逐次制御方式 逐次制御方式(読み:ちくじせいぎょほうしき)とは、CPUの処理方式のひとつで、命令を1つずつ順番に処理していく方式です。 次の図は、逐次制御方式のイメージ例です。 「命令1」の処理が終わったら「命令2」を実行、「命令2」の処理が終わったら「命令3」を実行と3つの命令を順番に処理しています。 逐次制御方式は、1つの命令が終わるまで次の命令を実行できないため、処理効率はよくありません。   複数の命令を並行して実行する方式に「パイプライン処理」があります。 1つの命令が終わるまで次の命 ...

2024/5/23

【基本情報技術者試験】プログラムの性質

基本情報技術者試験や応用情報技術者試験で出題されるプログラムの性質を表す問題。リエントラントやリカーシブなど聞きなれない言葉のため、難しく感じる問題ですが、各性質を理解してしまえばそこまで難しい問題ではありません。 本記事では、「プログラムの性質」について図解で分かりやすく解説しています。 プログラムの性質 プログラムには次の4つの性質があります。 リロケータブル(再配置可能) リロケータブル(再配置可能)とは、プログラムをメモリ上の何処に配置しても実行できるという性質のことです。 プログラム内蔵方式を採 ...

2022/3/23

リカーシブ(再帰的)とは

リカーシブ(再帰的) リカーシブ(英:recursive)とは、再帰的という意味の言葉であり、プログラミング言語において処理中に自分自身を呼び出すことができるという性質のことです。 プログラミング言語で作られた関数やメソッドなどの処理の中に、自身の呼び出しを行うコードが含まれることを 再帰呼び出し(英:recursive call)といい、そのような関数を 再帰関数(英:recursive function)(もしくは再帰的関数)といいます。 複雑な処理も再帰呼び出しによって簡単に解決できるが、処理の終了 ...

2022/3/22

プログラム内蔵方式とは

プログラム内蔵方式 プログラム内蔵方式(プログラムないぞうほうしき)とは、プログラムを主記憶装置(メインメモリ)に格納し、CPUがこれを読み取りながら実行を行う方式のことです。別名「プログラム格納方式」や「ストアドプログラム方式」とも呼ばれています。 そして、プログラム内蔵方式を採用しているコンピュータのことを「ノイマン型コンピュータ」といい、現在普及しているコンピュータのほとんどがノイマン型コンピュータです。 次の図は、プログラム内蔵方式のイメージ例です。 プログラム内蔵方式を採用しているコンピュータ( ...

2024/5/27

リエントラント(再入可能)とは

リエントラント(再入可能) リエントラント(再入可能)とは リエントラント(再入可能)とは、複数のプログラムを並行して実行するマルチタスク(マルチプログラミング)において、実行中プログラムが同時に他のプログラムから呼び出されても正常に処理できるという性質のことです。 例えば、次の図のように並行して複数のプログラム(タスク)から同時に呼び出されても、リエントラント(再入可能)の性質を持つプログラムは、それぞれに正しい結果を返却することができます。 リエントラント(再入可能)のプログラムは、使用するデータ(変 ...

2022/3/22

リユーザブル(再使用可能)とは

リユーザブル(再使用可能) リユーザブル(再使用可能)とは、主記憶装置上に読み込まれたプログラムが、繰り返し利用可能であるという性質のことです。 プログラム内蔵方式という方式を採用しているコンピュータは、プログラムを実行するときハードディスクなどの補助記憶装置に保存してあるプログラムを主記憶装置上にロード(読み込む)してから実行します。 このとき、リユーザブル(再使用可能)の性質を持つプログラムは、処理を終えたあと再ロードすることなく何度も繰り返し利用することができます。(主記憶装置上にロードしたまま繰り ...

2022/3/22

リロケータブル(再配置可能)とは

リロケータブル(再配置可能) リロケータブル(再配置可能)とは、メモリ上の何処に配置しても実行することができるという性質のことです。 メモリ上のどこに配置しても問題なく実行できる プログラム内蔵方式という方式を採用しているコンピュータは、プログラムを実行するときハードディスクなどの補助記憶装置に保存してあるプログラムを主記憶装置(メインメモリ)にロード(読み込む)してから実行します。 このとき、リロケータブル(再配置可能)の性質を持つプログラムは、メモリ上のどこに配置しても実行することができます。 再配置 ...

2023/9/15

不揮発性メモリとは

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

2023/9/15

揮発性メモリとは

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

2024/5/27

【基本情報技術者試験】実記憶管理

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

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 ...