Tại sao Android vẫn không thể được cài đặt như hệ điều hành thông thường?


11

Có bất kỳ lý do kỹ thuật hoặc lý do nào khác tại sao Android vẫn là chương trình cơ sở và không phải là hệ điều hành có thể được cài đặt mà không gặp nhiều rắc rối không?

Tại sao không có hình ảnh phổ quát nào có thể phát hiện trình điều khiển thích hợp (mô-đun hạt nhân), phân vùng NAND theo một cách tiêu chuẩn nào đó và định cấu hình bộ tải khởi động để khởi động phiên bản hệ điều hành cập nhật?

Điều gì ngăn Google tạo ra một HĐH thực (ít giống firmware) (HĐH cho các thiết bị ARM nhỏ, x86, v.v.)?


1
Điều đáng chú ý là điều này không dành riêng cho Android, các HĐH khác tập trung vào các thiết bị ARM (ngay cả Windows 8 RT của Microsoft) không thể được cài đặt trên bất kỳ máy ARM nào khác, nhưng được coi là phần sụn hơn.
GAThrawn

Đó là các tệp tiêu đề: theregister.co.uk/2011/03/29/ Lời
Thufir 11/12/13

Câu trả lời:


11

Điều gì ngăn Google tạo ra một HĐH thực sự (một HĐH cho các thiết bị ARM nhỏ, x86, v.v.)?

Đây là một hệ điều hành "thực sự".

Tại sao không có hình ảnh phổ quát có thể phát hiện trình điều khiển thích hợp

Làm thế nào để bạn phát hiện các trình điều khiển không tồn tại? Ai đó phải viết chúng. Không giống như PC, phần cứng điện thoại rất khác nhau, phần lớn là do người dùng cuối không thể tự xây dựng từ các ràng buộc về bộ phận và kích thước. Các bộ phận tùy chỉnh thay vì các bộ phận có thể hoán đổi cho nhau và chipset đặc biệt có nghĩa là cần có trình điều khiển rất cụ thể và một hệ điều hành không thể chỉ cung cấp các bộ mặc định. Hãy tưởng tượng sự phình to như vậy - ai đó có điện thoại HTC giá rẻ với 20 MB cho các ứng dụng không có chỗ để lưu trữ trình điều khiển mà họ không cần.

và cấu hình bộ tải khởi động để khởi động phiên bản hệ điều hành cập nhật

Bộ tải khởi động cũng khác nhau giữa các thiết bị; bạn sẽ phải đưa tất cả các nhà sản xuất lên máy bay để sử dụng một chiếc duy nhất và các nhà sản xuất dường như không muốn từ bỏ quyền lực của họ trong khu vực đó.


3
Tuy nhiên, họ có thể phân phối với kernel rất mô-đun và sau đó cài đặt những thứ cần thiết. Phần cứng máy tính cũng thay đổi từ pentium với lỗi IDE640 IDE đến Core i7 với usb3. Họ có thể tạo trình cài đặt đọc VendorIS: DeviceID từ hệ điều hành hiện có trên thiết bị và sau đó chỉ biên dịch kernel trên QEMu và sau đó chỉ cần chuyển nó sang thiết bị với nội dung mới. Tôi đoán bạn đúng ngay cả khi một người chỉ có thể sử dụng menuconfig để tạo ra hạt nhân đủ tốt cho thiết bị cụ thể, điều đó khó có thể được thực hiện tự động bởi một số tập lệnh.
Alex Bolotov

1
@OleksandrBolotov: Hãy nhớ rằng nhân Linux cũng chứa một số lượng lớn các triển khai trình điều khiển nguồn mở được biên dịch khi bạn chạy một bản dựng. Phần lớn các trình điều khiển được sử dụng bởi các thiết bị di động là độc quyền, vì vậy, mặc dù bạn chắc chắn có thể xây dựng Android từ nguồn cho bất kỳ thiết bị nào có đủ thời gian, bạn phải thực hiện tất cả các trình điều khiển. Ngoài ra, Google có thể thực hiện các thỏa thuận sở hữu trí tuệ nếu họ tự làm điều này (tôi không biết chắc chắn nhưng điều đó chắc chắn có trong hợp đồng của họ với các nhà sản xuất khác nhau).
eldarerathis

2
@OleksandrBolotov Tôi chắc chắn đồng ý rằng họ có thể làm gì đó để giảm thiểu các vấn đề, nhưng chúng tôi chỉ có thể cho rằng các vấn đề là tại sao họ không làm vậy;). Tôi nghĩ rằng đầu cơ hơn nữa sẽ vượt quá phạm vi của chúng tôi.
Matthew đọc

