注目★★★★★Lobsters
Apple、macOS/iOS 27カーネル層にSwift導入——「KernelKit」の全貌を解剖
30秒で把握
- 1Apple、macOS/iOS 27にEmbedded Swift(約2.4KB)をkextへ静的リンクして出荷
- 2KernelKit専用プラットフォーム番号(macOS=25・iOS=26)をOS別に計6種定義
- 3SDK・ヘッダは未公開だがリンカとSwiftコンパイラはすでにターゲット指定可能
要約
AppleはmacOS/iOS 27のカーネル拡張層に「KernelKit」と名付けたSwift導入フレームワークを仕込み、Embedded Swiftランタイム(約2.4KB)をlibpthread・Libmのkextに静的リンクした形で出荷した。C/C++で書かれたMach・BSD・IOKitのコアは手つかずで、SwiftはKernelKitプラットフォーム専用のkextレイヤーにのみ登場する。Mach-Oプラットフォーム番号はmacOSが25、iOSが26と新たに割り当てられており、OS別に計6種(25〜30)が定義されている。リフレクション用__swift5_*セクションは存在せず、ジェネリクスは単相化済みでEmbedded Swift仕様に準拠している。SDKやパブリックヘッダはまだ非公開だが、リンカ・Swiftコンパイラはすでにこのプラットフォームをターゲット指定できる状態にある。
あなたへの影響
Embedded Swiftのカーネル採用はメモリ安全なカーネルへの段階的移行の始まりであり、DriverKitと同じ「独自プラットフォーム→SDK公開→段階拡大」のパターンが繰り返されていることから、将来的にkext開発がSwift前提になる可能性がある。
推奨:カーネル拡張や組み込みSwiftを扱うエンジニアはXcode 27 betaのリンカ挙動とKernelKitプラットフォーム定数(25/26)を今から把握しておくとよい。