前回の本欄で次のように書いた。「通常、CPUを変更してしまうと、顧客がこれまで使ってきたソフトウエア資産はそのままでは利用できなくなり、ソフトウエアの書き換えが必要になる。ところが、ここでAS/400(iSeriesの前身)の設計思想が真価を発揮し、既存のソフトウエアに影響を与えることなく、CPUを切り替えられた」。こうした顧客資産の保護は、iSeries以外のコンピュータではまだ実現できていない。
なぜ可能なのか、設計思想の骨子を紹介してみたい。ソルティス博士は30年以上前に、iSeriesのアーキテクチャー(設計思想)を固めたときに、その当時にあった現実のハードウエアから切り離した「仮想的なコンピュータ」を設計した。そして、この仮想的なコンピュータに顧客の利便性を考えた数々の工夫をこらした。
それまで、いや今日でもコンピュータの設計は、心臓部であるCPUに左右される。CPUを動かすには、外から命令を与えないといけない。CPUごとに受け付けられる命令は決まっており、これらをまとめて「命令セット」と呼ぶ。コンピュータの上で動くソフトウエアは最終的には命令セットに変換されて、CPUへ伝えられる。CPUを交換すると命令セットが変わるから、それまで使っていたソフトウエアであってもそのままでは動かなくなる。
これに対し、iSeriesの仮想的なコンピュータは不変・普遍である。仮想的なコンピュータとはすなわち、CPUなど特的の技術に依存しない一種の命令セット群だからだ。iSeriesの上で動くソフトは、この命令セット群だけを参照する。この命令セット群は拡張されることはあっても、がらりと変わることはない。したがっていったんiSeries向けに開発されたソフトウエアを利用し続けることができる。
実際に処理をするときには、仮想の命令セット群をCPUが理解できる形に変換して実行する。この仕掛け(ソフトウエア)はIBMが用意しており、顧客やソフト開発者には見えない。つまりCPUを変更する場合、仮想の命令セットから新しいCPUに変換する仕掛けをIBMが用意すればよい。IBMの外で決まった技術的標準を採り入れる場合も同様で、仮想的な命令セットにそうした標準と同等の命令を追加することになる。
この仮想的なコンピュータは数々の工夫をこらしてあると述べた。その典型例が、仮想コンピュータでデータを格納するときに物理的な場所を意識しなくて済むようにしたことだ。iSeriesでデータを記憶させるときは、データに名前だけを付けておけばよい。利用するときも名前を指定すればそのデータを取り出せる。そのデータをCPUの近くに格納しておくか、記憶処理装置の中に格納するかは、iSeriesが判断する。
これに対し、通常のコンピュータはこうした仮想的なコンピュータがないので、データの格納場所をいちいち指摘しないといけない。パソコンの場合、名前だけで必要なデータを扱っているように見える。Windowsのアイコンをクリックしていけば目的のファイルにたどり着けるからだ。しかし、これは利用者がデータの階層構造を順次たどっているわけだから、やはりデータの位置を意識している。
データをどこにおくか意識しなくてよくなると、ソフトウエアの開発が簡単になる。しかも記憶装置を追加するなどハードウエアの構成を変えても、利用者はこれまで通り、データの名前を指定するだけでよい。iSeriesが自動的にデータを新しい装置に再配置しておいてくれるからだ。
next: ビジョンが技術を先導する
この連載のバックナンバー バックナンバー一覧へ 画面先頭に戻る
- システム障害を巡る記事の書き方、教えます (2005/11/29)
- いよいよ幕開け、日本版SOX法を巡るドタバタ劇 (2005/11/15)
- 2億対1000万、携帯電話で大差がついた訳 (2005/10/25)
- システムを理由に郵政民営化を遅らせるのはおかしい (2005/10/18)
- 答えは30年前からそこにある (2005/10/12)

