Android có thực sự sử dụng kernel giống như Linux không?


25

Tôi đã đọc từ đâu đó rằng Android sử dụng Linux Kernel. Có thật không? Tôi nghĩ rằng Linux Kernel có nghĩa là cho các hệ điều hành máy tính để bàn.


12
Nhân Linux được sử dụng trên rất nhiều thiết bị nhúng . Android là ranh giới giữa nhúng và máy tính để bàn, có nhiều thiết bị nhỏ hơn chạy Linux.
Gilles 'SO- ngừng trở nên xấu xa'

15
Điện thoại hiện đại về cơ bản là máy tính để bàn với màn hình nhỏ. Nếu bạn so sánh chúng với máy tính để bàn của mười năm trước (chạy Linux tốt), bạn sẽ thấy điện thoại đánh bại máy tính để bàn cũ hơn trên hầu hết mọi thông số kỹ thuật.
David Schwartz

2
Có lẽ rất quan trọng để nhấn mạnh ba điều - 1) khả năng tùy biến của nhân Linux - có rất nhiều thứ có thể được cấu hình khác nhau tùy theo sử dụng dự kiến ​​hoặc bỏ qua nếu không cần thiết và 2) hạt nhân nói chung chỉ là một thành phần (mặc dù gần hoặc là Thành phần "mức dưới cùng") trong một chồng phần mềm chịu trách nhiệm cuối cùng cho trải nghiệm đối mặt với người dùng, cho dù máy tính để bàn, điện thoại, máy chủ hay bất cứ thứ gì khác. Phần lớn những gì làm cho Android "Android" không phải là hạt nhân, như bạn có thể nói từ bên dưới và 3) phần cứng điện thoại thực sự rất mạnh trong những ngày này.
LawrenceC

@ultrasawblade cho biết kernel chịu trách nhiệm cho trải nghiệm đối mặt với người dùng. Đây không phải là sự thật. Người dùng nhìn xuống ngăn xếp, các thành phần ở phía dưới là ẩn nhất. Trong Debian một Gnu + Linux phổ biến, bạn có thể sử dụng hạt nhân bsd tạo Gnu + bsd. Nó không thay đổi nhiều thứ theo quan điểm của người dùng. Quản trị viên hệ thống có thể thấy Sự khác biệt nếu các công cụ của cô ấy không che giấu sự khác biệt này cho cô ấy.
ctrl-alt-delor

Tôi đã nói "hạt nhân nói chung chỉ là một thành phần trong một chồng phần mềm chịu trách nhiệm cuối cùng cho trải nghiệm đối mặt với người dùng" - có nghĩa là không phải hạt nhân đó chịu trách nhiệm hoàn toàn cho nó mà chỉ là một phần.
LawrenceC

Câu trả lời:


40

Kiến trúc của Android

nhập mô tả hình ảnh ở đây

Android dựa vào Linux cho các dịch vụ hệ thống cốt lõi như bảo mật, quản lý bộ nhớ, quản lý quy trình, ngăn xếp mạng và mô hình trình điều khiển. Hạt nhân cũng hoạt động như một lớp trừu tượng giữa phần cứng và phần còn lại của ngăn xếp phần mềm.

Android mới nhất chạy Linux phiên bản 3.10 ( nguồn ).

Và nhận xét của tôi về câu thứ hai của bạn là Linux Kernel là không có nghĩa là cho chỉ hệ điều hành máy tính để bàn. Các trường hợp sử dụng của nó thay đổi từ Máy tính để bàn đến Máy chủ, máy tính lớn và siêu máy tính cho đến Thiết bị nhúng.

Linux là một nhân hệ điều hành được cổng rộng rãi. Do chi phí thấp và dễ tùy chỉnh, nhân Linux được sử dụng trên một loạt các kiến ​​trúc máy tính rất đa dạng: trong các thiết bị cầm tay và Hệ thống máy tính lớn, trong các thiết bị từ điện thoại di động đến siêu máy tính.

Mặt khác, Palm (sau này được HP mua lại) sử dụng hệ điều hành có nguồn gốc từ Linux, webOS , được sử dụng trong dòng điện thoại thông minh Palm Pre. Một số tường lửa và bộ định tuyến mạng từ các nhà sản xuất như Cisco / Linksys sử dụng kernel linux tùy chỉnh. Có hàng tấn thiết bị hiện đang sử dụng linux nhúng .


