玄関コンピュータの部屋各種解説コーナー電脳豆知識

○Windows-NT 名前の由来

Microsoft Windows-NTの「NT」は、公式には「New Technology」の略ということになっていますが、この名前について面白い裏話があります。 Windows-NTはDEC社の有名なOSであるVMSを設計したDavid N. CutlerがMicrosoftに招かれて設計したOSです。 彼は開発したOSを「進歩したVMS」と位置付け、「VMS」のアルファベットを1つ進めた「WNT」から「Windows-NT」と命名しました。 そしてその後から「NT」に「New Technology」という語呂合せをこじつけ、それを表向きの名前の由来にしたというのです。

この裏話は有名なSF小説&映画「2001年宇宙の旅」(アーサー・C・クラーク原作、スタンリー・キューブリック監督、1968年)に登場する、印象的なコンピュータ・HAL9000の名前の由来を思い起こさせます。 作品中ではHAL9000型コンピュータは「Heuristically-programmed ALgo-rithmic computer(発見的能力をプログラムされたアルゴリズミック・コンピュータ)」の略だと説明されていますが、その実、「IBM」の1つ前のアルファベットである「HAL」に由来することは、SFファンの間では良く知られた裏話です。

海外のコンピュータ研究者や技術者にはこの種の遊び心を持った人が多いので、Windows-NTについても、さもありなんという気がします。

○Altoマシン

Altoマシンは、1970年代にアメリカ・ゼロックス社のPARC(Palo Alto Re-search Center)にあるコンピュータ研究所によって開発されたワークステーションの原形です。 このコンピュータはビットマップディスプレイ、マウス、GUI、ネットワーク機能といった、当時としては非常にユニークな機能を備えていましたが、プロトタイプだけ作られて、残念ながら実際には製品化されませんでした。 しかしこのAltoマシンのコンセプトに注目したMIT(マサチューセッツ工科大学)のコンピュータ研究者は、当時、ミニコンから汎用機まで多種類のコンピュータの標準OSとなりつつあったUNIX上で同様の機能を実現し、「X-Window」と名付けました。

またPARCを見学したスティーブ・ジョブズを中心としたアップル社のエンジニア達は、このAltoマシンを見て大いに感銘を受け、開発中だった新型コンピュータMacintoshの設計を根本からやり直し、現在のようなウィンドウ方式のMac-OSを開発しました。 そしてMS-DOSの次に来るべきOSを模索していたMicrosoftは、CP/MとUNIXを手本としてMS-DOSを作ったのと同様、AltoとX-WindowとMac-OSを手本としてMS-Windowsを開発しました。

X-Windowは「X-Window」という名前ではなく、「X(エックス)]という名前のウィンドウシステムのことです。 つまりAltoマシン以後、コンピュータ世界においては、「Window」という言葉はウィンドウシステム一般を表すようになっていたのです。 ところがそれを複数形にした「Windows」をMicrosoftが登録商標にしてしまったため、少々ややこしいことになりました。 同社のワープロソフト「Word」でも同様の命名をした上、バイナリーファイルである文書ファイルの拡張子を、テキスト形式のドキュメントファイルの拡張子として昔から汎用されていた「.DOC」にするという暴挙を行いました。 このように、一般名に近い言葉を強引に登録商標にしてしまうのはMicrosoftの得意技ですが、全く困ったもんです。(~.~)

またWindowsが発売された当初、Appleから「WinodwsはMacのマネだ!」と非難されたMicrosoftのビル・ゲイツは、次のような居直りの反論をしています。

「WindowsはMacをマネたんじゃなくAltoをマネたんだ。 だから、Appleから非難されるのは心外だ!」

確かにWindows3.1までは主としてAltoとX-Windowのマネであり、Macのマネを大幅に取り入れたのはWindows95からですから、彼の反論は全くのウソというわけではありません。 しかしいずれにせよ、日本のことわざに言う「目クソ鼻クソを笑う」のたぐいでしょう。(^^;)

本家本元であるゼロックス社においては、Altoマシンのコンセプトはオフィス用ワークステーションStarに受け継がれましたが、オフィス専用とあってか知名度も普及度もいまいちです。 しかしAltoマシンは現在のワークステーションやパソコンに大きな影響を与えており、コンピュータマニアの間では「幻のコンピュータ」として語り継がれていくことでしょう。

○西暦2000年問題(Y2K問題)

西暦2000年になった時、一部のコンピュータが日付を正しく処理できなくなり、コンピュータ処理が混乱してしまうという問題のことで、少し前からマスコミでも騒がれています。 これは一部のハードウェアやソフトウェア(特に初期に設計されたメインフレーム関係)が、日付の西暦年情報を下2桁しか処理していないことに起因します。

