弊鯖、前回トラブったのが5月20日。滝壺修行から生還して2週間強になるけど、今のところトラブルの気配なし。このまま元気でいてくれ……
mstdn.jp/@hanage999/1021249594

修行前は、半月か一月に一回ディスクトラブルで死んでいた。修行の結果、とりあえず半月というハードルは超えた。次は、一月というハードルが超えられるかどうか

あと12〜3日。気が遠くなるような長い期間だ……

そして、9月(だっけ)には macOS Catalina へのアップグレードも控えている。OSによるディスクの使い方が大幅に変わるから、またもや Parallels Desktop との相性が心配だ

Catalina では、ディスクのシステム部分がリードオンリーになるという。詳しくはよく分からないけど、おそらく、APFSという新しいファイルシステムが標準化されたことを早速生かしてきたということではないだろうか。

それにより、アプリケーションがカーネルエクステンションによって便利な機能を実装するという方法が基本的に使えなくなってしまう

WWDC のビデオ、"What's New in Apple File Systems" によれば……

Catalina では、APFS が提供する仮想ボリューム機能で、システムボリュームを2つに分けられる。

Mojave から Catalina にアップグレードする際、既存のシステムボリュームはまずデータボリュームとして再構築される。そして、新たにシステムボリュームが作られ、前者に含まれるシステム要素が後者に移動される

developer.apple.com/videos/pla

そして、その2つのボリュームは、ユーザーやアプリケーションから見ると、Mojave までの時と同じように、統合された1つのボリュームに見える。

ファイルやフォルダレベルではなく、ボリュームレベルでアクセス権をコントロールしながら、ユーザーランドからの見た目は今までと同じ状態を保つ。そうすることで、どこをどう見ても今までと同じボリューム構成なのに、なぜかシステム領域には書き込みができないぞ、どうなってんだ、という体制を確立するわけだ。

詳しくはよく分からんけど、 ファイルへのアクセス権に関しても、メモリマネージャーがユーザーランドのために仮想メモリ空間を提供するのと同じような機構を導入しようとしているっぽい。

ハードディスクならこんな体制は重くて仕方ないんだろうけど、SSD + APFS ならパフォーマンスへの悪影響を出さずに実現できる、ということなんだろうな

このビデオで分からなかったのは、システムボリュームの分離を説明する図の中に、/System や /Library が書かれていないことだ。単に自明だから省かれたということなんだろうか

Follow

もう1つ気になって仕方がないのは、説明するおっさんのポロシャツから乳首が透けまくっていることだ。満を持して閲覧注意だ

とにかく、このファイルシステムの変更に伴って、今までのようにアプリケーションがカーネルエクステンションという形で機能を実装することができなくなる。

正確には、Catalina ではまだ使えるが、その次以降の macOS ではカーネルエクステンションを実行することができなくなるとのこと

"Platforms State of the Union" の 40:20 あたりから
developer.apple.com/videos/pla

デバイスドライバとか VM とか VPN とか、今までカーネルエクステンションを使ってきたソフトウェアは、大変困ることになる。

でも、今後はユーザーランドでそういう機能が実現できるフレームワーク(System Extensions、DriverKit)を用意するので、お前ら開発者は頑張って対応しろ。おれたちも、今まで kext を使ってた機能を、Catalina では75%ユーザーランドに移したぞ。野郎ども黙って従え。とのこと

この System Extensitons と DriverKit について、お宝さんが記事を上げてる。ありがてえ
macotakara.jp/blog/mac_os_x/en

Parallels Desktop とか Audio Hijack とか、kext をもりもり使ってるソフトは大変だぞこれ。おれこの2つのソフトにめっちゃ依存してるんですけど、大丈夫かなあ。特に Parallels は Mastodon を動かしてるから心配だ。また新たな修行の旅に出なきゃいけなくなったら嫌だ

あ、kext の禁止は、システムボリュームのリードオンリー化だけによって実現されるわけじゃないのか。コードサイニング等、他の制約との合わせ技ですな

……いや違うな、まとめ方が雑だな。

Catalina ではシステム領域とアプリケーション・ユーザー領域の区別が今までよりも徹底する。その徹底を実現するために、システムボリュームのリードオンリー化や kexts の禁止などの方策が取られる、というふうに整理しないとな

Sign in to participate in the conversation
Mastodon at crazynewworld.net

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!