Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

カーネル

Linux カーネルは、ほぼすべての Android デバイスに搭載されたソフトウェアにとって、非常に重要な部分です。このセクションでは、Linux カーネルの開発とリリースモデル(以下参照)、安定版の、長期サポート(LTS)のカーネル(Android デバイスで、パッチをチェリーピックするのではなく、安定版リリースを使用すべき理由も含む)、カーネルの構成強化インターフェースモジュラー カーネル(Android O で導入)の要件、カーネルのデバッグネットワーク テストSquashFS について説明します。

Linux カーネルの開発

Linux カーネルは過去最大の共同ソフトウェア プロジェクトです。2016 年、450 社以上から 4,000 人以上の開発者がプロジェクトに貢献し、それぞれ 12,000~16,000 の異なる変更が含まれる、6 件のリリースが行われました。2016 年末には Linux カーネルのサイズが 56,000 ファイルを超えましたが、これは 2,200 万行のコード、ビルド スクリプト、ドキュメント(カーネル リリース 4.9)で構成されていました(Linux 開発の完全な統計情報については、https://kernelnewbies.org/DevelopmentStatistics をご覧ください)。

Linux カーネルには、サポートされる各種チップ アーキテクチャとハードウェア ドライバのコードが含まれていますが、個々のシステムではほんの一部のコードベースしか実行されません。平均的なノートパソコンでは 5,000 のファイルから 200 万行のカーネルコードを使用しますが、Pixel スマートフォンでは 6,000 のファイルから 320 万行のカーネルコードを使用します(SoC が複雑化したため)。

Linux カーネルのリリース

Linux カーネルでは、標準の AOSP リリースとは大幅に異なるリリースモデルが使用されています。2003 年 12 月の 2.6 カーネルのリリースで、カーネル デベロッパー コミュニティは、以前の独立した開発版と安定版のカーネル ブランチを持つモデルから、安定版のみのブランチモデルに切り替えました。このモデルでは 2~3 か月ごとに新しいリリースが行われましたが、そのリリースが安定版であると宣言され、すべてのユーザーが実行することを推奨されました。この開発モデルの変更は、2.6 カーネルより前の非常に長いリリース サイクル(約 3 年)と、2 つの異なるコードベースのブランチを同時に維持するのに苦労した経験を踏まえたものでした。

カーネル リリースの番号付けは 2.6.x から始まりました。この x は、リリースごとに増えていく数字です(この数値には、前のカーネル リリースより新しいという以外に意味はありません)。その後カーネル バージョンは 4.x に移行していますが、これはメジャー バージョンの変更が 2 回あったことを意味します。バージョン番号は、マイナー リリース番号が大きくなることによってユーザーが混乱することを避けるために、管理者が選択します。