Czy Android naprawdę używa tego samego jądra co Linux?

25

Czytałem skądś, że Android używa jądra Linux. Czy to naprawdę prawda? Myślałem, że jądro Linux przeznaczone jest do systemów operacyjnych dla komputerów stacjonarnych.

Mysterio
źródło
12
Jądro Linux jest używane na wielu urządzeniach osadzonych . Android to granica między urządzeniem wbudowanym a komputerem stacjonarnym, na Linuksie działają znacznie mniejsze urządzenia.
Gilles 'SO - przestań być zły'
15
Nowoczesne telefony to w zasadzie komputery stacjonarne z małymi wyświetlaczami. Jeśli porównasz je z komputerami stacjonarnymi sprzed dziesięciu lat (które dobrze działały pod Linuksem), zauważysz, że telefony pokonują starsze komputery stacjonarne na prawie każdej specyfikacji.
David Schwartz
2
Prawdopodobnie ważne jest podkreślenie trzech rzeczy - 1) możliwości dostosowania jądra Linuksa - istnieje wiele elementów, które można skonfigurować inaczej w zależności od oczekiwanego użycia lub pominąć, jeśli nie są potrzebne, oraz 2) jądro jest zazwyczaj tylko jednym składnikiem (choć blisko lub jest komponent „najniższego poziomu”) w stosie oprogramowania, który ostatecznie odpowiada za wrażenia użytkownika, niezależnie od tego, czy jest to komputer stacjonarny, telefon, serwer czy cokolwiek innego. Większość tego, co sprawia, że ​​Android jest „Androidem”, nie jest jądrem, jak widać poniżej, a 3) sprzęt telefoniczny jest naprawdę potężny w dzisiejszych czasach.
LawrenceC
@ultrasawblade powiedział, że jądro jest odpowiedzialne za wrażenia użytkownika. To nie jest prawda. Użytkownik patrzy na stos, komponenty na dole są najbardziej ukryte. W Debianie, popularnym Gnu + Linux, możesz użyć jądra bsd, dzięki czemu Gnu + bsd. Nie zmienia to wiele z punktu widzenia użytkowników. Administrator systemu może zobaczyć Różnicę, jeśli jej narzędzia nie ukrywają dla niej tej różnicy.
ctrl-alt-delor
Powiedziałem, że „jądro jest zasadniczo tylko jednym składnikiem stosu oprogramowania, który ostatecznie odpowiada za wrażenia użytkownika” - oznacza to nie tyle, że jądro jest za to całkowicie odpowiedzialne, ale po prostu odgrywa rolę.
LawrenceC

Odpowiedzi:

40

Architektura Androida

wprowadź opis zdjęcia tutaj

Android opiera się na Linuksie w zakresie podstawowych usług systemowych, takich jak bezpieczeństwo, zarządzanie pamięcią, zarządzanie procesami, stos sieci i model sterownika. Jądro działa również jako warstwa abstrakcji między sprzętem a resztą stosu oprogramowania.

Najnowszy Android działa pod Linuksem w wersji 3.10 ( źródło ).

A mój komentarz do drugiego zdania jest taki, że jądro Linuksa nie jest przeznaczone tylko do systemów operacyjnych dla komputerów stacjonarnych. Jego przypadki użycia różnią się od Desktop OS do serwerów, komputerów mainframe i superkomputerów do urządzeń wbudowanych.

Linux to szeroko rozpowszechnione jądro systemu operacyjnego. Ze względu na niski koszt i łatwość dostosowywania, jądro Linuksa jest używane w bardzo różnorodnych architekturach komputerowych: w urządzeniach przenośnych i systemach mainframe, w urządzeniach od telefonów komórkowych po superkomputery.

Z drugiej strony: Palm (później przejęty przez HP) korzysta z systemu operacyjnego Linux, webOS , który jest wykorzystywany w linii smartfonów Palm Pre. Kilka zapór sieciowych i routerów takich producentów, jak Cisco / Linksys, korzysta ze spersonalizowanego jądra Linux. Istnieje mnóstwo urządzeń korzystających z wbudowanego systemu Linux .

