はじめに
仮想化に関する基礎知識
上記の記事で仮想化とは、「仮想化の対象よりも低い層を"仮にあるもの"として動作させる」と紹介しました。
しかし仮想化の技術をもってしても越えがたい壁が存在します。
その壁とはコンピュータを構成するハードウェアの一つであるCPUに由来します。
CPUのアーキテクチャ
CPUのアーキテクチャにはその設計思想や用途に応じて、様々な種類が存在します。例えば、CPUメーカとして有名な「Intel」はX86-64というアーキテクチャのCPUを製造しているメーカです。
※厳密にはさらに細分化されますが、ここでは省略します。
個人で使用するパソコンにはこのX86-64系が多く使用されています。他にもスマートフォン向けには電力消費が小さいARMアーキテクチャのCPUが採用されています。現行のものだけでも10種類以上のCPUアーキテクチャが存在します。
越えられない壁
前述した越えがたい壁は、このアーキテクチャに由来し、X86-64ベースのOS(例えばWindows10)を仮想化する際に、SPARCアーキテクチャ(スーパーコンピュータ「京」に採用されていたアーキテクチャ)のCPUを搭載したコンピュータ上では、仮想化することができません。
同様にSPARCベースのOS(例えばOracleのSolaris)を仮想化する際に、X86-64アーキテクチャのCPUを搭載したコンピュータ上では、仮想化することができません。
おわりに
旧来のシステムを延命させるために仮想化を実施することがあるかもしれません。
お客さんが自前でX86-64の仮想化基盤を用意できることもありますが、それはそれ。
CPUのアーキテクチャのことは頭の隅に置いておきましょう。
※知人はSPARCをX86の仮想化基盤でできない?という依頼を受けたことがあるようです。