z/OSソフトウェア製品移植のための前提知識(OS機能の互換)

By 神居 - Posted: 2009/10/17 Last updated: 2009/10/17 - Leave a Comment
印刷用ページの表示 印刷用ページの表示

OS機能の互換

コンパチOSであるので、OSの内部構造、機能、API、ユーザー・インタフェース(コンソール・オペレーター、TSOユーザー)は同じ(であった)と考えてよい。
過去形にしたのは理由がある。1つ1つ細かくあげつらうことはここではしないが、MSPとVOS3を互換OSと言っていいのは、概ねMVS/SP第3版(MVS/ESA)までであろう。APIなどの互換はほぼこのレベルまでで、MVS/ESAの第4版以降で追加されたものには、一部を除き追従されていない。ただし同等の機能が全く別のAPIで実装されているものもある。さらに新しい、OS/390、z/OSで追加されたものはMVS専用と考えるのが妥当である。同じものがあれば、それはラッキーであった、と考える方がよい。互換のあるAPI、ないAPIなどの具体的なものは、改めて解説したい。
このことは、ESA第4版以降のMVSとMSP/VOS3の機能面の開きが徐々に増えていったことと関連している。OSとして互換機能を実装しなかったり、互換ではない形で実装したのだから、APIにもそれが影響しているのである。余談だが、ESA第4版は1993年、OS/390が1996年頃の製品であるが、この時代は、「メインフレームなんぞもう古い、置き場所も金も食う、これからはUnixだ、インターネットだ、ダウンサイジングだ」と、今で言うIT業界上げて、メインフレームを止めよう、と言い始めた頃であった。

僕がやっていたプロダクトも、この頃からMVSの新しいAPIなどを使うようになってきて、どうしても無理なものはMSPやVOS3への実装はせずに、ばっさり機能を落としたりするものも増えていったと記憶しています。MVSの新しいAPIで特に増えたのは、同じ事をやるのに、昔はOSの制御表をたどったり、制御表を自分で作って、OSのモジュールを直接呼び出していたようなものが、マクロ命令などで提供されるようになったもの。当然MVSでのプログラミングは楽になるが、MSPなどではそう言う部分を昔からの古典的な方法に戻すことになる。
IBMがすごいところは、OSのエンハンスによって、今までは裸同然で見せていたものを、鍵の掛かるところに移したり、構造を変えたり、簡単に探せなくなったりした部分を、隠すのではなく、APIを提供することによって、ユーザーやベンダーの既存のプログラムが困らないようにしていたこと。元々APIでなかったものでも、多くのプログラムが処理のために使っていたり、OSと同じような制御をやっていたりする部分は、新たなAPIとして追加されて行きました。

こう並べてみると、互換があるのはOSの基本部分とTSOのコマンドライン・インタフェースぐらいで、全く別物ではないにしろ、互換OSと呼ぶにはだいぶ無理がでているように思える。OSを取り巻く環境や製品類も含めると別物になるけど、純粋にOSの部分だけで言えば、やはり互換OSであることに違いはないか...

(続く)

Posted in ポーティング、ローカライズ手法 • • Top Of Page