Sachin Divekar
źródło
2
Nie wiem, dlaczego mówię, że jądro nie jest przeznaczone dla systemów operacyjnych dla komputerów stacjonarnych. Działa idealnie dobrze na urządzeniach stacjonarnych. Działa również dobrze na wielu innych klasach urządzeń, więc może chciałeś powiedzieć, że nie dotyczy to wyłącznie komputerów stacjonarnych.
Richm
@Richm, dziękuję za zwrócenie na to uwagi. Poprawiłem to w odpowiedzi.
Sachin Divekar
Na platformach Linux / UNIX pulpit to zestaw aplikacji korzystających z usług jądra. Ułatwia to dodawanie, zamianę lub usuwanie komputerów stacjonarnych. Serwery często zastępują komputer stacjonarny powłoką terminala.
BillThor
Czy „telefon” nie jest tylko formą pulpitu? :-p
johannes
Zauważ, że Android pierwotnie używał mocno zmodyfikowanej wersji jądra Linuksa, ale od 3.5 wiele polecanych jest ponownie włączanych w jądro główne. Android 4.4 działa obecnie na znacznie mniej poprawionym jądrze Linuksa 3.4 (wydanie długoterminowe)
dtech
6

Tak, podobnie jak wiele innych urządzeń osadzonych. Wiele routerów korzysta również z systemu operacyjnego Linux, ponieważ, jak powiedział Sachin, można go łatwo dostosować.

Oto zrzut ekranu mojego Xubuntu, działającego mksha i jądra Androida 3.0.8+ (ze źródeł Androida x86) Xubuntu Uruchamianie jądra mksh i Androida 3.0.8+

Jonathan
źródło
3

Tak i nie (w zależności od tego, co rozumiesz przez Linux)

Istnieje wiele zamieszania wokół nazwy Linux; Często używane w odniesieniu do dwóch różnych rzeczy.

  • Tak jest w przypadku Androida i niektórych innych przypadkach. Odnosi się do jądra o nazwie Linux. Mała, ale niezbędna część systemu operacyjnego. Jądro kontroluje sprzęt i świadczy usługi dla reszty systemu. (patrz ładna odpowiedź na diagram @Sachin Divekar).

  • W przypadku prawie wszystkich systemów stacjonarnych dotyczy to X11 + Gnu + Linux. Zobacz schemat jeszcze raz, ale usuń wszystkie odniesienia do telefonu, telefonii i Androida. Teraz zmień Framework aplikacji na Narzędzia Gnu, dodaj warstwę o nazwie X11 i kolejną o nazwie Gnome lub Kde itp. Następnie umieść aplikację z powrotem na wierzchu. W przypadku serwerów zwykle nie ma X11 ani Kde / Gnome, ponieważ graficzny interfejs użytkownika to talia zasobów.

Android nie używa X11 (choć może, ale nie uruchamia aplikacji na Androida) ani Narzędzia Gnu. Jednak podobnie jak Gnu + Linux, niektóre biblioteki to Gnu.

Często trudno jest ustalić, jakie znaczenie ma ktoś, gdy mówi Linux. Dlatego zaleca się, aby powiedzieć „Gnu / Linux”, gdy masz na myśli Gnu + Linux, i „jądro Linux”, tak jak to robiłeś, dla jądra. Nie mów jednak o jądrze, chyba że wiesz, co to jest (słyszałem, jak ludzie dodają słowo jądro przed Linuksem (ponieważ powiedziano im, że jest to właściwy termin), założę się, że używali go w odniesieniu do Gnu + Linux.

ctrl-alt-delor
źródło
2

To nie tylko osadzone i pulpity, na których znajdziesz jądro Linux.

  • Działa 490 z 500 najlepszych super komputerów, pełna Gnu / Linux.
  • Około 80% serwerów WWW korzysta z Gnu / Linux.
  • Większość infrastruktury internetowej działa pod kontrolą Gnu / Linux lub jest urządzeniem wbudowanym. Spośród tych urządzeń osadzonych duża część będzie miała jądro o nazwie Linux.
ctrl-alt-delor
źródło
1
Teraz jest to 500 najlepszych superkomputerów z systemem Linux .
David Refoua