1990〜UnixにWindows95だ

,

1990年代前半は、パソコンの普及が急速で、Windows OSとインテルのマイクロプロセッサにより高性能低価格のパソコンがビジネス市場に広まりました。また、インターネットの発展や企業のグローバル化が進み、汎用大型コンピュータは基幹サーバとしての役割を果たすように変わりました²³. しかし、Appleは一時的な苦戦を経て、Microsoftがソフトウェアメーカーとして成長し、PC業界ではCompaq ComputerやIBMなどが支配的な地位を確立しました⁴.

後半は、Windows 95の登場、PHS(Personal Handy-phone System)の普及、ISDNの普及、デジタルカメラの普及などが特徴でした。Windows 95はGUIの進化とインターネット対応をもたらし、PHSは携帯電話の代替として利用されました。ISDNは高速なデータ通信を実現し、デジタルカメラは写真撮影の楽しさを広めました。

ワークステーションは、UNIXベースのクライアントサーバモデルで、高性能なコンピュータとして登場しました。ワークステーションは、組版、科学技術計算、CAD、グラフィックデザインなどに特化した業務用のコンピュータで、耐久性と高い安定性を備えていました。当時、SPARCやMIPS、DEC AlphaなどのCPUを搭載し、先進的な技術を提供していましたが、後にx86系CPUを搭載するワークステーションが市場を席巻し、性能向上と低価格化が進みました。¹²

(=MicroSoft Copilotを使用して時代背景を作成しています。便利な世の中ですね)

1)UnixワークステーションへのOHM=CAD移植

ApolloWSは68030を使用していたが、68040の開発が遅れ他のUNIX-WS勢の性能向上についていけなくなってきました。その為自社CPU-A88Kを開発して対抗しました。A88Kを4つ搭載したDN10000を作りました。4CPUDISKはRaid5、メモリーアクセスも高速化しており画期的でした(=2010年代のパソコンが4CPU構成です)。実際AutoDigitizer4001でやっていたベクター化ソフトだけで早くできました。Apolloの経営が悪化してHPに吸収されてしまいApolloWSは無くなっていきました。

仕方ないのでOHMUNIX移植する事にしました。ざっと以下のような違いがあります(=若干個人的意見がふくまれています)。

OSAegis/DomainOSUNIX
2言語PascalC
3WindowSystem・ユーザIFDialogX-Window・Motif(モチーフ)
networkリングネットイーサネット
system-call便利なのが沢山低レベルで使いにくい
6OSコマンド英単語でまとも暗号?(Catは猫ではない?

最大の問題となるPascalからCへの変換は、半自動的にするために「PascalToCコンバータ」を作って対応します。
画面(=WindowSystem・ユーザIF)周りはどうしようもないので、生贄のO君に頑張ってもらいました。
system-call周りは少しずつ変えて行きました。幸いなことにメモリーマップドファイルはUNIXにも有りますので性能低下はそんなにありませんでした。
ついでなのでDEC/HP/SONYUnixWS向けに移植しましたが、なぜかSUNは移植しなかった様な気がします。Linuxにも移植したな。

この移植で効果を発揮したのがOHMログの再実行(=自動テスト)機能です。ApolloWS上でOHMを動かしてログ(A)を取ります。そのログを各種UnixWS上のOHM再実行する事によりテストが出来ました。

最初のログを(A)、ApolloWSで(A)を再実行してログ(B)を取ります。同様に各種UnixWSで(A)を再実行してログ(C)取ります。(B)=(C)ならば自動テストOKとなります。

困った話1:自動テスト以外にも人を使ってテストしました。「動作に問題がある」との報告を受けて調べてみると元からある問題でした。「正しいものは正しく、間違いは間違いのまま」に、正確に移植できている事が証明されました。当然不具合は元から修正しました。

困った話2:HPの営業から「ApolloのアプリをHP-UNIXへ完璧に移植した例は余りない」ので「移植ビジネスしませんか?」とのお誘いが有りましたが、流石に飽きてきましたのでお断りしました(=次の「2)ナビデータCD作成システムの高速化」は移植ビジネスでは無く、問題解決ビジネス?です。長い付き合いで断れません)。

2)ナビデータCD作成システムの高速化

ナビデータを作成している北九州の会社から以下の様な要望があるとの事で打ち合わせに行きました。

要望:1枚のナビ用CDを作成するためのフォーマット変換に20台のApolloWSを使用して20日かかる。これを1日にしたい。

ナビ用の地図や経路・電話番号などのデータをCD-ROMに焼くためにフォーマット変換する作業に時間がかかりすぎるので、ベストなタイミングで商品が出せないとの話でした。

Apollo-WSx20台x20日の性能から1日でフォーマット変換するには、計算上は当時出たばかりにDEC alphe 2100サーバ(4CPU構成)を2台必要となり、それで提案書を書いたらすんなり通り実際に開発作業に入る事になりました(=今では当たり前のマルチCPU構成ですが、当時はそんなコンピュータはDN10000以外見た事が有りませんでした)。

