開発日誌1999年2月

いつのまにやら 2099 年 (1999/02/01)

 今日はマシンが絶不調でした。特に困ったのが Adobe Acrobat Exchange が一般保護違反で全然動かないのです。何かがおかしいと思いつつ1日が過ぎて、日付が変わった 1999/02/01 に再インストールを決意。準備を始めた時に原因が判明しました。マシンの日付が 2099 年にタイムスリップしてやがる!!日付を戻してやると問題は解決しました。

 マシン日付が変わったことを知らずに使いつづけてたので、2099 年になってしまったファイルを検索すると、うんざりするほどの数がありました。日付がおかしくなったテンポラリー類は全部削除しました。そして残りは手動で 1999 年に修正しました。何の拍子で日付が変わったのだろうと考えてみました。2099 年になってしまったファイルや、正常なファイルの最終日付、時刻から類推すると、MSDN Library January 1999 をインストールしたタイミングで変わってしまった疑いがあります。MSDN が犯人だと断定するわけではありませんけど、インストールした後、リブートしてからおかしくなったように思います。

 ひとつわかったのは、現バージョンの Adobe Acrobat Exchange は 2099 年になると使えないということですね。(笑)

Windows 2000 の暗雲 (1999/02/02)

 Windows 2000 は、やはり暗雲がたちこめているようです。NT と統合されて Windows 2000 が登場するというシナリオが崩れるのではという記事が ZDNet に掲載されてました。Windows 98 のバージョンアップがもう一度あるということらしいです。MS のことですから、名称は Windows 2000 XXXX というふうになるかもしれません。しかし、中身は Windows 98 を引き継いで NT とは統合されないかもしれないかもしれません。まあ、現段階では噂というレベルですけどね。

 MS は、当初のシナリオどおりに統合を進めるには問題が山積みなので、ワンクッションおいて牽制する手法に出ようとしてるのかもしれません。ワンクッション置けば MS には相当メリットがあると思います。まず、統合という目標を達成するための時間的余裕を得ることができます。とりあえず、どんな形であれワンポイントリリースしておけば時間稼ぎできます。営業的にもそのほうがメリットがあります。一応面目は保たれますし、リリースさえすれば他のOSを牽制することもできます。何もしなければ、その間に他のOSに市場を食われてしまうことになりかねません。

 MS がこういった手に打って出た時に市場がどういう反応を示すのでしょうね。個人ユーザーの反発は少ないように思いますが、企業ユーザーがどういう反応をするか興味あるところです。

Windows 9x と NT (1999/02/04)

 どうやら、Windows 9x は、NT と統合されるまでに、少なくとも1回、もしかすると2、3回のバージョンアップがありそうです。ZDNet によりますと、この情報は確定的ではないものの MS に確認をとっているようです。

 Windows 9x は、パーソナルOSとして発展を続けましたが、どうやら爆走しすぎたきらいがありますね。プラグアンドプレイをはじめとして DirectX 等、新しい技術がどんどんと投入されました。一方 NT は、なんとか Windows 9x との互換性を保とうと、ディスプレイドライバをカーネルレベルに組み込んだり、9x と同じシェルを乗っけたりして頑張りました。しかしながら、とうとう息切れです。そもそも2つのOSは全く違う所から出発したわけです。なんでもありだった 9x に比べて、NT のほうは融通がきかなかったんですね。と言うよりも、NT はなんとか融通をきかそうと基本的な設計まで変更していった結果、泥沼に陥ってるようですね。

 この際、NT の 9x 化は棚上げして、サーバーOSとして特化したらどうなんでしょう。Windows 9x は、このまま磨きをかけてクライアントOSとして継続すればいいじゃないですか。どっちつかずで自爆するよりは、Windows 9x を死守したほうが得策だと思うのです。

IE4 で日付がおかしいのはなぜ? (1999/02/06)

 今年に入って気になっている点がひとつ。それは IE4 で ftp サイトをアクセスすると、表示される年号が全て 99 年になってることです。去年まではそんなことなかったと思うのですが何故なんでしょう。環境は Windows 98 + IE4 SP1 です。Linux の Netscape Communicator 4.08 で見るとそんなことはないので、サイト側の問題じゃありません。第一、どの ftp サイトにアクセスしても同じなのですから。。。ちなみに、Windows NT 4.0 の IE4 でも同様です。今、確認しました。

 サポート技術情報を検索してみましたが、それらしきものは引っかかりませんでした。あの検索は、ちゃんと検索できてるのか?という根本的な疑問もありますけどね。

