この章の目次にもどる
前頁:第1章 はじめににもどる
次頁:第3章 全般にすすむ

第2章 I-right/V の概要

I-right/V,は、 i386 CPU およびその互換 CPU を使用した PC-AT 互換機用の μITRON 3.0 仕様 OSであり、 東京大学坂村研究室で開発された、 μITRON3.0 仕様に準拠したリアルタイムカーネルである ItIs Phase3 をもとに、 パーソナルメディア株式会社が DOS/V パソコン ( IBM PC/AT 互換機 ) 向けに独自に移植したものである。
I-right/V は レベル E までのすべての機能を実現しており、 いくつかの独自の拡張機能も持っている。
また、デバッグ等に使用するためのモニターシステムが含まれる。

2.1 ターゲットシステム

ターゲット CPU としては、intel 80486DX 以上のCPUをサポートしている。

2.2 開発環境

開発環境としては、GNU 開発環境の新版 (GCC 2.X) を用いる。
GCC 2.X の拡張機能 (long long 型、インラインアセンブラ機能など) やパラメータ渡しのコンベンションに依存している部分がある。

2.3 サポートしないシステムコール

以下のレベルC システムコールはサポートしない。

dis_int割込み禁止
ena_int割込み許可
def_exc例外ハンドラ定義
chg_ims割込みマスク変更
ref_ims割込みマスク参照

また、以下のシステムコールは、 他の方法で代用できるためサポートしない。

ret_int割込みハンドラからの復帰
ret_wup割込みハンドラ復帰とタスク起床
ret_tmrタイマハンドラからの復帰

メモリー管理は周辺核 ( BTRON メモリー管理 ) で行うため、ITRON のメモリー管理機能は使用しない。 そのため、下記の機能は使用できない。

2.4 μITRON3.0仕様に従っていない部分

I-right/V は、以下の点でμITRON3.0仕様に従っていない。

2.5 拡張機能

I-right/V は、μITRON3.0 仕様に定義されている以外に、 以下の拡張機能をサポートしている。

2.5.1 自動割当機能

μITRON3.0仕様では、オブジェクトを生成するシステムコール、 タイマハンドラを定義するシステムコールで、 オブジェクトの ID ないしはタイマハンドラの番号を 明示的に指定する必要がある。
この仕様は、動作するタスクがあらかじめわかっているようなケース ( ほとんどの組み込みシステムはこれに該当する ) には適当であるが、 より大規模な OS のマイクロカーネルとして用いるなど、 動作するタスクがわからない場合には使いにくい。

I-right/V では、オブジェクトの ID およびタイマハンドラの番号を、 自動的に割り当てる機能をサポートしている。
オブジェクトの ID については、自動割当の対象になるのは、 正の ID のみである。
この機能をサポートするために追加されたシステムコールは次の通りである。

vcre_tskタスク生成 (ID自動割当)
vcre_semセマフォ生成 (ID自動割当)
vcre_flgイベントフラグ生成 (ID自動割当)
vcre_mbxメイルボックス生成 (ID自動割当)
vcre_mbfメッセージバッファ生成 (ID自動割当)
vcre_porランデブ用のポート生成 (ID自動割当)
vcre_mpl可変長メモリプール生成 (ID自動割当)
vcre_mpf固定長メモリプール生成 (ID自動割当)
vdef_cyc周期起動ハンドラ定義 (ハンドラ番号自動割当)
vdef_almアラームハンドラ定義 (ハンドラ番号自動割当)

I-right/V では、原則としてこれらの自動割り当て機能を使用する。 特別な理由がない限り、 ID/ハンドラ番号を指定しての生成/定義をしてはいけない。

2.5.2 デバッグサポート機能

デバッグサポート機能とは、 I-right/V 上で動作するタスクのデバッグを容易にするための機能で、 主にデバッガで利用される機能である。
現バージョンでは、以下の 2つのシステムコールをサポートしている。

vset_regタスクのレジスタ内容の設定
vget_regタスクのレジスタ内容の参照

2.5.3 性能評価用システム時刻参照機能

この機能は I-right/V ではサポートしていない。

2.5.4 優先度継承セマフォ機能

優先度継承セマフォとは、 優先度継承プロトコルを実現するための同期オブジェクトである。 現バージョンでは、バイナリセマフォのみをサポートしている。 この機能は、 ITRON 仕様カーネルで優先度継承プロトコルを実現するための機構の研究の一貫として実装したもので、 2 通りの仕様を用意している。 将来的には、どちらかの仕様しかサポートしないケースや、 どちらでもない第3の仕様をサポートするケースも考えられる。 この機能をサポートするために追加されたシステムコールは次の通りである。

vcre_pis優先度継承セマフォ生成
vvcre_pis優先度継承セマフォの生成(ID自動割当)
vdel_pis優先度継承セマフォ削除
vsig_pis優先度継承セマフォ資源返却
vwai_pis優先度継承セマフォ資源獲得
vpreq_pis優先度継承セマフォ資源獲得(ポーリング)
vtwai_pis優先度継承セマフォ資源獲得(タイムアウト有)
vref_pis優先度継承セマフォ状態参照

この章の目次にもどる
前頁:第1章 はじめににもどる
次頁:第3章 全般にすすむ