フォーマット変換ソフトはPascalで書かれているので、まずPascalToCコンバータCに変換してDEC alpheで動く様に調整する作業の繰り返しです。ここで一番問題となるのがDEC alphaは64bitなので32bitデータアクセスが発生するとメモリーフォルトが発生して、データ再読み込みが発生し処理性能が極端に遅くなる事でした(=元のPascalソースのApollo-WSより遅くなる)。そのため32bit部分を64bitでメモリーフォルトしない様に書き変える作業を延々として、動作スピードを上げて行きました。

また、上記の様な遅い部分の調査と改善をしていたら不要な処理で多大な時間を費やしている部分を見つけて3行ほど修正したら、その部分の処理が3〜20倍早くなってしまい困ってしまいました(A)。(A)をユーザに報告すると、ユーザの開発部門が営業部門から攻撃されてしまうのではないかと…開発部門の人々とも営業部門の人々とも仲良くしていたので…結局は報告しましたが(=一時期開発部門から冷たい視線を感じた様な気がします)。

メモリーはアプリが使用する以上あったので、メモリーディスクとして処理中のテンポラリーファイルを置き、16プロセス並列に動かす事により、半日でフォーマット変換ができる様になりました。(A)で3〜20倍早くなるのはメッシュ分割した1ファイルを処理する部分で、並列化できない所も多々あります。もし(A)に気づかなかったら、目標の1日達成が困難だった可能性を考えると綱渡状態だったのでしょう。無謀な事に挑戦したのは若気の至りでしょう(=危ない、危ない。もうできない)。

3)PC(Windows95)へのCAD移植

UNIXワークステーションへのCAD移植も一通り終わった頃にWindows95が発売されました。

PC AT互換機の性能も上がり、今後はPCが主力になるとの予想からWindows95へCAD移植する事にしました(=ミニコン ワークステーション パソコンの様に小型化が世の中の流れなのでしょう。となると次は当然モバイルですね)。

Windowsの開発環境としてVisualStadioが基本ですが、MS-CではGUI作成が面倒なので「本当のVisualStadioの旧ボーランド(現在のエンバカデロ)C++Builder」を使用して移植しました。C++BuilderはVisualBasicの様な感じで使える優れたtoolでした。今でもGUIを作るならC++Builderが最高かもしれません(=個人的な感想です)。

4)韓国で焼肉と調査(パズル2)

ナビデータを作成している北九州の会社から以下の様な要望があるとの事で韓国につれて行かれました。

要望:韓国の大手自動車メーカにナビゲーション作成システムを納入したが現地で動かない。動く様にしてほしい。

私が作ったソフトでもなくソースも見た事がないのにご無体な要望です(=ブラックボックスのパズルを解く様な話です)。半分拉致される様につれて行かれました。ソウルに行ったら美味しい焼肉を食べさせられてので、焼肉分は働くかと分からないなりに調べたら、どうもメモリー不足の様でした。昔のUNIXはカーネルチューニングとして1プロセスで使用する仮想記憶のサイズやファイル数を変更して、新しいOSとして更新する機能が有ります。

その仮想記憶サイズが不足した結果、動かない現象が発生していましたので、その件を報告して焼肉分は仕事ができました(=義理は返しました)

その他1:韓国から帰ってきたら「ニンニク臭い」としばらく嫁に避けられました。
その他2:韓国の大手自動車メーカ関係者は日本語が上手かった。
その他3:営業は1泊2日の韓国焼肉ツアー料金として確か50万ほど請求したと思いますので、少しは私に還元しろと言いたかったな(=1日25万は今まで最高の単価だな)。

5)伝説のトランジスタラジオ設計者とCAD

SONYで最初にトランジスターラジオを作られたA氏が退職前に、「アナログ設計のノウハウを残す」為に、A氏専用の操作メニューをOHMに組み込みました。
最初に会った時は「普通のオジサン」でしたが、よく聞くと伝説の人でした。

6)婦人服用CAD

婦人服パターン作成会社の「社長のノウハウを残す」為に、社長の本=理論でパターン展開する専用CADを作りました。メニューなど全体の色合いはピンクです。データと婦人服の曲線を表す為にしてスプラインを追加しました。
面白い話1:服のことは興味も有りませんでしたが、「日本最初の洋服職人は足袋職人だった」=和服は平面です。足袋は立体形成なので洋服の理論が分かった様です。
面白い話2:展示時会場で婦人服CADのデモをしました。婦人服の脇のライン=ビーナスラインを画面で描いていたら「綺麗な線ですね」と褒められました。胸の名刺をみたら「オンワード樫山」のデザイナーの方でした。素人スプライン関数曲線を作成しているだけですが、数学とデザインは密接に関係しているのですね。

7)地図用の機能拡張

OHMには、画像(ラスター)背景の機能が有りますが、地図を利用する為に「地図背景」機能を作成しました。

ゼンリン住宅地図」「ゼンリンエリアマップ」を背景地図として使用できるようにしました。

地図データは多数のファイルに別れており、その都度ファイルを読み込んでいては表示が遅くて使いもにになりません。メモリーマップドファイルで高速にファイルを読み込むのが基本ですが、読み込んだ地図データをキャッシュとしてメモリーに保存して高速の地図表示を実現しています。

現在でもCATV設計CAD CadixExpertで使われています。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

PAGE TOP