問題本文
マルチスレッドの説明として,適切なものはどれか。
選択肢
- ア.CPUに複数のコア(演算回路)を搭載していること
- イ.ハードディスクなどの外部記憶装置を利用して,主記憶よりも大きな容量の記憶空間を実現すること
- ウ.一つのアプリケーションプログラムを複数の処理単位に分けて,それらを並列に処理すること
- エ.一つのデータを分割して,複数のハードディスクに並列に書き込むこと
正解
ウ. 一つのアプリケーションプログラムを複数の処理単位に分けて,それらを並列に処理すること
解説
マルチスレッド(Multithreading)は1つのアプリケーションプログラムを複数の処理単位(スレッド)に分けて並列実行する仕組み。スレッドはプロセス内で共有メモリ上で動作する軽量な処理単位で、CPUコアを効率活用して処理速度を向上できる。マルチコア(CPU内に複数の演算コアを持つ)・仮想記憶(外部記憶で主記憶容量を仮想的に拡張)・ストライピング(複数HDDにデータを分散書込みで高速化)とは異なる概念であり、それぞれの正確な定義の区別が重要。
選択肢ごとの解説
- ア.誤り。CPUに複数のコア(演算処理回路)を搭載することはマルチコア(Multi-Core Processor)プロセッサの説明。物理的な演算回路の数を増やすハードウェア構成の話であり、1つのプログラムを複数の処理単位(スレッド)に分割して並列実行するマルチスレッドとは異なる概念である。
- イ.誤り。ハードディスクなどの外部記憶装置を主記憶の延長として仮想的に利用し、主記憶より大きな記憶空間を実現することは仮想記憶(Virtual Memory)の説明。OSが管理するメモリ管理機構であり、プログラムの処理単位分割・並列実行の仕組みであるマルチスレッドとは全く別の概念である。
- ウ.正解。マルチスレッドは1つのアプリケーションを複数のスレッド(Thread=処理の実行単位)に分割して並列に実行する仕組み。WebブラウザのUI応答とバックグラウンドでのデータ通信を同時実行する例が代表的で、マルチコアCPUと組み合わせて真の並列処理を実現できる。
- エ.誤り。1つのデータを複数のハードディスクに並列に書き込むことはRAID 0(ストライピング:Striping)の説明。データを複数HDDに分散書込みすることで読み書き速度を向上させる記憶装置の冗長化・高速化技術であり、プログラムの処理単位分割を意味するマルチスレッドとは異なる概念である。
ITパスポート 2018年 (平成30年 秋期) の過去問一覧へ戻る・問59