忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【データベース】データの出し入れを直接担うコア部品!「ストレージエンジン」|情報処理問題1000本ノック

データベース管理システム(DBMS)の内部で、実際にハードディスクやメモリにアクセスしてデータを書き換えているのは誰か?その心臓部となるコンポーネントを攻略しましょう。

1. 【 問題 】:DBMSの内部構成とコンポーネント

【 問題 】 データベース管理システム(DBMS)を構成するソフトウェアモジュール(コンポーネント)のうち、ユーザーが発行したSQL文の要求に基づき、メモリ(バッファプール)やディスクなどの物理ストレージ上にある実際のデータブロックを操作し、データの検索、追加、更新、削除(CRUD処理)を直接管理・実行するコアな部品はどれでしょうか?

① クエリオプティマイザ (Query Optimizer)
② ストレージエンジン (Storage Engine)
③ トランザクションマネージャ (Transaction Manager)
④ データディクショナリ (Data Dictionary)

2. 正解:

正解: ② ストレージエンジン(Storage Engine)

3. 解説:SQLの命令を「物理的な動き」に変える心臓部

DBMSの内部は、いくつかの役割を持ったコンポーネントがチームワークで動いています。今回の正解であるストレージエンジンは、文字通りデータの「倉庫(ストレージ)」を動かす「エンジン(動力源)」です。

【ストレージエンジンの役割と具体例】

・ユーザーが「このデータを更新して」というSQL文を送ると、DBMSの上層部(クエリプロセッサ)がそれを解析します。
・その解析結果を受けて、実際に「ハードディスクの〇番地にあるデータを読み出す」「メモリ上のデータを書き換える」といった、最も泥臭い物理的なデータの出し入れ(検索や更新)を一手に引き受けるのがストレージエンジンです。 ← ココが問題の正解!

※有名なオープンソースのデータベース「MySQL」では、標準のストレージエンジンとして高い信頼性を持つ「InnoDB」が使われているほか、用途に応じて「MyISAM」や「Memory」といった異なる特性のストレージエンジンへ自由に入れ替える(差し替える)ことができる構造になっています。
[ 選択肢のひっかけポイント(すべてDBMSの超重要コンポーネント) ]
★ ① クエリオプティマイザ:送られてきたSQL文を見て、「どのインデックスを使えば一番速く検索できるか」という最適な実行計画(ルート)を自動で計算・決定する頭脳です。
★ ③ トランザクションマネージャ:データの排他制御(ロック)や、処理の確定(コミット)・取り消し(ロールバック)を管理し、データの整合性を守る司令塔です。
★ ④ データディクショナリ:テーブルの名前や列のデータ型、主キーの設定といった、データベース自身の設計図情報(メタデータ)を保管しているシステム領域です。

1. 理解のコツ: 「レストラン」に例えてみましょう。
・お客さんから注文(SQL)を取り、一番効率よく料理を出す順番(実行計画)を考えるフロア長がクエリオプティマイザです。
・それに対して、指示を受けて実際に冷蔵庫(ディスクやメモリ)を開け、肉や野菜(実際のデータ)を取り出して包丁で刻んだり炒めたり(検索や更新)する現場の「料理人」ストレージエンジンです。実務を直接動かすエンジンそのものです。
2. 試験対策の視点: 「DBMSのコンポーネント」「メモリやディスク上のデータ」「検索や更新を管理(直接操作)」という記述があれば「ストレージエンジン」が一択です。基本情報や応用情報の午前試験では、データベースの「外側(SQL文の使い方)」だけでなく、このように「内側(DBMSがどうやってデータを処理しているか)」のアーキテクチャを問う問題として非常に好まれる応用キーワードです。


4. まとめ

「SQLによる命令を具体的なディスクやメモリへのアクセスに翻訳し、データの検索・更新を物理的に実行する、DBMSの最下層で働く心臓部」。これがストレージエンジンです。普段私たちが何気なく叩いているSQL文の裏では、このストレージエンジンがミリ秒単位で超高速にデータをさばいてくれています。


PR

【システム構成】障害を検知して自動バトンタッチ!「フェイルオーバー」|情報処理問題1000本ノック

24時間止まらないシステムを作るための鉄板技術。メイン機が倒れた瞬間に、予備機が自動でその座を引き継ぐ「フェイルオーバー」のメカニズムを攻略しましょう。

1. 【 問題 】:システムの冗長化と切り替え技術

【 問題 】 サーバーやネットワーク機器、データベースなどのシステム構成において、稼働中のメインシステム(現用系)に重大な異常や障害が発生した際、システムがそれを自動的に検知し、あらかじめ用意しておいた予備のシステム(待機系)へと処理や設定を自動で切り替えることで、サービスを中断せずに継続させる仕組みはどれでしょうか?

