プロセッサによるメモリアクセスを制御する装置において、複数のプロセッサにより実行される複数のOSOperatingSystemに個別に対応し、各プロセッサからのメモリアクセスにおけるアクセス先の論理アドレスをメモリにおける物理アドレスに変換する複数のアドレス変換部と、メモリアクセスを行ったプロセッサの識別情報を取得し、前記複数のアドレス変換部のうち当該メモリアクセスに対するアドレス変換を実行するアドレス変換部として、当該識別情報に基づいて特定されたプロセッサにより実行されるOSに対応するアドレス変換部を選択する選択部と、を備える、装置。前記アドレス変換部は、前記プロセッサから出力されたアクセス命令を受け付け、当該アクセス命令において指定された論理アドレスを、前記メモリにおける当該プロセッサにより実行されるOSに対応付けられたメモリ領域の物理アドレスに変換する、請求項1に記載の装置。前記アドレス変換部は、OSを起動するためのブートプログラムが格納されたブート用メモリに対する前記プロセッサによるアクセス命令を受け付け、当該アクセス命令において指定された論理アドレスを、当該ブート用メモリの物理アドレスに変換する、請求項1または請求項2に記載の装置。前記アドレス変換部は、プログラム可能なロジックおよびレジスタで構成される、請求項1乃至請求項3のいずれかに記載の装置。前記選択部は、複数の前記アドレス変換部により変換されたアドレスを表すアドレス信号を受け付けて、当該アドレス信号の一つを選択的に前記メモリへ出力するマルチプレクサと、前記識別情報に基づいて前記マルチプレクサによる出力対象となる前記アドレス信号を切り替えるスイッチと、を備える、請求項1乃至請求項4のいずれかに記載の装置。プロセッサによるメモリアクセスを制御する装置において、複数のプロセッサにより実行される複数のOSOperatingSystemに個別に対応し、各プロセッサから出力されたアクセス命令を受け付け、当該アクセス命令において指定された論理アドレスを、メモリにおける当該プロセッサにより実行されるOSに対応付けられたメモリ領域の物理アドレスに変換し、OSを起動するためのブートプログラムが格納されたブート用メモリに対する前記プロセッサによるアクセス命令を受け付け、当該アクセス命令において指定された論理アドレスを、当該ブート用メモリの物理アドレスに変換する複数のアドレス変換部と、アクセス命令を出力したプロセッサの識別情報を取得し、前記複数のアドレス変換部のうち当該アクセス命令に対するアドレス変換を実行するアドレス変換部として、当該識別情報に基づいて特定されたプロセッサにより実行されるOSに対応するアドレス変換部を選択する選択部と、を備える、装置。複数のOSOperatingSystemを実装するコンピュータにおいて、複数のプロセッサと、メモリと、メモリアクセスを行った前記プロセッサの識別情報を取得し、当該プロセッサからの当該メモリアクセスにおけるアクセス先の論理アドレスを、前記メモリにおける当該識別情報に基づいて特定されたプロセッサにより実行されるOSに対応付けられたメモリ領域の物理アドレスに変換するアドレス変換装置と、を備える、コンピュータ。前記アドレス変換装置は、複数の前記OSに個別に対応し、前記各プロセッサから出力されたアクセス命令を受け付け、当該アクセス命令において指定された論理アドレスを、メモリにおける当該プロセッサにより実行されるOSに対応付けられたメモリ領域の物理アドレスに変換する複数の変換処理部と、前記識別情報を取得し、前記複数の変換処理部のうち当該メモリアクセスに対するアドレス変換を実行する変換処理部として、当該識別情報に基づいて特定されたプロセッサにより実行されるOSに対応付けられた変換処理部を選択する選択部と、を備える、請求項7に記載のコンピュータ。OSを起動するためのブートプログラムが格納されたブート用メモリをさらに備え、前記アドレス変換装置は、前記ブート用メモリに対する前記プロセッサによるアクセス命令を受け付け、当該アクセス命令において指定された論理アドレスを、当該ブート用メモリの物理アドレスに変換する、請求項8に記載のコンピュータ。従来、システムの仮想化を実現する機能は、ソフトウェアにより提供されていた。すなわち、上記のホストOSやハイパーバイザーの機能によって、ゲストOSを動作させる仮想ハードウェアが実現されていた。そのため、実装されるソフトウェアにおいて仮想化を実現するための特別な仕組みを設ける必要があった。具体的には、例えば、ホストOS型のシステムの場合、ゲストOSを動作させる際にもホストOSが動作するため、ハードウェアへの負荷が大きく、オーバーヘッドが大きいという問題があった。また、ゲストOSを動作させるための仮想マシンモニタのような特別なソフトウェアが必要であった。ハイパーバイザー型のシステムは、ハイパーバイザーが、実装されるハードウェアおよびハイパーバイザー上で動作させるOSに対応して構成される必要がある。そのため、ハードウェアの構成や使用するOSの種類を変更すると、変更後のハードウェアやOSに対応するハイパーバイザーを作成しなければならない。したがって、システム構成の変更が容易な、柔軟なシステムの構築が困難であった。また、ハイパーバイザー型のシステムには、準仮想化方式と呼ばれる方式と、完全仮想化方式と呼ばれる方式とがあるが、準仮想化方式の場合、ゲストOSをハイパーバイザーに適合させる必要があった。すなわち、ハイパーバイザーにより提供される仮想化環境を利用することを前提としてゲストOSを設計したり、改変したりする必要があった。これに対し、完全仮想化方式の場合、ゲストOSの改変等を行う必要はない。しかし、仮想化環境におけるゲストOSの動作をハイパーバイザーが支援する必要があるため、ホストOS型の場合と同様に、オーバーヘッドが大きくなるという問題があった。本発明は、プロセッサによるメモリアクセスをハードウェアで制御することにより、ソフトウェアに特別な仕組みを持たせることなく、かつオーバーヘッドの増大を抑制しながら、システムの仮想化を実現することを目的とする。上記の目的を達成するため、本発明は、次のような装置として実現される。この装置は、プロセッサによるメモリアクセスを制御する装置において、複数のプロセッサにより実行される複数のOSOperatingSystemに個別に対応し、各プロセッサからのメモリアクセスにおけるアクセス先の論理アドレスをメモリにおける物理アドレスに変換する複数のアドレス変換部と、メモリアクセスを行ったプロセッサの識別情報を取得し、複数のアドレス変換部のうち当該メモリアクセスに対するアドレス変換を実行するアドレス変換部として、識別情報に基づいて特定されたプロセッサにより実行されるOSに対応するアドレス変換部を選択する選択部と、を備える。より詳細には、アドレス変換部は、プロセッサから出力されたアクセス命令を受け付け、アクセス命令において指定された論理アドレスを、メモリにおけるこのプロセッサにより実行されるOSに対応付けられたメモリ領域の物理アドレスに変換する。さらに好ましくは、アドレス変換部は、OSを起動するためのブートプログラムが格納されたブート用メモリに対するプロセッサによるアクセス命令を受け付け、アクセス命令において指定された論理アドレスを、ブート用メモリの物理アドレスに変換する。また、好ましくは、アドレス変換部は、プログラム可能なロジックおよびレジスタで構成される。そして、選択部は、複数のアドレス変換部により変換されたアドレスを表すアドレス信号を受け付けて、アドレス信号の一つを選択的にメモリへ出力するマルチプレクサと、識別情報に基づいてマルチプレクサによる出力対象となるアドレス信号を切り替えるスイッチと、を備える。また、上記の目的を達成する他の本発明は、プロセッサによるメモリアクセスを制御する装置において、複数のプロセッサにより実行される複数のOSOperatingSystemに個別に対応し、各プロセッサから出力されたアクセス命令を受け付け、アクセス命令において指定された論理アドレスを、メモリにおける当該プロセッサにより実行されるOSに対応付けられたメモリ領域の物理アドレスに変換し、OSを起動するためのブートプログラムが格納されたブート用メモリに対するプロセッサによるアクセス命令を受け付け、アクセス命令において指定された論理アドレスを、ブート用メモリの物理アドレスに変換する複数のアドレス変換部と、アクセス命令を出力したプロセッサの識別情報を取得し、複数のアドレス変換部のうちアクセス命令に対するアドレス変換を実行するアドレス変換部として、識別情報に基づいて特定されたプロセッサにより実行されるOSに対応するアドレス変換部を選択する選択部と、を備える。さらにまた、上記の目的を達成するさらに他の本発明は、複数のOSOperatingSystemを実装するコンピュータにおいて、複数のプロセッサと、メモリと、メモリアクセスを行ったプロセッサの識別情報を取得し、このプロセッサからのメモリアクセスにおけるアクセス先の論理アドレスを、メモリにおける識別情報に基づいて特定されたプロセッサにより実行されるOSに対応付けられたメモリ領域の物理アドレスに変換するアドレス変換装置と、を備える。本発明によれば、プロセッサによるメモリアクセスをハードウェアで制御することにより、ソフトウェアに特別な仕組みを持たせることなく、かつオーバーヘッドの増大を抑制しながら、システムの仮想化を実現することができる。以下、添付図面を参照して、本発明の実施形態について詳細に説明する。<システム構成>図1は、本実施形態によるシステムの仮想化の概念を説明する図である。図1に示すように、本実施形態の仮想化システムは、ハードウェアとして、プロセッサプロセッサコア10と、仮想化装置20とを備える。各ソフトウェアOSおよびアプリケーション100は、仮想化装置20を介してプロセッサ10により実行される。すなわち、本実施形態によれば、各OSは、ハイパーバイザーやホストOSを介すことなく、ハードウェア上で直接動作する。ここで、仮想化装置20は、主としてプロセッサ10からのメモリアクセスを制御する装置である。すなわち、仮想化装置20は、各OSに対して個別のアドレス空間を提供する。この仮想化装置20の制御によって、各OSは、物理的には共通のメモリを使用しながら、各々独立のアドレス空間にアクセスすることとなる。このようにして、本実施形態における仮想化環境が実現される。仮想化装置20の具体的な構成および機能については後述する。図2は、本実施形態の仮想化システムにおけるハードウェアの構成例を示す図である。図2を参照すると、仮想化装置20は、第1のローカルバス51および第2のローカルバス52に接続されている。第1のローカルバス51には、プロセッサ10およびeDRAMEmbeddedDRAM12が接続されている。さらに、第1のローカルバス51には、周辺装置PeripheralIslandNode13が接続されており、チップインターリンク14が設けられている。なお、図2には、複数不特定のプロセッサ10を記載しているが、本実施形態の対象となるシステムにおいては、1または複数個のプロセッサ10を搭載して良く、また一つのプロセッサに複数のプロセッサコアを備えたマルチコアプロセッサを搭載しても良い。また、第2のローカルバス52には、ブートメモリコントローラ31およびシステムメモリコントローラ32が接続されている。ブートメモリコントローラ31は、ブートメモリ41として用いられるROMReadOnlyMemoryを制御し、システムメモリコントローラ32は、システムメモリ42であるDRAMDynamicRandomAccessMemoryを制御する。第2のローカルバス52には、さらにeDRAM33が接続されている。上記のように構成したことにより、各プロセッサ10、周辺装置13およびチップインターリンク14を介してシステムに接続された外部装置図示せずは、ブートメモリ41およびシステムメモリ42にアクセスする場合、いずれも仮想化装置20を介してアクセスすることとなる。また、図2に示すように、プロセッサ10は、デコーダ11を介して第1のローカルバス51に接続されている。デコーダ11は、接続しているプロセッサ10が仮想化装置20を介してメモリアクセスする際に、コントロール信号として、そのプロセッサ10を識別するための固有の情報プロセッサID等およびプロセスの識別情報プロセスID等を仮想化装置20に送信する。仮想化装置20は、このコントロール信号に基づいて、いずれのプロセッサ10からのアクセスかを識別する。なお、プロセッサ10の種類によっては、プロセッサ10自身がコントロール信号に相当する情報を出力するものがある。この場合、仮想化装置20は、プロセッサ10から出力される情報に基づいてプロセッサ10およびプロセスを識別すればよいので、デコーダ11を設ける必要はない。図2に示すハードウェアは、単体の半導体チップ上に構成することができる。すなわち、本実施形態による仮想化システムは、SoCSystemonachipとして実現し、提供することができる。また、SoCではなく、個々の要素プロセッサ10や仮想化装置20等を個別の電子回路として構成した装置として提供しても良い。<仮想化装置による仮想化>図3は、本実施形態の仮想化装置20による仮想化の手法を説明する図である。図3に示すように、仮想化装置20は、プロセッサ10からのメモリアクセスにおいて、アクセス先を示す論理アドレス仮想アドレスを含むアクセス命令と、コントロール信号とを受信する。また、アクセスがデータの書き込みを目的とするときは、メモリブートメモリ41またはシステムメモリ42に書き込まれるデータも受信する。仮想化装置20は、システムに実装されるOSに応じて複数のアドレス変換用のテーブルを有する。そして、仮想化装置20は、受信したコントロール信号に基づいて特定されるOSに対応するテーブルを用い、アクセス命令に含まれるアクセス先の論理アドレスを物理アドレスに変換する。この後、仮想化装置20アドレス変換装置は、アドレス変換が行われたアクセス命令をブートメモリコントローラ31またはシステムメモリコントローラ32へ送信する。一方、受信したデータについては、仮想化装置20は、そのままブートメモリコントローラ31またはシステムメモリコントローラ32へ送信する。データを読み出すためのアクセスの場合は、メモリから読み出されたデータを、そのままプロセッサ10へ返送する。なお、仮想化装置20において、通過するデータに対して、アクセスの目的に影響を与えない特定の処理を行っても良い。例えば、メモリにデータを書き込む際には受信したデータに対して暗号化や圧縮等の処理を行ってメモリへ送信し、メモリからデータを読み出す際には読み出したデータを復号したり復元したりする処理を行ってプロセッサ10へ送信することができる。<仮想化装置の機能構成>図4は、仮想化装置20の機能構成例を示す図である。図4に示すように、仮想化装置20は、複数のアドレステーブル21と、テーブル選択部22と、I/Oテーブル23と、排他制御部24とを備える。アドレステーブル21およびI/Oテーブル23は、例えばプログラム可能なロジックやレジスタで構成され、実装されるOSの種類や個数、ブートメモリ41やシステムメモリ42の容量等のシステム構成に応じて設定される。アドレステーブル21は、プロセッサ10からのアクセス命令においてアクセス先として指定された論理アドレスをメモリ例えばシステムメモリ42の物理アドレスに変換する、ハードウェアによる変換テーブルアドレス変換部、変換処理部である。上述したように、アドレステーブル21は、システムに実装されるOSに応じて複数用意される。図示の例では、3種類のOSに対応して三つのアドレステーブル2121a、21b、21cが記載されている。各アドレステーブル21には、ブートメモリ41へのアクセスに関するアドレス変換と、システムメモリ42へのアクセスに関するアドレス変換とを行うための設定がなされる。図4において、ブートメモリ41を参照すると、複数のOSを起動するため、各OSに対応付けられたブート領域メモリ領域が設定されている図示の例では三つの領域a1、a2、a3。各領域には、対応する0Sを起動させるためのブートプログラムが格納されている。また、システムメモリ42を参照すると、各OSに対応付けられたメモリ空間メモリ領域が設定されている図示の例では三つのメモリ空間s1、s2、s3。各メモリ空間は、対応するOSによるメモリアクセスにおいて使用される領域である。したがって、例えばブートメモリ41のブート領域a1およびシステムメモリ42のメモリ空間s1が特定のOS1に対応付けられており、そのOS1用にアドレステーブル21aが用意されるとすると、図4に示すように、アドレステーブル21aには、ブート領域a1およびメモリ空間s1のアドレス変換を行うように設定される。テーブル選択部22は、OSによるメモリアクセスに伴ってプロセッサ10またはデコーダ11から受信したコントロール信号に基づき、アクセスを行ったOSに対応するアドレステーブル21を選択する。そして、このテーブル選択部22により選択されたアドレステーブル21により、メモリアクセスにおけるアクセス先のアドレスが変換される。I/Oテーブル23は、外部装置入出力機器に割り当てられたアドレスを管理するテーブルである。本実施形態では、外部装置への入出力に、MMIOMemorymappedIOを用いることとする。すなわち、外部装置はメモリと同一のアドレス空間に配置される。そこで、外部装置に割り当てられたアドレスを管理する必要があるため、I/Oテーブル23が用意される。ここで、外部装置に割り当てられるアドレスは、OSに関わらず1種類として良い。そのため、本実施形態において、I/Oテーブル23は、アドレステーブル21と異なり一つのみ用意されるものとする。排他制御部24は、いずれかのOSが外部装置にアクセスしている際に、他のOSがその外部装置にアクセスしないように、排他制御を行う。上記のように、本実施形態では、各OSが外部装置にアクセスするために共通のI/Oテーブル23を使用する。そこで、複数のOSから同一の外部装置へ重複したアクセス要求が行われないように、排他制御を行っている。なお、外部装置への入出力に関する排他制御は、第2のローカルバス52に設けられるバスアービタ図示せずで行っても良い。この場合、仮想化装置20が排他制御部24を備える必要はない。<実装例>次に、本実施形態の具体的な実装例を提示して、さらに説明する。まず、本実装例の具体的な仕様を説明する。本実装例では、以下のようなシステムを考える。プロセッサ10として、32ビット4ギガバイトGBのメモリ空間のプロセッサ10A~10Dの四つを備える。メモリとして、4GBのシステムメモリ42と、756キロバイトKBのブートメモリ41とを備える。ブートメモリコントローラ31およびシステムメモリコントローラ32へは、34ビットでアドレスする。実装されるOSは、OS1~OS3の3種類。OS1は、プロセッサ10Aおよび10Bで動作し、システムメモリ42を2GB使用する。そして、OS1用にアドレステーブル21aが用意される。OS2は、プロセッサ10Cで動作し、システムメモリ42を1GB使用する。そして、OS2用にアドレステーブル21bが用意される。OS3は、プロセッサ10Dで動作し、システムメモリ42を1GB使用する。そして、OS3用にアドレステーブル21cが用意される。図5は、本実装例における各OSのメモリマップと、各OSにおけるメモリ空間のシステムメモリ42への割り当てと、各OSにおけるブート領域のブートメモリ41への割り当てを示す図である。なお、図示のメモリマップおよびメモリへの割り当ての表において、一つのセルは、256KBの領域を表すものとする。図5を参照すると、OS1のメモリマップでは、0x0000_0000から0x7FFF_FFFFまでのアドレスにシステムメモリ42のメモリ空間が割り当てられている。また、0x8000_0000から0x8FFF_FFFFまでのアドレスにMMIOが割り当てられている。また、0xF000_0000から0xFFFF_FFFFまでのアドレスにブートメモリ41が割り当てられている。同様に、OS2およびOS3のメモリマップでは、0x0000_0000から0x3FFF_FFFFまでのアドレスにシステムメモリ42のメモリ空間に割り当てられている。そして、0x8000_0000から0x8FFF_FFFFまでのアドレスにMMIOが割り当てられ、0xF000_0000から0xFFFF_FFFFまでのアドレスにブートメモリ41が割り当てられている。また、メモリ空間のシステムメモリ42への割り当ては、OS1のメモリ空間が0x0000_0000から0x7FFF_FFFFまでのアドレスに割り当てられ、OS2のメモリ空間が0x8000_0000から0xBFFF_FFFFまでのアドレスに割り当てられ、OS3のメモリ空間が0xC000_0000から0xFFFF_FFFFまでのアドレスに割り当てられている。また、ブート領域のブートメモリ41への割り当ては、OS1のブート領域が0x0000_0000から0x0FFF_FFFFまでのアドレスに割り当てられ、OS2のブート領域が0x1000_0000から0x1FFF_FFFFまでのアドレスに割り当てられ、OS3のブート領域が0x2000_0000から0x2FFF_FFFFまでのアドレスに割り当てられている。図6は、本実施形態の仮想化システムの実装例の構成を示す図である。図6に示す実装例では、テーブル選択部22として、スイッチボックス22aとマルチプレクサ22bとが設けられている。マルチプレクサ22bは、各アドレステーブル21から出力されるアドレス信号変換後のアドレスを表す信号を受け付けて、そのうちの一つを出力する。スイッチボックス22aは、デコーダ11から受信したコントロール信号により特定されるプロセッサ10に応じて、そのプロセッサ10に対応するアドレステーブル21から出力されるアドレス信号を出力させるように、マルチプレクサ22bを制御する。また、本実装例では、プロセッサ10がスイッチボックス22aおよびアドレステーブル21を設定するためのバスとして、IPブロックコントロールバス図示せずを用いる。また、本実装例では、外部装置への入出力に関する排他制御は、第2のローカルバス52に設けられるバスアービタで行うこととする。したがって、仮想化装置20に排他制御部24は設けられていない。本実装例において、プロセッサ10Aとプロセッサ10Bとは、対称型マルチプロセッサSymmetricMultipleProcessor:SMPとして構成され、同一のOS1が動作し、アドレス変換には共通のアドレステーブル21aを使用する。また、プロセッサ10Cは、OS2が動作し、アドレス変換にはアドレステーブル21bを使用する。また、プロセッサ10Dは、OS3が動作し、アドレス変換にはアドレステーブル21cを使用する。図6に示す例では、各プロセッサ10A~10Dに、デコーダ11A~11Dが設けられている。ただし、上述したように、プロセッサ10A~10D自身がコントロール信号を出力する場合は、デコーダ11A~11Dは不要である。ブートメモリ41は、OS1用のブート領域a10x1D000_0000-0x1DFFF_FFFF、OS2用のブート領域a20x1E000_0000-0x1EFFF_FFFF、OS3用のブート領域a30x1F000_0000-0x1FFFF_FFFFを有している。なお、図6においては、ブートメモリ41の各ブート領域a1、a2、a3のアドレスを34ビットのシステムアドレス空間で表現している。システムメモリ42は、OS1用のメモリ空間s10x0000_0000-0x7FFF_FFFF、OS2用のメモリ空間s20x8000_0000-0xBFFF_FFFF、OS3用のメモリ空間s30xC000_0000-0xFFFF_FFFFを有している。<初期状態と設定動作>図6は、以上のように構成されたシステムの初期状態テーブル選択部22を構成するスイッチボックス22aおよび各アドレステーブル21a~21cにおいて仮想化を行うための設定がなされていない状態を示している。本システムの仮想化装置20は、この初期状態において、プロセッサ10Aが、ブートメモリ41の該当するブート領域にアクセスし、ブートプログラムを読み込んで実行するように設定されている。図6を参照すると、スイッチボックス22aは、プロセッサ10Aのデコーダ11Aからのコントロール信号にしたがって、アドレステーブル21aを選択するように設定されている図中、破線の記載を参照。また、アドレステーブル21aには、ブートメモリ41のブート領域a1のアドレスROMADDおよびROMMaskが設定されている。スイッチボックス22aの他の設定、アドレステーブル21aにおけるシステムメモリ42のメモリ空間s1のアドレスSysADDおよびSysMaskの設定、およびアドレステーブル21b、21cの設定はなされていない。この状態で、電源投入等によりプロセッサ10Aのリセットが解除されると、デコーダ11Aからのコントロール信号によりスイッチボックス22aがマルチプレクサ22bを制御してアドレステーブル21aを選択する。そして、アドレステーブル21aの設定にしたがって、プロセッサ10Aがブートメモリ41のブート領域a1にアクセスし、ブートプログラムを実行する。このブートプログラムの実行により、スイッチボックス22aの設定と、システムメモリ42のプロセッサ10Aに対応するメモリ空間s1に関するアドレステーブル21aの設定と、他のプロセッサ10B、10Cに関する設定とが行われる。図7は、図6に示した仮想化システムの実装例において、上記各種の設定が行われた様子を示す図である。具体的な設定としては、まず、スイッチボックス22aが、デコーダ11Aからのコントロール信号によりアドレステーブル21aを選択し、デコーダ11Bからのコントロール信号によりアドレステーブル21aを選択し、デコーダ11Cからのコントロール信号によりアドレステーブル21bを選択し、デコーダ11Dからのコントロール信号によりアドレステーブル21cを選択するように設定される図中、破線の記載を参照。また、図5に示したOS1のメモリマップに基づき、アドレステーブル21aにおいて、システムメモリ42のメモリ空間s1のアドレス0x0000_0000-0x7FFF_FFFFを使用するように設定が行われる。例えば、図7に示すように開始アドレスSysADDとデータ範囲を設定するマスクデータSysMaskを設定する。そして、プロセッサ10Aから出力されたアクセス命令に含まれるアドレス論理アドレスと開始アドレスおよびマスクデータとの論理積ANDを求めれば、アドレスの変換ができる。さらにまた、OS2用のアドレステーブル21bについて、ブートメモリ41におけるブート領域a2のアドレスおよびシステムメモリ42におけるメモリ空間s2のアドレスの設定が行われる。同様に、OS3用のアドレステーブル21cについても、ブートメモリ41におけるブート領域a3のアドレスおよびシステムメモリ42におけるメモリ空間s3のアドレスの設定が行われる。上記の設定により、プロセッサ10Aは、システムメモリ42を使用可能となる。そこで、ブートプログラムのシステムメモリ42へのコピー等を行って、OS1のブートを行う。次に、プロセッサ10Bのリセットが解除される。上述したように、本実装例においてプロセッサ10Bとプロセッサ10AとはSMPであるので、プロセッサ10Bは、プロセッサ10Aと同じアドレステーブル21aを使用する。次に、プロセッサ10Cのリセットが解除される。このとき、プロセッサ10Cで動作するOS2用のアドレステーブル21bは、ブートメモリ41におけるブート領域a2のアドレスおよびシステムメモリ42におけるメモリ空間s2のアドレスとも設定済みである。したがって、プロセッサ10Cは、通常通り、OS2のブートを行う。さらに、プロセッサ10Dのリセットが解除される。このとき、プロセッサ10Dで動作するOS3用のアドレステーブル21cは、ブートメモリ41におけるブート領域a3のアドレスおよびシステムメモリ42におけるメモリ空間s3のアドレスとも設定済みである。したがって、プロセッサ10Dは、通常通り、OS3のブートを行う。なお、上記の例では、最初にプロセッサ10Aに対するリセットを解除することで、スイッチボックス22aおよびアドレステーブル21a、21b、21cの設定を行ない、仮想化システム全体を起動させた。ここで、最初にリセットを解除するプロセッサ10は、予めハードウェア設定により決定しておけば良く図6参照、特定のプロセッサ10に限定されるものではない。また、起動時の設定動作は、各プロセッサ10がメモリブートメモリ41およびシステムメモリ42の該当する領域にアクセス可能となり、各プロセッサ10で動作する各OSがシステムメモリ42を使用してブート可能となれば良く、上記実装例の手順には限定されない。以上のように、本実施形態によれば、仮想化装置20が、実装された各OSからのメモリアクセスに対して、OSごとに予め割り当てられたメモリ領域を使用するようにアドレス変換論理アドレスから物理アドレスへの変換を行う。このため、各OSは、仮想化システムで使用されることを前提とした設計や改変を行うことなく、本実施形態により提供される仮想化環境で動作することができる。また、本実施形態は、仮想化装置20がメモリアクセスにおけるアドレス変換を行うため、ホストOSやハイパーバイザーのようなソフトウェアにより仮想化環境を実現する仕組みを必要としない。そのため、プロセッサにかかる負荷を軽減することができる。以上、本実施形態について説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、種々の変更または改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。