Windows は不変の OS にはなり得ません。それが問題になる可能性があります。
<本文>
Linux の世界では「不変」オペレーティング システムが大流行していますが、それには十分な理由があります。コア オペレーティング システムは断片ではなくアトミックに更新される読み取り専用イメージとして扱われるため、事実上破壊不可能であるという評判があります。ユーザー データ、アプリケーション、構成はベース システムとは別に存在するため、破損、依存関係の破損、時間の経過による構成のドリフトのリスクが大幅に軽減されます。不変性は現代のオペレーティング システム開発の一般的な特徴になりつつあり、macOS はパーソナル コンピューティング プラットフォーム上の主に不変システムの最も有名な例の 1 つです。ただし、ここに Windows の問題があります。Windows は、現在の状態では不変のオペレーティング システムになることはできません。
Microsoft にとっての問題は、Windows が設計上もレガシー上も、不変システムとは正反対であることです。これは、OS が常に変更可能であるという前提に基づいて構築されています。ファイルは置き換えることができ、レジストリ キーは編集でき、ドライバーは低レベルのサブシステムに接続でき、インストーラーはほぼどこにでも書き込むことができます。この柔軟性は Windows の最大の強みの 1 つですが、それこそが真の不変性を妨げるものでもあります。不変の基本イメージは、OS をインプレースで変更することに依存する大規模なクラスのソフトウェアを破壊してしまうため、数十年にわたる下位互換性により、このモデルはさらに定着しました。
Windows 11 のこの可変性は、現時点ではそれほど問題ではありませんが、問題になるのもそう遠くありません。スマートフォンは、ほとんどの人が日常生活で使用する最も不変のデバイスですが、どのくらいの頻度でスマートフォンのオペレーティング システムを完全に再インストールする必要があるでしょうか?また、Windows を再インストールしたり、再インストールを先延ばししたりする頻度はどれくらいですか?一部の人にとって、それは毎年の努力であり、Winrot という造語さえあるほど、それは一般的な感情です。 Windows は脆弱に感じられますが、その主な原因は、Windows の基本的な前提条件が現代の使用パターンと一致しなくなっているためです。
Windows 11 の柔軟性はアーキテクチャ上の行き詰まりです
そして、すべてのアプリケーションはそれを期待しています

Windows の中心的な問題は、最新のアイデアが欠如していることではなく、それらを一貫して適用できないことです。オペレーティング システムのほぼすべての層は、他の何かによって変更される可能性があることを想定しています。アプリケーションはシステム全体のサービスを登録することを想定しています。ドライバーはカーネルへの深いフックを期待します。インストーラーは、共有ディレクトリとグローバル構成ストアに書き込みできることを前提としています。これらの前提は偶然ではなく、Windows 用に作成されたソフトウェアがどのように動作するかの基礎として生まれました。
これらすべてにより、変更がトランザクションではなく累積されるシステムが作成されます。ファイル システムの変更、レジストリ キー、バックグラウンド サービス、スタートアップ タスクなどを通じて、アプリケーションをインストールするたびに OS がわずかに変更されます。時間の経過とともに、これらの変更は積み重なり、単一の変更は無害である可能性がありますが、全体としてシステムのトラブルシューティングが困難になり、クリーンな更新が困難になり、問題が発生した場合の回復が困難になります。
不変 OS は、設計によりこれらすべてを回避します。オペレーティング システムを、長年の使用によって有機的に進化するものではなく、使い捨ておよび交換可能なものとして扱います。 Windows が互換性の約束を破らずにこれを行うことはできません。そして、その約束こそが、Windows が依然としてデスクトップを支配している唯一の最も重要な理由であることは間違いありません。 Windows の関連性を維持していること自体が、Windows が他の業界と同じ方向に進むことを妨げている原因でもあります。
なぜマイクロソフトは少なくともこの方向に進めないのでしょうか?結局のところ、アトミック更新は机上で簡単に聞こえますよね? OS イメージを置き換えて再起動し、成功するかロールバックします。ただし、実際には、何が何に依存するかを厳密に制御する必要があります。サードパーティ ソフトウェアが OS 自体と深く絡み合っているため、Windows にはそのような制御がありません。アプリケーションは多くの場合、特定のドライバー バージョン、共有システム ライブラリ、または明確にバージョン管理したり分離したりできない文書化されていない動作に依存します。
これらすべてが、Windows アップデートが時々壊れやすいと感じる理由です。更新が失敗する場合、更新メカニズム自体に欠陥があることが原因であることはほとんどありません。多くの場合、予期せぬ動作をするドライバー、フックが深すぎるセキュリティ製品 (こんにちは、CrowdStrike)、または更新された環境で動作しなくなったレガシー コンポーネントなど、更新プログラムがシステム上にすでに存在するものと衝突することが原因です。 OS が自身の状態に対する唯一の権限を持たない場合、アトミック性は崩壊します。Windows にはそれができません。
対照的に、不変システムは、コア システム イメージに関わるものは何も気にしません。彼らは、所定のコンポーネントを外科的に更新しようとはしません。基盤全体が置き換えられ、その基盤の上に適応するのがアプリケーションの仕事です。 Windows では、これを安全に行うことができません。なぜなら、多くのソフトウェアが、OS が数十年にわたってそうしてきたように、OS が中途半端に対応することを前提としているからです。つまり、アーキテクチャ的に意味がなくなった場合でも、歴史的な動作を保持することを意味します。
Windows 11 ではさらなるメンテナンスが必要です
「この PC をリセットする」が推奨されるのには理由があります

