Verwendet Android wirklich den gleichen Kernel wie Linux?


25

Ich habe irgendwo gelesen, dass Android den Linux-Kernel verwendet. Ist es wirklich wahr Ich dachte, der Linux-Kernel sei für Desktop-Betriebssysteme gedacht.


12
Der Linux-Kernel wird auf vielen eingebetteten Geräten verwendet . Android ist die Grenze zwischen Embedded und Desktop. Es gibt viel kleinere Geräte, auf denen Linux ausgeführt wird.
Gilles 'SO - hör auf böse zu sein'

15
Moderne Telefone sind im Grunde Desktops mit kleinen Displays. Wenn Sie sie mit den Desktops von vor zehn Jahren vergleichen (auf denen Linux einwandfrei lief), werden Sie feststellen, dass die Telefone in fast jeder Spezifikation die älteren Desktops schlagen.
David Schwartz

2
Wahrscheinlich wichtig, um drei Dinge hervorzuheben: 1) Die Anpassbarkeit des Linux-Kernels - Es gibt eine Menge, die je nach erwarteter Verwendung unterschiedlich konfiguriert oder weggelassen werden kann, wenn sie nicht benötigt wird "Bottom Level" -Komponente) in einem Softwarestapel, der letztendlich für eine Benutzererfahrung verantwortlich ist, unabhängig davon, ob es sich um einen Desktop, ein Telefon, einen Server oder etwas anderes handelt. Die Mehrheit von dem, was Android zu "Android" macht, ist nicht der Kernel, wie Sie unten sehen können, und 3) Telefonhardware ist heutzutage wirklich leistungsfähig.
LawrenceC

@ultrasawblade sagte, der Kernel sei für die Benutzererfahrung verantwortlich. Das ist nicht wahr. Der Benutzer schaut nach unten auf den Stapel, die Komponenten am unteren Rand sind am verborgensten. In Debian, einem beliebten Gnu + Linux, können Sie den a bsd-Kernel verwenden, der Gnu + bsd macht. Vom Standpunkt des Benutzers aus ändert sich nicht viel. Ein Systemadministrator kann einen Unterschied erkennen, wenn seine Tools diesen Unterschied für ihn nicht verbergen.
Strg-Alt-Delor

Ich sagte, "der Kernel ist im Allgemeinen nur eine Komponente in einem Stapel von Software, die letztendlich für eine benutzerbezogene Erfahrung verantwortlich ist" - bedeutet nicht, dass der Kernel vollständig dafür verantwortlich ist, sondern nur eine Rolle spielt.
LawrenceC

Antworten:


40

Architektur von Android

Bildbeschreibung hier eingeben

Android verlässt sich bei Kernsystemdiensten wie Sicherheit, Speicherverwaltung, Prozessverwaltung, Netzwerkstapel und Treibermodell auf Linux. Der Kernel fungiert auch als Abstraktionsschicht zwischen der Hardware und dem Rest des Software-Stacks.

Das neueste Android läuft unter Linux Version 3.10 ( Quelle ).

Und mein Kommentar zu Ihrem zweiten Satz ist, dass der Linux-Kernel nicht nur für Desktop-Betriebssysteme gedacht ist. Die Anwendungsfälle variieren von Desktop-Betriebssystem über Server, Großrechner und Supercomputer bis hin zu eingebetteten Geräten.

Linux ist ein weit verbreiteter Betriebssystemkern. Aufgrund seiner geringen Kosten und einfachen Anpassbarkeit wird der Linux-Kernel auf einer Vielzahl von Computerarchitekturen eingesetzt: in Handheld-Geräten und Mainframe-Systemen, in Geräten von Mobiltelefonen bis zu Supercomputern.

Auf der anderen Seite: Palm (später von HP erworben) verwendet das von Linux abgeleitete Betriebssystem webOS , das in der Produktreihe der Palm Pre-Smartphones verwendet wird. Mehrere Netzwerkfirewalls und Router von Herstellern wie Cisco / Linksys verwenden einen angepassten Linux-Kernel. Es gibt Unmengen von Geräten , die Embedded Linux verwenden .


