(57)【要約】【課題】ＯＳの発行仕様を第三者に開示することなく任意のＯＳの発行を行うことができる情報記録媒体を提供する。【解決手段】外部機器からの指示に基づいて、複数のインタフェース部のうち、外部機器に接続されたインタフェース部に対応するドライバ部の初期化を行う。この初期化がされたのち、インタフェース部からコマンドの入力を受け付けると、当該コマンドの入力を受け付けたインタフェース部に対応するドライバ部が、コマンドを自身に対応するＯＳにて実行可能である場合に、自身に対応するＯＳにコマンドを出力し、コマンドを自身に対応するＯＳにて実行できない場合に、プロトコル変換部に出力し、プロトコル変換部は、ドライバ部から出力されたコマンドのプロトコル変換を行い、実行可能なＯＳに出力する。【選択図】図１
2009252146.tif 000002
【特許請求の範囲】
【請求項１】
複数のＯＳが実装される情報記録媒体であって、
前記複数のＯＳのそれぞれに対応し通信機能を実現するドライバ部と、
前記ドライバとＯＳとの間でプロトコルを変換するプロトコル変換部と、
外部機器からのコマンドの入力を受け付ける機能を有し、それぞれ異なる複数のインタフェース部と、
外部機器からの指示に基づいて、前記複数のインタフェース部のうち、外部機器に接続されたインタフェース部に対応するドライバ部の初期化を行う初期化部と、
前記初期化部によって初期化されたのち、インタフェース部からコマンドの入力を受け付けると、当該コマンドの入力を受け付けたインタフェース部に対応するドライバ部が、前記コマンドを自身に対応するＯＳにて実行可能である場合に、自身に対応するＯＳにコマンドを出力し、前記コマンドを自身に対応するＯＳにて実行できない場合に、前記プロトコル変換部に出力し、
前記プロトコル変換部は、前記ドライバ部から出力されたコマンドのプロトコル変換を行い、実行可能なＯＳに出力する
ことを特徴とする情報記録媒体。
【請求項２】
前記初期化部は、パワーオンリセット信号が入力された場合にドライバを初期化することを特徴とする請求項１記載の情報記録媒体。
【請求項３】
前記複数のインタフェース部は、少なくとも、外部機器と接触して通信を行う接触型インタフェースと、外部機器と無線にて通信を行う非接触型インタフェースと、を含むことを特徴とする請求項１または請求項２記載の情報記録媒体。
【請求項４】
複数のＯＳが実装される半導体装置であって、
前記複数のＯＳのそれぞれに対応し通信機能を実現するドライバ部と、
前記ドライバとＯＳとの間でプロトコルを変換するプロトコル変換部と、
インタフェースを介して入力される外部機器からのコマンドの入力を受け付ける入力部と、
外部機器からの指示に基づいて、前記複数のインタフェース部のうち、外部機器に接続されたインタフェース部に対応するドライバ部の初期化を行う初期化部と、
前記初期化部によって初期化されたのち、インタフェースを介して入力部によってコマンドの入力を受け付けると、当該コマンドの入力を受け付けたインタフェースに対応するドライバ部が、前記コマンドを自身に対応するＯＳにて実行可能である場合に、自身に対応するＯＳにコマンドを出力し、前記コマンドを自身に対応するＯＳにて実行できない場合に、前記プロトコル変換部に出力し、
前記プロトコル変換部は、前記ドライバ部から出力されたコマンドのプロトコル変換を行い、実行可能なＯＳに出力する
ことを特徴とする半導体装置。
【請求項５】
複数のＯＳが実装されるコンピュータに、
前記複数のＯＳのそれぞれに対応し通信機能を実現するドライバ機能、
前記ドライバとＯＳとの間でプロトコルを変換するプロトコル変換機能、
外部機器からのコマンドの入力を受け付ける機能を有し、それぞれ異なる複数のインタフェース機能、
外部機器からの指示に基づいて、前記複数のインタフェース機能のうち、外部機器に接続されたインタフェース部に対応するドライバ部の初期化を行う初期化機能、
として機能させるとともに、
前記初期化機能によって初期化されたのち、インタフェース機能からコマンドの入力を受け付けると、当該コマンドの入力を受け付けたインタフェース機能に対応するドライバ部が、前記コマンドを自身に対応するＯＳにて実行可能である場合に、自身に対応するＯＳにコマンドを出力し、前記コマンドを自身に対応するＯＳにて実行できない場合に、前記プロトコル変換機能に出力する機能、
前記ドライバ部から出力されたコマンドのプロトコル変換を行い、実行可能なＯＳに出力する機能
を実現させるためのプログラム。
【請求項６】
複数のＯＳが実装される情報記録媒体における初期化方法であって、
前記情報記録媒体のドライバ部が、前記複数のＯＳのそれぞれに対応し通信を行い、
前記情報記録媒体のプロトコル変換部が、前記ドライバとＯＳとの間でプロトコルを変換し、
前記情報記録媒体の複数のインタフェース部のいずれかが、外部機器からのコマンドの入力を受け付け、
初期化部が、外部機器からの指示に基づいて、前記複数のインタフェース部のうち、外部機器に接続されたインタフェース部に対応するドライバ部の初期化を行い、
前記初期化機能によって初期化されたのち、インタフェース機能からコマンドの入力を受け付けると、当該コマンドの入力を受け付けたインタフェース機能に対応するドライバ部が、前記コマンドを自身に対応するＯＳにて実行可能である場合に、自身に対応するＯＳにコマンドを出力し、前記コマンドを自身に対応するＯＳにて実行できない場合に、前記プロトコル変換機能に出力し、
前記情報記録媒体のプロトコル変換部が、前記ドライバ部から出力されたコマンドのプロトコル変換を行い、実行可能なＯＳに出力する
ことを特徴とする初期化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＯＳが実装される半導体の初期化に関する情報記録媒体、半導体装置、プログラム、初期化方法に関する。
【背景技術】
【０００２】
従来から、ＩＣカードの利用がされている。このＩＣカードをはじめとした組み込みＯＳでは多様化が進んでいるが、アプリケーションの多機能化が先行しており、動作環境となるＯＳは単体（１種類）であるのが現状である。
このようなＯＳ上で動作するアプリケーションを利用する場合には、最初に初期化を行う必要がある。このような初期化を行う技術として、例えば、以下の特許文献１、２に記載されている。
【特許文献１】特許第２５９２８５６号
【特許文献２】特許第３１９９８２０号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、同一プラットフォーム（半導体）に対し、複数のＯＳが実装されるマルチＯＳ化が進んだ場合、アプリケーションの初期化のみならず、ＯＳそのものの初期化が必要となる。
一般的に、各組み込みＯＳは強みのある通信機能を主として制御する実装をする場合、各通信機能は同一ＯＳに含まれる形で実装されることが多い。従って、他ＯＳの管理する通信機能を用いてＯＳの各初期化をすることは、他ＯＳの技術資産を含むデータの入力（初期発行）が必要となるため、技術資産の社外流出を防止する観点から通常はできない。
このようなＯＳに対するセキュリティが施された初期化手法については、上述の特許文献１、２に提案されているが、ＯＳ単体や発行技術を社外流出することを防止しているが、複数ＯＳの初期化に関するものではない。
【０００４】
本発明は、このような事情に鑑みてなされたもので、その目的は、複数のＯＳが搭載される情報処理装置において、ＯＳの発行仕様を第三者に開示することなく任意のＯＳの発行を行うことができる情報記録媒体、半導体装置、プログラム、初期化方法を提供することにある。
【課題を解決するための手段】
【０００５】
上述した課題を解決するために、本発明は、複数のＯＳが実装される情報記録媒体であって、前記複数のＯＳのそれぞれに対応し通信機能を実現するドライバ部と、前記ドライバとＯＳとの間でプロトコルを変換するプロトコル変換部と、外部機器からのコマンドの入力を受け付ける機能を有し、それぞれ異なる複数のインタフェース部と、外部機器からの指示に基づいて、前記複数のインタフェース部のうち、外部機器に接続されたインタフェース部に対応するドライバ部の初期化を行う初期化部と、前記初期化部によって初期化されたのち、インタフェース部からコマンドの入力を受け付けると、当該コマンドの入力を受け付けたインタフェース部に対応するドライバ部が、前記コマンドを自身に対応するＯＳにて実行可能である場合に、自身に対応するＯＳにコマンドを出力し、前記コマンドを自身に対応するＯＳにて実行できない場合に、前記プロトコル変換部に出力し、前記プロトコル変換部は、前記ドライバ部から出力されたコマンドのプロトコル変換を行い、実行可能なＯＳに出力することを特徴とする。
【０００６】
また、本発明は、上述の情報記録媒体において、前記初期化部は、パワーオンリセット信号が入力された場合にドライバを初期化することを特徴とする。
また、本発明は、上述の情報記録媒体において、前記複数のインタフェース部は、少なくとも、外部機器と接触して通信を行う接触型インタフェースと、外部機器と無線にて通信を行う非接触型インタフェースとを含むことを特徴とする。
【０００７】
また、本発明は、複数のＯＳが実装される半導体装置であって、前記複数のＯＳのそれぞれに対応し通信機能を実現するドライバ部と、前記ドライバとＯＳとの間でプロトコルを変換するプロトコル変換部と、インタフェースを介して入力される外部機器からのコマンドの入力を受け付ける入力部と、外部機器からの指示に基づいて、前記複数のインタフェース部のうち、外部機器に接続されたインタフェース部に対応するドライバ部の初期化を行う初期化部と、前記初期化部によって初期化されたのち、インタフェースを介して入力部によってコマンドの入力を受け付けると、当該コマンドの入力を受け付けたインタフェースに対応するドライバ部が、前記コマンドを自身に対応するＯＳにて実行可能である場合に、自身に対応するＯＳにコマンドを出力し、前記コマンドを自身に対応するＯＳにて実行できない場合に、前記プロトコル変換部に出力し、前記プロトコル変換部は、前記ドライバ部から出力されたコマンドのプロトコル変換を行い、実行可能なＯＳに出力することを特徴とする。
【０００８】
また、本発明は、複数のＯＳが実装されるコンピュータに、前記複数のＯＳのそれぞれに対応し通信機能を実現するドライバ機能、前記ドライバとＯＳとの間でプロトコルを変換するプロトコル変換機能、外部機器からのコマンドの入力を受け付ける機能を有し、それぞれ異なる複数のインタフェース機能、外部機器からの指示に基づいて、前記複数のインタフェース機能のうち、外部機器に接続されたインタフェース部に対応するドライバ部の初期化を行う初期化機能、として機能させるとともに、前記初期化機能によって初期化されたのち、インタフェース機能からコマンドの入力を受け付けると、当該コマンドの入力を受け付けたインタフェース機能に対応するドライバ部が、前記コマンドを自身に対応するＯＳにて実行可能である場合に、自身に対応するＯＳにコマンドを出力し、前記コマンドを自身に対応するＯＳにて実行できない場合に、前記プロトコル変換機能に出力する機能、前記ドライバ部から出力されたコマンドのプロトコル変換を行い、実行可能なＯＳに出力する機能を実現させるためのプログラムである。
【０００９】
また、本発明は、複数のＯＳが実装される情報記録媒体における初期化方法であって、前記情報記録媒体のドライバ部が、前記複数のＯＳのそれぞれに対応し通信を行い、前記情報記録媒体のプロトコル変換部が、前記ドライバとＯＳとの間でプロトコルを変換し、前記情報記録媒体の複数のインタフェース部のいずれかが、外部機器からのコマンドの入力を受け付け、初期化部が、外部機器からの指示に基づいて、前記複数のインタフェース部のうち、外部機器に接続されたインタフェース部に対応するドライバ部の初期化を行い、前記初期化機能によって初期化されたのち、インタフェース機能からコマンドの入力を受け付けると、当該コマンドの入力を受け付けたインタフェース機能に対応するドライバ部が、前記コマンドを自身に対応するＯＳにて実行可能である場合に、自身に対応するＯＳにコマンドを出力し、前記コマンドを自身に対応するＯＳにて実行できない場合に、前記プロトコル変換機能に出力し、前記情報記録媒体のプロトコル変換部が、前記ドライバ部から出力されたコマンドのプロトコル変換を行い、実行可能なＯＳに出力することを特徴とする。
【００１０】
従来であれば、ＯＳとそのドライバが一体化されていたが、本発明においては、ＯＳレイヤと通信機能とを分割するようにしたので、各社技術資産となるＯＳの発行仕様を第三者に仕様を開示することなく、任意の通信インタフェースによるＯＳの発行を実現することが可能となる。
例えば、ＩＣカードの初期化において発行コマンドから各ＯＳの実装ノウハウの流出を防止することが可能となる。
また、発行者にとっては、任意のＯＳ初期化（発行）コマンド及び、通信機能初期化コマンドにより、運用を想定した任意の通信インタフェースによるＯＳの発行を実現することが可能となる。
【発明の効果】
【００１１】
以上説明したように、この発明によれば、ＯＳとドライバとを分け、入力されたコマンドをドライバにて受け付け、これをプロトコル変換してコマンドの実行対象のＯＳに出力するようにしたので、となるＯＳの発行仕様を第三者に仕様を開示することなく、任意の通信インタフェースによるＯＳの発行を実現することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施形態によるＩＣカードについて図面を参照して説明する。
図１は、この発明の一実施形態によるＩＣカードの機能構成を示す概略ブロック図である。
この図において、ＩＣカード１は、例えば、デュアルインタフェースを持つ情報記録媒体であり、例えば、接続ピンと接触して各種データの通信を行う接触型のインタフェースと、無線にて各種データの通信を行う非接触のインタフェースとを有するものである。ここでは、接触型インタフェースは、第１のＯＳ（例えばＯＳ−Ａ）にて実行可能であり、非接触型インタフェースは、第２のＯＳ（例えば、ＯＳ−Ｂ）にて実行可能であるものとする。ここでは、それぞれのインタフェースを駆動するためのドライバが必要となる。
【００１３】
この図に示すように、ＩＣカード１は、ＣＰＵ（中央処置装置）１０、ＲＯＭ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）１１、ＲＡＭ（ｒａｎｄｏｍ−ａｃｃｅｓｓ  ｍｅｍｏｒｙ）１２、ＥＥＰＲＯＭ（ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）１３、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）１４がバス２０を介して接続される。ＣＰＵ１０が、ＲＯＭ１１、ＲＡＭ１２、ＥＥＰＲＯＭ１３に記憶された情報を利用しつつ、Ｉ／Ｏ１４によって端末装置と情報の送受信を行ったり、各種コマンド処理を行う。
Ｉ／Ｏ１４は、例えばリーダライタや端末装置等の外部機器から送信されるコマンドを受信する機能を有する。このＩ／Ｏ１４としては、上述の接触型インタフェース、非接触型インタフェース等を構成として含む。
【００１４】
図２は、図１の構成におけるＩＣカード１の機能構成を示す図である。ここでは、各機能はレイヤ毎に分割されており、ＯＳが２種類であって、かつ、インタフェース部が２つある場合を一例として説明する。
Ｉ／Ｆ−Ａ、Ｉ／Ｆ−Ｂは、上述のインタフェース部に相当し、外部機器からのコマンドの入力を受け付ける機能を有している。ここで、例えばＩ／Ｆ−Ａは接触型インタフェース、Ｉ／Ｆ−Ｂは非接触型インタフェースが適用される。
Ｈ／Ｗは、ハードウェア回路であり、Ｉ／Ｆ−Ａ、Ｉ／Ｆ−ＢとドライバＡ、ドライバＢとの間の各種データを転送する。ここでは、Ｉ／Ｆ−ＡとドライバＡ、Ｉ／Ｆ−ＢとドライバＢとの間のデータ転送を行う。このＨ／Ｗは、Ｉ／Ｆ−Ａ、Ｉ／Ｆ−Ｂの上位のレイヤ層に属する。
また、Ｈ／Ｗは、外部機器からの指示に基づいて、前記複数のインタフェース部のうち、外部機器に接続されたインタフェース部に対応するドライバ部の初期化を行う初期化部として機能する。
【００１５】
ドライバＡはＯＳ−Ａ、ドライバＢはＯＳ−Ｂに対応しており、インタフェース部とＯＳ間の通信機能を実現する。これらドライバＡ、ドライバＢは、上述のドライバ部に相当し、Ｈ／Ｗの上位のレイヤ層に属する。
このドライバ（ドライバＡ、ドライバＢ）は、初期化部によって初期化されたのち、インタフェース部からコマンドの入力を受け付けると、当該コマンドの入力を受け付けたインタフェース部に対応するドライバが、入力されたコマンドを自身に対応するＯＳにて実行可能である場合に、自身に対応するＯＳにコマンドを出力し、前記コマンドを自身に対応するＯＳにて実行できない場合に、前記プロトコル変換部に出力する。自身が実行できるコマンドであるか否かは、コマンドに含まれるＯＳを指定する情報に基づいて判断する。なお、このドライバＡ、ドライバＢに、上述の初期化部としての機能を設けるようにしてもよい。
【００１６】
ＯＳ−Ａ、ＯＳ−Ｂは、それぞれオペレーティングシステムであり、これらは互いに異なる機能を有している。このＯＳ−Ａ、ＯＳ−Ｂは、ドライバＡ、ドライバＢよりも上位のレイヤ層に属する。
Ｐ／Ｔは、ＯＳに依存しないレイヤ層であり、各ドライバ（ドライバＡ、ドライバＢ）と各ＯＳ（ＯＳ−Ａ、ＯＳ−Ｂ）にそれぞれ共通のモジュールとして機能する。また、Ｐ／Ｔは、ドライバとＯＳとの間のプロトコルを変換するプロトコル変換部として機能する。この、Ｐ／Ｔは、ドライバから出力されたコマンドのプロトコル変換を行い、実行可能なＯＳに出力する。
【００１７】
このようなドライバ、Ｐ／Ｔ、ＯＳについては、ＲＯＭ１１、ＲＡＭ１２、ＥＥＰＲＯＭ１３等に記憶されたプログラムをＣＰＵ１０が読み出して実行することにより実現される。
【００１８】
次に、上述した構成におけるＩＣカード１の動作について説明する。ここでは、従来と本実施形態とを比較しながら説明する。
図３は、ＯＳの一例であるＯＳ−Ａの初期化について説明する概念図である。図３（ａ）は、従来技術におけるＩＣカード（従来法と称する）、図３（ｂ）は、本実施形態におけるＩＣカード（提案法と称する）をそれぞれ図示している。ここで、図３におけるＰ／Ｔは、プロトコル変換を行う機能を有するモジュールである（上述の制御部４０）。Ｈ／Ｗは、各種データを転送するハードウェアである。Ｉ／Ｆ−Ａは、例えば、ＯＳ−Ａに対応する接触型インタフェースであり、Ｉ／Ｆ−Ｂは、ＯＳ−Ｂに対応する非接触型インタフェースである。
このようなモジュール構成において、ＩＣカード１に電源が投入される前は、従来法については、ＯＳ−ＡおよびＯＳ−Ａのドライバ（ドライバＡ）が一体化されたモジュール、ＯＳ−Ａとは異なるＯＳであるＯＳ−ＢおよびＯＳ−Ｂのドライバ（ドライバＢ）が一体化されたモジュールは、共に初期化されていない。
また、提案法においては、ドライバＡ、ドライバＢが共に初期化されていない。
【００１９】
図４は、図３において、Ｉ／Ｆ−Ａに電源が投入された直後の状態を説明する図である。
ここでは、Ｉ／Ｆ−ＡがＩＣカードのリーダライタと接続され、電源が投入されたのち、Ｉ／Ｆ−ＡからＯＳ−Ｂが実行すべきコマンドが入力されると、従来法では、電源投入後はＯＳ（ＯＳ−ＡとＯＳ−Ｂ）が初期化されていないため、ドライバも使用できず、ＯＳ−Ｂへのアクセスはできない（図４（ａ））。すなわち、ＯＳ−ＡとドライバＡとが一体化され同じ階層のレイヤに属しているため、ＯＳそのものの初期化がなされないと、ドライバＡが初期化されないので、この初期化が行われていないときは、コマンドを受け付けることができない。
これに対し、提案法においては、ＯＳ−ＡとドライバＡとを分離し、ドライバＡがＯＳ−Ａの下層のレイヤに属するように構成されているため、ＯＳ−Ａの状態に依存せず、ドライバＡが電源投入直後に初期化されるため、Ｉ／Ｆ−Ａ、Ｈ／Ｗを介してＯＳ−Ｂにアクセスすることが可能である。ここでは、ドライバＡが初期化された後、Ｉ／Ｆ−Ａ、Ｈ／Ｗを介して入力されるコマンドをドライバＡが受け付け、Ｐ／Ｔに出力する。Ｐ／Ｔは、このコマンドのプロトコル変換を行って、ＯＳ−Ｂに出力する。これにより、ＯＳ−Ｂにアクセス可能である。ここで、ＯＳ−Ｂに出力されるコマンドとしては、例えば、ＯＳ−Ｂを初期化するためのコマンドであり、ドライバＡを介してＯＳ−Ｂにアクセス可能となる。
【００２０】
図５は、図４において、ＯＳ−Ａを初期化する場合について説明する図である。
ここでは、ＯＳ−Ａ用のコマンドをリーダライタからＩ／Ｆ−Ａを介してＩＣカード１に送信する。従来法においては、Ｉ／Ｆ−Ａが、Ｈ／Ｗを介してＯＳ−ＡとドライバＡとが一体化されたモジュールにこのコマンドを出力することによって、ＯＳ−ＡとドライバＡとが一体化されたモジュールが初期化されることによって、ＯＳ−ＡとドライバＡとが初期化され、ドライバＡが利用可能になる（図５（ａ））。
提案法においては、ドライバＡが既に初期化されているので、ドライバＡは、Ｉ／Ｆ−ＡからＨ／Ｗを介してＯＳ−Ａを初期化するコマンドをＯＳ−Ａに出力することによって、ＯＳ−Ａが初期化される（図５（ｂ））。
【００２１】
図６は、図５において、ＯＳ−Ａの初期化がなされた直後の処理について説明する図である。この図に示すように、従来法においては、ドライバＡが初期化されているので、ＯＳ−Ｂ用のコマンドをドライバＡ、Ｐ／Ｔを介してＯＳ−ＢとドライバＢとが一体化されたモジュールに出力することが可能となる（図６（ａ））。
提案法においては、ドライバＡが初期化されているので、ＯＳ−Ｂ用のコマンドをドライバＡ、Ｐ／Ｔを介してＯＳ−ＢとドライバＢとが一体化されたモジュールに出力することが可能となる（図６（ｂ））。
【００２２】
次に、ＩＣカード１の動作について、図面を用いてさらに説明する。
図７は、従来法における電源投入直後の動作を説明するシーケンス図、図８は、ＩＣカード１の動作を説明するフローチャートである。
まず、電源投入前においては、ＯＳ−ＡとドライバＡとが一体化されたモジュールは、初期化されていない状態でＩＣカード１に搭載されている（図８ステップＳ１１）。リーダライタからＩ／Ｆ−Ａに対し、パワーオンリセット信号が入力されると（図７ステップＳ１、図８ステップＳ１２）、次のコマンドの受信待ちをする（図７ステップＳ２、図８ステップＳ１３）。そして、ＯＳ−Ｂ用の初期化コマンドをＩ／Ｆ−Ａが受信すると（図７ステップＳ３、図８ステップＳ１４）、ドライバＡ、ドライバＢがともに未初期化の状態であるので、異常と判定され（図７ステップＳ４、図８ステップＳ１５）、エラーが送出される（図８ステップＳ１６）。
このように、従来法においては、ＯＳ−ＡとドライバＡとが同一ライフサイクル管理となっているため、ＯＳ−Ａの初期化が完了しない状態では、ＯＳ−Ａ以外へのコマンドを受信しても、他ＯＳ（この実施形態ではＯＳ−Ｂ）へコマンドを渡すことができない。
【００２３】
図９は、提案法における電源投入後の動作を説明するシーケンス図、図１０は、提案法におけるＩＣカード１の動作を説明するフローチャートである。
まず、電源投入前においては、ＯＳ−ＡとドライバＡとが初期化されていない状態でＩＣカード１に搭載されている（図１０ステップＳ２２１）。
リーダライタからＩ／Ｆ−Ａに対し、パワーオンリセット信号が入力されると（図９ステップＳ２０１、図１０ステップＳ２２２）、初期化部がドライバＡを初期化する（図９ステップＳ２０２、図１０ステップＳ２２３）。そして、次のコマンドの受信待ちに移行する（図１０ステップＳ２２４）。
【００２４】
次に、ＯＳ−Ｂ用の初期化コマンドをＩ／Ｆ−Ａから受信すると（図９ステップＳ２０３、図１０ステップＳ２２５）、ドライバＡがコマンドを解釈し（図９ステップＳ２０４、図１０ステップＳ２２６）、ＯＳ−Ａ用か否かを判定する。ここでは、ＯＳ−Ａ用ではなく、ＯＳ−Ｂ用なので、ＯＳ−Ｂ用としてＰ／Ｔに出力する（図１０ステップＳ２２７）。
Ｐ／Ｔは、このコマンドをＯＳ−Ｂ用のプロトコルに変換し（図７ステップＳ２０５）、ＯＳ−Ｂにプロトコル変換を行ったコマンドを出力する。このコマンドを受信すると、ＯＳ−Ｂは、この初期化コマンドに従い、初期化を行い（図９ステップＳ２０６、図１０ステップＳ２２８）、初期化完了の通知であるレスポンスをＰ／Ｔに出力する。Ｐ／Ｔは、このレスポンスをＯＳ−Ａ用のプロトコル（ドライバＡが解釈可能なプロトコル）に変換し（図９ステップＳ２０７）、ドライバＡに出力する（図１０ステップＳ２２９）。
【００２５】
ドライバＡは、Ｈ／ＷとＩ／Ｆ−Ａを介して、リーダライタにこのレスポンスを出力する（図９ステップＳ２０８、図１０ステップＳ２３０）。
次に、ＯＳ−Ａ用の初期化コマンドがＩ／Ｆ−Ａから入力されると（図９ステップＳ２０９）、ドライバＡからＯＳ−Ａにこの初期化コマンドが出力される。これにより、ＯＳ−Ａが初期化される（図９ステップＳ２１０）。そして、ドライバＡは、ＯＳ−Ａの初期化が完了したことを示すレスポンスをリーダライタに出力する（図９ステップＳ２１１）。
【００２６】
このように、本実施形態においては、ＯＳに紐付いたドライバの初期化状態、およびＯＳにおけるライフサイクル等の内部状態に依存せず、通信ドライバを実装することで、マルチインタフェース搭載型複数ＯＳプラットフォームの各ＯＳ初期化を実現可能となる。
【００２７】
このように、上述した実施形態においては、ＯＳが２つの場合について説明したが、３以上に適用することも可能である。
図１１は、３以上のＯＳやアプリケーションが搭載された場合におけるＩＣカード１の機能構成の一例を示す図である。Ｉ／Ｆ１００としては、例えば、ＩＳＯ７８１６、ＩＳＯ１４４４３、Ｃｏｎｔａｃｔ ｌｅｓｓ（非接触型インタフェース部）、ＵＳＢ（universal serial bus）、これ以外のＩ／Ｆ−Ａが搭載される。
このＩ／Ｆ１００の上位にはＨ／Ｗ１１０が構成され、その上位に複数のドライバ１２０が属する。ここでは、ＩＳＯ７８１６用ドライバ、ＩＳＯ１４４４３用ドライバ、Ｃｏｎｔａｃｔ ｌｅｓｓ用ドライバ、ＵＳＢ用ドライバ、Ｉ／Ｆ−Ａ用ドライバが搭載される。
【００２８】
プロトコル変換モジュール１３０は、ドライバのレイヤ層とＯＳのレイヤ層との間のデータ転送を行うものであり、各ドライバと各ＯＳとに共通して用いられる。このプロトコル変換モジュール１３０は、ドライバのレイヤ層の上位に属する。
ＯＳ１４０には、例えば、ＯＳ−Ａ、ＯＳ−Ｂ、ＯＳ−Ｃ、ＯＳ−Ｄ、ＯＳ−Ｅの６つのＯＳが設けられる。このＯＳ１４０は、プロトコル変換モジュール１３０の上位のレイヤ層に属する。
このＯＳの一例としては、電子マネーサービス用のＯＳや、暗号化や電子署名を行うことができるプログラムを実行するＯＳなどがある。
アプリケーション１５０は、複数のアプリケーションを含む。ここでは、ＯＳ−Ａで実行可能なアプリケーションとして、アプリケーションＡ１、Ａ２が搭載され、ＯＳ−Ｂで実行可能なアプリケーションとして、アプリケーションＢ１、Ｂ２が搭載されており、ＯＳ−Ｃ、ＯＳ−Ｄにおいても、それぞれ２つのアプリケーションが搭載され、ＯＳ−Ｅには１つのアプリケーションが搭載される。
【００２９】
このような構成において、いずれかのインタフェースから電源の供給をうけると、そのインタフェースに対応するドライバが初期化される。これにより、電源が供給されたインタフェースからコマンドが入力された場合には、初期化されたドライバからプロトコル変換モジュール１３０にコマンドが出力され、プロトコル変換モジュール１３０においてコマンドのプロトコル変換が行われ、コマンドが実行可能なＯＳに当該コマンドが出力される。
【００３０】
以上説明した実施形態において、ＩＣカード１が初期化についての処理を行う場合について説明したが、このＩＣカード１のＣＰＵ１０、ＲＯＭ１１、ＲＡＭ１２、ＥＥＰＲＯＭ１３、バス２０の機能を含む半導体装置を作成し、インタフェース（外部機器と接続する端子や、無線通信を行うためのアンテナ等）に接続し、上述したＩＣカード１を実現するようにしてもよい。
【００３１】
また、図１におけるＣＰＵ１０の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりＯＳの初期化管理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００３２】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【００３３】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【００３４】
【図１】この発明の一実施形態によるＩＣカードの機能構成を示す概略ブロック図である。
【図２】図１の構成におけるＩＣカード１の機能構成を示す図である。
【図３】ＯＳの一例であるＯＳ−Ａの初期化について説明する概念図である。
【図４】Ｉ／Ｆ−Ａに電源が投入された直後の状態を説明する図である。
【図５】ＯＳ−Ａを初期化する場合について説明する図である。
【図６】ＯＳ−Ａの初期化がなされた直後の処理について説明する図である。
【図７】従来法における電源投入直後の動作を説明するシーケンス図である。
【図８】ＩＣカード１の動作を説明するフローチャートである。
【図９】提案法における電源投入後の動作を説明するシーケンス図である。
【図１０】提案法におけるＩＣカード１の動作を説明するフローチャートである。
【図１１】他の実施形態におけるＩＣカード１の機能構成の一例を示す図である。
【符号の説明】
【００３５】
１  ＩＣカード                              １０  ＣＰＵ
１１  ＲＯＭ                                １２  ＲＡＭ
１３  ＥＥＰＲＯＭ                          １４  Ｉ／Ｏ
２０  バス
【図１】
2009252146.tif 000003
【図２】
2009252146.tif 000004
【図３】
2009252146.tif 000005
【図４】
2009252146.tif 000006
【図５】
2009252146.tif 000007
【図６】
2009252146.tif 000008
【図７】
2009252146.tif 000009
【図８】
2009252146.tif 000010
【図９】
2009252146.tif 000011
【図１０】
2009252146.tif 000012
【図１１】
2009252146.tif 000013