6.その後のOSの研究開発

(1)拡張:仮想化の完成に
(2)ワンレベルストア方式
(3)研究の転換:OS特研
(4)新研究テーマ
(5)メインフレームとの別れ


(1)拡張:仮想化の完成に


OSに付加価値を付けるためにその後,IBMにない独自機能を開発できるようになった.(ソフト)もIBMの後追いだけでは今後ユーザの支持が得られないことを悟り,我々の提案に対して以前よりは少しだけ真剣に耳を傾けるようになった.だが,基本的にはIBMがやらないことはしないという姿勢にあまり変化はなかった.

私は入社時にMulticsのコピー版であるHITAC 5020/TSSの開発に従事した.その折,感銘したのはワンレベルストレージ(one level storage)の思想であった.半導体の進歩を見ると,その発展は凄まじい.ビットコストは年々下落し大容量の記憶が利用可能な状態になってきた.

入社時には仮想メモリの実現を行っていた.これは主メモリを物理的に扱うのではなく論理化して扱うという思想である.コンピュータの世界では装置の論理化を仮想化と同じ意味で使用する.用語としては,「物理的(physical)」に対して「論理的(logical)」,「実(real)」に対して「仮想(virtual)」となる.全く同様の論理化がCPUにも適用されていた.それが仮想計算機であり私が手を汚したOSTDのVMS(Virtual Machine System)はその恩恵を利用していた.つまりCPUの論理化が果たされていたのである.この場合,物理的なCPUを論理化することで仮想的なCPUをソフトウェアでつくり上げる(シュミレーションしている).仮想計算機はIBMの発明である.IBMは多くのシステムプログラムの開発(その殆どは改良の開発であったようだが)をするために高価なマシンを大量に用意しなくてはならなかったが,できれば1台のマシンで複数のシステムプログラム開発が同時にできることが望ましい.このような必要性から1台のマシンに複数のOSを動作させる仮想計算機が生まれた.実に優れた発明である.

CPU,主メモリそしてファイル(入出力装置)がコンピュータの3資源である.そこで最後に残された論理化はファイルである.具体的なアイデアは物理的なファイル入出力操作を論理化するというものである.つまり,プログラマは従来のようにファイル入出力の際に2次記憶装置からの入出力領域に細々としたレコードやブロック入出力をすることなく,すべてのファイルが記憶上にあるのと同じ操作で直接参照することができる仕組みを提供しようと考えた.つまり,ストレージはフラット(ワンレベル)でありOS/360以来の主メモリ,磁気ディスク上のブロック,ブロック内のレコード,という階層的なファイル構成を無用とする考えである.これによりプログラマはファイルを論理的に扱うことができプログラミングが容易になる.論理的なファイルを物理的なファイルアクセスへと変換するのはOSの役割である.

<先頭へ>    <ページの最後へ>

(2)ワンレベルストア方式


ファイル入出力を実行するプログラミングは面倒である.OS/360のアプローチは論理的なファイルと物理的なファイルをJCL(Job Control Language)のDD(Date Definition)文でOSに指定する必要がある.ファイルへのアクセスはスーパバイザコール(SVC)であるOPENによって使用を宣言しアクセス権がチェックされる.その後SVCもしくはデータ管理マクロを用いてデータをREAD/WRITEもしくはGET/PUTでアクセスする.この際にデータ長と入出力領域(バッファー領域)を指定する.つまりプログラマはバッファー領域を小さな窓としてファイルの一部にアクセスすることになっている.MVSでサポートしているTSSであっても原理は同じである.一方UNIXはユーザがアクセスしようとするファイルは論理的なファイル名称を木構造として指定するので物理的なファイルとの対応は必要ない.その後のデータへのアクセス法はOS/360と同様である.ワンレベルストア方式ではUNIXと同じ物理と論理ファイルの対応をさせる.(もともとUNIXの開発者:Ken ThompsonはMulticsの開発にATTからMITに出向していたのでアイデアはこれを借用したのだと思う)そして論理的なファイル構造はプログラミング言語で定義しておくだけで良く,プログラム内からは直接レコードアイテムにアクセスすることができる.面倒な入出力領域の管理,OPEN, READ/WRITE, GET/PUTなどの知識は必要としない.これらはOSが自動的に行う.

このようなワンレベルストアのようなアプローチではOSはファイルのレコードやブロックへの高速化をキャッシュメモリにより達成できる.この方法はUNIXにより既になされていた.1980年代に入っても半導体メモリはムーアの法則に従い1年半で2倍になる進歩を続けていた.つまり3年で4倍の容量となる主メモリが利用可能になるのである.そして量産による歩留まりがよくなれば価格は前世代のメモリ価格とほぼ同じになっていく.

<先頭へ>    <ページの最後へ>

(3)研究の転換:OS特研


日立がHITAC M-180を1974年11月に発表したが当時は1MBの主記憶は約1億円していた.Mシリーズの最上位機であるM-180は発売当初,最大実装記憶容量は3MBであった.しかし我々が1985年に納入開始したVOS3/ES1のターゲットマシンの一つ:M-280(発表は1981年2月)には最大実装主記憶容量が64MBであり,約30倍であり,M680プロセサッサブループでは最大1GBまで実装主記憶容量が増えている.しかも約10年を経たこの時点で,主記憶の価格はほぼ100分の1近くまで下落していた.