2
Ich weiß nicht warum sagen, dass der Kernel nicht für Desktop-Betriebssysteme gedacht ist. Es funktioniert einwandfrei auf Desktopgeräten. Es funktioniert auch auf vielen anderen Geräteklassen. Vielleicht wollten Sie damit sagen, dass es nicht nur für Desktop-Geräte gedacht ist.
Richm

@Richm, Danke für den Hinweis. Ich habe es in der Antwort korrigiert.
Sachin Divekar

Auf Linux / UNIX-Plattformen besteht der Desktop aus einer Reihe von Anwendungen, die die Kerneldienste verwenden. Dies erleichtert das Hinzufügen, Austauschen oder Entfernen von Desktops. Server ersetzen häufig den Desktop durch eine Terminal-Shell.
BillThor

Ist ein "Telefon" nicht nur eine Art Desktop? :-p
johannes

Beachten Sie, dass Android ursprünglich eine stark modifizierte Version des Linux-Kernels verwendet hat, ab 3.5 jedoch viele Features wieder in den Hauptkernel integriert wurden. Android 4.4 läuft derzeit auf einem viel weniger gepatchten Linux 3.4-Kernel (eine Langzeitversion)
dtech

6

Ja, wie viele andere eingebettete Geräte auch. Viele Router verwenden auch ein Linux-basiertes Betriebssystem, da es, wie Sachin sagte, leicht anpassbar ist.

Hier ist ein Xubuntu-Screenshot von mir, Ausführen von mksh und Android-Kernel 3.0.8+ (aus den Android x86-Quellen) Xubuntu Running mksh und Android Kernel 3.0.8+


3

Ja und Nein (je nachdem, was Sie unter Linux verstehen)

Es gibt viel Verwirrung um den Namen Linux; Es wird oft verwendet, um auf zwei verschiedene Dinge Bezug zu nehmen.

  • Es ist der Fall von Android und einige andere Fälle. Es bezieht sich auf einen Kernel namens Linux. Ein kleiner, aber wesentlicher Bestandteil eines Betriebssystems. Ein Kernel steuert die Hardware und stellt Dienste für den Rest des Systems bereit. (siehe schöne Diagrammantwort von @Sachin Divekar).

  • Bei fast allen Desktop-Systemen handelt es sich um X11 + Gnu + Linux. Sehen Sie sich das Diagramm noch einmal an, aber entfernen Sie alle Verweise auf Telefon, Telefonie und Android. Ändern Sie nun Application Framework in Gnu Tools, fügen Sie eine Ebene mit dem Namen X11 und eine andere mit dem Namen Gnome oder Kde usw. hinzu. Legen Sie dann Application wieder oben ab. Für Server gibt es normalerweise kein X11 oder Kde / Gnome, da eine grafische Benutzeroberfläche eine Unmenge an Ressourcen darstellt.

Android verwendet nicht X11 (obwohl es kann, aber nicht um Android Apps auszuführen) oder das Gnu Tool. Wie auch immer, wie Gnu + Linux sind einige der Bibliotheken Gnu.

Es ist oft schwierig zu wissen, welche Bedeutung jemand hat, wenn er Linux sagt. Aus diesem Grund wird empfohlen, "Gnu / Linux" zu sagen, wenn Sie Gnu + Linux meinen, und "Linux-Kernel", wie Sie es für den Kernel getan haben. Sagen Sie jedoch nicht "Kernel", es sei denn, Sie wissen, was "Kernel" ist (ich habe gehört, dass Leute das Wort "Kernel" vor Linux setzen (weil ihnen gesagt wurde, dass dies der richtige Begriff ist).


2

Es ist nicht nur eingebettet und Desktops, auf denen Sie den Linux-Kernel finden.

  • 490 der Top 500 Supercomputer laufen, der volle Gnu / Linux.
  • Rund 80% der Webserver verwenden Gnu / Linux.
  • Der größte Teil der Internetinfrastruktur läuft unter Gnu / Linux oder es handelt sich um eingebettete Geräte. Von diesen eingebetteten Geräten wird ein großer Teil den Kernel Linux haben.

1
Es sind jetzt alle 500 Top-Supercomputer mit Linux .
David Refoua
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.