金曜Black★ピット
最新Windowsで必ず出るエラー、原因は40年前のアレだった:489th Lap
Windows 10を使っていると、ときにどうにも理解できないエラーに悩まされる。その原因が1974年に開発されたあるものだと話題になっている。一体どういうことなのか?
Windows 10を使っていると、ときにどうにも理解できないエラーに悩まされることがある。米国の投稿型サイト「Thread Reader」で話題になったエラーがある。最新のWindowsで発生するエラーなのに、その原因が1974年に開発されたOSにあるという。一体どういうことなのか。
ネタ元はThread ReaderやTwitterでコンピュータ関連の情報を発信する「foone」氏だ。レトロ系の情報にも精通する有名人だ。
実は今回のエラー、Windows 10のみならずWindows 8やWindows 95でも再現できる。ファイル名に「AUX」や「CON」と付けようとすると「指定されたデバイス名は無効です」というエラーが出るのだ。「ちょっと何を言っているのか分からない」としか言い様がない。特に実害があるわけでもないというが、自己責任で試してみてほしい。
むしろ古参のコンピュータ使いであれば「何がエラーなものか。ただの『予約語』だろ?」と思うかもしれない。ここで言いたいのは、そういう知識を持つ皆さんは幸せだということ。もはや予約語とは何かさえ分からないユーザーが想像以上に多いのだ。
fooneも投稿した記事内で「スターウォーズ以前だぜ!」と言うように、このエラーは1974年に端を発する。OS「CP/M」だ。CP/Mは当時の8ビットコンピュータ向けのOSであり、FD(フロッピーディスク)ベースで開発された。今のOSに当然のようにある「ディレクトリ」という概念がない。
開発者のゲイリー・キルドール氏は、「Everything is a file(全てのものはファイルである)」というUNIXの設計思想をCP/Mにも採用した。そして「スペシャルファイル(デバイスファイル)」による操作も可能にした。UNIXなら「/dev」ディレクトリ以下に配置される特殊な名称のスペシャルファイルにコマンドラインから直接アクセスすることで、さまざまなプロセスを実行できる。
しかし、ディレクトリという概念を持たないCP/Mにとって/devなんてものは無関係だ。スペシャルファイルを使うためにコマンドラインから「PIPコマンド」を使うことにした。例えば「PIP LST:=FOO.TXT」と入力するとファイル「FOO.TXT」がプリントアウトされる。
この仕組みを実現するために重要なものが拡張子だ。CP/Mは全てのファイルに拡張子が必要で、スペシャルファイルは全ての拡張子に対して有効となった。つまり「LST.TXT」だろうが「LST.doc」だろうが、拡張子が何であれスペシャルファイル「Lst」なのだ。
だから、ユーザーがファイルに「LST.txt」のような名前を付けたら困ったことになる。そこで予約語としてスペシャルファイルと同じ名前をユーザーがファイルに付けることを禁じたわけだ。
ここからが本題。Windowsの始祖たるMS-DOSおよびPC DOSはCP/Mの考え方を継承している。CP/MとMS-DOSとの関係はイロイロあって一口で語れるものではないから割愛する。ともかくMicrosoftはCP/Mを参考にDOSの開発に取り組んだ。ディレクトリ機能を持っていたMS-DOSとPC DOSのいずれにおいても、全てのディレクトリでスペシャルファイルの機能を有効にし、予約語もCP/Mにならって互換性を保った。
Windows 95はDOSをベースに開発されたGUI OSだ。当然スペシャルファイルの仕様も引き継いだ。Windows 95以降も同様だ。Windows NTに至ってはDOS派生のWindowsではないのにもかかわらずこの仕様が搭載された。
当然ながら最新のWindows 10にも仕様は引き継がれている。これこそが「1974年に開発されたOSが現代のWindows 10のエラーを引き起こす」とされる理由だ。
上司X: Windows 10のエラーが1974年生まれのOS「CP/M」に端を発しているという話だよ。
ブラックピット: あの「指定されたデバイス名は無効です」ってヤツですね。
上司X: それそれ。
ブラックピット: 「このファイル名の何が悪いの? デバイスを指定したつもりもないし」と思いつつも、大したエラーでもないんでファイル名を変えてましたけどね。
上司X: そこそこの経験者なら「予約語だし」で済む話だろうけど、何でそれが予約語なのかまでは知らないものだ。
ブラックピット: あれ、「自分はもちろん知っていたよ」みたいな言い方ですけど。ご存じだったのですか?
上司X: わはは、DOS時代の話だろうと確信してたけど、CP/M由来というところまでは、な。その辺はベテランという肩書に免じて許してくれや。
ブラックピット: 「ケッ、最近の若いのは予約語も知らんのかよ」とストレートに思っちゃうような上司にはなりたくないなー、なんて思いますけどね。
上司X: 何という棒読みのイヤミ。気を付けることとするよ。Windowsに40年来の縛りがあるなんて、ある意味ロマンチックじゃないか。これからもCP/Mから受け継がれてきた伝承は続いていくことだろう。伝承じゃなくて「呪い」だって? 言い得て妙かもな。
ブラックピット(本名非公開)
年齢:36歳(独身)
所属:某企業SE(入社6年目)
昔レーサーに憧れ、夢見ていたが断念した経歴を持つ(中学生の時にゲームセンターのレーシングゲームで全国1位を取り、なんとなく自分ならイケる気がしてしまった)。愛車は黒のスカイライン。憧れはGTR。車とF1観戦が趣味。笑いはもっぱらシュールなネタが好き。
上司X(本名なぜか非公開)
年齢:46歳
所属:某企業システム部長(かなりのITベテラン)
中学生のときに秋葉原のBit-INN(ビットイン)で見たTK-80に魅せられITの世界に入る。以来ITひと筋。もともと車が趣味だったが、ブラックピットの影響で、つい最近F1にはまる。愛車はGTR(でも中古らしい)。人懐っこく、面倒見が良い性格。
Copyright © ITmedia, Inc. All Rights Reserved.
金曜Black★ピット
こんなメディアも見られています
キーマンズネットに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
SpecialPR
アクセスランキング
-
1
かんぽ生命が営業報告を50分→10分に AI時代に見直すべき「データ入力」の仕組み
-
2
C言語は「危険」と言われても、専門家が「使う価値は十分にある」と言うワケ:900th Lap
-
3
M365 Copilot全庁展開で月2000時間削減 現場がAIを「使いたくなる」習慣化の仕組み
-
4
6TBファイルのサーバ移行、M365ユーザーの八雲町がSharePointでなく「あえてBox」の理由
-
5
Claude Codeに「仕事を丸投げ」して事故らないための基本運用ルール
-
6
損保ジャパン、2万人の「Gemini活用」どう管理? 推進者が語る「リスク回避」の仕組み
-
7
「カスハラ対応」を個人に任せない 取手市がAIで変えた窓口業務
-
8
社員の「セキュリティ訓練」、他社はどの程度やっている? 気になる隣の実施状況
-
9
「Claude」3倍高速化の裏で、Anthropic開発者が「あえてしなかったこと」:899th Lap
-
10
20年物の基幹システム刷新に、マクロミルがあえて「全てを変えない」と決めた理由
キーマンズネット SNS
インフォメーション
注目情報をチェック
キーマンズネットをフォロー