MS-DOS系のパソコンが日付を処理するメカニズムは、だいたい以下のようなものです。

  1. ハードウェアであるCMOS RTC(Complementary Metal Oxide Semiconductor Real Time Clock chip、シーモス・アールティーシー、内部リアルタイムクロックチップ、通常マザーボード上に存在)が、「西暦下2桁年−月−日」という形式でハードウェア日付情報を保持。

    普通、この日付はコンピュータの電源が落ちている時でも、バッテリバックアップによって常に更新されています。

  2. コンピュータの立ち上げ時に、ハードウェアとソフトウェアの中間で、最も基本的な入出力を処理するファームウェアであるBIOS(Basic Inuput/Output System、バイオス)がCMOS RTCから日付情報を取得し、西暦年の上2桁を補って「西暦4桁年−月−日」という形式に変換する。
  3. コンピュータとユーザーを仲介する基本ソフトウェアであるOS(Operating System、オーエス)がBIOSから日付情報を取得し、それを1980年1月1日からの通算日数に変換して保持。

    このソフトウェア日付情報は、必要に応じて「西暦4桁年−月−日」という形式に変換され、各種アプリケーションソフトに提供されます。

  4. 各種のアプリケーションプログラムはOSあるいはBIOSから日付情報を取得し、独自の日付処理を行う。

アプリケーションによっては年を2桁で処理したり、西暦を和歴に変換するなど、独自の日付処理を行うことがあります。

独自の日付処理
アプリケーションプログラム←┐
1980年1月1日からの通算日数
OS
西暦4桁年−月−日
BIOS─┘
西暦下2桁年−月−日
CMOS RTC

MS-DOS系のパソコンにおける2000年問題は、CMOS RTCがハードウェア日付情報の西暦年を下2桁しか保持していないことに主な原因があります。 つまり1999年(99年)の翌年は「00年」となってしまい、1900年なのか2000年なのか区別できないわけです。 OSのソフトウェア年情報は4桁ですから、1999年から2000年になった時、OSが作動している間は正しい年情報を保持する場合がありますが、一旦電源を落として再度OSを立ちあげますと、CMOS RTCの「00年」という日付情報で初期化され、間違った日付(日付変換アルゴリズムの関係で、たいていは1980年1月4日)になってしまいます。

したがって2000年問題をクリアするためには、BIOS、OS、そしてアプリケーションプログラムの各レベルにおいて、それなりの対策を講じる必要があります。

パソコンは新しい設計思想を取り入れるのが早いですから、西暦年を4桁で保持するCMOS RTCや、CMOS RTCから取得した日付情報を4桁に変換する時、2000年問題を考慮して変換するBIOSやOSがすでに普及しており、2000年問題にひっかかるものはあまり多くありませんが、古い機種の中にはまだ十分な対策がとられていないものもあります。

自分のパソコンのBIOSとOSが2000年問題をクリアしてるかどうかは、次のような方法で簡単に調べることができます。

  1. コンピュータを立ちあげて、システム日時を「1999年12月31日23時59分」にセットする。

    この時、MS-DOSの場合はDATEコマンドとTIMEコマンドを利用して、

    >DATE 1999-12-31
    >TIME 23:59

    とセットし、Windowsの場合はコントロールパネルの「日付と時刻」でセットします。 アプリケーションレベルをチェックしたい場合は、アプリケーションに日時をセットする機能があればそれを用いてセットし、なければOSの日時設定機能を用いてセットします。

  2. 一旦電源を落とし、2分以上待ってから再度コンピュータを立ち上げ、日時表示を確認する。

    その結果、システム日付が「2000年1月1日」になっていればOK。 日付の確認方法は日時をセットした時と同じ機能を用います。 つまMS-DOSならばDATEコマンドを用い、Windowsならばコントロールパネルの日付と時刻表示機能を用い、アプリケーションレベルの場合は各アプリケーションに固有の日付表示機能を用います。

このチェックで引っかかった場合でも、システム日時設定コマンドで一度2000年と設定すると、以後はそのまま2000年を保持するCMOS RTCもあります。 そのような機種では、2000年以後最初の立ち上げ時にシステム日時設定コマンドを用いてシステム日時を一度だけセットすれば、以後は正しい日付を表示するようになります。 ちなみに西暦2000年は閏年ですから、上と同じ方法で「2000年2月29日」がちゃんとセットできるかどうか試してみるのも面白いでしょう。

2000年問題に関する詳しい情報が欲しい場合は、インターネットの「コンピュータ西暦2000年問題リンク集(URL:http://www.joho-yamaguchi.or.jp/html/event/2000nen/link.htm)」サイトをご覧下さい。 このサイトには各コンピュータメーカーの2000年問題に関するサイトへのリンクが張ってあり、メーカーの2000年問題への対処法、機種別対応状況などを調べることができます。 DOS/VマシンのBIOSレベルに関しては、2000年対策プログラムが「RighTime(URL:http://www.RighTime.com/)」サイトで手に入ります。