Apple「iOSカーネル」をオープンソースで公開

シェアする

Pexels photo 574070

AppleがmacOSやiOSで採用しているDarwinオペレーティングシステムの一部「XNU kernel」のソースコードがGitHubで公開されました(NeowinRedditHacker News)。今回はこれまで削除されていたarm/arm64関連のファイルも含まれているようです。

XNUは「XNU is Not Unix」の略称で、カーネギーメロン大学で開発されたMachカーネルとFreeBSDのコンポーネント、およびIOKitと呼ばれるドライバーを記述するためのC++ APIラッパーから構成されています。XNUはI386、X86_64のシングル/マルチコアプロセッサー構成で動作します。

公開されたソースコードの構成は以下の通り:

  • config - configurations for exported apis for supported architecture and platform
  • SETUP - Basic set of tools used for configuring the kernel, versioning and kextsymbol management.
  • EXTERNAL_HEADERS - Headers sourced from other projects to avoid dependency cycles when building. These headers should be regularly synced when source is updated.
  • libkern - C++ IOKit library code for handling of drivers and kexts.
  • libsa - kernel bootstrap code for startup
  • libsyscall - syscall library interface for userspace programs
  • libkdd - source for user library for parsing kernel data like kernel chunked data.
  • makedefs - top level rules and defines for kernel build.
  • osfmk - Mach kernel based subsystems
  • pexpert - Platform specific code like interrupt handling, atomics etc.
  • security - Mandatory Access Check policy interfaces and related implementation.
  • bsd - BSD subsystems code
  • tools - A set of utilities for testing, debugging and profiling kernel.

GitHub上には、実際にソースコードからカーネルをビルドする方法も掲載されています。

iOSやmacOS全体のソースコードが公開されたわけではありませんが、カーネルのソースコードが公開されたことで、ソフトウェアがどのようにカーネルと連携するのか、開発者がデバッグ・調査する手助けとなる事が期待できます。

Appleはこれ以外にも各種ソフトウェアのソースコードを公開していて、詳細はApple Open Sourceで確認可能です。

スポンサーリンク
レクタングル(大)広告
レクタングル(大)広告

シェアする

フォローする