① フェイルバック (Failback)
② フェイルオーバー (Failover)
③ フェイルセーフ (Fail-safe)
④ フォールバック (Fallback / 縮退運転)

2. 正解:

正解: ② フェイルオーバー(Failover)

3. 解説:「自動切り替え」こそが可用性のカナメ

高信頼性システム(アクティブ・スタンバイ構成など)では、機材が壊れることを前提に同じものを2組用意します。このとき、障害発生時のバトンタッチを自動で行うのがフェイルオーバーです。

【フェイルオーバー(自動切り替え)の動作と対比】

② フェイルオーバー(Failover):メイン機(アクティブ)が心不全などで倒れた瞬間、裏で待機していた予備機(スタンバイ)が「あ、メイン機が死んだ!」と察知し、自動的にメイン機のIPアドレスやデータを引き継いで動き出します。利用者は、一瞬の瞬き程度の時間でそのままサービスを使い続けられます。 ← ココが問題の正解!

① フェイルバック(Failback):フェイルオーバーした後に、壊れたメイン機を修理して元通りに直し、「予備機から、元のメイン機へと処理を戻す(復旧させる)」作業のことです。
[ 選択肢のひっかけポイント(名前が似ている超頻出用語) ]
★ ③ フェイルセーフ:システムが故障した際、とにかく「安全な状態」に移行して止まる設計思想(例:赤信号にして止まる鉄道信号など)です。自動切り替えで運転を続けるものではありません。
★ ④ フォールバック(フェイルソフト):予備機への切り替えではなく、壊れた部分を切り離し、残った正常な部分だけで「機能を落として(縮退して)でも動かし続ける」ことです。

1. 理解のコツ: 「劇の主役とアンダースタディ(代役)」に例えてみましょう。舞台の上で主役(メイン機)が突然倒れてしまったとき、スタッフが慌てて劇を止めるのではなく、舞台袖で衣装を着てスタンバイしていた代役(予備機)が自動的(即座)にスポットライトの下へ飛び出して、何事もなかったかのように劇(サービス)を続行する。この、裏方による見事なスイッチングがフェイルオーバーです。
2. 試験対策の視点: 「異常(障害)が発生したとき」「自動で冗長構成(予備系)へ切り替わる」というキーワードが出たらフェイルオーバーが一択です。基本情報や応用情報の「システム構成要素」の午前試験では、前述の「フェイルバック」や「フォールバック」と名前が非常に似ているため、それぞれの言葉が持つ「方向(行くのか、戻るのか、縮むのか)」を明確に区別しておくことが得点力を直結させるカギになります。


4. まとめ

「システム障害の瞬間に、人間がサーバー室に駆けつけることなく、システム自身の力で予備機へと自動でバトンタッチする仕組み」。これがフェイルオーバーです。クラウドサービスや24時間稼働のオンライン銀行など、私たちの生活インフラが「いつでも当たり前に動いている」裏側には、このフェイルオーバーの技術が網の目のように張り巡らされています。

【ネットワーク】ルーターの身代わりマジック!「VRRP」による冗長化|情報処理問題1000本ノック

ネットワークが24時間365日、絶対に止まらないようにするための工夫。複数台のルーターを合体させて「1台の仮想ルーター」を生み出すプロトコルを攻略しましょう。

1. 【 問題 】:ネットワーク機器の冗長化プロトコル

【 問題 】 ネットワークの信頼性を高める技術において、同一のローカルネットワーク内に配置された複数台の物理的なルーター(またはレイヤー3スイッチ)をグループ化し、外部からは「1台の仮想的なデフォルトゲートウェイ(ルーター)」として認識させることで、機器の故障時にも自動的に経路を切り替えて通信を維持するためのプロトコルはどれでしょうか?

(ア)VRRP (Virtual Router Redundancy Protocol)
(イ)VRF (Virtual Routing and Forwarding)
(ウ)VSS (Virtual Switching System)
(エ)VLAN (Virtual Local Area Network)

2. 正解:

正解: (ア)VRRP(Virtual Router Redundancy Protocol)

3. 解説:「代表者」が倒れても、チームでカバーする

ネットワークの出口にあるルーターが1台きりだと、それが壊れた瞬間に社内全員がネットに繋がらなくなってしまいます。そこでルーターを2台並べ、VRRPというプロトコルで連携させます。

【VRRPが通信を途切れさせない仕組み】

