Чому так, що Android все ще не може бути встановлений як звичайна ОС?


11

Чи є якісь технічні чи інші причини, чому Android все ще є прошивкою, а не ОС, яку можна просто встановити без особливих клопотів?

Чому не існує універсального зображення, яке могло б визначити відповідні драйвери (модулі ядра), розділити NAND деяким стандартним способом і налаштувати завантажувач для завантаження оновленої версії ОС?

Що зупиняє Google від створення реальної (менш прошивної) ОС (ОС для невеликих пристроїв ARM, x86 тощо)?


1
Варто зазначити, що це не виключно для Android, інші ОС, які зосереджені на пристроях ARM (навіть Windows 8 RT Microsoft), не можуть бути просто встановлені на будь-якій іншій машині ARM, але трактуються більше як програмне забезпечення.
GAThrawn

Це файли заголовків: theregister.co.uk/2011/03/29/…
Thufir

Відповіді:


11

Що заважає Google створити справжню ОС (ОС для невеликих пристроїв ARM, x86 тощо)?

Це "справжня" ОС.

Чому немає універсального зображення, яке могло б виявити відповідні драйвери

Як виявити драйвери, які не існують? Хтось має їх написати. На відміну від ПК, апаратне забезпечення телефону сильно відрізняється, багато в чому тому, що кінцеві користувачі не можуть створити свої власні з обмежень щодо частин та розмірів. Налаштовані деталі замість взаємозамінних та спеціальних наборів чіпів означають, що потрібні дуже конкретні драйвери, і ОС не може просто доставляти за замовчуванням. Уявіть собі, що розквіт - хтось із дешевим телефоном HTC з 20 Мб для додатків не має місця для розміщення драйверів, які їм не потрібні.

і налаштувати завантажувач для завантаження оновленої версії ОС

Завантажувачі також сильно відрізняються між пристроями; вам доведеться залучати всіх виробників на борт, щоб використовувати одного, і виробники навряд чи захочуть відмовитися від своєї влади в цій галузі.


3
… Але вони могли зробити розповсюдження за допомогою дуже модульного ядра, а потім встановити потрібні речі. Комп'ютерне обладнання також варіюється від pentium з баггічним CMD640 IDE до Core i7 з usb3. Вони можуть зробити інсталятор, який читає VendorIS: DeviceID з існуючої ОС на пристрої, а потім просто компілює ядро ​​на QEMu, а потім просто передає його на пристрій з новими речами. Я думаю, ви праві, навіть якщо людина може просто скористатися menuconfig, щоб зробити достатньо хороше ядро ​​для конкретного пристрою, що навряд чи може бути зроблене автоматично деяким сценарієм.
Олексій Болотов

1
@OleksandrBolotov: Майте на увазі, що ядро ​​Linux також містить велику кількість реалізацій драйверів з відкритим кодом, які компілюються під час запуску збірки. Переважна більшість драйверів, що використовуються мобільними пристроями, є власником, тому, хоча ви, звичайно, можете створити Android з джерела для будь-якого пристрою, даючи достатньо часу, вам доведеться реалізувати всі драйвери. Крім того, Google може виконати угоди про інтелектуальну власність, якщо вони це зробили самі (я не знаю напевно, але це, безумовно, може бути в договорах з різними виробниками).
eldarerathis

2
@OleksandrBolotov Я, безумовно, погоджуюся, що вони могли б зробити щось, щоб пом’якшити проблеми, але ми можемо лише припускати, що проблеми вони не роблять;). Я думаю, що спекуляції далі будуть виходити за рамки наших можливостей.
Матвій

2
Так, tl; dr, це проблема з драйверами. Хтось повинен зробити водіїв.
Брайан Денні

За дизайном чи ідеальним сценарієм, ядро ​​містило б усі драйвери, в той час як ОС Android є універсальною, обидві можуть бути прошиті окремо, або прошиваються разом у комплекті як біржова прошивка (яку ми бачимо сьогодні багато). Якщо ядро ​​було відокремлене від ОС, чи зможемо ми перенести AOSP без ядра безпосередньо на будь-який пристрій, у якого спочатку спалахнуло його виробник? Може, це вже існує? ІДК
Aaron Gillion

3

Для того, щоб забезпечити те, що ви, начебто, просите, до операційної системи потрібно було б додати додатковий шар (або більш надійний) абстракції , щоб він був менш щільно пов'язаний з обладнанням. Додавання цього потребує більше пам’яті та витрачає більше циклів процесора на платформі, на яку мало що запасно.


2

Постійний позов Google з Oracle!

У Google є план щодо залучення Android до ПК - але це не зовсім те, що ви передбачаєте: Google хоче додати середовище виконання Android у Chrome. Android міг би - з великою роботою - зробити його встановити на ПК, але приведення його до Chrome означає, що він може бути легко розгорнутий на 25% усіх комп’ютерів негайно (25% - це частка ринку на Chrome).

Якщо ви мені не вірите, подивіться електронну пошту курильного пістолета, яку Google зараз бореться, щоб уникнути судового розгляду - йдеться про те, що Google потребує Java для Chrome.

Я не припускаю, що Google несподівано відмовиться від Java, якщо вони втратять позов - вони занадто віддані Яві, щоб зробити це - але хотіли б хоча б знати, якими будуть умови використання Java раніше вони роблять крок, який би значно посилив їх залежність від цього.


1
Google просто страждає від поганих рішень, прийнятих давно Android Inc. Це була така жахлива ідея використовувати Java для розробки додатків у НОВІЙ ОС. Хіба це не було очевидно, що Java - це лише власна пастка, і їм навіть не потрібна, щоб зробити невідовий байт-код VM для Dalvik. Я думаю, у них просто є зрадники в управлінні, які все пояснюють.
Олексій Болотов

1
Здавалося б, додавання середовища виконання Android до Chrome може бути не таким вже й складним, якщо це все, що потрібно зробити ... bluestacks.com - програми для Android, що працюють на робочому столі Windows!
Капітан Жаба

2
Чи є у вас якісь докази на все це, чи ви просто роздумуєте?
Dan Hulme

Звичайно, багато що змінилося з моменту написання цієї відповіді. Найважливішим було те, що Пачай замінив Рубін та пов'язані з ним повторні організації в Google. Всі знаки, здавалося, змінилися після цього, і IO13 був набагато іншим, ніж IO12: явно вони зараз підштовхують Chrome як мобільну платформу, і я більше не вірю, що вони принесуть Android до Chrome.
Том

1

Інші люди, крім Google, вже працюють над її перенесенням на платформу x86. Якщо ви перевірите проект Android-x86, ви можете побачити різні версії, доступні для обмеженої кількості апаратних пристроїв. Я спробував завантажити пару зображень і змусити їх працювати у VirtualBox на своєму комп’ютері (CrunchBang Linux на базі Debian на Dell Latitude D520), але не зміг завантажити його. Ви, можливо, зможете. GL!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.