Instiq

3リアルタイムOSとタスク管理

問題集で演習する →用語集を見る →
  • 3.1RTOSの役割とタスク状態遷移

    RTOS(リアルタイムOS)が汎用OSと何を優先して設計されているか、カーネルが担うタスク管理・スケジューリング・割込み処理の役割、タスクの実行・実行可能・待ち(休止含む)の3状態遷移、そして組込み開発で「RTOSを採用すべきか、ベアメタル(RTOS無し)で十分か」を判断する観点を学びます。

  • 3.2スケジューリング

    優先度ベーススケジューリングとラウンドロビンの違い、固定優先度方式の代表であるレートモノトニック(RM)とそのスケジュール可能性の利用率上限(Liu&Laylandの式)、動的優先度方式のEDF(Earliest Deadline First)、そしてプリエンプションの有無が応答性に与える影響を、実際の周期タスク集合が締め切りを守れるかという判断とともに学びます。

  • 3.3タスク間同期・通信

    排他制御のためのセマフォとミューテックスの用途の違い(カウンティング資源管理 vs 排他所有権)、イベント発生を伝えるイベントフラグ、データの受け渡しに使うメールボックスとメッセージキューの違いを、実際のタスク間連携の設計場面でどれを選ぶべきかという判断とともに学びます。

  • 3.4優先度逆転とデッドロック

    優先度逆転が発生する機序(高優先度タスクが低優先度タスクの保持する資源待ちで足止めされ、さらに中優先度タスクに割り込まれて無期限に遅延する)と、その解決策である優先度継承(priority inheritance)と優先度上限(priority ceiling)の違い、そしてデッドロックの発生4条件(循環待ちを含む)と回避策を学びます。

  • 3.5割込みとリアルタイム性

    ISR(割込みサービスルーチン)とタスクを分離し、時間のかかる処理を遅延処理(deferred processing)へ委譲する設計、ハードリアルタイムとソフトリアルタイムの違い、割込み遅延(interrupt latency)とジッタの発生要因、そして応答時間解析によって最悪応答時間を見積もる考え方を学びます。