ホームページ » の仕方 » AndroidはLinuxをベースにしていますが、それはどういう意味ですか?

    AndroidはLinuxをベースにしていますが、それはどういう意味ですか?

    AndroidはLinuxをベースにしているかもしれませんが、PCで使用しているLinuxシステムのタイプには基づいていません。一般的なLinuxディストリビューションではAndroidアプリを実行できず、Androidでは慣れ親しんだLinuxプログラムを実行できません。.

    LinuxはAndroidの中核部分を構成していますが、GoogleはUbuntuのようなLinuxディストリビューションにあると思われる典型的なソフトウェアやライブラリをすべて追加していません。これはすべての違いを生む.

    「Linux」とLinuxカーネル

    ここでの大きな違いは、Linuxが意味するところにあります。人々はさまざまなことを意味するために「Linux」という用語を使用します。最も基本的には、LinuxはLinuxカーネルを意味します。カーネルはあらゆるオペレーティングシステムの中核部分です.

    Linuxディストリビューションも単に「Linux」と呼びます。しかし、LinuxディストリビューションはLinuxカーネルだけではありません。それらには、GNUシェルユーティリティ、Xorgグラフィカルサーバー、GNOMEデスクトップ、Firefox Webブラウザなど、他の多くのソフトウェアが含まれています。そのため、Ubuntu、Mint、Debian、Fedora、Arch、openSUSEなどの「Linuxディストリビューション」にGNU / Linuxという用語を使用するべきだと考える人がいます。.

    Androidは内部でLinuxカーネルを使用しています。 Linuxはオープンソースなので、GoogleのAndroid開発者は自分のニーズに合うようにLinuxカーネルを修正することができます。 Linuxは、Android開発者が最初から構築済みの、すでに保守されているオペレーティングシステムカーネルを提供するため、独自のカーネルを作成する必要はありません。これは、さまざまなデバイスを構築する方法です。たとえば、PlayStation 4はオープンソースのFreeBSDカーネルを使用し、Xbox Oneは最新バージョンのWindowsにあるWindows NTカーネルを使用します。.

    Androidの[設定]の[電話について]または[タブレットについて]で、デバイスのLinuxカーネルバージョンが実行されていることも確認できます。.

    違い

    Androidが「Linuxディストリビューション」として認定されているかどうかについては、いくつか議論があります。Linuxカーネルと他のソフトウェアを使用しますが、Linuxディストリビューションに通常含まれているソフトウェアの多くは含まれません.

    Androidデバイスを起動すると、LinuxカーネルはLinuxディストリビューションと同じようにロードされます。しかし、他のソフトウェアの多くは異なります。 Androidには、標準のLinuxディストリビューションで使用されているGNU Cライブラリ(glibc)は含まれていません。また、一般的なLinuxディストリビューションで見つけられるすべてのGNUライブラリも含まれていません。 XorgのようなXサーバーも含まれていないので、標準のグラフィカルLinuxアプリケーションを実行することはできません。.

    典型的なLinuxアプリケーションを実行するのではなく、AndroidはDalvik仮想マシンを使用して本質的にJavaで書かれたアプリケーションを実行します。これらのアプリケーションは、一般的にLinuxをターゲットとするのではなく、AndroidデバイスおよびAndroidが提供するアプリケーションプログラミングインターフェース(API)をターゲットとしています。.

    AndroidでデスクトップLinuxソフトウェアを実行できない理由

    AndroidにはグラフィカルXサーバーやすべての標準GNUライブラリが含まれていないため、単純にAndroid上でLinuxアプリケーションを実行することはできません。 Android専用に書かれたアプリケーションを実行する必要があります。.

    Androidには、Linuxで見られるようなシェルがあります。すぐに利用できる方法はありませんが、Android Terminal Emulatorのようなアプリをインストールしてこの端末環境にアクセスすることができます。.

    デフォルトでは、ここでできることはあまりありません。端末はまだ制限された環境で実行されますので、あなたはあなたのAndroidデバイスを応援せずにフルルートシェルを取得することはできません。あなたが必要とするかもしれない多くの標準的なコマンドは利用可能ではありません - それで彼らのデバイスを根絶する人々は一般的に多くのコマンドラインユーティリティをインストールするBusyBoxアプリケーションをインストールします。これらのユーティリティは、アプリケーションがそのルートアクセスで何かをするために使用されます。.

    デスクトップLinuxでAndroidソフトウェアを実行できない理由

    LinuxにはDalvik仮想マシンが含まれていないため、Androidアプリを実行できません。 Dalvikの仮想マシンと他のすべてのAndroidソフトウェアをデスクトップのLinuxマシンに単純にドロップすることはできません。たとえば、Xorgを介してAndroidアプリケーションを標準デスクトップのウィンドウに出力するには、さらに作業が必要です。理論的には、十分な作業をしていれば、開発者はDalvikをデスクトップLinux上で実行できるので、デスクトップLinuxユーザーは自分のデスクトップ上でAndroidアプリを実行できます。 Ubuntu for Android製品は、電話にUbuntuとAndroidを統合し、それらのAndroidアプリをUbuntuのデスクトップで実行できるようにすることで、このようなことを試みました。.

    BlueStacksと他のAndroidアプリエミュレータはWindowsとMacでこれをやろうとします。仮想マシンの仮想ハードウェア上でAndroidを実行するため、デスクトップ上でパフォーマンスを犠牲にしてAndroidアプリを実行できます。しかし、これらのソリューションはあまり人気があるとは証明されていません。.


    GoogleのChrome OSもLinuxをベースにしています。 Androidのように、Chrome OSは標準のXウィンドウシステムを提供しないため、標準のLinuxアプリケーションはChrome OS上では実行できません。 Androidとは異なり、Chrome OSは標準のデスクトップLinuxディストリビューションに近いため、開発者モードを使用して不足しているLinuxデスクトップソフトウェアをインストールできます。.

    Image Credit:Flickrに関するランティ、Androidの解剖学と生理学