Windows 2000 の互換性 (1999/02/10)

 Windows 2000 は、現存する NT アプリケーションの 60% しか動かないそうですね。自社アプリケーションにも問題が発生しているという情報もありますので大変な状況です。MS が Windows 2000 のリリースについて、トーンダウンしてるのも納得できます。

 NT との統合がいつになるかという問題よりも、NT 4.0 の後継 OS としてリリースできるかという問題に直面しているわけですから事態は深刻ですね。たぶん、リリースされた当初は当分の間は怖くて使えないから、市場は模様眺めのまま推移するでしょう。NT に大きく依存している企業は、情報システム整備、高度化を果たせないことになり死活問題となってしまいます。まあ、NT で基幹システムを構築している企業があるのか疑問ですし、ましてや、今まで NT でやってたなら、既に勝負はついているでしょうから(笑)、たかが NT の問題で企業がどうこうなることはないでしょうけどね。

 ところで、最近は汎用系が見直されているみたいですね。(汎用系という言い方が正しいかどうかわかりません) 昔は「ダウンサイジング」という言葉のもと、汎用系は駆逐されてワークステーションやパソコンによる分散処理に置き換わっていくであろうと言われてました。それによって、運用、管理コストを押さえることができるようになると信じられてたわけです。ここにきて汎用系が盛り返しているところを見ると、ワークステーションやパソコンを複数台入れて運用するのと、1台の汎用コンピュータを入れて運用するのとは、コスト的な面においても遜色ないということなのでしょうか。だとすると、ハード、OSの信頼性、対障害性を考えたらこの流れも納得できます。

Oracle8 for Linux が 55% OFF (1999/02/10)

 3月に発売される、Oracle8 Workgroup Server Release8.0.5 は、9月30日までの期間限定で、55% OFF の 98,000円で販売されるという発表がありました。Linux を選択する企業担当者には、100,000円を切るというのは歓迎されると思います。担当者の予算範囲で購入可能な値段でしょうし、稟議をあげるにしてもとおりやすいですからね。中小企業でも、Linux + Oracle8 という選択をしやすい状況が生まれると思います。

Oracle8 for Linux 値引きキャンペーンの真相 (1999/02/13)

 Oracle8 Workgroup Server Release8.05 の 55% OFF キャンペーンは、SQL Server 7.0 がやってる乗換えキャンペーンへの対抗策だったんですね。Linux 版の投入を急遽決定したのも SQL Server 7.0 を牽制するためだということが、ようやくわかりました。こうやって競争して価格が下がることは我々ユーザーにとっては有難い話ではあります。しかし、Oracle が MS に向ける姿勢は「なんでそこまで言う」「なんでそこまでやる」という事が目立ちますよね。

 Oracle は日頃 MS から色々な営業攻撃を受けてますから、対抗せざる得ないというのもわからんでもないです。しかし、そこまでやるに値する相手なんでしょうか。SQL Server なんて NT でしか動かないわけでしょ。NT なんて、まずは間近に Windows 2000 の問題が控えてます。さらに先(と言っても近い将来)には、64bit 化が控えてます。64bit の Intel Merced じゃ 32bit アプリケーションが遅いという情報もあります。64bit 版が 32bit 版をうまく吸収できずに一人歩きしちゃうと再び分裂です。今見えているだけでも「Windows 2000 Server(次期 NT Server)」、「Windows 2000 Professional(次期 NT Workstation)」、「NT Consumer(仮称:NT と Windows 9x の統合)」があるわけです。32bit と 64bit 版が分かれちゃって、さらに「Windows 2000 Enterprise Server(私が勝手に命名)」なんてのが出るのでしょうか。(笑) それに加えて Windows 9x も継続されてたらと考えると、いったい何が何やらわからないですね。こうやって NT がこけちゃうと SQL Server はもとより、BackOffice はもうダメなんですよね。その点 Oracle は、NT、各種Unix、そして Linux とサポートされてるわけですから NT がこけちゃってもどうってことないです。64bit 化について現時点で Oracle がどの程度対応しているかどうか知りませんが、少なくとも Unix 陣営は、既にハードも OS もどんどんと 64bit 化されてます。プラットフォーム自体は MS よりも一歩先を行ってるわけですね。

 普通に考えて、この状況の中 NT を選択する勇気を持つ企業がどれだけあるでしょうか。NT を選択しないとなると、データベース市場で MS は戦いようがないわけです。まあ、NT に適した規模のシステムがあることも事実ですから、そういったマイナーな分野で生き残ることはできると思いますけどね。私が期待するのは、そこを Linux + 各社データベースが埋めてくれることです。ってのは余談ですが、Oracle が MS に対して躍起になってる姿が、MS と同じ姿に見えてしまうところが皮肉です。そんなに躍起にならなくとも、ちゃんと市場は正しいものを選択すると思うのです。ただ、それが Oracle かどうかは別問題。だからこそ、MS ばかりに目を向けてちゃダメだと思うのですがね。(そんなことは百も承知だとは思いますが)

MS の OS 再整理 (1999/02/14)

 Oracle8 for Linux の件で書いた、「今後 MS の OS がどうなるのか」という部分が、わかりにくかったようですので再整理しときます。と言っても、これからのことなんて誰にもわからないし、当の MS 自身もわかってないんじゃないか(爆) と思います。一応 MS から予定みたいなものが公表されてますし、最近メディアに出た NT Consumer の情報を交えつつまとめてみます。

