「スマホのOSアップデートが届き新しい機能にワクワクする」。
これはスマホユーザなら誰もが経験する一コマです。昨今は、端末価格が高騰していることもあり、3年や4年、あるいはそれ以上の長期間にわたり使い続ける人が珍しくなくなりました。
そのスマホは、OSのアップデートが行われても同じカーネルが使われるのが常識でした。Googleは、その常識を破り、Pixel 7からPixel 10にいたるまでの幅広いデバイスを、一挙に最新のLinuxカーネル 6.
Your Pixel phone could get a big under-the-hood upgrade this year
地味に感じますが、技術的には歴史を塗り替えるほどの話題なので、アップデートが計画された背景と具体的なメリットを取り上げます。
カーネルを入れ替えるという異例の試み
従来は、OSのメジャーアップデートが頻繁に行われる一方で、カーネルのバージョンアップは事実上のタブーとされてきました。なぜなら、カーネルを新しいものに置き換えるには、スマホに搭載されているチップセットを動かすための専用ドライバや、各端末メーカが行った独自のカスタマイズをすべて新しいカーネル向けに書き直し、膨大な時間をかけて安全性を細かく検証しなければならないからです。
この手間とコストがあまりにも大きいため、OSの機能は新しくするが、カーネルは古いバージョンのまま維持するという手法が合理的とされてきました。
たとえば、数年前のスマホに最新のAndroid OSが配信されていても、そのシステム情報を覗くと5年以上前の古いLinuxカーネルが裏側で動いている、という事態が当たり前のように起きていたのです。デバイスの寿命が長くなる現代において、この古いカーネルを維持し続けることは、セキュリティ面でのリスクや最新の機能をシステムに取り込む面で大きな足かせとなっていました。
ブレイクスルー立役者、共通カーネル基盤の仕組み
Googleはなぜ、Pixel 7という数年前のモデルまで遡ってカーネルを一斉にアップデートするという、これまでにない荒業を成し遂げられるのでしょうか。それは、数年前から取り組みを進めてきたジェネリックカーネルイメージ
かつてのAndroidでは、Linuxの本家から提供されるカーネルをベースに、まず、チップメーカが自社チップ用のコードを追加し、さらにそれを端末メーカが自社デバイス用にカスタマイズするという重層的な改造が行われていました。この複雑なカスタマイズ構造が原因で、カーネルの土台をごっそり入れ替えることが不可能な状態に陥っていました。これが理由で、古い機種のカーネルをアップデートすることは実質的に不可能とされてきました。
GKIという仕組みは、この複雑に絡み合った糸を綺麗に解きほぐものです。すべてのAndroidデバイスで共通して使えるコア部分をしっかりと定義し、チップ固有のコードやメーカー独自の機能はカーネルモジュールとして綺麗に切り離して後からプラグインのように結合する仕組みに改めています。
この恩恵が、今回のアップデートで最大限に発揮されます。
共通のコア部分をバージョン6.
アップデート対象と明確になったチップの境界線
今回のアップデートは、すべてのPixelシリーズが対象になるわけではありません。
現在判明している情報によると、移行の対象となるモデルには、Pixel 7シリーズ、Pixel 8シリーズ、Pixel 9シリーズ、そしてLinuxカーネル6.
一方で、初代のGoogle Tensorチップを搭載しているPixel 6シリーズについては、残念ながら今回の移行対象から外れる見込みです。Pixel 6シリーズは、GKI構造が本格的に定着する一歩手前の過渡期のモデルであり、ハードウェアの世代的な限界や、検証にかかるコストの兼ね合いから、現行の古いカーネルのままサポート期間を終える可能性が濃厚です。
スマホを長く快適に使い続ける時代へ
これまでのスマホ市場は、新しい機能や快適さを求めるなら2~3年で新しい端末に買い替えるのがあたりまえでした。しかし、Pixel 8シリーズ以降で7年間のOSアップデート保証を打ち出し、Googleは端末を長く使うための環境作りに舵を入れています。
今回のLinuxカーネル 6.
今週は、このあたりで、また来週。
