Windows 11の中に、Windows 95のメモリ管理コードが今も生きている

Why Windows 11 still ships with Windows 95's memory manager hidden inside it

Windows 11 26H2には、Windows 95のヒープマネージャーを再コンパイルして組み込んだ互換性修正「EmulateHeap」が今も同梱されている。発端はSimCityのuse-after-freeバグで、Microsoftはゲームを救うためにOS側を書き換えた。Raymond Chenによれば、MicrosoftはWindows 95のヒープマネージャーのソースコードをそのまま複製して再コンパイルし、互換性基盤に追加したという。

Windows 95のカーネルのかなりの部分のコピーが、Windowsのアプリケーション互換性フレームワークの中に存在しているのです。
  1. abanana

    > その伝統はSimCityにまで遡る。Microsoftが特別なコードを書いたからこそ、Windows 95で動いたのだ…そう、Microsoftは一つのゲームのバグを隠蔽するためだけにOSを修正したのだ…SimCityのハックは一度きりのものだった

    この記事のSimCity周りの記述はひどい出来だ。著者はこれが一度きりの特別なケースだったと誤解しているようだ。Joel Spolskyの記事を読み返してみると、SimCityの例は数ある中の一つに過ぎないことがはっきりと書かれている。「それでも古い16ビットソフトは完璧に動作した。Microsoftはこれに執着し、Windows 95で見つけられるあらゆる古いプログラムをテストするために大金を費やした」。

    記事は後に「Windows XPの隠されたアプリ修正データベース」について言及しているが、その概念が実際にはWindows 95から大規模に始まったこと、そして「一つのゲームのバグを隠蔽するためだけ」ではなかったことを理解していない。

  2. xp84

    この精神は明らかにMSの企業DNAの一部であり、正直なところ、そのおかげで世界ははるかに良くなっていると思う。他のプラットフォーム所有者はこれをやらないだろう、少なくとも今日では。AppleやGoogleに期待できるのはせいぜいベータ版を出荷することくらいだ。もし夏の間ずっと「あなたの」「バグ」を修正しなければ(注:新しいOSのコードがバグを導入した可能性もある)、OSの発売日にクラッシュするだけで、プラットフォーム所有者はテストすらしようとしないだろう。

    AppleがAdobeに対して行うような小さな例外はあるかもしれない。幹部間で電話をかけ、それらのアプリを使う「プロ」を怒らせないように警告するかもしれないが、それはむしろベータ版のテスト過程でAdobeアプリも使っている社内ユーザーが気づくからであり、多くのアプリを正しく動作することを意図してテストする慣行ではないと思う。

    私には、Microsoftの文化が今日に至るまで、OSアップデートを出荷してユーザーの視点から以前は問題なく動いていたプログラムを壊すことは信頼の違反だと考えているように感じられる。今日のどこでも見られる、プラットフォーム所有者が単に「今後のあり方」を押し付けるアプローチと比べて。

  3. LASR

    WindowsやMicrosoftについてどう思うにせよ、30年以上前のアプリがまだ動くという考えは信じられない。

  4. RajT88

    別の説:

    https://web.archive.org/web/20130226221212/http://windows95t...

  5. Dwedit

    SimCityについて論じているのに、なぜ別のゲーム(SimCity 2000)のスクリーンショットを見せるのか?

この日のほかの記事

2026-10-21