DriverKitの新機能
2021年6月7日

ユーザスペースでより安全でセキュアなデバイスドライバの構築を支援するDriverKitの最新のアップデートをご紹介します。
ブロック・ストレージ・デバイスをサポートする
新しいBlockStorageDeviceDriverKitを使って、ブロック・ストレージ・デバイス用のユーザスペースドライバを開発できます。必要なエンタイトルメントのリクエストはdeveloper.apple.comで行えます。
オーディオデバイス用のよりシンプルなドライバを構築する
AudioDriverKit APIを使用して、Audio ServerプラグインとDriverKit拡張機能を1つのパッケージに統合する方法をご紹介します。

DriverKitによるオーディオドライバの作成
今すぐ視聴するリエントラントなディスパッチキューを検討する
既存のドライバをDriverKitに簡単に移植するために、リエントラントなディスパッチキューを利用できるようになりました。タスクは、イベントを待つ間、任意のタイムアウトを設定してスリープすることができ、他のタスクによってウェイクアップされることもあります。
ガードページを配置する
IOMemoryDescriptorマッピングの周囲にガードページを配置することで、セキュリティを向上させ、意図しないメモリ破壊から保護します。ドライバコードがガードページにアクセスしようとすると、周囲のメモリを破壊するのではなく、EXC_BAD_ACCESSエラーでクラッシュします。
通知機能について
ドライバは、通知を使ってシステムの他の部分と相互に通信することができます。IOService.iigのIOSserviceStateNotificationDispatchSourceやState Notification APIを使って、通知の登録や発行を行う方法をご紹介します。
IOServiceStateNotificationDispatchSource