修論タイトル:「カーネル外スレッドetの適用範囲拡大のための追加機能の設計と実装」
(2005年度 修士論文)
氏名:藤田 昌平
概要:
最近の組み込み系計算機は, レガシーデバイスだけではなく, USBやEthernetなどPC並に高度な機能を持つ物が増えてきている.
このような状況では, 搭載するソフトウェアを一から作成することは, 手間がかかり無駄が多くなるため, Linuxや, FreeBSDやNetBSDなどのUNIX系のOSなどを使用することが増えている.
これらのOSは, 多数のCPUアーキテクチャ, 多数のハードウェアをサポートしているため, 作成するソフトウェアの量が少なくて済む.
また, 組込み系ではロボット制御や情報家電など, 独自のハードウェアの制御などを行う必要が出てくる.
上記のUNIX系OSのユーザプログラムでは, ハードウェアを直接制御することが不可能である.
そこで, 本研究ではハードウェアやカーネル等の, ユーザプログラムでは制御することができない機能の制御を行うプログラムを, 簡単に作成できるような機構の構築を行う.
本研究では, 当研究室で開発された, et (external thread) という機構を元にして上述した機構の開発を行った.
etとは, カーネルメモリ内にロードされ, カーネルではなく独自で実行管理を行うスレッドであり, カーネルモードで実行される.
そのため, ハードウェアの直接制御やカーネルパラメータの動的変更などを行うことができる.
しかし, オリジナルのetはカーネル外スレッドを動作させるために必要最低限の機能しか持っておらず, 適用可能なプログラムの範囲が狭い.
そこで本研究では, etの適用範囲を広げるために以下の点について設計と実装を行った.
- システムの導入や管理を簡単に行えるような基本設計
- スレッドの実行管理機構の設計
- ユーザプログラムとの通信機構の設計
- マルチスレッド対応設計
そして, 追加機能を実際の利用状況を想定した評価, またサンプルプログラムを作成した.
その結果, 機能拡張により, 本システムの導入や利用が簡単になったことと, 適用可能範囲が拡大したことが得られた.
本文:
[pdf]
システム説明:
[システム利用の説明(local only)]