本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

令和5年度 秋期 高度情報技術者試験問題と解説

問6

プリエンプティブな優先度ベースのスケジューリングで実行する二つの周期タスクA及びBがある。タスクBが周期内に処理を完了できるタスクA及びBの最大実行時間及び周期の組合せはどれか。ここで、タスクAの方がタスクBより優先度が高く、かつ、タスクAとBの共有資源はなく、タスク切替え時間は考慮しないものとする。また、 時間及び周期の単位はミリ秒とする。

      ┌──────┬────┐
ア     │ タスクの │タスクの│
      │最大実行時間│ 周期 │
 ┌────┼──────┼────┤
 │タスクA│   2   │  4  │
 ├────┼──────┼────┤
 │タスクB│   3   │  8  │
 └────┴──────┴────┘

      ┌──────┬────┐
イ     │ タスクの │タスクの│
      │最大実行時間│ 周期 │
 ┌────┼──────┼────┤
 │タスクA│   3   │  6  │
 ├────┼──────┼────┤
 │タスクB│   4   │  9  │
 └────┴──────┴────┘

      ┌──────┬────┐
ウ     │ タスクの │タスクの│
      │最大実行時間│ 周期 │
 ┌────┼──────┼────┤
 │タスクA│   3   │  5  │
 ├────┼──────┼────┤
 │タスクB│   5   │ 13 │
 └────┴──────┴────┘

      ┌──────┬────┐
エ     │ タスクの │タスクの│
      │最大実行時間│ 周期 │
 ┌────┼──────┼────┤
 │タスクA│   4   │  6  │
 ├────┼──────┼────┤
 │タスクB│   5   │ 15 │
 └────┴──────┴────┘


正解


解説

プリエンプティブなマルチタスクは、OSがアプリケーションのCPU割り当て時間を管理する方式である。

ア 正しい。A、Bが同時にスケジューリングされても、以下のようにタスクBが周期内に処理を完了できる。
    012345678910111213141516
タスクA
■■  ■■  ■■  ・・・
タスクB
 ■■  ■ □ ■■・・・

イ A、Bが同時にスケジューリングされると、1回目のタスクBが処理を完了できないまま、9ミリ秒後に新たなタスクBが実行される。
    012345678910111213141516
タスクA
■■■   ■■■
タスクB □  
■■■   

ウ A、Bが同時にスケジューリングされると、1回目のタスクBが処理を完了できないまま、13ミリ秒後に新たなタスクBが実行される。
    012345678910111213141516
タスクA
■■■  ■■■  ■■■  
タスクB
  ■■   ■■   

エ A、Bが同時にスケジューリングされると、1回目のタスクBが処理を完了できないまま、15ミリ秒後に新たなタスクBが実行される。
    012345678910111213141516
タスクA
■■■■  ■■■■  ■■
タスクB □  
 ■■    ■■  ★

    

【別解】
タスクAの実行時間をX、周期をa、タスクBの実行時間をY、周期をbをおくと、周期内に処理を完了するには以下の関係式を満たす必要がある。
1 > X/a + Y/b
これをbについて解くと、
ab > Xb + Ya
b > Xb/a + Y
となり、この関係式を満たすのはである。

問5 目次 問7