高信頼性組み込みソフトウェア開発-最新技術動向と取り組み:4.高信頼・セキュア組み込みオペレーティングシステム
8
0
0
全文
(2) 4. 高信頼・セキュア組み込み オペレーティングシステム アプリケーションA アプリケーションB アプリケーションB. アプリケーションA. カーネル. a) μITRON. カーネル. b) Linux. 図-1 μITRONと組み込みLinux. 時に実行するため,信頼性やセキュリティの面で不十分. ードオフを検討する必要がある.我々は,いくつかのプ. である.プログラムローダは各プログラムをアドレスス. ロジェクトにおいて実現に向けた問題点を明らかにする. ペース内のどこに割り付けるかを考慮してアドレス解決. 実験を行っている. 1),4) ∼6). .. を行う必要がある.また,あるプログラムは,他のプロ グラムのメモリスペースに直接アクセスすることが可能. ▪仮想マシンの利用. なため,ソフトウェアバグが存在したり,悪意があるプ. OSの目的の1つはハードウェアを仮想化することであ. ログラムが他のプログラムを破壊する可能性がある.し. る.しかし,提供する仮想化はOSごとによりさまざま. かし,実時間性や消費電力の面,過去の組み込みソフト. である.Real-Time Mach やL4(http://l4ka.org/)など. ウェア資産の再利用の面では有利である.また,組み込. のμカーネルに基づくOSは高レベルなCPUやメモリの. みLinuxは各アプリケーションプログラムとOSを異なる. 仮想化を行う.User Mode Linux(http://user-mode-. アドレススペース内に配置するため信頼性を格段に向上. linux.sourceforge.net/) では,Linuxを仮想マシンとして. させる.組み込みLinuxでは,各プログラムでは,それ. 利用することを可能としている.また, VMWare (http://. ぞれが0番地から始まる独立したアドレススペースが割. www.vmware.com)やXEN(http://www.zensource.. り当てられる.そのため,プログラムローダは他のプロ. com/)等の仮想マシンモニタは,ハードウェアと同一の. グラムのことを考慮せずにアドレス解決を行うことが可. 抽象レベルを提供する.そのため,ハードウェア上で直. 能となる.また,プログラムはお互いのメモリをアクセ. 接動作するOSを変更せずに使用することが可能となる.. スすることが不可能なためセキュリティや信頼性を向上. 低レベルの抽象化を提供するOSである仮想マシンモ. することが可能となる.. ニタ(VMM)を利用して図-2に示すように複数の既存の. しかし,前章で述べたような次世代の組み込みシステ. 組み込みOSを同一システム上で稼働させることにより,. ムを実現するためには,組み込みLinuxが提供するメモ. セキュリティや信頼性を向上することが可能となる.た. リ保護だけでは信頼性やセキュリティを向上するには不. とえば,A,B2つの組み込みOSを同一のマシン上で仮. 十分であり,次章で紹介する機能をOSレベルで提供す. 想マシンモニタを利用して同時に稼働させる場合を考. る必要がある.. える.そして,OS A上では最初からインストールされ. 1). ているコアアプリケーション,OS B上では外部から必要. 高信頼・セキュア組み込みOSへ向けて. に応じてダウンロードしたアプリケーションを実行する. この場合,2つのOSはそれぞれ隔離されて動作している. 本章では,高信頼・セキュア組み込みOSを実現する. ため,OS B上のアプリケーションからはOS Aが管理す. ために必要となる仮想マシンの利用,リソースアカウン. るファイル等のリソースにアクセスすることができなく. ティング,メモリ保護ドメイン,アクセス制御,障害通. なる.そのため,機密情報がある場合でも容易にセキュ. 知機構,バグ発見,自動コンフィグレーション支援,マ. リティを保護することが可能となる.また,それぞれの. ルチコア対応,アーキテクチャの8つの機能に関して紹. アプリケーションを異なる組み込みOS上で稼働させる. 介する.これらの機能をどのように組み込みOS内に実. ことにより,ある組み込みOSがソフトウェアのバグに. 現するかに関しては今後の実験を通してさまざまなトレ. よりクラッシュした場合や外部から浸入された場合でも IPSJ Magazine Vol.47 No.5 May 2006. 507.
(3) . ▪リソースアカウンティング OS 2. OS 1. 多くの組み込みシステムでは,現在の各アプリケーシ. OS 3. ョンプログラムが使用するリソース量を正確にモニタ リングするリソースアカウンティングが必要である.そ 仮想マシンモニタ. れにより,システムが過負荷になった場合に簡単に回復 することが可能となる.リソースアカウンティングを用 いて非リアルタイム処理の一部をリアルタイム処理より 優先することによりGUIの応答性を向上することも可能. 図-2 仮想マシンモニタ. 6). となる .また,仮想マシンモニタにアカウンティング システムを実装することにより,複数のOS上のアプリ 問題が生じた組み込みOSをリブートすることにより簡. ケーションプログラムの応答性を改善することが可能と. 単に問題を解決することが可能となる.. なる .. 一般に,ハードウェア仮想化で用いる抽象レベルが低. 現在の組み込みOSでは,現在のリソース使用量をチ. いほど仮想マシン上で実行するOSの変更は少なくなる.. ェックするための機構は提供されていることがあるが,. たとえば,User Mode LinuxのようにLinux上でLinuxを. ある使用量を超えた時点でのアプリケーションプログラ. 動作させるためにはカーネルの多くの部分の変更を必要. ムへの通知や実行をブロックする機能が提供されている. とする.また,μカーネルに基づくOS上では,組み込. ことは少ない.特に,動的にリソース割り当てを行う場. みOS内のマシン依存部の書き換えを必要とする.しか. 合は,各プログラムがリソース使用量が増大しているこ. し,仮想マシンモニタを利用する場合は,まったく変更. とを検知して,リソース使用量を減らすような回復処理. が必要ないか,きわめて少ない変更で複数の組み込み. を実現可能とするリソースアカウンティング機能が提供. OSを動作させることが可能となる.. される必要がある.. 仮想マシンモニタを用いて複数の組み込みOSの実行. CPUリソースアカウンティング機能を利用すること. を支援する場合に問題となるのは,仮想マシン上で動作. により,組み込みOSが提供するリソース管理機構を改. するOS間のリソース管理である.アプリケーションの. 善し,アプリケーションプログラムの応答性を向上する. 要求を満足するため,仮想マシン上で動作するOSは現. ことも可能である.たとえば,リアルタイムプログラム. 在動作しているアプリケーションが要求するリソース量. の実時間制約を損なうことなしに,周期が長いリアルタ. に関して正確な情報を仮想マシンに対して提供する必要. イムプログラムや非リアルタイムプログラムを優先度が. がある.. 高いプログラムとして実行することも可能である.これ. 現在のデスクトップやサーバ向けのOSはインテルア. により,非リアルタイムプログラムの応答性の向上や周. ーキテクチャを前提としていることが多いのでベースと. 期が長いプログラムを過負荷時に優先的に扱うことが可. なるハードウェアと同じ抽象レベルを提供することによ. 能となる.. 5). りOS自体を変更せずに仮想マシンモニタ上で動作させ ることが可能である.しかし,組み込みシステムのよう. ▪メモリ保護ドメイン. に多様なアーキテクチャ上で動作しているOSのための. メモリ保護ドメインは,単一のアドレススペース内の. 仮想化は,特定のプロセッサには依存しないが,低レベ. 複数のモジュールがメモリエラーによる影響を受けない. ルの抽象化を提供する仮想マシンが好ましい.. ようにするための手法である.近年では,Linuxのロー. また,デバイスドライバをOS自体から分離して,異. ダブルカーネルモジュールや独立に開発されたソフトウ. なるOSとして稼働すること,μITRON OSとLinuxを同. ェアコンポーネントなどのように,1つのプログラム内. 時に動作させること,複数のμITRON OSを同時に動作. にさまざまなプログラムモジュールが配置される傾向が. 4). させることで信頼性や実時間性を向上すること も可能. ある.このような場合,あるモジュールのメモリエラー. である.特に,ソフトウェア無線やマルチメディア処理. によりプログラム全体がクラッシュする可能性が生じて. の進展に伴いデバイスアーキテクチャが既存のOSアー. しまう.たとえば,バグが存在する可能性があるLinux. キテクチャとの一貫性を保てなくなってきているので,. のデバイスドライバをローダブルカーネルモジュールと. I/O管理を既存のOSから分離して異なるOS上で動作さ. して用いる場合,OS全体をクラッシュさせてしまう可. せ,仮想マシンモニタはI/Oアーキテクチャを実現する. 能性がある.そのような場合,各モジュールが各自で管. ために適した抽象レベルを提供することが好ましい.. 理するメモリのみをアクセスするように制限することで,. 508. 47 巻 5 号 情報処理 2006 年 5 月.
(4) 4. 高信頼・セキュア組み込み オペレーティングシステム システム全体がクラッシュすることを防ぐことが可能と. 内に侵入された場合は,悪意のあるユーザがシステム内. なる.. のすべての情報にアクセスしてしまう可能性がある.. メモリ保護ドメインを実現するためには,各モジュー. 組み込みLinuxではファイルやデバイスに対するアク. ルのアドレス解決を行い,保護ドメイン内に配置するプ. セス制御機構を提供しているが,すべてのリソースに. ログラムローダが必要となる.また,各モジュール間の. アクセス可能な特権ユーザの存在がセキュリティを大. メモリアクセスを制限するためには,MMU(Memory. きく低下させる原因となっている.Linuxのセキュリテ. Management Unit)のページ保護機能を利用する方式と. ィ機能を改善したSELinux(Security-Enhanced Linux). コンパイラによる解決法であるソフトウェアフォールト. (http://nooks.cs.washington.edu/)では,ファイルや. アイソレーション(SFI) を使う方式が存在する.. TCPのポートなどリソースごとに細かくアクセス制御を. メモリ保護ドメインの実現例としては,ワシントン. 行うことが可能となっている.SELinuxではシステム管. 大学が開発したNooks(http://nooks.cs.washington.. 理者が決定したセキュリティポリシに記載されたアクセ. edu/) が 存 在 す る.Nooksは, デ バ イ ス ド ラ イ バ を. ス制御に従い静的にアクセス権がチェックされるため,. Linuxカーネルと異なる保護ドメインに配置するソフト. 各アプリケーションにアクセスが許可されたリソース以. ウェアであり,ローダブルカーネルモジュールとして実. 外のアクセスが制限される.. 装されたデバイスドライバを同一のアドレススペース内. 現時点で,SELinuxはきわめて優れたセキュリティ機. であるがカーネルと異なる保護ドメイン内に配置する.. 構を提供している.しかし,将来の組み込みシステムの. デバイスドライバとカーネルが通信する場合は,保護ド. 構築を考えた場合,以下の3つの問題を解決する必要が. メインを切り替えるためのドメイン間通信機能を用いる.. ある.. メモリ保護ドメインはプログラムの信頼性を向上する. 1番目の問題は,ユーザ定義リソースに対するアクセ. ための有望な手法であるが,ドメイン間通信機能のオー. ス制御である.SELinuxでは,カーネルが定義するリソ. バヘッドやドメイン障害時の回復処理等検討すべき課題. ースやファイル内の情報の保護しか考慮していない.た. も残されている.. とえば,Xウィンドウサーバが提供するウィンドウリソ ースへのアクセスを制限したい場合は,Xウィンドウサ. ▪アクセス制御. ーバ内のアクセス制御を考慮してシステム全体を大きく. 次世代の組み込みシステム上ではシステム全体の付加. 変更する必要がある.次世代のセキュアOSは,図-3に. 価値を増やすためさまざまなサードパーティのアプリケ. 示すように,ユーザ定義リソースに対しても利用可能な,. ーションプログラムやインターネットからダウンロード. カーネルが提供するリソースへの参照のサポートが必要. したプログラムを実行する可能性がある.また,複数ユ. である.これにより,アクセス制御に対する完全性を保. ーザのプログラムを同一の組み込みシステム上で同時に. 証することが容易となる.. 動かす可能性や,インターネットを介して組み込みシス. 2番目の問題は,情報フローの制御である.組み込み. テム内に侵入されることも考慮する必要がある.そのよ. システム内に管理された機密情報が外部に漏れないこと. うな場合,組み込みシステム内の資源や情報を保護する. を保証するためには,各リソースや情報に対するアクセ. ためアクセス制御は必要不可欠の機能となる.. ス権の組合せにより機密情報を外部に漏らさないように. OSレベルのセキュリティの提供はセキュアなシステ. する必要がある.そのためには,アクセス権の組合せが. ムを構築する上で必須の機能である.現在の多くのシス. 情報フローを定義するセキュリティポリシと一貫性を保. テムではミドルウェアレベルのセキュリティが提供され. つことをチェックするための機構をカーネルが提供する. ているが,ミドルウェア自体やアプリケーションプログ. 必要がある.. ラムのセキュリティホールは,容易にミドルウェアレベ. 3番目の問題は,実行中のプログラムの悪意のある書. ルのセキュリティを崩壊させてしまう可能性がある.. き換えを防ぐことである.バッファオーバフローアタッ. 現状の多くのOS,特に組み込みシステムでは貧弱. クなどの攻撃により,外部から実行中のプログラムが書. なアクセス制御機構しか提供していない.たとえば,. き換えられる可能性がある.カーネルは正しいプログラ. μITRON OSはアクセス制御機構をまったく提供してい. ムを実行するように常にプログラム自体が変更されてい. ない.また,カーネルとアプリケーションプログラムを. ないことをモニタリングするための仕組みを実装する必. 同一のアドレススペース内で実行するため,アプリケー. 要がある.. ションプログラムは組み込みシステム内のすべてのリ ソースや情報にアクセスすることが可能となる.つまり,. ▪障害通知機構. 特定のプログラムのセキュリティホールによりシステム. 次世代の高度なアプリケーションプログラムは異なる IPSJ Magazine Vol.47 No.5 May 2006. 509.
(5) . ユーザレベルプロセス ユーザ定義 リソースA. ラベルA. ラベルB. カーネル定義 カーネル定義 リソースA リソースB. ラベルC. ラベルD. ユーザ定義 リソースB. ラベルE. カーネル定義 リソースC. カーネル. 図-3 カーネル定義リソースとユーザ定義リソースに対するアクセス制御. プロセス内で実行される複数のコンポーネントに分割さ. 滅したことを通知するようにすることが可能である.本. れる.次世代の組み込みシステムは我々の日常生活に密. 手法は,正確な障害検出を行うことが可能であるが,通. 接に依存し,その障害が我々の生活の安全性を脅かす可. 信のための抽象化を障害検出に利用するためプログラ. 能性がある.そのため,プログラムの一部を実行するプ. ミングが複雑になる.以上の問題を解決するためには,. ロセスがクラッシュした場合でもプログラム全体が回復. OSは障害検出を支援する機能を明示的に提供する必要. 可能なように制御する必要がある.同様に,複数のメモ. がある.. リ保護ドメインにプログラムが分割される場合は,ある. 図-4に示す解決法では,セッションオブジェクトと呼. ドメイン内のプログラムのフォルトを他の関係するドメ. ぶ新しい抽象リソースを導入する.あるプロセスが異な. インへ通知する必要がある.. るプロセスと依存関係を持つときセッションオブジェク. 複雑なプログラムからすべてのソフトウェアバグを取. トを共有する.たとえば,別なプロセスに対してサービ. り去ることは困難であり,エラーによる障害が発生する. スを呼び出し,返答を待つ場合やあるプロセスに依存す. ことを前提ですべてのプログラムを作成する必要がある.. るデータ構造を生成するときセッションを共有する.そ. つまり,回復指向のプログラミング手法を用いて,プロ. して,セッションを共有するプロセスの1つが障害を発. グラムの一部に障害が発生することを前提にプログラミ. 生した場合,セッションを共有する他のプロセスは障害. ングする必要がある.. が通知され回復処理を行う.以上のような機能を提供す. 複数のプロセスを用いてアプリケーションプログラム. ることにより高信頼な回復指向プログラミングを実現す. を作成する場合は,各プロセスの障害を検知して回復. ることが可能となる.. 処理を実行する必要がある.しかし,現在のOSではプ ロセスの障害を検出する機能がきわめて貧弱である.た. ▪バグ発見,自動コンフィグレーション支援. とえば,Linuxでは,複数のプロセス間の通信にTCPを. ソフトウェア規模の増大に伴いソフトウェアバグをす. 用いて,プロセスの障害をTCPの障害検出機構を利用し. べて取り去ることは不可能である.また,複雑なシステ. て検出する.しかし,TCPの不正確な障害検出機構を使. ムのコンフィグレーションをユーザが管理するのはエラ. 用することはアドホックな解法であり,高信頼なシステ. ーを発生する可能性が増大する.. ムを構築する手段としては好ましくない.また,Real-. 以上の問題を解決するために,次世代の組み込みOS. Time Machでは,通信のエンドポイントを抽象化したポ. は以下に述べる2つの機能を提供する必要がある.1つ目. ートオブジェクトを提供している.ポートを生成したプ. の機能は,アプリケーションプログラムの振る舞いを実. ロセスがクラッシュした場合,ポートオブジェクトが消. 行中に解析するための機能である.通常のOSはカーネ. 510. 47 巻 5 号 情報処理 2006 年 5 月.
(6) 4. 高信頼・セキュア組み込み オペレーティングシステム. プロセスA. プロセスB. プロセスC. セッションオブジェクト. 回復処理. 回復処理 障害検知 障害検出. 図-4 障害検出機構. ルへのシステムコールの呼び出しパターンを介してのみ. べきかも明らかになっていない.. アプリケーションの振る舞いを知ることができる.しか し,非合法のメモリアクセスやセキュリティホールを検. ▪マルチコア対応. 出するためにはインストラクションレベルのシミュレー. 半導体技術の進歩により莫大な数のトランジスタを単. ションが必要となる.アプリケーションプログラムと組. 一のチップ上に実装することが可能となってきている.. み込みOSを同時にインストラクションエミュレータ上. これにより複数のCPUを単一チップ上に実装するマル. で実行できるようにする環境を提供することによりソフ. チコアチップが今後一般的になっていくと思われる.マ. トウェアのバグを発見することが可能となる環境の提供. ルチコアチップにより,高い応答性を必要とするプログ. が可能となる.. ラムと通常のプログラムを異なるCPU上で実行したり,. 2つ目の機能は,OSやアプリケーションプログラムの. それぞれのCPU上で異なるOSを稼働し,その上でアプ. さまざまな情報をモニタリング可能とすることである.. リケーションプログラムを実行することにより高いセキ. 現状では,システムの最適化のため,システム管理者が. ュリティや信頼性を確保することが可能となる.その他. さまざまなパラメータ設定を行っている.しかし,多く. の利点としては,リアルタイムプログラムと非リアルタ. の組み込みシステムでは管理者の存在を仮定することが. イムプログラムを異なるCPU上で実行することで,リ. 現実的ではないため,最適化のためのパラメータを自動. アルタイム性の保障が容易になる.また,アプリケーシ. 設定する必要がある.つまり,OSは必要な情報を自分. ョンプログラムを複数のCPU上で並列実行することに. 自身で集めてその中から必要な情報を収集しパラメータ. より各CPUのクロックを低下させることが可能となり,. の設定を自動化する必要がある.. バッテリ消費量を削減することも可能となる.. 組み込みシステムがネットワークに接続されたユビキ. し か し, 現 在 のO S で はS M P(S h a r e d M e m o r y. タスコンピューティング環境を実現するためには,管理. Processor)のサポートがあるものはあるが,あるアプリ. 者不在のネットワークシステムが必要となる.このよう. ケーションプログラムを特定のCPUに明示的に割り当. な環境では,複数の組み込みシステムは自発的に接続さ. てたりすることは困難である.また,既存のOSをさま. れ,システム全体を制御するためにはシステム全体の状. ざまなタイプのマルチコアチップに対応可能とするのは. 況を把握しそれぞれのシステムを自動的に最適化する必. 容易ではない.そのため,ハードウェアの仮想化が重要. 要がある.また,各ローカルシステムではなくネットワ. となる.つまり,各OSからは,その実装が前提として. ークシステム全体を仮想化し,システム全体を協調する. いるマルチコアのアーキテクチャとして見えるように仮. ことによりセキュリティや信頼性を向上する必要がある.. 想化する.また,複数のOSを稼働する場合には,どの. 現状では,本節で述べたような機能は組み込みOSでは. OSをどのCPU上で実行するかの制御を行う.. 提供されていないし,具体的にどのような機能を提供す. 単一CPU上でのハードウェアの仮想化は大きなオー IPSJ Magazine Vol.47 No.5 May 2006. 511.
(7) バヘッドを生じるが,仮想化が実現可能とする高信頼性. ②組み込みシステム以外の用途にも使用可能なこと. やセキュリティは次世代のシステムを実現する上で大変. ③OSを使用する際のノウハウをできる限り共有する. 魅力的である.そのため,マルチコアチップの提供する 並列性を利用してハードウェア仮想化のオーバヘッドの 隠蔽や実時間制約を保障することは,システム構築を容. こと ④機能の選択が容易となるようにコンフィグレーション 機能を提供すること. 易にする大きな可能性を秘めていると考えられる. ①,②の条件により組み込みOSを使用するプログラ. ▪アーキテクチャ. マ数を増加させることが可能になるため,開発コストや. システム全体が複雑になるに従い,システム全体の構. メンテナンスコストを削減することが可能となる.③に. 造を明確にするアーキテクチャの定義が重要となる.現. より教育コストを削減することが可能となる.④により. 在の多くの組み込みOSは,システム全体のアーキテク. 新しい機能の拡張や不要な機能の削除が容易になる.. チャを構造化するための手法を提供していないため,ア. しかし,オープンソースソフトウェアとして組み込み. ドホックにシステム構築を行うと拡張性の乏しいものと. OSを開発する際の問題点も考慮する必要がある.1つ目. なってしまう.そのため,多くの企業ではシステム全体. の問題は,ソースコードの一貫性を維持するため,OS. のレイヤ構造を明確にしたアーキテクチャ定義(プラッ. を大規模に変更する拡張を追加することが難しいことで. トフォームと呼ばれることもある)を行うことが多くな. ある.たとえば,現状のLinuxでは,OS研究コミュニテ. った.明確にレイヤを定義することにより,各レイヤを. ィにより提案された優れた拡張がなかなか受け入れられ. システムごとに最適化してもアプリケーションプログラ. ていない.2つ目の問題は,機能拡張により知的財産権. ムを変更せずに動作させることが可能となる.また,デ. を含むコードが入り込む可能性があることである.特に,. バイスドライバをOSから分離したレイヤ内に実装する. 現状のLinuxでは一度追加した機能を取り去るのは難し. ことによりOSに非依存にデバイスドライバを開発する. いので,コード内の知的財産権が後から問題になった場. ことが可能となる.. 合対応が難しい.3つ目の問題は,利用者が少ない機能 に関するドキュメントが不十分なことである.そのため,. オープンソースソフトウェアと 組み込みOS. 新規機能を利用する場合,ソースコードを解析しなけれ ばならない場合も多い. 以上述べたように,OSは巨大なソフトウェアである. OSはきわめて複雑なソフトウェアである.特に,前. ため特定の企業がすべての開発とメンテナンスを実現す. 章で述べた機能を提供するOSを開発することは容易で. ることが難しくなってきている.そのため,新規に組み. はない.また,OS上へのアプリケーションプログラム. 込みOSを開発する場合も,オープンソースソフトウェ. の実装は多くのノウハウを必要とするため,OSはでき. アとして開発する可能性を極力検討することが望ましい.. る限り広い用途に利用されることが好ましい.たとえば, Linuxは,組み込みシステムから大規模サーバまで広く 使用されているため,使用するプログラマの数がきわめ て多い.その結果,Linuxの使用法を紹介した多くの書. 次世代組み込みシステムのための 標準OS API. 籍が出版され,新規のプログラマがLinux上のプログラ. OS のAPIはOSが提供する抽象リソースを定義する.. ムを学習するのが容易になっている.また,OS自体の. たとえば,Linux等のUNIX系OSの標準カーネルAPIで. ソースコードがオープンソースソフトウェアとして公開. あるPOSIX APIでは,プロセス,スレッド,メモリ,シ. されているので,プログラマが自分自身でOS内のバグ. グナル,ファイル,ソケット等の抽象リソースを提供し. の修正や新規の機能の追加が簡単にできるようになっ. ている.アプリケーションプログラムはOSのAPI上に作. ている.その結果,OSを新しく開発された技術に追従. 成されるため,どのOSのAPIを使用するかは,プログラ. させることやOS自体の信頼性を向上することが容易で. ムの再利用性に大きく影響する.つまり,特定のOSの. ある.. APIを前提に作成されたプログラムを異なるOS上で動. 次世代の高信頼・セキュアOSは開発,メンテナンス. 作するように改変するのは容易ではない.しかし,異な. コストを低下させるため以下に述べるような条件を満足. る組み込みOS同士でカーネルAPIを標準化することに. すべきである.. よりアプリケーションプログラムの移植性を向上するこ とが可能となる.. ①オープンソースソフトウェアとして開発すること. 512. 47 巻 5 号 情報処理 2006 年 5 月. 組み込みシステムのようにリソース制約要求が厳しい.
(8) 4. 高信頼・セキュア組み込み オペレーティングシステム 場合はスタンダードOS APIをすべてサポートすること. ンターネット上のサービスと組み込みシステム上のサー. が困難である.その場合は,スタンダードOS APIのサ. ビスの統合は重要な課題である.また,次世代のサービ. ブセットを定義することにより,アプリケーションプロ. スやミドルウェアの実装コストやメンテナンス性をいか. グラムの移植性を極力そこなわないようにすることが. に削減するかに関しても今後の組み込みOSに大きく影. 可能である.たとえば,Embedded Linux Consortium. 響を与える可能性がある .. 3). (http://www.embedded-linux.org/)が策定した仕様で. OS開発はきわめて多くの開発リソースが必要であり,. は組み込みシステムの規模に応じて複数のサブセットが. リスクがきわめて高いものとなってきている.しかし,. 定義されている.. 優れたOSは高信頼なアプリケーションプログラムの開. スタンダードOS APIの仕様が一般的になるに従い,. 発コストを大きく低下させる可能性がある.産学連携を. 新しいOSでもスタンダードOS APIを提供することが一. 密にしてオープンに議論する場を作り,多くの人々がそ. 般的になってきている.そのため,各スタンダードOS. の場に参加して議論することが将来のリスクを低下させ. APIが将来の組み込みアプリケーションプログラムの要. る唯一の方法であると思われる.. 求を満足するのかについてはほとんど議論されていない. しかし,高いセキュリティや信頼性を支援するためには, 新たな抽象リソースを導入する必要があり,現状のスタ ンダードOS APIでは不十分となる.そのため,将来の 組み込みOSでは,どのようなOS APIを提供すべきかを 注意深く検討する必要がある.. 結論 次世代の組み込みOSが提供すべき機能に関しては, 組み込みOS上で実現される次世代サービスにも大きく 影響される.現状では,マルチコア等の次世代のハード ウェア技術への対応は検討されているが,次世代のサー ビスへの対応はあまり議論されていない.Webサービス などの普及に伴い,次世代のサービスは現在のサービス. 参考文献 1)中島達夫,追川修一:Real-Time Machオペレーティングシステム開発 の経験,コンピュータソフトウェア,Vol.23, No.1 (2006). 2)Fujinami, K., Okada, K., Kawsar, F. and Nakajima, T.:Living with Sentient Artefacts, International Conference on Ubiquitous Computing, Video Program (2005). 3)Nakajima, T., Tokunaga, E., Ishikawa, H., Ueno, D., Fujinami, K., Sugaya, M. and Oikawa, S. : Software Infrastructures for Building Ubiquitous Computing Environments, Journal of Computer Systems Science and Engineering (2006)(印刷中). 4)Oikawa, S., Ishikawa, H., Iwasaki, M. and Nakajima, T. : Providing Protected Execution Environments for Embedded Operating Systems Using a µ-Kernel, In Proceedings of International Conference on Embedded and Ubiquitous Computing - EUC 2004 (2004). 5)Oikawa, S. and Nakajima, T. : Resource Management Architecture for Future Information Appliances, Journal of Embedded Computing, Vol.1, No.1 (2005). 6)Sugaya, M., Oikawa, S. and Nakajima, T. : Design and Implementation of Accounting System for Information Appliances, In Proceedings of International Conference on Embedded and Ubiquitous Computing EUC 2005 (2005). (平成18年4月5日受付). と大きく異なるものが出現する可能性もある.特に,イ. IPSJ Magazine Vol.47 No.5 May 2006. 513.
(9)
関連したドキュメント
※ログイン後最初に表示 される申込メニュー画面 の「ユーザ情報変更」ボタ ンより事前にメールアド レスをご登録いただきま
■エネルギーの供給能力 電力 およそ 1,100kW 熱 およそ
将来の需要や電源構成 等を踏まえ、設備計画を 見直すとともに仕様の 見直し等を通じて投資の 削減を実施.
ユーザ情報を 入力してくだ さい。必要に 応じて複数(2 つ目)のメー ルアドレスが 登録できます。.
製造 輸送 使用
園内で開催される夏祭りには 地域の方たちや卒園した子ど もたちにも参加してもらってい
航続距離(約 700km ) 水素充填時間(約 3 分). 氷点下始動性(
(出生 1,000 人あたり、2019 年 /UN IGME 調べ).