今回は,T-Kernelの機能を拡張して,より高度なOS機能を実現するためのT-Kernel/Standard Extensionと,組込みシステム用に設計されたTCP/IPプロトコルスタックであるITRON TCP/IP API仕様に関する例題を取り上げます。

 例題1は,T-Kernel/Standard Extensionの概要に関する問題ですので第一区分になります。

 例題2は,少し難しくして,第二区分からの出題です。第二区分の問題は計算や実際のプログラミングの能力が要求されます。

例題1 テーマ:T-Kernel/Standard Extensionの概要

【問題】
T-Kernel/Standard Extension(以下TKSE)の説明として,間違っているものを次の中から一つ選べ。

【選択肢】

  1. TKSEはプロセス/タスク管理機能を提供する。
    プロセスとは,OSがプログラムを管理する単位であり,それぞれ独立したアドレス空間を持つ。
    タスクとはプログラムの実行単位であり,1つのプロセスには1つまたは複数のタスクが存在し,優先度順および時分割のスケジューリングにより並行して実行される。
  2. TKSEのメモリ管理機能は,データを格納するための各種メモリ領域の管理を行う。
    管理されるメモリ領域は,ローカルメモリ領域,共有メモリ領域,システムメモリ領域の3種類があり,それぞれの領域に対して指定した大きさのメモリブロックの割当て,解放等の機能を提供する。
  3. TKSEのデバイス管理機能は,デバイスに対する操作の機能を提供する。
    TKSEが提供するデバイス登録機能を用いてシステムに登録したデバイスを用いることができる。
  4. TKSEは標準でファイルシステムを提供する。

正解(マウスでドラッグして文字を反転させてください)= 3

【解説】
 T-Kernelは,従来のITRONの機能に相当する標準リアルタイムOSです。T-Kernel Extensionの下において,マイクロカーネルとして利用可能なようにコンパクトに設計されています。

 T-Kernel Extensionは,T-Kernelの機能を拡張し,より高度なOS機能を実現するためのミドルウエアです。T-Kernel Extensionの中で,大規模アプリケーションの開発において共通に利用されることが多い機能を集めたものがT-Kernel/Standard Extensionです(図1)。

図1●T-Kernel/Standard Extensionの位置付け
図1●T-Kernel/Standard Extensionの位置付け
[画像のクリックで拡大表示]

 TKSEは標準仕様としてT-Engineフォーラムから仕様書とリファレンスコードが公開されており,誰でも無償で利用することができます。

 TKSEが提供する主な機能は以下の通りです。

  • メモリ管理
  • プロセス/タスク管理
  • プロセス間メッセージ
  • グローバル名
  • タスク間同期・通信
  • 標準入出力
  • 標準ファイル管理
  • イベント管理
  • デバイス管理
  • 時間管理
  • システム管理
  • 共有ライブラリ

 選択肢1は,プロセス/タスク管理機能に関する説明です。TKSEはプロセス/タスク管理機能を提供しており,プロセスとタスクに関する説明も正しいので,選択肢1は正しいことになります。

---

 選択肢2は,メモリ管理機能に関する説明です。TKSEはメモリ管理機能を提供しており管理対象となるメモリに関する説明も正しいので,選択肢2は正しいことになります。

 ここで注意が必要なのはTKSEでは「データを格納するための」メモリを管理する機能を提供しているという点です。割り当てられたメモリブロックへのデータの書込みと読出しは自由にできますが,原則としてプログラムを実行することはできません。これはアプリケーションプログラムが暴走した場合などに,バッファに格納されているデータを誤ってコードとして実行したりすることがないようにするためです。

---

 選択肢3は,デバイス管理機能に関する説明です。

 TKSEのデバイス管理機能では,システムに登録されたデバイスを操作するための機能を提供していますが,デバイスの登録機能は持ちません。システムへのデバイスの登録はT-Kernelのデバイス管理機能を用いて行います。

 このため,選択肢3は間違いとなります。

---

 選択肢4は,正しい説明です。

 TKSEは仮想記憶に対応しており,物理メモリが不足した場合に,使用していないメモリページをページファイルに書き出してメモリページを破棄して,新たなメモリ領域として割り当てる機能を有しています。また,プログラムをファイルシステムから動的にロードして実行する機能を提供しています。これらの機能を実現するためにはファイルシステムは必須の機能となります。

---

 本例題では「間違っているものを次の中から一つ選べ」となっていますので,正解は3となります。