オペレーティングシステム

オペレーティングシステムJ/K
(実時間処理システム)
2005年11月24日
酒居敬一([email protected])
http://www.info.kochi-tech.ac.jp/k1sakai/Lecture/OS/2005/
「LAME」から「午後のこ~だ」へ[酒居ら, 2002] 。
•汎用プロセッサ向け。
•IA-32をターゲット。
•並列処理。
•データ並列演算。
•マルチスレッド処理。
•アプリケーションを考慮。
•キャッシュ制御が必要。
•SMP向けのジョブ分割。
•人手で最適化。
②
①
(12%)
(25%)
③
(55%)
④
(8%)
ISO MPEG-1 Layer III Audioに準拠した圧縮処理
スレッド分割
•入力はキャッシュにない。
キャッシュ制御
•キャッシュの有効利用。
データフロー解析
•フレーム間依存。
実時間処理システム
• リアルタイムOS
– ITRON
– 分散リアルタイムOS技術
• いずれも参考資料は情報処理学会誌
• 文献ではMCUとMPUとCPUは使い分けてい
るが、本講義ではCPUに統一している。
MCUはEmbeded CPUのこと。
ITRON1
• 1984年に検討が開始され、1987年に仕様策定
• リアルタイムOS
• 多種類の16ビットCPUをターゲット
• 広範囲の組み込み用途を強く意識
• 概念や用語の統一を重視
• オープンな仕様
ITRON1
• ハードウェアの性能を最大限生かす
– 汎用すぎるRTOSでは性能が出なかった
• ソフトウェアの生産性向上に役立つ
– 移植性はそこそこに、教育面からの考慮を中心
• リターゲットを考えると移植性はそれほど重要ではない
– おなじOSが使えることは大きな利点
• 各規模/多種類のプロセッサに標準的に適用
– 多種類向けのRTOSは多くなかった
– 時間の経過とともにターゲットの変更はよくある
→ 図1
ITRON1の設計コンセプト
• 弱い標準化(無理をしない標準化)
– 共通化すると実行時性能の低下→標準化しない
– 一般のOSでいうところの抽象化層を挿入しない
– 多様なハードウェアの上で性能を最大限に発揮
設計方針 → 3.1
実装例 → 表2
μITRON
• 1989年に仕様を策定
• 8~16bitCPUをターゲットに仕様を絞り込み
– きわめて限られた計算能力で使用可
– 小容量のメモリに搭載可
• シングルチップCPU
• 必要な機能だけを搭載することもできた
• ITRON1と基本コンセプトは同じ
• 32bit CPUにまで搭載されるようになった
ITRON2
• 1989年に仕様を策定
• TRONチップをターゲットとしている
– 比較的規模の大きな制御システムに使われる
• ITRON1と基本コンセプトは同じ
• ただし、応用は広がらなかった
μITRON3.0
• 1993年に仕様公開
• 32bitCPUもターゲットにした
• 接続機能をもつ
• 古いμITRONも依然として使われている
– 必要十分であれば移行は必要ない
• ツールが充実してきた頃
ITRONの第2フェーズ
• RTOSカーネルから周辺の仕様を標準化
• 組み込みシステムも大規模化へ進んでいる
– カーネル仕様の標準化だけでは不十分
• 開発環境の充実が必要
• ソフトウェア部品のインタフェース標準化
• μITRON4のリアルタイムカーネル仕様
ソフトウェア部品のインタフェース標準化
• TCP/IPプロトコルスタック
– 組み込み機器でもインターネット接続が必要
– ソケットインターフェースの問題点を解決
– 1998年5月に公開
– コンパクトで効率の良いAPI
– 概念や用語はITRON仕様と整合
• Java実行環境
μITRON4
• ソフトウェア部品を流用したい
– 移植性の高さが必要
– 弱い標準化ではできない
• スケーラビリティは維持したい
• スタンダードプロファイルを厳密に定義
分散リアルタイムOS技術
1-1. ハードリアルタイム
 時間制約を満足しない場合に効用が-∞
1-2. ソフトリアルタイム
 時間制約を満足しない場合に効用がゆるやかに減少
2. スケジューリング問題
 各ホストがタスクだけではなく、ネットワークやデータ
ベースに関する時間制約を満足しないといけない
 いろいろなドメインのスケジューリングが必要
3. スケジューラビリティ解析問題
 タスク間の実行順序関係はデータやメッセージに依存
 メッセージのスケジューラビリティ解析なども必要
4. リアルタイム同期問題
 セマフォのキューでも優先度決定が必要
5. リアルタイム通信問題
 メッセージ転送時の最悪転送時間が規定できない
リアルタイムOSの最新動向
• 時間制約の記述
– Cyclic Execution
– 周期的タスクやデッドラインハンドラ
• Rate monotonic, Earliest Deadline Firstスケジュー
ル
– ソフトデッドライン対象に評価関数の導入
– 資源予約方式
• CPUやネットワークなどが予約対象の資源
資源予約方式の最新研究トピック
• 複数種類の資源の統合
– 依存関係のある資源を予約する場合を考慮
• 多階層のQoS表現の統合
– 表現が階層により異なることを考慮
• 複数の実行主体の統合
– ジョブは複数のスレッドに分かれている場合を考慮
• 分散資源予約の統合
– 異機種構成では性能や機能が違うことを考慮
午後の人々