組込みシステムとは - info.kindai.ac.jp · e.g....
TRANSCRIPT
組込みシステムとはコンピュータ制御システム?
「専⽤の機能を実⾏するために、ハードウェアとソフトウェアが緊密に統合されたコンピュータシステム」
e.g. クーラー + センサ、マイコン = エアコン
電⼦交換機 = 通話路 + スイッチ+ 専⽤プロセッサ + 専⽤ソフトウェア
ソフトウェアの書換えにより機能の追加改訂が可能
きめ細かな制御が可能(快適かつ経済的)
RTOSに求められる特性
信頼性⼈間の介⼊無しに⻑時間動作e.g. 年あたりのダウン時間1分以内
予測可能性システムコールの応答時間のばらつきの最⼩化
コンパクトさメモリ消費量の正確な把握が可能なことを利⽤
スケーラビリティスケールアップ/ダウン容易性e.g. 携帯電話の基地局と端末で共通のOS
RTOSの機能要件
より⾼い信頼性 ⾼速性 ゆるいメモリ要件 多様なスケジューリングポリシーのサポート ROM/RAMブート、ディスクレスのサポート 異なるハードウェアプラットフォームへの移植性
マルチタスク 資源管理 ハードウェアの抽象化 APIの提供
6.1 標準的なカーネルの構成 スケジューラ カーネルオブジェクト
タスク、割込みハンドラ、タイマ、各種セマフォ、メッセージキュー、パイプ etc.
サービス時間管理、割込み処理、メモリ管理、デバイス管理
6.3 例外処理例外︓プロセッサの通常の処理を中断させ、特権状態で特別な命令(ハンドラ)を実⾏させるイベント
タスクのスタックを利⽤して実⾏完了後スケジューラを呼出す
同期例外︓プログラムの実⾏により発⽣するもの
⾮同期例外(外部割込み)︓ハードウェア信号として通知される外部イベント
割込み処理の諸概念 割込みハンドラ︓割込み要因ごとに定義された
処理ルーチン デフォルトハンドラ︓汎⽤的な割込みハンドラ
(最低限の処理のみ実⾏) 割込みベクタ︓割込み要因を表す番号 割込みベクタテーブル︓割込み要因ごとにその
ハンドラの先頭アドレスを格納した表 割込み禁⽌・マスク︓割込みの無効化
割込みネストの抑制特定のハードウェア信号の無効化
割込み禁⽌と許可 割込み禁⽌・許可︓
すべての割り込みの無効化とその取消し 割込みマスク・マスク解除︓
特定の割り込みを無効化とその取消し
移動検出割込みの禁⽌・許可
プログラマブル割込みコントローラの利⽤
コアCPU
PIC
割込みハンドラ
割込み
エアバックセンサ
ブレーキセンサ
燃料レベルセンサ
実時間クロック
最⾼優先度
⾼優先度
中優先度
低優先度
割込みベクタ
6.4 タイマとタイマサービス
組込みリアルタイムシステムでは・ポーリング・タイムアウト監視・sleepなどの⽬的で利⽤される
タイマとは・時間計測機能を持ち・指定された時間が経過したとき、そのことを通知する
ためのインタフェースを提供e.g. キッチンタイマー
PITとRTCコアCPU
ダウンカウンタ
ProgrammableIntervalTimer
PIT割込み
ハンドラ
割込み
周期設定
RTC割込み
ハンドラ
システムクロック(分周)
時刻保持
Real-TimeClock 割込み
通知時刻設定独⾃
クロック動作
ハードタイマとソフトタイマコアCPUPIT
(RTC)タイマ割込み
ハンドラ
割込み
周期設定
カウント
カウント
カウント
処理
処理
処理
ソフトタイマテーブル
ワーカタスク
起動 カウントダウン
タイマテーブルのソート
18 17 12 23 5 9 14 6 11 30 2 7 8
ソートされていないタイマテーブル
181712 235 9 146 11 302 7 8
ソートされたタイマテーブル
131 53 1 21 2 72 1 1
タイミングホイール
タイムスロットタイムスロットタイムスロットタイムスロットタイムスロットタイムスロットタイムスロットタイムスロット
クロックダイアル
処理 処理 処理
処理
処理 処理
起動 起動 起動