《機械》〈情報伝送及び処理〉[R02:問8]オペレーティングシステムのタスク管理に関する空欄穴埋問題

【問題】

【難易度】★★★★☆(やや難しい)

次の文章は,オペレーティングシステムのタスク管理に関する記述である。文中の\( \ \fbox{$\hskip3em\Rule{0pt}{0.8em}{0em}$} \ \)に当てはまる最も適切なものを解答群の中から選べ。

オペレーティングシステムは,複数のタスクに対して,優先度に基づき\( \ \mathrm {CPU} \ \)やメモリ,通信インターフェースなどのハードウェア資源を効率的に割り当て,システム全体の遊び時間を少なくすることで\( \ \fbox {  (1)  } \ \)を高めている。このように,タスクを管理して,ハードウェア資源を有効活用する機能をタスク管理という。

タスクは生成されると,\( \ \fbox {  (2)  } \ \)状態となる。実行状態にあるタスクから\( \ \mathrm {CPU} \ \)の占有が解かれると,タスクディスパッチャが\( \ \fbox {  (2)  } \ \)状態にあるタスクの中から最も優先度の高いタスクに\( \ \mathrm {CPU} \ \)の使用権を与え,実行状態に移行させる。

複数のタスクを切替えて実行する場合,タスクの切替えタイミングが重要となる。一例として,外部や内部の\( \ \fbox {  (3)  } \ \)により発生する状態変化のタイミングを用いるイベントドリブン方式がある。

タスクの実行順序は,\( \ \fbox {  (4)  } \ \)と呼ばれる構造の待ち行列にタスクを格納して処理を行う到着順方式や,処理時間の短いタスクを最初に実行する処理時間順方式がある。その他に,あらかじめタスクに優先度を付与しておき,優先順位に従って処理する方式がある。しかしこの方式では,優先度の\( \ \fbox {  (5)  } \ \)タスクが実行されないスタベーションと呼ばれる現象が起こる可能性があり,動的に優先度を変更する対策などが行われる。

〔問8の解答群〕
\[
\begin{eqnarray}
&(イ)& メモリ使用量     &(ロ)& 低い     &(ハ)& 実行可能 \\[ 5pt ] &(ニ)& \mathrm {FILO}     &(ホ)& 同じ     &(ヘ)& 高い \\[ 5pt ] &(ト)& 待ち     &(チ)& \mathrm {FIFO}     &(リ)& \mathrm {LIFO} \\[ 5pt ] &(ヌ)& スループット     &(ル)& クロックスピード     &(ヲ)& 割込み \\[ 5pt ] &(ワ)& ベンチマーク     &(カ)& 中断     &(ヨ)& データ通信 \\[ 5pt ] \end{eqnarray}
\]

【ワンポイント解説】

オペレーティングシステム,一般的にはOSという名称で普及しているパソコンの肝となる部分に関する出題です。Windows、Mac、Android、iOSと言われる方がピンとくるかと思います。
電験の中でも最も受験生が選択しない分野ですが,近年の通信技術の発達や今後の発展を見通して概要だけでも覚えておくと良いと思います。

1.オペレーティングシステムのタスク管理
オペレーティングシステムには,入出力管理,ネットワーク通信,タスク管理,ファイルの管理等様々な役割があります。
そのうち,タスク管理はコンピュータに与えられた仕事(タスク)に優先順位をつけたり,管理したりする役割があり,図1のようなプロセスでタスクを処理していきます。

① 実行可能状態
タスクが生成されるとなる状態で,\( \ \mathrm {CPU} \ \)の空きを待っている状態です。
タスクディスパッチャにより,優先度の高いタスクから実行状態に移行されます。

② 実行状態
\( \ \mathrm {CPU} \ \)が使用でき,実行できる状態です。
タスクディスパッチャにより,優先度の高いタスクが入ってきた場合や割り当てられた時間を超えた場合には,実行可能状態に移行される場合もあります。

③ 待機状態
実行状態になっている時に入出力等の事象が発生したら\( \ \mathrm {CPU} \ \)の使用を放棄して移行する状態です。入出力等が完了すると,実行可能状態に移行します。

2.タスク管理の切替えタイミングと優先順位
a.切替えタイミング
 ① イベントトリブン方式
 新しいタスクの発生,タスクの完了,入出力の発生等イベントが発生したタイミングでタスクを切替える方式です。
 ② タイムスライス方式
 イベントに関係せず,時間周期的にタスクを切替える方式です。

b.優先順位
優先順位の付け方はいろいろありますが,以下の\( \ 3 \ \)種類程度を知っておけば十分かと思います。
 ① 優先度順方式
 優先度の高いタスクから処理する方式です。 
 優先度の高いタスクが後から連続して入ってくると,いつまで経っても先に入れた優先度の低いタスクが実行されないスタベーションと呼ばれる現象が発生する可能性があります。
 ② 到着順方式(\( \ \mathrm {FIFO} \ \)方式)
 先に発生したタスクから順に処理する方式です。
 \( \ \mathrm {First \ In \ First \ Out} \ \)方式とも呼ばれます。
 ③ 処理時間順方式
 タスクの処理時間の短いものから処理する方式です。

【解答】

(1)解答:ヌ
題意より解答候補は,(ヌ)スループット,(ル)クロックスピード,(ワ)ベンチマーク,(ヨ)データ通信,等になると思います。
問題文の通り,オペレーティングシステムは,「複数のタスクに対して,優先度に基づき\( \ \mathrm {CPU} \ \)やメモリ,通信インターフェースなどのハードウェア資源を効率的に割り当て,システム全体の遊び時間を少なくすること」で単位時間当たりの処理数を高めています。単位時間当たりの処理数のことをスループットといいます。

(2)解答:ハ
題意より解答候補は,(ハ)実行可能,(ト)待ち,(ヲ)割込み,(カ)中断,等になると思います。
ワンポイント解説「1.オペレーティングシステムのタスク管理」の通り,タスクは生成されるとまず実行可能状態になります。

(3)解答:ヲ
題意より解答候補は,(ト)待ち,(ヲ)割込み,(カ)中断,等になると思います。
ワンポイント解説「2.タスク管理の切替えタイミングと優先順位」の通り,最も適当なのは割込みによるイベント発生となります。

(4)解答:チ
題意より解答候補は,(ニ)\( \ \mathrm {FILO} \ \),(チ)\( \ \mathrm {FIFO} \ \),(リ)\( \ \mathrm {LIFO} \ \),になると思います。
ワンポイント解説「2.タスク管理の切替えタイミングと優先順位」の通り,最も適当なのは\( \ \mathrm {FIFO} \ \)となります。

(5)解答:ロ
題意より解答候補は,(ロ)低い,(ホ)同じ,(ヘ)高い,になると思います。
ワンポイント解説「2.タスク管理の切替えタイミングと優先順位」の通り,優先度順方式は,優先度の低いタスクが実行されないスタベーションと呼ばれる現象が発生する可能性があります。
この選択肢に関しては,文脈から正答を導き出せると良いと思います。



記事下のシェアタイトル