1. 物理的な「ルーターA」と「ルーターB」を用意します。
2. VRRPを使うと、この2台のうえに共通の「仮想IPアドレス」を持った1台の仮想ルーターが浮かび上がります。社内のPCには、この仮想ルーターの住所を登録しておきます。 ← ココが問題の正解!
3. 普段は、主役の「マスタールーター(例:A)」が仮想ルーターの身代わりとしてすべての通信をさばきます。
4. もしルーターAが壊れたら、相方の「バックアップルーター(例:B)」がそれを即座に察知し、仮想ルーターの役割(IPアドレス)をそのまま引き継ぎます。PC側は何も設定を変えることなく、通信が維持されます。
[ 選択肢のひっかけポイント(すべて『V』から始まる重要ネットワーク用語) ]
★ (イ)VRF:VRRPとは真逆で、1台の物理ルーターの内部に、完全に独立した「複数の仮想的なルーティングテーブル(ルーター環境)」を作り出す技術です。
★ (ウ)VSS:Cisco社などの独自技術で、2台の物理スイッチを仮想的に「1台の巨大なスイッチ」として統合し、帯域や管理を一本化する仕組みです。
★ (エ)VLAN:スイッチ(ハブ)の内部を仮想的に分割し、物理的な配線に関わらず、複数の独立したローカルネットワーク(セグメント)を構築する技術です。

1. 理解のコツ: 「会社の問い合わせ窓口」に例えてみましょう。社外には「support@〜」という1つの代表アドレス(仮想ルーター)だけを公開しておきます。普段は担当者のAさん(マスタールーター)がそのメールを処理していますが、Aさんが風邪で休んだら(故障)、隣のBさん(バックアップルーター)が同じ代表アドレスのメールを引き継いで処理します。外から見れば、中の人が入れ替わったことに気づかず、常に1つの窓口が機能しているように見える。これがVRRPの魔法です。
2. 試験対策の視点: 「複数台の物理ルーターを1台の仮想的なルーターとみなす」「プロトコル」という文字が躍ったらVRRPが一択です。基本情報や応用情報の午前試験では、デフォルトゲートウェイの冗長化(可用性の向上)に関するネットワーク分野の定番問題として君臨しています。


4. まとめ

「ネットワークの門番(ルーター)を複数台のチームにし、共通の仮想IPアドレスを持たせることで、機器トラブル時にも一瞬で身代わりが通信を継続するプロトコル」。これがVRRPです。現代の企業のネットワークインフラやデータセンターにおいて、通信の『絶対死守』を実現するために不可欠な標準技術となっています。


【システム構成】CPUと主記憶の「速度差」を埋める!「キャッシュメモリの効果」|情報処理問題1000本ノック

コンピュータの性能を語る上で絶対に外せないキャッシュメモリ。その存在意義である「なぜ速くなるのか?」という最も根本的な効果を攻略しましょう。

1. 【 問題 】:キャッシュメモリの目的と効果

【 問題 】 コンピュータの基本構成において、CPU(プロセッサ)と主記憶(メインメモリ)の間に配置される「キャッシュメモリ」を導入することによって得られる効果として、最も適切なものはどれでしょうか?

① データを一時的に保持し、CPUが同じデータを再度読み出す際に、主記憶へアクセスするよりもデータ転送を高速に行う
② データを一時的に保持し、複数の演算器による並列演算のデータ受け渡しに利用する
③ 命令を一時的に保持し、デコード(命令解析)の処理を省くことで演算そのものを高速化する
④ 命令を一時的に保持し、パイプライン処理による並列演算の制御を行う

2. 正解:

正解: ① データを保持し、同じデータを読み出す際に、データ転送を高速に行う

3. 解説:足の遅い主記憶の代わりに、目の前でデータを手渡す

キャッシュメモリの最大の使命は、「超高速だけど容量が小さいCPU」と「大容量だけど動作が遅い主記憶(メインメモリ)」の間に挟まり、速度のギャップを埋めることです。

【キャッシュメモリが劇的な効果を発揮する仕組み】

1. CPUが何かデータを必要としたとき、最初は遠くにある「主記憶」までわざわざ取りに行きます。このとき、取ってきたデータを手元の「キャッシュメモリ」にもこっそりコピーして保存しておきます。
2. プログラムというものは、同じデータを何度も繰り返し使う習性(時間の局所性)があります。
3. CPUが次に「またあのデータが欲しい!」となったとき、今度はわざわざ遠い主記憶まで行かず、すぐ目の前にある超高速なキャッシュメモリから一瞬でデータを読み出す(データ転送を高速に行う)ことができます。← ココが問題の正解!
[ 選択肢のひっかけポイント(他技術との混同) ]
★ ②・④ 並列演算に利用する / 並列演算を行う:これらはキャッシュメモリの効果ではなく、CPU内部の「マルチコア」「スーパースカラ(多重命令発行)」「パイプライン」といったプロセッサ側の並列処理技術の効果です。
★ ③ 演算そのものを高速化する:キャッシュメモリはあくまでデータを「転送(出し入れ)」する速度を上げるものであり、足し算や掛け算といった「演算(計算)そのもののスピード」を速くする機能はありません。