2
Tôi không biết tại sao nói rằng kernel không dành cho hệ điều hành máy tính để bàn. Nó hoạt động hoàn toàn tốt trên các thiết bị máy tính để bàn. Nó cũng hoạt động tốt trên nhiều loại thiết bị khác vì vậy có thể bạn muốn nói rằng nó không dành riêng cho thiết bị máy tính để bàn.
Richm

@Richm, Cảm ơn bạn đã chỉ ra. Tôi đã sửa nó trong câu trả lời.
Sachin Divekar

Trên nền tảng Linux / UNIX, máy tính để bàn là một bộ ứng dụng sử dụng các dịch vụ kernel. Điều này giúp dễ dàng thêm, trao đổi hoặc loại bỏ máy tính để bàn. Máy chủ thường thay thế máy tính để bàn bằng vỏ thiết bị đầu cuối.
BillThor

Không phải là "điện thoại" chỉ là một dạng máy tính để bàn sao? :-p
johannes

Lưu ý rằng ban đầu Android đã sử dụng một phiên bản hạt nhân linux được sửa đổi rất nhiều, nhưng vào ngày 3.5, rất nhiều tính năng được hợp nhất trở lại vào kernel chính. Android 4.4 hiện đang chạy trên kernel Linux 3.4 được vá ít hơn nhiều (bản phát hành dài hạn)
dtech

6

Vâng, cũng như nhiều thiết bị nhúng khác. Nhiều bộ định tuyến cũng sử dụng HĐH dựa trên Linux, như Sachin nói, nó có thể dễ dàng tùy chỉnh.

Đây là ảnh chụp màn hình Xubfox của tôi, Chạy mksh và Android kernel 3.0.8+ (Từ các nguồn Android x86) Xubfox Chạy mksh và kernel Android 3.0.8+


3

Có và không (tùy thuộc vào ý của bạn bởi Linux)

Có rất nhiều nhầm lẫn xung quanh tên Linux; Nó nếu thường được sử dụng để đề cập đến hai điều khác nhau.

  • Đó là trường hợp của Android, và một số trường hợp khác. Nó đề cập đến một kernel có tên Linux. Một phần nhỏ nhưng cần thiết của một hệ điều hành. Một hạt nhân kiểm soát phần cứng và cung cấp dịch vụ cho phần còn lại của hệ thống. (xem câu trả lời sơ đồ đẹp của @Sachin Divekar).

  • Trong trường hợp của hầu hết tất cả các hệ thống máy tính để bàn, nó đề cập đến X11 + Gnu + Linux. Xem lại sơ đồ, nhưng xóa tất cả các tham chiếu đến điện thoại, điện thoại và Android. Bây giờ thay đổi Khung ứng dụng thành Công cụ Gnu, thêm một lớp có tên X11 và một lớp khác gọi là Gnome hoặc Kde, v.v. Sau đó đặt ứng dụng trở lại trên cùng. Đối với các máy chủ thường không có X11 hoặc Kde / Gnome, vì giao diện người dùng đồ họa là một nguồn tài nguyên.

Android không sử dụng X11 (mặc dù có thể nhưng không chạy ứng dụng Android) hoặc Công cụ Gnu. Tuy nhiên, giống như Gnu + Linux, một số thư viện là Gnu.

Thường rất khó để biết ý nghĩa của một người nào đó khi họ nói Linux. Đây là lý do tại sao bạn nên nói về Gạc / Linux Linux khi bạn muốn nói là Gnu + Linux và kernel Linux Linux, như bạn đã làm, đối với kernel. Tuy nhiên, đừng nói kernel, trừ khi bạn biết đó là gì (tôi đã nghe người ta thêm kernel từ trước Linux (vì họ đã nói đó là thuật ngữ chính xác), hãy cá rằng họ đang sử dụng nó để chỉ Gnu + Linux.


2

Nó không chỉ được nhúng và máy tính để bàn nơi bạn sẽ tìm thấy Linux Kernel.

  • 490 trong số 500 siêu máy tính hàng đầu đang chạy, Gnu / Linux đầy đủ.
  • Khoảng 80% máy chủ web đang chạy Gnu / Linux.
  • Hầu hết các cơ sở hạ tầng internet đang chạy Gnu / Linux hoặc là các thiết bị nhúng. Trong số các thiết bị nhúng này, một tỷ lệ lớn sẽ có kernel có tên Linux.

1
Bây giờ tất cả 500 siêu máy tính hàng đầu chạy Linux .
David Refoua
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.