Mengapa Android masih tidak dapat diinstal sebagai OS biasa?

11

Apakah ada alasan teknis atau lainnya mengapa Android masih merupakan firmware dan bukan OS yang hanya dapat diinstal tanpa banyak kesulitan?

Mengapa tidak ada gambar universal yang dapat mendeteksi driver yang sesuai (modul kernel), mempartisi NAND dengan beberapa cara standar dan mengkonfigurasi boot loader untuk mem-boot versi OS yang diperbarui?

Apa yang menghentikan Google untuk membuat OS nyata (kurang seperti firmware) (OS untuk perangkat ARM kecil, x86, dll.)?

Alex Bolotov
sumber
1
Perlu dicatat bahwa ini tidak eksklusif untuk Android, OS lain yang fokus pada perangkat ARM (bahkan Microsoft Windows 8 RT) tidak dapat diinstal pada mesin ARM lain, tetapi diperlakukan lebih seperti firmware.
Digambar
Ini adalah file header: theregister.co.uk/2011/03/29/…
Thufir

Jawaban:

11

Apa yang menghentikan Google untuk membuat OS nyata (OS untuk ARM kecil, perangkat x86 dll)?

Ini adalah OS "nyata".

Mengapa tidak ada gambar universal yang bisa mendeteksi driver yang sesuai

Bagaimana Anda mendeteksi driver yang tidak ada? Seseorang harus menulisnya. Tidak seperti PC, perangkat keras telepon sangat bervariasi, terutama karena tidak layak bagi pengguna akhir untuk membuat sendiri dari bagian dan batasan ukuran. Komponen yang dapat disesuaikan alih-alih yang dapat dipertukarkan dan chipset khusus berarti diperlukan driver yang sangat spesifik, dan OS tidak dapat hanya mengirimkan yang standar. Bayangkan mengasapi juga - seseorang dengan ponsel HTC murah dengan 20 MB untuk aplikasi tidak memiliki ruang untuk host driver yang tidak mereka butuhkan.

dan konfigurasikan boot loader untuk mem-boot versi OS yang diperbarui

Bootloader juga sangat bervariasi antar perangkat; Anda harus mendapatkan semua pabrikan untuk menggunakan satu pabrikan, dan pabrikan tidak mungkin ingin menyerahkan kekuatan mereka di bidang itu.

Matius Baca
sumber
3
… Tetapi mereka dapat melakukan distribusi dengan kernel yang sangat modular dan kemudian menginstal hal-hal yang hanya diperlukan. Perangkat keras PC juga bervariasi dari pentium dengan IDE CMD640 buggy hingga Core i7 dengan usb3. Mereka dapat membuat installer yang membaca VendorIS: DeviceIDs dari OS yang ada di perangkat dan kemudian hanya mengkompilasi kernel pada QEMu dan kemudian hanya mentransfernya ke perangkat dengan hal-hal baru. Saya kira Anda benar bahkan jika itu mungkin bagi seseorang untuk hanya menggunakan menuconfig untuk membuat kernel yang cukup baik untuk perangkat tertentu, yang hampir tidak dapat dibuat secara otomatis oleh beberapa skrip.
Alex Bolotov
1
@OleksandrBolotov: Ingatlah bahwa kernel Linux juga mengandung sejumlah besar implementasi driver open source yang dikompilasi ketika Anda menjalankan build. Sebagian besar driver yang digunakan oleh perangkat seluler adalah milik, jadi meskipun Anda tentu dapat membangun Android dari sumber untuk perangkat apa pun dengan waktu yang cukup, Anda harus mengimplementasikan semua driver. Selain itu, Google mungkin melanggar perjanjian properti intelektual jika mereka melakukan ini sendiri (saya tidak tahu pasti tetapi mungkin dalam kontrak mereka dengan berbagai produsen).
eldarerathis
2
@OleksandrBolotov Saya tentu saja setuju bahwa mereka dapat melakukan sesuatu untuk mengurangi masalah, tetapi kita hanya dapat berasumsi bahwa masalah adalah mengapa mereka tidak;). Saya pikir berspekulasi lebih lanjut akan berada di luar jangkauan kami.
Matius Baca
2
Ya, tl; dr itu masalah driver. Seseorang harus membuat driver.
Bryan Denny
Dengan desain, atau skenario sempurna sendiri, kernel akan berisi semua driver, sementara OS Android bersifat universal, keduanya dapat di-flash secara terpisah, atau di-flash bersama dalam satu bundel sebagai firmware bawaan (yang banyak kita lihat saat ini). Jika kernel dipisahkan dari OS, bisakah kita dapat mem-flash AOSP yang kurang kernel langsung ke perangkat apa pun yang telah di-flash kernel pabrikannya terlebih dahulu? Mungkin ini sudah ada? Idk
Aaron Gillion
3