1. 理解のコツ: 「勉強中のデスクワーク」に例えてみましょう。
・調べたい言葉が出るたびに、1階の図書室(主記憶)まで歩いて行くのは時間がかかって非効率ですよね。そこで、一度図書室から持ってきた本(データ)を、自分の机の引き出し(キャッシュメモリ)に並べておきます。
・次に同じ本が必要になったときは、1階まで行かずに引き出しからサッと取り出せるので、圧倒的に作業(データ転送)が速くなります。これがキャッシュメモリの効果そのものです。
2. 試験対策の視点: 「同じデータを読み出す際」「データ転送を高速に行う」という記述がキャッシュメモリの定義の王道です。ITパスポートから応用情報まで、すべての試験の午前で必ずと言っていいほど出題される超重要基礎問題ですので、「演算自体の高速化」や「並列処理の制御」といったひっかけ選択肢に騙されないよう、目的をシンプルに覚えておきましょう。


4. まとめ

「使用頻度の高いデータをCPUのすぐ近くに一時保存しておくことで、遅い主記憶へのアクセス回数を減らし、システム全体のデータ処理スピードを爆発的に高める高速バッファメモリ」。それがキャッシュメモリです。現代のコンピュータは、このキャッシュへの『ヒット率(データがキャッシュ内にある確率)』を高めることが、システム全体のパフォーマンスを左右する鍵となっています。


【アルゴリズム】数字をふるい落として素数をあぶり出す!「エラトステネスのふるい」|情報処理問題1000本ノック

アルゴリズムの歴史の中でも最古にして、今なお基本として学び継がれる美しい手法。指定された範囲から素数だけを効率よく見つけ出すメカニズムを攻略しましょう。

1. 【 問題 】:素数探索のアルゴリズム

【 問題 】 コンピュータのアルゴリズムや数学において、指定された整数以下のすべての素数を効率よく見つけ出すための代表的なアルゴリズム(計算手順)はどれでしょうか?

(ア)エラトステネスのふるい
(イ)遺伝的アルゴリズム
(ウ)アリストテレスのアルゴリズム
(エ)ピタゴラスの格差定理

2. 正解:

正解: (ア)エラトステネスのふるい(Sieve of Eratosthenes)

3. 解説:倍数をまとめて「消去」していく快感

エラトステネスのふるいは、古代ギリシャの数学者エラトステネスが考案した、特定の範囲内にある素数をすべて見つけ出すための非常にシンプルなアルゴリズムです。

【エラトステネスのふるいの具体的な手順(例:1から30まで)】

1. まず、1から30までの数字をずらりと並べます(「1」は素数ではないので最初から除外します)。
2. まだ消されていない最小の数「2」を見つけます。これが最初の素数です。そして、2以外の「2の倍数(4, 6, 8...)」をすべて表から消去(ふるい落とす)します。
3. 次に残っている最小の数「3」を見つけます。これが2番目の素数です。そして、3以外の「3の倍数(9, 15, 21...)」をすべて消去します(6や12はすでに2の段階で消えています)。
4. 次に残っている最小の数「5」を見つけ、同様に5以外の「5の倍数」をすべて消去します。

→ このように「素数を見つけたら、その倍数を一網打尽に消していく」という操作を繰り返すことで、最後まで残った数字がすべて素数になります。 ← ココが問題の正解!
[ 選択肢のひっかけポイント ]
★ (イ)遺伝的アルゴリズム(GA):生物の進化(交配・突然変異・自然淘汰)の仕組みを模倣して、最適解を探索するAI分野などの高度なアルゴリズムです。素数の特定とは関係ありません。
★ (ウ)アリストテレスのアルゴリズム:アリストテレスは有名な古代ギリシャの哲学者ですが、このようなアルゴリズムは存在しない架空の選択肢です。
★ (エ)ピタゴラスの格差定理:「三平方の定理(ピタゴラスの定理)」で有名な数学者ですが、こちらも問題に合わせたもっともらしい架空の用語です。

1. 理解のコツ: 「パスタの湯切り(水切り)」をイメージしてください。水(合成数=他の数で割り切れる数字)と、具材(素数)が混ざった鍋をザル(ふるい)に流し込みます。2の倍数を流し、3の倍数を流し……と、余計な倍数たちをどんどん下に落としていくと、ザルの上には「絶対に他の数では割り切れない硬い素数だけ」が綺麗に残ります。だからエラトステネスのふるいと呼ばれています。
2. 試験対策の視点: 「素数を見つけるアルゴリズム」「ふるい」というキーワードを見たら迷わずエラトステネスのふるいを選択してください。ITパスポートから基本情報、応用情報試験の午前問題では、プログラミングの基本アルゴリズム(繰り返し処理や配列の操作)を学ぶための王道テーマとして非常によく出題されます。


4. まとめ

