Android dựa trên Linux, nhưng điều đó có nghĩa là gì?
Android có thể dựa trên Linux, nhưng nó không dựa trên loại hệ thống Linux mà bạn có thể đã sử dụng trên PC. Bạn không thể chạy các ứng dụng Android trên các bản phân phối Linux điển hình và bạn không thể chạy các chương trình Linux mà bạn quen thuộc trên Android.
Linux chiếm phần cốt lõi của Android, nhưng Google đã không thêm tất cả các phần mềm và thư viện điển hình mà bạn tìm thấy trên một bản phân phối Linux như Ubuntu. Điều này làm cho tất cả sự khác biệt.
Linux Linux và hạt nhân Linux
Sự khác biệt lớn ở đây thuộc về ý nghĩa của Linux. Mọi người sử dụng thuật ngữ Linux Linux có nghĩa là nhiều thứ khác nhau. Về cơ bản nhất, Linux có nghĩa là nhân Linux. Nhân là phần cốt lõi của bất kỳ hệ điều hành nào.
Chúng tôi cũng đề cập đến các bản phân phối Linux đơn giản là Linux Linux. Tuy nhiên, các bản phân phối Linux không chỉ là nhân Linux. Chúng chứa nhiều phần mềm khác, chẳng hạn như các tiện ích shell GNU, máy chủ đồ họa Xorg, máy tính để bàn Gnome, trình duyệt web Firefox, v.v. Đó là lý do tại sao một số người nghĩ rằng thuật ngữ GNU / Linux nên được sử dụng cho các bản phân phối Linux Linux như Ubuntu, Mint, Debian, Fedora, Arch, openSUSE và những người khác.
Android sử dụng nhân Linux dưới mui xe. Vì Linux là mã nguồn mở, các nhà phát triển Android của Google có thể sửa đổi nhân Linux để phù hợp với nhu cầu của họ. Linux cung cấp cho các nhà phát triển Android một hạt nhân hệ điều hành được xây dựng sẵn, được bảo trì để bắt đầu để họ không phải viết hạt nhân của riêng họ. Đây là cách xây dựng nhiều thiết bị khác nhau - ví dụ, PlayStation 4 sử dụng nhân FreeBSD mã nguồn mở, trong khi Xbox One sử dụng nhân Windows NT có trong các phiên bản Windows hiện đại.
Thậm chí bạn sẽ thấy phiên bản nhân Linux chạy trên thiết bị của mình trong Giới thiệu về điện thoại hoặc Giới thiệu về máy tính bảng trong Cài đặt của Android.
Sự khác biệt
Có một số tranh luận về việc liệu Android có đủ điều kiện là một bản phân phối Linux Linux hay không. Nó sử dụng nhân Linux và phần mềm khác, nhưng nó không bao gồm nhiều phần mềm mà các bản phân phối Linux thường bao gồm.
Khi bạn khởi động một thiết bị Android, nhân Linux sẽ tải giống như trên bản phân phối Linux. Tuy nhiên, phần lớn các phần mềm khác là khác nhau. Android không bao gồm Thư viện GNU C (glibc) được sử dụng trên các bản phân phối Linux tiêu chuẩn, cũng không bao gồm tất cả các thư viện GNU mà bạn tìm thấy trên một bản phân phối Linux điển hình. Nó cũng không bao gồm máy chủ X như Xorg, vì vậy bạn không thể chạy các ứng dụng Linux đồ họa tiêu chuẩn.
Thay vì chạy các ứng dụng Linux thông thường, Android sử dụng máy ảo Dalvik để chạy các ứng dụng được viết bằng Java. Các ứng dụng này được nhắm mục tiêu vào các thiết bị Android và giao diện lập trình ứng dụng (API) mà Android cung cấp thay vì nhắm mục tiêu vào Linux nói chung.
Tại sao bạn không thể chạy phần mềm máy tính để bàn Linux trên Android
Vì Android không bao gồm máy chủ đồ họa X hoặc tất cả các thư viện GNU tiêu chuẩn, bạn không thể chạy các ứng dụng Linux trên Android. Bạn phải chạy các ứng dụng được viết riêng cho Android.
Android có một lớp vỏ giống như cái mà bạn sẽ tìm thấy trên Linux. Không có cách nào để truy cập nó bên ngoài, nhưng bạn có thể cài đặt một ứng dụng như Trình mô phỏng thiết bị đầu cuối Android để có quyền truy cập vào môi trường thiết bị đầu cuối này.
Theo mặc định, không có nhiều bạn có thể làm ở đây. Thiết bị đầu cuối vẫn sẽ chạy trong một môi trường hạn chế, vì vậy bạn không thể có được một vỏ gốc đầy đủ mà không cần root thiết bị Android của bạn. Nhiều lệnh tiêu chuẩn bạn có thể cần không có sẵn - đó là lý do tại sao những người root thiết bị của họ thường cài đặt ứng dụng BusyBox, cài đặt nhiều tiện ích dòng lệnh. Các tiện ích này được các ứng dụng sử dụng để thực hiện mọi việc với quyền truy cập root của chúng.
Tại sao bạn không thể chạy phần mềm Android trên máy tính để bàn Linux
Linux không bao gồm máy ảo Dalvik, vì vậy nó không thể chạy các ứng dụng Android. Ví dụ, máy ảo Dalvik và tất cả các phần mềm khác của Android không thể được đưa vào máy Linux để bàn - bạn sẽ phải làm nhiều việc hơn để tạo các ứng dụng Android xuất ra một cửa sổ trên máy tính để bàn thông qua Xorg. Về mặt lý thuyết, với đủ công việc, các nhà phát triển có thể khiến Dalvik chạy trên máy tính để bàn Linux để người dùng Linux trên máy tính để bàn có thể chạy ứng dụng Android trên máy tính để bàn của họ. Sản phẩm Ubuntu dành cho Android hiện không hoạt động đã cố gắng làm một cái gì đó như thế này, tích hợp Ubuntu và Android trên điện thoại và cho phép các ứng dụng Android đó chạy trên máy tính để bàn của Ubuntu.
BlueStacks và các trình giả lập ứng dụng Android khác cố gắng làm điều này cho Windows và Mac. Họ chạy Android trên phần cứng ảo trong một máy ảo, cho phép họ chạy các ứng dụng Android - với một hình phạt hiệu suất - trên máy tính để bàn của bạn. Những giải pháp này chưa được chứng minh là rất phổ biến, mặc dù.
Hệ điều hành Chrome của Google cũng dựa trên Linux. Giống như Android, Chrome OS không cung cấp hệ thống cửa sổ X tiêu chuẩn, vì vậy các ứng dụng Linux tiêu chuẩn không thể chạy trên Chrome OS. Không giống như Android, Chrome OS gần với các bản phân phối Linux dành cho máy tính để bàn tiêu chuẩn hơn nên bạn có thể sử dụng chế độ nhà phát triển để cài đặt phần mềm máy tính Linux bị thiếu.
Tín dụng hình ảnh: ranti trên Flickr, Giải phẫu và Sinh lý học của Android