Microsoft は、可変性のマイナス面を排除することなく軽減することに何年も費やしてきました。 Windows Update は以前よりも集中化されています。セキュア ブートと仮想化ベースのセキュリティにより、特定のクラスの攻撃がより困難になります。 MSIX のようなパッケージ化形式は、アプリケーションをサンドボックス化し、システム全体の副作用を軽減しようとします。同社のドライバー署名の強制も、より深いレベルの攻撃に対する大幅な保護を提供しますが、これらの有意義な改善はすべて既存のモデル内で機能します。彼らはそれを置き換えません。
最終的に得られるシステムは、古いバージョンの Windows よりも動作が良くなりますが、元に戻すのが難しい点で基本的にステートフルなままです。ドライバが不正に動作すると、OS が不安定になる可能性があります。アプリケーションは、削除された後もサービスやスケジュールされたタスクを長期間残したままにすることができます。そして、レジストリは依然として、適切にクリーンアップされることはほとんどない設定のグローバルなゴミ捨て場として機能します。レジストリに関しても、一歩間違えると PC が使用できなくなる可能性があるため、クリーンアップすることが得策であることはほとんどありません。
このような理由から、「この PC をリセットする」機能が存在し、トラブルシューティングの手順として推奨されることがよくあります。不変の世界では、ほとんどのユーザーにとってそのオプションは不要です。 OS はリセットする代わりに、既知の良好なイメージまで単に前方または後方にロールします。 Windows では、システムが安全に解決できるよりも早く複雑さが蓄積されるため、リセットは引き続き必要なエスケープ ベクトルです。
Microsoft のもう 1 つの問題は、ユーザーの期待によって生じています。ユーザーは不変性やアトミックな更新という観点からは考えませんが、その結果は同じように感じます。夜間にアップデートし、翌朝も同じように動作するスマートフォンは、基本的な期待値を設定します。クリーンな再インストールを必要としないコンソールは、それを強化します。このような背景から、Windows は、明らかに何も問題がない場合でも、メンテナンスに異常に手間がかかるように感じられます。
これらすべてはためらいとして現れ、特に Windows では、何が壊れるのかを心配してユーザーが更新を遅らせることは珍しくありません。さらに、Windows の再インストールは時間がかかり、混乱が伴うため、彼らは避けています。私も現在、実際にそうしています。これらすべては、パフォーマンスの問題を修正することが価値よりも労力がかかるように感じられるため、パフォーマンスの問題が必要以上に長く許容されることを意味します。これはいずれも致命的なものではありませんが、主に Windows に特有の方法で摩擦を引き起こします。
Windows の不変性に関する洞察を得るためにニュースレターを購読してください
Windows の可変性と不変 OS 設計の台頭についてより深く分析するには、ニュースレターに参加してください。購読すると、これらのアーキテクチャがシステムの信頼性にどのように影響するかを理解するのに役立つ、明確な説明、トレードオフ、および専門家のコンテキストを入手できます。
購読する
購読すると、ニュースレターとマーケティング電子メールの受信に同意し、Valnet の利用規約とプライバシー ポリシーに同意したものとみなされます。いつでも購読を解除できます。
Windows は、長い間汎用デバイスのオペレーティング システムとして使用されてきました。しかし、現在の経済情勢では、デバイスが長期間保管されることになり、さらに、何かを壊すことが止まらないと思われる危険なアップデートも相まって、可変性によって引き起こされる亀裂がより目に見えやすくなっています。システムが介入なしで何年にもわたる更新に耐えられると期待されている場合、Microsoft は長い間それに失敗しており、すぐに明らかな改善への本当の道はありません。
Microsoft は困難な状況と板挟みに陥っている
Windows には適切に受け入れられない未来がある

理論的には、Windows は厳密なアプリケーション分離と読み取り専用の基本システムを備えた真に不変のバリアントを導入する可能性がありますが、ほとんどの人が期待する方法で Windows のように動作することはありません。また、インストールを Microsoft Store からのインストールに制限する S モードの Windows ですでにそれを確認しています。そして、それがどのように起こったかは私たち全員が知っています。既存のソフトウェアの大部分は書き直すか放棄する必要があり、ハードウェアのサポートはより制約されることになります。さらに、不変性の利点を最もよく理解しているパワー ユーザーは、Windows の柔軟性を享受している可能性が高く、そのシナリオでは制限されるソフトウェアを使用する可能性が最も高いユーザーでもあります。
その結果、Windows がハイブリッド状態を維持する以外に何ができるのかわかりません。確かに、より強力な分離やより制御された更新など、不変システムのアイデアは今後も採用されるでしょうが、完全な不変性には達しないでしょう。これは実用的な中間点ですが、Windows が長期間存続する変更可能な状態に伴う脆弱性から完全には逃れられないことも意味します。
これらはすべて許容できる妥協策かもしれませんが、それがますます目に見えるものになってきています。不変性を例外ではなくデフォルトとして扱うオペレーティング システムが増える中、Windows が際立っているのは、最新の機能が欠けているためではなく、現在「信頼性の高い」コンピューティングを定義するアーキテクチャ上の前提条件に完全にコミットできないためです。
*️⃣ 出典リンク:
Immutable 、 CrowdStrike 、 ドライバー署名の強制 、 、 、 利用規約 、 プライバシーポリシー 、どうやら物事を壊すことを止めることができないようです、