「指定された整数までの数字から、既知の素数の倍数を順番に消去していくことで、効率的に素数だけを抽出する古典的アルゴリズム」。これがエラトステネスのふるいです。1つずつ割り切れるか確かめる地道な方法に比べて、倍数をまとめて消していけるため圧倒的に計算量が少なく、コンピュータに素数のリストを作らせる際のお手本として今なお愛されています。


【システム構成】書き換えるまでコピーを後回し!「Copy on Write(CoW)」|情報処理問題1000本ノック

OSが新しいプロセスを作る際、メモリを丸ごとコピーするのは非常に重い処理になります。その無駄を極限まで削る、省エネかつ高速なメモリ管理技術を攻略しましょう。

1. 【 問題 】:OSのメモリ管理とプロセス生成

【 問題 】 Linuxなどのオペレーティングシステム(OS)において、あるプロセスから新しい子プロセスを生成(fork)する際、最初は親プロセスのメモリ空間(データ)を新しいメモリ領域にコピーせず、同じ領域への参照(リンク)のみを共有させ、その後、いずれかのプロセスがデータを「書き換えた(変更した)時点」で初めて、その変更されたメモリページのみを別領域にコピーする方式はどれでしょうか?

① ページイン (Page-in)
② メモリマップド I/O (Memory-Mapped I/O)
③ コピーオンライト (Copy on Write / CoW)
④ スワッピング (Swapping)

2. 正解:

正解: ③ コピーオンライト(Copy on Write / CoW)

3. 解説:「必要になるまで仕事をサボる」賢いアルゴリズム

新しいプロセスを作る時、親が持っている膨大なメモリデータをすべて複製(コピー)しようとすると、メモリが大量に消費され、CPUの処理時間も奪われてしまいます。これを「遅延評価(あと回し)」で解決するのがコピーオンライト(CoW)です。

【コピーオンライト(CoW)の劇的なメリット】

・子プロセスを作った直後は、親も子も「全く同じデータ(読み取り専用)」を見ているため、メモリ空間にリンクを貼る(参照を共有する)だけで済ませ、コピーは一切行いません
・多くのケースでは、子プロセスは生成された後、すぐに別のプログラムを実行(exec)して自分のメモリを上書きするため、実は「親のデータのコピー」は無駄になることが多いのです。
・もし、親子どちらかのプロセスがデータを「書き換えよう(Writeしよう)」としたら、OSがそれを検知して、その書き換える部分(ページ)だけを急いで別メモリに複製(Copy)し、お互いのデータを独立させます。← ココが問題の核心!
[ 選択肢のひっかけポイント(すべてOS・メモリ関連用語) ]
★ ① ページイン:仮想記憶において、必要になったプログラムやデータを磁気ディスクから主記憶(メインメモリ)に読み込む動作のことです。
★ ② メモリマップド I/O:CPUが外部の周辺機器(I/O装置)にアクセスする際、特定のメモリ番地(アドレス)に機器を割り当て、通常のメモリ読み書きと同じ命令で制御する方式です。
★ ④ スワッピング:主記憶の空き容量が不足した際、プロセス丸ごと単位で一時的に磁気ディスク(退避領域)へと追い出したり(スワップアウト)、戻したり(スワップイン)するメモリ管理の手法です。

1. 理解のコツ: 「書類の共有」に例えてみましょう。部下に「この資料を参考に仕事をして」と渡すとき、最初から何百ページもある資料をコピーして配るのは紙の無駄(メモリの無駄)ですよね。だから最初は「オフィスの共有サーバーにある同じファイルを読んで(リンク)」と指示します。そして、部下が「自分の担当部分だけ数値を書き換えたいです」と言ったその時に初めて、そのページだけを複製して編集させる。この「書き換えるタイミング(On Write)でコピー(Copy)する」という仕組みがコピーオンライトです。
2. 試験対策の視点: 「子プロセスの生成時」「最初はコピーせずにリンク(共有)」「変更があった時にメモリのコピーを行う」という記述があればコピーオンライトが一択です。基本情報や応用情報の午前試験だけでなく、近年の仮想化技術(Dockerなどのコンテナや、仮想マシンのスナップショット機能)の裏側で動いている基本原理としても非常によく狙われる重要トレンドキーワードです。


4. まとめ

「プロセスの生成を高速化するため、メモリの複製を極限まで後回しにし、データの書き換えが発生した瞬間に対象部分だけをコピーする合理的なメモリ管理技術」。これがコピーオンライト(CoW)です。この仕組みのおかげで、現代のOSはマルチタスク(大量のプロセス起動)を驚くほど軽量かつ一瞬で行うことができています。


【開発管理】矢印の罠に引っかかるな!「プレジデンス・ダイアグラム法」|情報処理問題1000本ノック

プロジェクトのスケジュールを組む際、作業の順番(前後関係)を網の目のように表すネットワーク図。記述の「主語」を冷静に見極める必要がある罠問題を攻略しましょう。