2
Vâng, tl; dr đó là một vấn đề trình điều khiển. Ai đó phải làm cho các trình điều khiển.
Bryan Denny

Theo thiết kế, hoặc kịch bản hoàn hảo, hạt nhân sẽ chứa tất cả các trình điều khiển, trong khi HĐH Android là phổ quát, cả hai có thể được flash riêng hoặc flash cùng nhau trong một gói dưới dạng firmware stock (mà chúng ta thấy ngày nay rất nhiều). Nếu hạt nhân được tách ra khỏi HĐH, chúng ta có thể flash AOSP không có kernel trực tiếp lên bất kỳ thiết bị nào có kernel của nhà sản xuất được flash trước không? Có lẽ điều này đã tồn tại? Idk
Aaron Gillion 11/03/2016

3

Để cung cấp những gì bạn dường như đang yêu cầu, một lớp trừu tượng bổ sung (hoặc mạnh mẽ hơn) sẽ phải được thêm vào hệ điều hành để nó sẽ được gắn chặt hơn với phần cứng. Việc thêm này sẽ đòi hỏi nhiều bộ nhớ hơn và tiêu tốn nhiều chu kỳ CPU hơn trên một nền tảng có ít phụ tùng.


2

Vụ kiện đang diễn ra của Google với Oracle!

Google có kế hoạch đưa Android lên PC - nhưng nó không hoàn toàn như bạn đang hình dung: Google muốn thêm môi trường thực thi Android vào Chrome. Android có thể - với rất nhiều công việc - bằng cách có thể cài đặt được trên PC, nhưng mang nó lên Chrome thay vào đó có nghĩa là nó có thể dễ dàng triển khai tới 25% tất cả các máy tính (25% là thị phần của Chrome).

Nếu bạn không tin tôi, hãy xem e-mail của súng hút thuốc mà Google hiện đang đấu tranh để tránh bị kiện - nó đề cập đến việc Google cần Java cho Chrome.

Tôi không gợi ý rằng Google sẽ đột ngột bỏ Java nếu họ thua kiện - họ đã quá cam kết với Java để làm điều đó - nhưng ít nhất họ muốn biết các điều khoản sử dụng Java sẽ ra sao trước đây họ thực hiện một bước sẽ làm tăng đáng kể sự phụ thuộc của họ vào nó.


1
Google vừa phải chịu những quyết định tồi tệ được đưa ra từ lâu bởi Android Inc. Đó là một ý tưởng khủng khiếp khi sử dụng Java để phát triển ứng dụng trên hệ điều hành MỚI. Không rõ ràng rằng Java chỉ là một cái bẫy độc quyền và họ thậm chí không cần nó để tạo mã byte VM không phải java cho Dalvik. Tôi đoán họ chỉ có những kẻ phản bội trong quản lý giải thích mọi thứ.
Alex Bolotov

1
Có vẻ như việc thêm môi trường thực thi Android vào Chrome có thể không khó nếu điều này xảy ra với ... bluestacks.com - Ứng dụng Android chạy trên máy tính để bàn Windows!
Thuyền trưởng cóc

2
Bạn có bất cứ bằng chứng nào cho tất cả những điều này không, hay bạn chỉ đang suy đoán dữ dội?
Dan Hulme

Chắc chắn, nhiều điều đã thay đổi kể từ khi tôi viết câu trả lời này. Quan trọng nhất là Pachai thay thế Rubin và liên kết lại tại Google. Tất cả các dấu hiệu dường như thay đổi sau đó và IO13 khác nhiều so với IO12: rõ ràng giờ đây họ đang đẩy Chrome thành một nền tảng di động, vì vậy tôi không còn tin rằng họ sẽ đưa Android lên Chrome.
Tom

1

Những người khác ngoài Google đang làm việc để chuyển nó sang nền tảng x86. Nếu bạn kiểm tra Dự án Android-x86, bạn có thể thấy các bản dựng khác nhau có sẵn cho một số thiết bị phần cứng hạn chế. Tôi đã cố tải xuống một vài hình ảnh và cho chúng chạy trong VirtualBox trên máy tính của tôi (CrunchBang Linux dựa trên Debian trên Dell Latitude D520) nhưng không thể tải được. Bạn có thể có thể, mặc dù. GL!

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.