Androidは実際にLinuxと同じカーネルを使用していますか?


25

AndroidがLinuxカーネルを使用していることをどこかから読みました。本当に本当ですか?Linux Kernelはデスクトップオペレーティングシステム用であると考えました。


12
Linuxカーネルは、多くの組み込みデバイスで使用されています。Androidは組み込みとデスクトップの境界線であり、Linuxを実行しているはるかに小さなデバイスがあります。
ジル「SO-悪であるのをやめる」

15
最近の携帯電話は、基本的に小さなディスプレイを備えたデスクトップです。10年前のデスクトップ(Linuxで問題なく動作した)と比較すると、ほぼすべての仕様で携帯電話が古いデスクトップよりも優れていることがわかります。
デビッドシュワルツ

2
3つのことを強調することがおそらく重要です-1)Linuxカーネルのカスタマイズ可能性-予想される用途に応じて異なる設定ができるか、必要でない場合は省略できます。2)カーネルは一般に1つのコンポーネントにすぎません「ボトムレベル」コンポーネント)は、デスクトップ、電話、サーバーなど、ユーザーとのやり取りを最終的に担当するソフトウェアスタックに含まれます。以下でわかるように、Androidを「Android」にする主なものはカーネルではなく、3)電話ハードウェアは最近非常に強力です。
ローレンス

@ultrasawbladeによると、カーネルはユーザー体験に責任があるという。本当じゃない。ユーザーはスタックを見下ろし、一番下のコンポーネントが最も隠れています。人気のあるGnu + LinuxであるDebianでは、Gnu + bsdを作成するbsdカーネルを使用できます。ユーザーの観点からはあまり変化しません。システム管理者は、ツールがこの違いを隠していない場合、Aの違いを見ることがあります。
ctrl-alt-delor 14年

「カーネルは一般に、最終的にユーザーエクスペリエンスに責任を負うソフトウェアスタックの1つのコンポーネントにすぎません」-カーネルが完全に責任を負うのではなく、役割を果たすだけであることを意味します。
ローレンス

回答:


40

Androidのアーキテクチャ

ここに画像の説明を入力してください

Androidは、セキュリティ、メモリ管理、プロセス管理、ネットワークスタック、ドライバーモデルなどのコアシステムサービスをLinuxに依存しています。カーネルは、ハードウェアとソフトウェアスタックの残りの部分との間の抽象化レイヤーとしても機能します。

最新のAndroidはLinuxバージョン3.10ソース)を実行します。

2番目の文に対する私のコメントは、Linuxカーネルはデスクトップオペレーティングシステム専用でないということです。その使用例は、デスクトップOSからサーバー、メインフレーム、スーパーコンピューター、組み込みデバイスまでさまざまです。

Linuxは、広く移植されたオペレーティングシステムカーネルです。低価格でカスタマイズが容易なため、Linuxカーネルは、携帯電話やメインフレームシステム、携帯電話からスーパーコンピューターまで、非常に多様なコンピューターアーキテクチャで使用されています。

もう1つは、Palm(後にHPが買収)では、Linux派生のオペレーティングシステムwebOSを使用しています。これは、Palm Preスマートフォンのラインに使用されています。Cisco / Linksysなどのメーカーのいくつかのネットワークファイアウォールおよびルーターは、カスタマイズされたLinuxカーネルを使用しています。組み込みLinuxを使用しているデバイスがたくさんあります


2
カーネルがデスクトップオペレーティングシステム用ではないという理由がわからない。デスクトップデバイスでは完全に機能します。また、他の多くのクラスのデバイスでも正常に機能するため、デスクトップデバイス専用ではないということでしょう。
リッチム

@Richm、指摘してくれてありがとう。私は答えを修正しました。
サチンディベカー

Linux / UNIXプラットフォームでは、デスクトップはカーネルサービスを使用するアプリケーションのセットです。これにより、デスクトップを簡単に追加、交換、または削除できます。多くの場合、サーバーはデスクトップをターミナルシェルに置き換えます。
BillThor

「電話」は単なるデスクトップではありませんか?:-p
ヨハネス

Androidはもともと大幅に変更されたバージョンのLinuxカーネルを使用していましたが、3.5では多くの機能がメインカーネルにマージされていることに注意してください。アンドロイドは4.4現在、はるかに少ないパッチを当てたのLinux 3.4カーネル(長期リリース)上で動作する
dtech

6

はい、他の多くの組み込みデバイスと同様に。Sachinが言ったように、多くのルーターはLinuxベースのOSも使用しています。

これが私のXubuntuスクリーンショットです。mkshとAndroidカーネル3.0.8+を実行しています(Android x86ソースから) mkshとAndroidカーネル3.0.8+を実行しているXubuntu


3

はい、いいえ(Linuxの意味に依存)

Linuxの名前には多くの混乱があります。多くの場合、2つの異なるものを参照するために使用されます。

  • それはアンドロイドの場合、および他のいくつかの場合です。Linuxという名前のカーネルを指します。オペレーティングシステムの小さいながらも重要な部分。カーネルはハードウェアを制御し、システムの残りの部分にサービスを提供します。(@Sachin Divekarの素敵な図解を参照)。

  • ほとんどすべてのデスクトップシステムの場合、X11 + Gnu + Linuxを指します。もう一度図を参照してください。ただし、電話、テレフォニー、Androidへのすべての参照を削除してください。次に、Application FrameworkをGnu Toolsに変更し、X11というレイヤーと、GnomeやKdeなどと呼ばれるレイヤーを追加します。次に、アプリケーションをトップに戻します。サーバーの場合、X11やKde / Gnomeは通常ありません。これは、グラフィカルユーザーインターフェイスがリソースの浪費であるためです。

AndroidはX11(ただし、Androidアプリを実行することはできません)またはGnu Toolを使用しません。ただし、Gnu + Linuxと同様に、一部のライブラリはGnuです。

Linuxと言うとき、誰かがどのような意味を持っているのかを知ることはしばしば困難です。これが、Gnu + Linuxを意味する場合は「Gnu / Linux」と、カーネルの場合は「Linuxカーネル」と言うことが推奨される理由です。しかし、カーネルとは言わないでください、あなたはそれが何であるかを知らない限り(Linuxの前にkernelという単語を追加することを聞いたことがあります(正しい用語であると言われたため)、彼らはGnu + Linuxを参照するためにそれを使っていたに違いありません)。


2

Linux Kernelが見つかるのは、組み込み型とデスクトップだけではありません。

  • 上位500台のスーパーコンピューターのうち490台が稼働しており、完全なGnu / Linuxです。
  • Webサーバーの約80%がGnu / Linuxを実行しています。
  • インターネットインフラストラクチャのほとんどはGnu / Linuxを実行しているか、組み込みデバイスです。これらの組み込みデバイスのうち、大部分がLinuxという名前のカーネルを持っています。

1
現在、Linuxを実行している上位500台のスーパーコンピューターすべてです。
デビッドRefoua
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.