現行 OS 名称次期 OS 名称
NT Server 4.0Windows 2000 Server
NT Workstation 4.0Windows 2000 Professional
Windows 98NT Consumer (仮称)

 これが、MS が描いていた路線です。ここで NT Consumer というのが、よくわからない位置付けなんですよね。まだ、どうなるのかわからないから「仮称」のままなんですが、本当は Windows 2000 Consumer という名称になるのが妥当なところだったんでしょう。こいつが、NT のカーネルを取り込んで Windows 9x との統合を果たす OS になるはずでした。ところが、この開発が遅れてて、いつリリースされるのかわからないという現状です。一応、MS は 2001年と言ってますけどね。それまでは、Windows 9x のカーネルベースでバージョンアップするとのこと。バージョンアップされた暁には、Windows 2000 と冠されるのでしょうか。そして、この上に考えておかないといけないのが 64bit 化についてです。64bit 版が分裂するのではないかという噂があるわけです。そうなると、Windows 2000 Server と Professional について 64bit 版が加わった構成になってしまいます。しかし、これをやっちゃったらハチャメチャですから、そうはならないように頑張ると思います。(笑) ということで、認識に間違いはないと思っているのですが、おかしいところがあったら指摘してください。

 さて、Windows 9x 系列は、NT と切り離すことによって、短期的には MS の開発工数が軽減されることになりました。そのぶん Windows 2000 のほうに注力すれば良いわけです。サーバー市場でも生き残るためには、これ以上遅らせるわけにはいきません。ただ、Windows 9x をいつまでも放っておくわけにもいきません。64bit 化は市場の要請です。Windows 9x 系の 64bit 化が遅れれば、16bit OS を 32bit の 386 で動かしていた時代と同様に、32bit OS を 64bit Merced で動かすという状況が生まれるわけです。Intel が 64bit 化の進む Linux や Unix 陣営と関係を深めていっている理由は、まさにこれですね。Windows 9x 系の 64bit 化は Intel が切に望んでいるところでしょう。これは MS だって同じのはず。しかし、技術的な問題を解決するのに時間的余裕が欲しいのと、現在のデスクトップOS市場のシェアから判断して、少々遅れても大丈夫だと思っているのでしょうね。

Win64 API の概要 (1998/02/28)

 Intelが開催している開発者向け会議IDF(Intel Developer Forum)で、Microsoft が Merced に対応する Win64 API の概要を発表したそうです。ここに BizTech の記事があります。その席で、出荷時期を Merced の出荷にあわせた 2000年半ばと発表したようですが、聴衆の間から失笑が漏れたとのこと。Windows 2000 でこれだけごたついてる状況では、そんな話は誰も信用できませんよね。

 開発者にとって、64bit 化は重要な問題です。つい数年前に経験した 16bit から 32bit への移行時期に遭遇した様々な問題が再び起こる懸念があるからです。どういったアプローチで 64bit化するのかが興味あるところです。Microsoft は Win32 から Win64 への移行に際して最小限の変更で移行できるしくみを提供すると言っています。また、long は 32bit のまま据え置くそうで 64bit が必要な場合は、int64 と明示的に宣言する必要があるとのこと。LLP64 モデルを採用すると記事にありますから、それを信用するならば、新たに long long 型(MS の言う int64 型)を新設して int は 32bit のままという理解になりますね。ただ、ポインタは当然 64bit になります。これについては、先に述べた「最小限の変更で移行できるしくみ」というのを使えば移植が楽になるとのことです。これは、今までの 32bit ポインタに 0 を付加して 64bit 化してしまうしくみのようですね。ということで、確かにそんなに大変な作業にはならないという気がしてます。注意しなければならない点が 32bit 化の時よりも少ないですからね。あのときは、int が 16bit と仮定してたものが全滅でして、しかも日本の場合、日本語処理関係でそういったものが多かった(一部慣例化してた手法があった)ので、大変なところがありました。

 さて、int という型は、確か ANSI では「その実行環境構造に適した自然な大きさ」ということになってたと思います。だから 16bit マシンでは 16bit でしたし、32bit マシンでは 32bit でした。だったら、64bit Merced だと 64bit になるはずです。ところが、今回 MS が取る方法は、int は 32bit です。で、他社はどうしてるんだろうと調べてみました。その前に、64bit 化アプローチのための方式をまとめます。でないと、話が進めにくいですから。

 LP32ILP32ILP64LLP64LP64
char88888
short1616161616
int32  32  
int1632643232
long3232643264
long long (int64)   64 
pointer3232646464

上の表は、各モデルにおける型のビット長です。LP32, ILP32 はオマケです。ちなみに、Win32 は、ILP32 モデルです。で、今回発表のあった MS が取るのが LLP64 です。他の 64bit モデルとしては、ILP64 と LP64 があります。ANSI の話を持ち出して、int が 64bit になるべきなのでは?と言ったのは、ILP64 というモデルになりますね。

 さて、さっそく Internet を検索したところ、Sun、AT&T、Digital、HP、IBM、Novell、および SCO が LP64 だということがわかりました。どうやら色々と議論した結果、UNIX陣営は LP64 に統一したようです。MS は何故に LP64 にしないんでしょうね。API の long がかわっちゃうと、内部で問題が発生するのかな? Win32 の API で XXXX32 なんていう名前の Win32 専用の拡張 API が登場したように、XXXX64 という API が登場することになるんでしょうね。

タイトルとURLをコピーしました