拡張機能の競合
拡張機能の競合は、古典的なMac OS、特にSystem 7を実行しているApple Macintoshコンピューターで問題になることがありました。拡張機能は、OS呼び出しに直接パッチを適用してオペレーティングシステムの機能を拡張するコードのバンドルであり、アプリケーション(オペレーティングシステムを含む) Finder)システムコールを行いました。一般に、拡張機能が必要な処理を実行すると、オペレーティングシステムのルーチンに(変更された可能性のある)システムコールを渡すことになっています。複数の内線番号が同じシステムコールにパッチを適用する場合、最後の内線番号がオペレーティングシステムに渡されるまで、チェーン内のコール、最初の内線番号から次の内線番号などを受信します。拡張機能が期待どおりに次の拡張機能を提供しない場合、問題が発生します。予期しない動作からシステム全体のクラッシュに至るまで。これは、不注意にプログラムされた悪意のある拡張機能など、システムソフトウェアの一部の動作を変更または混乱させるいくつかの要因によって引き起こされます。
さらに、拡張機能はシステムリソースを求めてアプリケーション、ユーティリティ、その他の拡張機能と競合することがあり、クラッシュや全般的な不安定性を引き起こしていました。多くのユーザーは、ほとんどまたはまったく影響を与えずに、自分のコンピューターで見つけたすべての拡張機能を喜んでロードしました。他の人々は、問題を回避する方法として、本質的でない拡張を断固として回避しました。その他は、拡張機能の追加に慎重でした。
QuickTimeなどのリソースを大量に消費するマルチメディアテクノロジーが拡張機能としてインストールされたため、この問題は1990年代半ばに増加しました。さらに、多くのアプリケーション、特にMicrosoft Officeでは、多数の拡張機能が必要でした。多くのMacintoshユーザーは、システム上で何百もの拡張機能を実行していましたが、それらはすべて年齢と品質が異なります。バギー、破損、古い拡張機能が問題の最も一般的な原因でした。一部のユーザーは、特定のプログラムを実行するときに、問題のある拡張機能をオフにすることを忘れないでください。
System 7の以降のバージョンにはExtensions Managerが含まれていたため、コンピューターの起動中にスペースバーを押して競合をトラブルシューティングするときに、起動時に特定の拡張機能または拡張機能グループを無効にできました。このツールは、アップルメニューにあるコントロールパネルの[拡張機能]パネルからもアクセスできます。サードパーティのユーティリティであるConflict Catcherは、競合と問題のある拡張機能を自動的に検出しました。それ以外の場合は、競合が見つかるまでユーザーがセットの拡張機能をオフにする必要がある時間のかかるタスクです。拡張機能は起動時にのみロードされたため、変更を試みるには再起動が必要でした。
拡張機能の競合が発生する最も一般的な時期は、オペレーティングシステムの新しいバージョンのリリースであり、その後、既存の拡張機能と競合する新しいアプリケーションのインストール、または既存のセットと競合するインストール済みの拡張機能のインストールが続きました。
これらはすべて、拡張機能とオペレーティングシステム自体を簡単に交換できることで軽減されました。他のオペレーティングシステムのように構成ファイルを変更する代わりに、拡張機能を取得する特定のフォルダーに配置するだけでした。さらに、Macはハードドライブに2つ(またはそれ以上)のシステムフォルダーが存在することを完全に喜んでいました。 「祝福された」システムフォルダのみが起動時にロードされます。したがって、新しいバージョンのオペレーティングシステムまたは新しいアプリケーションをインストールする場合、ユーザーはシステムフォルダーを簡単に複製し、インストールを実行し、問題が発生した場合にフォールバックすることができます。
拡張機能の競合は、異なる拡張機能メカニズムを使用するMac OS Xのリリースで終わりました。ソフトウェアはまだMacに新しい機能を追加できますが、拡張機能の代わりに、新しい方法ではスタートアップアプリケーションを記述する必要がありました。これは、マシンを不安定にできない、より安全で組織的なアプローチと考えられます。