1. 【 問題 】:スケジュール管理のネットワーク図

【 問題 】 プロジェクト管理におけるスケジュール管理技法(タイムマネジメント)のうち、作業の依存関係を表す「ネットワークダイアグラム」に分類され、個々の『作業(タスク)』をノード(結合点となる四角などの箱)で表現し、その作業間の『順序(前後関係)』をアロー(矢印)で表現するものはどれでしょうか?

(ア)プレジデンス・ダイアグラム法
(イ)アロー・ダイアグラム法
(ウ)クリティカル・ダイアグラム法
(エ)作業イベント法

2. 正解:

正解: (ア)プレジデンス・ダイアグラム法(PDM)

3. 解説:「アロー」という言葉の罠を解き明かす

この問題の最大のポイントは、「何がノードで、何がアローか」という組み合わせの定義です。試験では(ア)と(イ)の明確な違いが超高頻度で狙われます。

【絶対に混同してはならない2つの図法の違い】

■ (ア)プレジデンス・ダイアグラム法(PDM:AON方式)
構造作業(アクティビティ)そのものを「ノード(四角などの箱)」の中に書きます。そして、作業を繋ぐ「矢印(アロー)」は、単に『順番』を表すためだけに使います。 ← ココが問題の正解!

■ (イ)アロー・ダイアグラム法(PERT:AOA方式)
構造作業(アクティビティ)そのものを「アロー(矢印)」の上に書きます。そして、「ノード(丸印)」は作業の『開始イベント・終了イベント(結合点)』を表します。
[ 選択肢のひっかけポイント ]
★ (ウ)クリティカル・ダイアグラム法:そのような名前の図法はありません。これらの図から導き出される、遅れが絶対に許されない最長の経路のことは「クリティカルパス」と呼びます。
★ (エ)作業イベント法:こちらも存在しない架空の用語です。

1. 理解のコツ: 目の前にある「タスクカード(四角い付箋)」を想像してください。「①要件定義」と書いた付箋と、「②設計」と書いた付箋を壁に貼り、それを線(矢印)で結びますよね。この、作業自体が「四角い箱(ノード)」になっている、私たちが普段一番よく見かける馴染み深い書き方プレジデンス・ダイアグラム法(PDM)です。
2. 試験対策の視点: 問題文をパッと見たときに「アローで表現する」という単語だけを目が拾ってしまうと、反射的に(イ)を選んで失点してしまいます。「作業をノードで」と書かれているか、それとも「作業をアローで」と書かれているか、主語を1文字ずつ丁寧に読むことが午前試験の罠を回避する鉄則です。


4. まとめ

「作業を箱(ノード)で表し、その前後関係を矢印で繋ぐ、現代のプロジェクト管理ツールの標準的なネットワーク図法」。これがプレジデンス・ダイアグラム法です。この図法を用いることで、作業の並列実行や「前が完全に終わっていなくても次の作業を少しフライングして始めてよい(リード・ラグ)」といった複雑なスケジュール調整を視覚的に行えるようになります。


【システム構成】1クロックで限界を超えて処理する!「多重命令発行プロセッサ」|情報処理問題1000本ノック

プロセッサの性能を高める究極の手法。「1サイクルに1命令」という基本の枠組みを壊し、同時に複数の命令を撃ち出す驚異のメカニズムを攻略しましょう。

1. 【 問題 】:プロセッサの並列処理アーキテクチャ

【 問題 】 コンピュータのCPU(プロセッサ)の高速化技術において、CPU内部に複数の演算器(実行ユニット)を搭載し、1サイクル(1クロック信号)あたりに複数の命令を同時に読み込んで実行へと移す(発行する)ことができるプロセッサの総称(仕組み)として、最も適切なものはどれでしょうか?

① パイプラインプロセッサ (Pipeline Processor)
② 多重命令発行プロセッサ (Multiple Instruction Issue Processor)
③ コプロセッサ (Co-processor)
④ CISCプロセッサ (Complex Instruction Set Computer)

2. 正解:

正解: ② 多重命令発行プロセッサ(複数命令発行プロセッサ)

3. 解説:演算器を並べて同時にアタックする

初期のCPUは「1サイクルあたり1つの命令を処理する」のが限界でした。しかし、演算を行うパーツ(演算器)をCPUの中に2つ、3つと並べて配置し、それらに同時に命令を割り振ることで、1サイクルあたり複数の命令を並列実行させる仕組みが作られました。これが多重命令発行プロセッサです。

【多重命令発行の具体的な2大アプローチ】

試験では、この多重命令発行プロセッサの「具体的な中身(アプローチ)」として以下の2つが超頻出です。

