Android って、そもそもどんな OS なの?

「Android」を 3 行で解説!

  1. Google 主導で開発しているオペレーティングシステム (OS) だよ
  2. オープンソースで開発しているプロジェクト (AOSP) があるよ
  3. Linux をベースとした OS で、内部では Linux カーネルが動作しているよ

そもそも、Android (あんどろいど) はどのようなオペレーティングシステム (OS) なのでしょうか。

Android は Google 主導で開発している OS

Google のスマートフォン Google Pixel シリーズに Android が搭載されているように、Android は Google が主導で開発している OS です。しかし、それと同時に、Android はオープンソース・プロジェクトでもあります。それは Android Open Source Project と呼ばれ、略して AOSP と言います。Google は自社のスマートフォン用 OS として Android を開発しますが、その中でも Google が独占している部分を除いた、純粋な OS としての実装を、AOSP に還元しています。

なぜ、Android はオープンソースなのか?

では、なぜ Google は Android をオープンソース・プロジェクトとして公開するのでしょうか。主な理由として 2 つあると考えられます。

ある特定の OS が独占的なシェアを握ることを防ぐため

OS は非常に複雑で、大量のソースコードから構成されるソフトウェアです。そのため、OS を開発するには多量の人・金・時間が必要です。この場合、莫大な資金力を持っている大企業が有利になります。

そうなると、独自の OS を開発する余裕のない企業は、他企業が作った OS を使わざるを得ません。ある特定の OS が独占的なシェアを持っている場合、OS を使用するために多額の使用料を支払うことになってしまうかもしれません

それに対抗するために、AOSP が必要とされています。高機能な OS がソースコードとして公開されていることで、比較的低コストで独自の OS を作ることができるようになります。

Google アプリのライセンス料で利益が出せるため

しかし、Google は営利企業なので、Android でどのように利益を出すかも考えています。ひとつは、Google アプリのライセンス料です。

Google の各ウェブサービスが使用できるアプリを、Android OS に搭載するためにライセンス料を支払わせることで、OS のソースコードを無料で提供しつつも、利益を得ることができます。

また、この場合、Android と互換性を持つ OS がたくさん開発されることが、なによりも利益を増やす手段になるので、ますますソースコードを公開する意義があります。

Android がどのように動作しているか

Android は Linux カーネルをベースとしている OS です。カーネル (Kernel) というのは OS の中核となる実装部分のことで、例えば Android のメモリ管理や通信、ファイル管理、ユーザー管理といった低レイヤーの機能については、Linux カーネルと共通しています。

そして、Linux カーネルの上ではアプリを構成するライブラリや、マルチメディア機能の実装などが存在します。

Android のアプリは基本的にプログラミング言語 Java で作られます。Java コードは、Android ランタイム (ART) がコンパイルし、動作速度の向上などに貢献しています。これは普通の Java の JVM と似たようなものですが互換性はありません。