ITパスポート 2016年 秋期 問94
問題文
並列処理の説明として、適切なものはどれか。
選択肢
ア:一連の処理を同時に実行できる処理単位に分け、複数のCPUで実行すること(正解)
イ:関連する複数の処理を一つの処理単位にまとめて実行すること
ウ:ビジネスロジックやデータベース処理はサーバ側で行い、ユーザインタフェース処理はクライアント側で行うこと
エ:一つのCPUの処理時間を短い単位に分割し、複数のアプリケーションソフトに順番に割り当てて実行すること
🔒 解説は解答すると表示されます
並列処理の説明 +【ITパスポート 解説】
正解の理由
並列処理とは、複数の処理を「同時に」実行することを指します。ここで重要なのは「同時に」という点です。CPU(CPU: Central Processing Unit=中央処理装置)やコアが複数ある場合、別々の処理を同時に動かせます。選択肢のうち、複数のCPUで一連の処理を分割して同時に実行する説明がこれに該当します。したがって正しい説明は ア です。
(平易な例:料理で言えば、料理人が複数人いて同時に別の料理を作るのが並列処理です。)
解法ステップ
- 問題文のキーワードを探す:「同時」「分けて」「複数のCPU」などを確認します。
- 選択肢の動作を「同時に動くか」「順番に動くか」で分類します。
- 「同時に動く」を説明している選択肢を正解にします。
- 他の選択肢が示す概念(まとめて実行する、クライアント/サーバ分担、時間を分けて順番に実行)と並列処理を区別します。
短く言えば、「同時に実行するかどうか」で判断します。
選択肢別の誤答解説
-
ア: 一連の処理を同時に実行できる処理単位に分け、複数のCPUで実行すること
→ 正解。並列処理の定義に一致します。 -
イ: 関連する複数の処理を一つの処理単位にまとめて実行すること
→ 誤り。これは「バッチ処理」や「まとめて処理する」ことを指します。並列ではなく、処理を集めて一度に行う説明です。 -
ウ: ビジネスロジックやデータベース処理はサーバ側で行い、ユーザインタフェース処理はクライアント側で行うこと
→ 誤り。これは「クライアント(利用者側の端末)/サーバ(サービスを提供するコンピュータ)の役割分担」を説明する文です。処理を同時に行うこと自体の説明ではありません。 -
エ: 一つのCPUの処理時間を短い単位に分割し、複数のアプリケーションソフトに順番に割り当てて実行すること
→ 誤り。これは「時間分割(タイムシェアリング)」や「並行処理(concurrency)」の説明に近いです。単一CPUで順番に割り当てて動かすため、厳密には同時実行ではありません(疑似的な同時実行)。
よくある誤解
- 「同時に動いていればすべて並列処理」ではない
- 単一CPUでも高速に切り替えれば複数の処理が同時に動いているように見えます(これを並行処理やタイムシェアリングと言います)。しかし物理的に同時なら「並列処理」です。
- 「並列=速くなる」は常に成り立たない
- 並列にすると通信や同期(処理間の調整)コストが増え、逆に遅くなる場合があります。分割の仕方や作業の依存関係に注意が必要です。
補足コラム
-
並列(parallel)と並行(concurrent)の違い
- 並列(parallel):複数の処理が同時に実行されること。複数のCPUやコアが必要。
- 並行(concurrent):複数の処理が重なり合って進行すること。単一CPUでも時間を分けて切り替えれば実現可能。
覚え方の例:料理で「複数の料理人が同時に作る」→並列、「1人の料理人が順番に手を動かすが見た目は同時進行」→並行。
-
マルチコア/マルチプロセッサ
- マルチコア:1つのCPUチップの中に複数の処理コアがあること。
- マルチプロセッサ:物理的に複数のCPUがある構成。どちらも並列処理を行いやすくします。
FAQ
Q1. 単一のパソコンでも並列処理はできる?
A1. 厳密には、物理的に同時実行できるコアやCPUがなければ「真の並列」にはなりません。とはいえ、現代の多くのPCはマルチコアCPUを搭載しているため一般的には並列処理が可能です。
A1. 厳密には、物理的に同時実行できるコアやCPUがなければ「真の並列」にはなりません。とはいえ、現代の多くのPCはマルチコアCPUを搭載しているため一般的には並列処理が可能です。
Q2. 並列処理を使うと必ず処理が速くなる?
A2. いいえ。処理を並列化するには分割や同期のコストがかかります。問題の性質(分割できるか、依存関係がないか)によって効果が変わります。
A2. いいえ。処理を並列化するには分割や同期のコストがかかります。問題の性質(分割できるか、依存関係がないか)によって効果が変わります。
Q3. 「スレッド」や「プロセス」は並列処理とどう関係する?
A3. スレッドやプロセスは処理の単位です。複数のスレッドやプロセスを複数のCPU/コアで動かすと並列になります。違いは管理の仕方やメモリの扱い方にありますが、初心者は「処理を分ける単位」としてまず理解すれば十分です。
A3. スレッドやプロセスは処理の単位です。複数のスレッドやプロセスを複数のCPU/コアで動かすと並列になります。違いは管理の仕方やメモリの扱い方にありますが、初心者は「処理を分ける単位」としてまず理解すれば十分です。
関連キーワード: 並列処理、並行処理、マルチコア、タイムシェアリング、スレッド、プロセス、クライアントサーバ、同期処理

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