スーパースカラ(Super Scalar)
→ 命令の依存関係(順番通りに実行してバグらないか)を、CPUのハードウェアがリアルタイムに判断して、同時に実行できる命令を複数発行する方式。
VLIW(Very Long Instruction Word)
→ 同時に実行できる複数の命令を、コンパイラ(ソフトウェア側)が事前に長い1つの命令にまとめておき、CPUはそれをそのまま並列実行する方式。
[ 選択肢のひっかけポイント(プロセッサの分類) ]
★ ① パイプラインプロセッサ:命令を「翻訳」「実行」などのステージに細分化し、前の命令の終わりを待たずに次の命令をずらして開始する(ベルトコンベア式)プロセッサです。1サイクルあたりに「発行(開始)」する命令自体は1つです。
★ ③ コプロセッサ:メインのCPUを補助するために、浮動小数点演算や画像処理などを専門に担当する「補助プロセッサ」のことです。
★ ④ CISCプロセッサ:複雑で高機能な命令セットをハードウェアで直接実行するタイプのCPUアーキテクチャ(Intelのx86など)のことです。

1. 理解のコツ: 「ラーメン屋さんの厨房」に例えてみましょう。
・1人の職人が、麺茹で、盛り付けをずらしながら同時進行するのがパイプラインです。
・それに対して、厨房に職人を2〜3人並べて、チャイムが1回鳴る(1サイクル)ごとに「はい、ラーメン2丁同時に一気に作り始めて!(多重命令発行)」と指示を出すのがこの仕組みです。圧倒的なスピードアップが図れます。
2. 試験対策の視点: 「1サイクルあたり複数の命令を実行」「複数(多重)の命令を発行」という文脈があれば多重命令発行プロセッサが正解です。午前試験では、この言葉そのものの定義を問う問題のほか、前述の「スーパースカラ」や「VLIW」という具体的な名称とセットで正解の選択肢に絡んでくる、システム構成(アーキテクチャ)の超重要基本です。


4. まとめ

「CPUの内部に複数の実行ユニットを持たせ、1クロックの間に同時に複数の命令を撃ち出すことで、クロック周波数以上の処理速度を叩き出す設計思想」。これが多重命令発行プロセッサです。現代のIntelやAMD、Appleのプロセッサなどはすべてこの多重命令発行(スーパースカラなど)を極限まで進化させた構造になっており、私たちのPCの超高速なマルチタスクを支えています。


【システム構成】待ち時間をゼロにする同期マジック!「SDRAM」|情報処理問題1000本ノック

CPUがどれだけ高速になっても、メモリ(DRAM)からのデータ到着を待っていては失速してしまいます。クロックに同期して連続転送を行うSDRAMの仕組みを攻略しましょう。

1. 【 問題 】:メインメモリの高速化と同期技術

【 問題 】 コンピュータの主記憶(メインメモリ)に用いられる半導体メモリのうち、システムクロック(CPUの動作基準となる同期信号)に完全に同期して動作させることで、従来のDRAMに存在した制御用タイミングの待ち時間(オーバーヘッド)を無くし、バースト転送などの連続データ転送を高速に行えるようにしたメモリはどれでしょうか?

① SRAM (Static RAM)
② SDRAM (Synchronous DRAM)
③ フラッシュメモリ (Flash Memory)
④ VRAM (Video RAM)

2. 正解:

正解: ② SDRAM(Synchronous DRAM / 同期DRAM)

3. 解説:CPUとメモリの「呼吸」を合わせる

従来のDRAM(非同期DRAM)は、CPUとは異なる独自のタイミングでデータをやり取りしていたため、データの準備ができるまでCPUが手を止めて待つ時間(オーバーヘッド)が発生していました。これを劇的に改善したのがSDRAM(同期DRAM)です。

【SDRAMがオーバーヘッドなしで連続転送できる理由】

・名前にある「Synchronous(シンクロナス)」とは「同期する」という意味です。
・マザーボード上を流れる規則正しいリズム(システムクロック)に、メモリ側が完全に「呼吸」を合わせます。
・これにより、CPUから「データをくれ」と言われた次の瞬間から、クロックの刻みに合わせて「1、2、3、4」と、途切れることなく連続してデータを出力(バースト転送)できるようになり、無駄な待ち時間が完全に消滅しました。 ← ココが問題の正解!
[ 選択肢のひっかけポイント(すべて異なる役割のRAM) ]
★ ① SRAM:フリップフロップ回路を使い、SDRAMよりもさらに超高速ですが、構造が複雑で高価なため、主記憶ではなく「キャッシュメモリ」に使われます。
★ ③ フラッシュメモリ:電源を切ってもデータが消えない(不揮発性)メモリで、SSDやUSBメモリに使われます。
★ ④ VRAM:ディスプレイに画面を表示するための画像データを一時的に保存する、グラフィックス専用のメモリです。