我々の研究テーマは「手狭であった主記憶を如何にして節約し,コンピュータの性能を向上させるか」というに課題が中心であった.VOS3/ES1に組込んだ,いわば頼まれてもいない機能はこの考えに立った性能向上方式である.VOS3/ES1の開発後,これらの研究テーマが根底からひっくり返るような事態になる.半導体の進歩から今までの研究の方向転換をする必要があると思い始めていた.このような考えが芽生えたころ研究の依頼主(クライアント)である(ソフト)システムプログラム部からは「今までメモリ節約の研究をお願いしていたが,これからはメモリが余る時代になりそうだ.したがって,有り余るメモリを使った性能向上の研究にシフトしてもらえないだろうか?」という要求が出てきた.

そこでユニットリーダである久保主任研究員と相談し「日立のメモリ戦略」と称する一連の研究テーマを立ち上げようということでこれを全社的な特別研究(特研)として取り組むことにした.特研はビジネスに有効とされる研究・開発テーマが複数の事業所の連携で行われる必要がある場合に提案でき,本社で認可されれば本社(研究推進本部;(研推))の管理下で研究・開発が推進される仕組みである.開発資金も本社から出資されるようになる.早速,アイデアを組み立て「OS特研」を立ち上げ本社に認められた.

<先頭へ>    <ページの最後へ>

(4)新研究テーマ


ワンレベルストアまで実現できないとしてもそれになるべく近いアプローチを考えることにした.そこで以下の研究を立ち上げた.
(A)ファイルの一部主記憶常駐化による入出力削減方式
 <システムファイルでRead Onlyのものなど有効>
(B)一時的ファイルの消滅による入出力削減方式
 <バッチ処理では一時的ファイルが多用されている>
(C)データベースの積極的なキャッシング方式
 <アクセスが集中する部分:ホットスポットのキャッシュ適応>
これらはいずれも主記憶をファイル入出力にシミュレーションすることで物理的な入出力削減効果を産み,結果として高性能化を図ることを目的としている.

これらのアイデアの根拠となったのはVOS3における入出力の分析結果であった.たまたま新入社員の吉岡正壱郎君(京都大学・地球物理専攻修了)が配属されたので研修員テーマとしてVOS3の入出力命令をトレースする機能を開発させた.この仕様は吉澤が考え取得すべき情報をすべて磁気テープに出力させることにした.主たる仕様は;SIO(Start I/O)系の命令のすべてをトリガーにして,チャネルプログラムであるCCWのすべてを取得.またそのオペランドであるチャネル・デバイス番号,アクセスするCCHHR(Cylinder, Head, Record),なども取得する.さらに,VTOC(Volume Table Of Contents)情報を取得し物理的なファイルのエクステント情報を得る,などである.この入出力トレーサを(シ研)の計算機センターに組込み3日間データ収集を行い,その解析プログラムも作り分析をした.

分析結果は驚くべき事実を示していた.僅かな主記憶を割くことで大幅な入出力を削減できることが判明したのである.磁気ディスクへの入出力は大きく分けると;パーマネント(恒久的)ファイルへのアクセス,テンポラリ(一時的)ファイルへのアクセス,ページング(仮想記憶用のメモリ)系の入出力,である.これらのファイルもさらに分類できるが研究報告ではないので省略する.各ファイル毎の読込み(R)と書込み(W)の比率,一回のR/Wデータ長など,分析結果は大変興味深いものであった.このような分析結果を得た人間はこの世の中でも少ないだろう・・・と自負したものである.

この分析結果から,上記の(A)(B)(C)のすべてのアイデアを実現する方式を考案しドキュメントとしてまとめた.そして開発の担当者として(A)を新井利明君に,(B)を長塚弘文君に,(C)を櫻庭健年君にアサインした.これらはすべてOS特研の成果であるVOS3/AS(Advanced System product)にXVIO, PREST, HAFとして製品に組込んだ.VOS3/ASはIBMのMVS/ESA対抗製品であり日立の最上機であるM680などのOSとなった.ここで実現した機能はすべて学会論文に再録されている.なお特別研究は製品直結型で複数事業部が協力しなければ成し遂げられない,という条件で本社に認可され,特研にたとえ研究所が入っていたとしても,その分科会の責任者は工場の部長クラスとされていた.しかし私がこれらの製品化の責任者となったのは例外的であった.

このように研究テーマの設定には測定・分析(解析)などの知的能力は絶対に必要であるが,それ以上に,それらを実践するだけのプログラミングという腕力が重要である.アイデアがあってもその効果を予測するための腕力と知力が必要であると常々思っている.もちろんこれらを達成するにはスピードも重要であり仕事への集中力が問われるのは言うまでもない.

<先頭へ>    <ページの最後へ>

(5)メインフレームとの別れ