Untuk memberikan apa yang Anda minta, lapisan tambahan (atau yang lebih kuat) abstraksi harus ditambahkan ke sistem operasi sehingga tidak terlalu erat dengan perangkat keras. Menambahkan ini akan membutuhkan lebih banyak memori dan mengkonsumsi lebih banyak siklus CPU pada platform yang memiliki sedikit cadangan.

Dijeda sampai pemberitahuan lebih lanjut.
sumber
2

Gugatan berkelanjutan Google dengan Oracle!

Google memang memiliki rencana untuk membawa Android ke PC - tetapi ini tidak sesuai dengan yang Anda bayangkan: Google ingin menambahkan lingkungan eksekusi Android ke Chrome. Android dapat - dengan banyak pekerjaan - dengan dibuat agar dapat diinstal pada PC, tetapi membawanya ke Chrome berarti dapat dengan mudah digunakan untuk 25% dari semua komputer segera (25% menjadi pangsa pasar ~ Chrome).

Jika Anda tidak mempercayai saya, lihatlah e-mail pistol merokok yang saat ini Google perjuangkan untuk menghindari gugatan hukum - ini mengacu pada Google yang membutuhkan Java untuk Chrome.

Saya tidak menyarankan bahwa Google akan tiba-tiba drop Java jika mereka kehilangan gugatan - mereka terlalu jauh berkomitmen untuk Jawa untuk melakukan itu - tetapi mereka ingin setidaknya tahu apa syarat menggunakan Java akan menjadi sebelum mereka mengambil langkah yang secara signifikan akan meningkatkan ketergantungan mereka terhadapnya.

Tom
sumber
1
Google baru saja menderita keputusan buruk yang dibuat lama oleh Android Inc. Itu adalah ide yang mengerikan untuk menggunakan Java untuk pengembangan aplikasi pada OS BARU. Bukankah sudah cukup jelas bahwa Java hanyalah jebakan berpemilik dan mereka bahkan tidak memerlukannya untuk membuat bytecode VM non-java untuk Dalvik. Saya kira mereka hanya memiliki pengkhianat dalam manajemen yang menjelaskan semuanya.
Alex Bolotov
1
Tampaknya menambahkan lingkungan eksekusi Android ke Chrome mungkin tidak terlalu sulit jika ini adalah ... bluestacks.com - Aplikasi Android yang berjalan di desktop Windows!
Kapten Toad
2
Apakah Anda punya bukti untuk semua ini, atau Anda hanya berspekulasi liar?
Dan Hulme
Tentu saja, banyak yang telah berubah sejak saya menulis jawaban ini. Yang paling penting adalah Pachai menggantikan Rubin dan re-org terkait di Google. Semua tanda tampaknya berubah setelah itu, dan IO13 jauh berbeda dari IO12: jelas mereka sekarang mendorong Chrome sebagai platform seluler sendiri, jadi saya tidak lagi percaya mereka akan membawa Android ke Chrome.
Tom
1

Orang lain selain Google sedang mengerjakan porting ke platform x86. Jika Anda memeriksa Proyek Android-x86 Anda dapat melihat berbagai build yang tersedia meskipun untuk sejumlah perangkat perangkat keras. Saya mencoba mengunduh beberapa gambar dan membuatnya berjalan di VirtualBox di komputer saya (CrunchBang Linux berdasarkan Debian pada Dell Latitude D520) tetapi tidak dapat memuatnya. Anda mungkin bisa melakukannya. GL!

vyse
sumber