リアルタイムモニタリング機能を実装したハードウェアスケジューラの設計と実装

河村 透 (9951033)


 使用用途に応じて様々な機能を提供する組込みシステムに制限時間内に処理を終了させなければならないリアルタイムアプリケーションを扱うものがある。このアプリケーションの時間管理を行うのがリアルタイムオペレーティングシステム(RTOS)であり、中でもスケジューラと呼ばれる機能が重要な役割を果たす。スケジューラはプログラムの構成要素であるタスクに対して優先度(プライオリティ)や制限時刻(デッドライン)を基にプロセッサが実行する順番を決めるスケジューリングを行う。制限時間を特に厳守するハードリアルタイムシステムではスケジューラは頻繁にスケジューリングを行う必要がある。なぜならタスクの制限時間は時間の経過や他のタスクの起動要求によって更新される場合があるため、スケジューリングの結果が常に正しいとは言えなくなるからである。また的確なスケジューリング結果を生み出すためのスケジュール可能性判定、プロセッサの実行状況の確認作業はスケジューリングと同様、頻繁に実行させる必要があるため、プロセッサにはこれらの少なくない負荷がかかる。従来ではハードリアルタイムシステムを実現するのに高性能なプロセッサを用いて負荷そのものを小さくする方法を取っていたが、高性能なプロセッサの採用はそのままコストの増加につながるため、ハードリアルタイムシステムを実現できる組込みシステムは限られる。

 本研究ではハードリアルタイムシステムを実現する上で、制限時間の厳守や応答時間の短縮を図るため, OSの機能の一部であるスケジューラをハードウェアで構成したハードウェアスケジューラと、プロセッサの実行状況を監視するリアルタイムモニタリング回路を開発し、プロセッサの実行状況に応じたスケジューリングができるアーキテクチャを提案し、実装する。このハードウェアスケジューラによりプロセッサはタスクの処理だけに専念することができるため、低価格のプロセッサでもハードリアルタイムシステムが構築できる。評価の結果、プロセッサに負荷がかからず、制限時間を厳守できるシステムが構築でき、ハードウェアスケジューラは汎用プロセッサよりも短いステップでスケジューリングを行えることを確認した。

 本発表ではハードリアルタイムシステムを構成する際の問題点を挙げるとともに、ハードウェアスケジューラを用いたリアルタイムシステムを構築する方法について述べる。