情報技術者試験(国家試験)に出題された問題を解いてみましょう。
情報活用編プラス
第3章「コンピュータとプログラミング」
IP02-01
ハードウェアとソフトウェア
国家試験の問題を解いてみよう②
問題3
Webサイトからファイルをダウンロードしながら、その間に表計算ソフトでデータ処理を行うというように、1台のPCで、複数のアプリケーションプログラムを少しずつ互い違いに並行して実行しているOSの機能を何と呼ぶか。
ア 仮想現実
イ デュアルコア
ウ デュアルシステム
エ マルチタスク
【出題】平成29年春 ITパスポート試験 問73
ヒント
今回は、1台のPCで複数のアプリケーションを同時に使える仕組みに関する問題ですね。
こうした動きは、OS(オペレーティングシステム)がある機能を持っているからこそ実現できます。
でもさ、パソコンって、一度に1つのことしかできないんじゃなかったっけ?
確かに、CPUは基本的には一つずつしか命令を実行できないけど、すごく速く処理を切り替えてるって聞いたことあるよ。
その通りです。実際には一瞬ごとに一つの処理をしていますが、何千・何万回という単位で切り替えているので、
私たちから見ると「同時に複数のことをやっている」ように感じられるのです。
たとえば、音楽を再生しながらブラウザを使って、同時に表計算ソフトで作業したりできますよね?
そうそう!俺も、YouTube流しながらチャットして、裏でファイルをダウンロードしてるよ!
私も、音楽聴きながらレポート書いたりする!それってOSがうまく切り替えてくれてるんだね。
そのとおり。OSは、CPUの処理時間をうまく分配しながら、複数の「タスク(仕事)」を少しずつ進めていくんです。
こうした「複数のタスクを同時にこなす仕組み」のことを、ある特別な名前で呼びます。
そうか、「タスク」って“やってる仕事”のことなんだ。
じゃあ、「マルチタスク」って、「複数の仕事を同時にやる」ってことか!
大正解です!OSが複数のアプリケーションを切り替えながら動かすこの仕組みを、「マルチタスク」と言うんですよ。
ちなみに、人間にも「マルチタスクが得意」とか言いますが、意味はほとんど同じですね。
なるほど〜!パソコンも人と同じで「仕事を掛け持ちしてる」ってわけか。
じゃあ今回の問題で、OSがやってるのは「マルチタスク」ってことだね!
回答をカタカナ(ア〜エ)で入力してください。
次の問題です。
問題4
タスクのディスパッチの説明として、適切なものはどれか。
ア 各タスクの実行順序を決定すること
イ 実行可能なタスクに対してプロセッサの使用権を割り当てること
ウ タスクの実行に必要な情報であるコンテキストのこと
エ 一つのプロセッサで複数のタスクを同時に実行しているかのように見せかけた状態のこと
【出題】平成25年 ITパスポート試験 問56
CPUなどに関わる「ディスパッチ」などの言葉も調べてみましょう
ヒント
この問題は「ディスパッチ(dispatch)」、つまりOSがタスクを実行させる仕組みに関するものですね。
まずは、「ディスパッチって何なのか」を理解するところから始めましょう。
ディスパッチ?ってなんだろう。
OSが「今このタスクをCPUで実行していいよ」と送り出すこと、それが「ディスパッチ(またはディスパッチング)」です。
より具体的には、「実行可能な状態にあるタスクの中から、実際にプロセッサを使って実行するタスクを選び、CPUに割り当てる」処理のことです。
なるほど。タスクの順番を決めるってよりは、「実際に動かすやつをCPUに渡す」って感じなんだ!
ってことは、「順序を決める」のはスケジューリングで、
「実際にCPUに渡す」のがディスパッチなんだね。似てるけど違う役割なんだ!
その通り!
スケジューラが「このタスクを次に実行しよう」と決めたら、ディスパッチャがそのタスクにCPUを渡します。
この一連の流れで、私たちのPCはさまざまな処理を高速で切り替えながら動かしています。
よーし、じゃあ「ディスパッチ」は「タスクにCPUを割り当てて実行開始する」ことだね!
回答をカタカナ(ア〜エ)で入力してください。
※この再現版では提出は行いません(送信先は未接続です)