原文: 2019年10月04日: Big Changes Under the Hood in macOS 10.15 Catalina by Sam Morgan
macOS 10.15 Catalina(カタリナ)が本日 10 月 4 日にもリリースされるとうわさされています。(訳注:実際には 10 月 7 日にリリースされました。)このブログ記事では、Catalina の主要な構造変更についての概要をご説明します。また、この変更によってどの Plugable 社製品が影響を受けるのかについて、個別のブログ記事が追って公開されますので、そちらもご参照ください。
様々な変更のうち主要な二つは、アプリケーション開発者にとっては益があるものの、使用ユーザーにとって大きな影響があると考えられます。一つ目は、すべてのアプリケーションが 64 ビットでなければならない(つまり、既存の 32 ビットアプリケーションは使用できなくなる)というものです。二つ目は、周辺機器を管理するためのドライバが、新しい、よりセキュリティを強化した DriverKit フレームワークを使用していなければならないというものです。これらは、macOS のパフォーマンスやセキュリティ、ひいては安定稼働性に対し将来的に大きく利益がある変更点ですが、既にある何億もの既存コードにとって非常に大きな影響があります。これ以降の macOS 上でアプリケーションを動かすには、根本的にソフトウェアやドライバを書き換えなければならないからです。
64 ビットアプリケーションへの移行は何年も前から進められてきており、32 ビットアプリケーションはすでに消えつつあります。macOS 10.13.4 High Sierra が 2018 年にリリースされたときから、32 ビットアプリケーションを使っているユーザーにはそのソフトウェアの将来について警告が表示されるようになりました。一例として、Plugable 社のマイクロスコープ製品とともに使用できる Digital Viewer アプリケーションが 32 ビットだったため、私たちはこの警告についてユーザの方からよく質問を受けたものです。Catalina 以前のバージョンでは、警告が表示されるもののアプリケーションを実行することはできていました。しかし Catalina を導入したシステムでは、32 ビットアプリケーションを起動しようとしても「[アプリケーション名]はアップデートする必要があります。」というエラーが表示され、実行することができません。
32 ビットアプリケーションを捨て去るのは良いことですが、互換性の問題も生じさせます。例えば Metal のような新しい、より効率的な API は 64 ビット専用のため、32 ビットアプリケーションは 64 ビットアプリケーションのように効果的なメモリー管理ができません。しかし一方で、すでにアクティブな開発チームを持たない既存のアプリケーションは古い macOS 上でしか動かせないということになり、ユーザは互換性維持のために自分の Mac システムのバージョンアップを控えるか、最新 OS を使うために古いアプリケーションを完全にあきらめ、新しいソフトウェアを購入するかの選択に迫られます。非常に重要なソフトウェアの互換性を保つためにしばらくの間、セキュリティ的に不安のある古いシステムを手元に維持しなければならないことをも意味します。
普通よく使うアプリケーションは毎日起動するものなので、この変更によって影響を受けるユーザはすぐに問題に気が付くでしょう。一方、(周辺機器を機能させるために必須の特別なソフトウェアである)デバイス・ドライバについては、頻繁に意識するユーザの方はそれほど多くないでしょう。Catalina 使用に関し、Apple 社はこれらのデバイス・ドライバが DriverKit と呼ばれるフレームワークを使っていることを要求しています。DriverKit を使うと、カーネルと呼ばれる OS のコアに対して、これまでと大きく異なる方法でデバイス・ドライバが交渉するようになります。DriverKit により開発されたドライバは、これまでのようにカーネル拡張(.kext)としてではなく、ユーザー空間で実行されるようになります。これにより、セキュリティと安定性が大幅に向上するのです。
これは開発者にとっては、「カーネル拡張(kext)」として書かれた既存のドライバを完全に書き換えることを意味します。これがすぐに実現しない場合、現在使われている既存ドライバを使った周辺機器は、新しいドライバがリリースされるまでは Catalina 上で実行できません。例えば Plugable 社の USB3-E1000 と USBC-E1000 ギガビット・イーサネット・アダプタはこのような機器にあたります。これらのアダプタで使用されているチップセットの製造元は Catalina 用ベータ版のデバイス・ドライバをリリースしましたが、その導入は一般のドライバのように簡単ではありません。このギガビット・イーサネット・アダプタとベータ版のドライバの導入手順については、別のブログ記事で詳しくご説明する予定です。
Catalina がもたらしたこれらの変更は、すでにアクティブな開発チームを持たない古い既存アプリケーションや周辺機器のほとんどを完全に消滅させるきっかけとなるでしょう。カーネル拡張に依存したデバイスや、64 ビット移行以前に見捨てられてしまったアプリケーションは、この大幅な変更により macOS から強制的に排除されます。既存のアプリケーションや古いハードウェアに依存しているユーザや会社組織の多くが困難な判断を強いられることになることでしょう。
Plugable Technologies
サム・モーガン