OS特研が完了し1990年ごろ堂免信義所長に呼ばれて「そろそろVOS3から身を引いて後進に譲って欲しい.実はやってほしい仕事がある.それは日立のワークステーションのOS,つまりUNIXだ.今までは2050のビジネスワークステーションとしてATTのSystem Vを提供していたがモトローラの68000が調子良くない.そこで日立はHewlett Packard(HP)からPA-RISCをライセンスして100MHz以上のプロセッサを開発することになった.ここに載せるOSはOSF/1(Open Software Foundation)でまもなく特研が発足する.(シ研)には適切な責任者となる人材がいないので,君にやってほしい.」とのことであった.

職制が作られて01P(プロジェクト)が発足した.この時は主管研究員になっていたので,通常ならばこのようなラインの長になることはない.このプロジェクトはおおよそ30名もの大所帯であり, 3部,4部からプロジェクト員が集められ(シ研)最大の研究組織であった.

この特研ではPA-RISCの開発に難航し,紆余曲折があったがなんとか100MHzを超えるHARPなるチップが完成する.しかし,too lateであったため,ワークステーションのビジネスはこの間日立製のチップ完成を諦め,HPからPA-RISCを導入することにしてしまった.また,日立で開発を進めていたOSを始めとする様々なソフトウェアもHPから導入するなど,自主開発する辛抱・意気込みを各事業所の担当部長は失っていた.取り残されたHARPとOSF/1をどうするのかと思っていた時に,気の毒にも,IBM産業スパイ事件の責任を取らされ筑波大学に移った元・工場長の教授は文科省の重点科研費(数十億円)を獲得し,このHARPで超並列スーパーコンピュータに使うという提案してくれた.このスパコンは2048台の演算ユニットを備え,筑波大学のCP-PACSとして1996年6月にはスパコンのTop500で第一位となった.ここに使用されたチップはスライドウインドウという機構を持つ特殊なマシンであった.この発案は元・日立で当時筑波大学の 中田育男 教授のグループから出され,中田先生がそのコンパイラを開発することになっていた.日立としての製品はSR2201であり同年に販売開始された.OSはOSF/1である.この開発には脱IBM時の新入社員であった櫻庭君に担当してもらった.なおSR2201は東京大学にも納入されたり,ヨーロッパにも輸出された.

はからずもUNIXの世界に飛び込み,UNIXのシステムコール,プログラミング言語Cなどの勉強をし,別世界のOSを知った.UNIXを実践するために秋葉原でPCの部品を購入し,自宅でPCを組み立て,そこにBSD(Berkeley Software Distribution), Linuxなどをインストールすることもやった.そしてプログラミング言語Cでのプログラム作りやシェルスクリプトなどを作成し理解を深めた.

<先頭へ>    <ページの最後へ>


UNIX系OSについては多くの体験談や裏話があるが,ここではこの程度に収める.1995年に大学に転身するが大学教育ではここで勉強したUNIXが大いに役立った.1999年の秋に日立の情報公共システム部の旧知のSEから,JICAの長期専門員としてポーランドで働いてもらえないか,という打診があった.理由は,ベルリンの壁が崩れてポーランドは自由圏に入ったが,当時は食料難であった.そこでJICAは食料援助を行ったところ,ポーランド政府はこれを有料で国民に売り,資金を得ていたので,この資金を情報化教育のために使いたいので日本政府に援助を求めてきたという.

JICAは茨城大学,埼玉大学と協力してワルシャワにポーランド日本情報工科大学を設立した.ここでの情報教育のために大学から人員派遣を行ってきたが,来年は5ヵ年計画の最終年度にあたり,最後の締めを教授クラスに行ってもらいたいが適当な人がいない.この大学にはJICAがRS2201を無償供与している.そこでよく調べると農工大に吉澤教授がいて,(シ研)時代にこのスパコン開発に深く関与していたことを知ったので,最適任者であるという結論に至ったという.是非,了解して欲しい,とのことであった.当方も日立から自由の身になって(大学には失礼であるが)余生を送っているようなものなので,国家に貢献すると共に海外生活もしてみたいと思った.ヨーロッパといっても東欧なのだが家内にどうかと相談したところ,了解してくれた.人生,何がどうなるか先のことはわからないものである.ワルシャワで「東欧:East Europe」と云うと,「それは何処だ?ここは東欧ではない」と怒られた.ここは中央ヨーロッパ「Central Europeだ」と云う.ヨーロッパは狭いので飛行機で3時間もあればどこにでも飛べる便利なところであった.

2015年11月にオペレーティングシステムの本をオーム社から出版した(オペレーティングシステムの基礎 ネットワークと融合する現代OS,ISBN978-4-21833-0) .この本は大学生の教科書と位置付け,演習問題にプログラム作成を多く出題した.これらの解答例はプログラミング言語Cによるプログラムを掲載することにした.新たに13本の短いプログラムを掲載したが,その中にはクライアント・サーバモデルの通信アプリケーションもある.70歳を越えてもプログラミングができるが,これも長年,日立で鍛えられた賜物であると感謝している.

<先頭へ>  <戻る>  <目次へ>  <次>



脱IBM VOS3/ES1開発
Copyrights all rights reserved, Y.Yoshizawa 2016-2017