1. 理解のコツ: 「大縄跳び」をイメージしてください。これまでのDRAMは、縄が回るタイミングを見計らって「せーの」でバラバラに飛び込んでいたため、入るまでに躊躇する時間(オーバーヘッド)がありました。一方、SDRAMは縄の回転(クロック)と完全にシンクロして、全員がメトロノームのように等間隔でリズムよく「タン、タン、タン、タン」と連続して飛び込んでいく(連続転送する)仕組みです。だから無駄がありません。
2. 試験対策の視点: 「DRAM」「オーバーヘッドなし」「システムクロックに同期」「連続転送」というキーワードが揃えば「SDRAM(同期DRAM)」が一択です。基本情報や応用情報の午前試験では、メモリの分類(RAM/ROM、揮発/不揮発、動的/静的)の集大成として非常によく狙われる重要知識です。


4. まとめ

「CPUの動作クロックと完全に同期させることで、無駄な待ち時間を排除してデータを一気に送り出す主記憶用メモリ」。これがSDRAMです。現在PCパーツショップで売られている「DDR4」や「DDR5」といったメインメモリも、すべてこのSDRAMの正統な進化系であり、現代のPCの高速動作に絶対欠かせないパーツとなっています。


【システム構成】同時アクセスでスピードの限界を突破!「キャッシュのバンク分割」|情報処理問題1000本ノック

CPUがどれだけ高速になっても、キャッシュメモリへのアクセスが1列の渋滞を起こしては意味がありません。キャッシュを小分けにして並列処理する「バンク」の仕組みを攻略しましょう。

1. 【 問題 】:キャッシュメモリの高速化技術

【 問題 】 キャッシュメモリへのアクセスを高速化する手法において、キャッシュメモリ内部を同時に(並列に)アクセス可能な複数の独立した単位に分割し、それぞれが異なるアドレスへの読み書きを同時に処理できるようにしたとき、この分割されたメモリの単位を何と呼ぶでしょうか?

① セクター (Sector)
② ライン (Line)
③ バンク (Bank)
④ ページ (Page)

2. 正解:

正解: ③ バンク(Bank)

3. 解説:窓口を増やして「待ち時間」をゼロにする

CPUがマルチコア化し、同時にたくさんのデータをキャッシュから読み書きしようとすると、キャッシュのアクセスポート(出入り口)が1つしかない場合、順番待ち(衝突)が発生してしまいます。これを解決するのが「マルチバンク(バンク分割)」です。

【バンク分割(マルチバンクキャッシュ)の仕組み】

・キャッシュ全体の容量を、例えば「バンク0」「バンク1」「バンク2」「バンク3」のように、4つの独立したエリア(バンク)に小分けに分割します。 ← ココが問題の正解!
・それぞれのバンクは独自の制御回路を持っているため、「コアAがバンク0からデータを読み出しながら、同時にコアBがバンク2にデータを書き込む」という並列アクセスが可能になります。

※このように、連続するアドレスを異なるバンクに割り当て、順番にズラしながら超高速で並列アクセスする主記憶側の技術を「メモリインターリーブ」と呼び、概念として非常に深く繋がっています。
[ 選択肢のひっかけポイント(すべてメモリの異なる『単位』) ]
★ ① セクター:ハードディスク(HDD)などの磁気ディスクにおいて、データを読み書きする際の最小の物理的な単位です。
★ ② ライン(ブロック):キャッシュメモリと主記憶との間で、データをまとめて転送する際の基本単位のことです。
★ ④ ページ:仮想記憶(バーチャルメモリ)において、主記憶と磁気ディスクの間でデータを入れ替える(ページング)際の固定長の単位のことです。

1. 理解のコツ: 「銀行(Bank)の窓口」をイメージしてください。大きくて高性能な金庫(キャッシュ)が1つあっても、窓口(アクセスポート)が1つしかなければ、客(CPUの各コア)は大行列を作ってしまいます。そこで、金庫の区画を物理的に4つの窓口(バンク)に分割し、4人が同時に手続き(アクセス)できるようにしたのです。この分割された個々の窓口の単位がバンクです。
2. 試験対策の視点: 「同時にアクセス可能」「複数の単位に分割」「その単位」というフレーズが来たら「バンク(マルチバンク)」です。基本情報や応用情報の午前試験では、コンピュータのアーキテクチャ(プロセッサの高速化技法)として、前述の「セットアソシアティブ」などと組み合わせて出題されることが多い、上級者向けの重要用語です。


4. まとめ

「キャッシュメモリを物理的に複数に小分けにし、データの衝突を防いで並列アクセスを可能にする独立ユニット」。これがバンクです。現在の超高性能なCPUでは、このマルチバンク構造をキャッシュ(L1やL2)に採用することで、マルチコアCPUが吐き出す膨大なデータ要求をスピードを落とさずにさばき切る工夫が施されています。