Почему 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. Они могли бы создать установщик, который читает VendorISs: DeviceID из существующей ОС на устройстве, а затем просто компилирует ядро ​​в QEMu, а затем просто передает его на устройство с новым материалом. Я думаю, вы правы, даже если человек может просто использовать menuconfig, чтобы сделать достаточно хорошее ядро ​​для конкретного устройства, что вряд ли может быть сделано автоматически каким-либо сценарием.
Алекс Болотов

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

2
@ Александр Болотов Я, конечно, согласен, что они могли бы что-то сделать, чтобы смягчить проблемы, но мы можем только предположить, что проблемы, почему они не делают;). Я думаю, что спекулировать дальше было бы за пределами наших возможностей.
Мэтью Прочитал

2
Да, это проблема с драйверами. Кто-то должен сделать драйверы.
Брайан Денни

По своему замыслу или идеальному сценарию само по себе ядро ​​будет содержать все драйверы, в то время как ОС Android универсальна, обе они могут быть прошиты по отдельности или вместе в виде стандартной прошивки (которую мы сегодня много видим). Если бы ядро ​​было отделено от ОС, можно ли было бы прошить AOSP без ядра непосредственно на любое устройство, на котором сначала прошилось ядро ​​его производителя? Может быть, это уже существует? Idk
Аарон Гиллион,

3

Чтобы обеспечить то, о чем вы, похоже, просите, в операционную систему необходимо добавить дополнительный уровень (или более надежный) абстракции , чтобы он был менее тесно связан с оборудованием. Добавление этого потребовало бы больше памяти и потребляло бы больше циклов ЦП на платформе, на которой было бы мало свободного места.


2

Google продолжает судебный процесс с Oracle!

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

Если вы мне не верите, посмотрите на электронное письмо с курящим оружием, которое Google в настоящее время борется за то, чтобы не подать в суд - это относится к Google, нуждающемуся в Java для Chrome.

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


1
Google просто страдает от плохих решений, принятых давным-давно Android Inc. Это была такая ужасная идея - использовать Java для разработки приложений на НОВОЙ ОС. Разве не достаточно очевидно, что Java - это проприетарная ловушка, и им даже не нужно делать байт-код не-Java VM для Dalvik. Я думаю, у них просто есть предатели в управлении, которые все объясняют.
Алексей Болотов

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

2
У вас есть какие-либо доказательства для всего этого, или вы просто дико спекулируете?
Дэн Халм,

Конечно, многое изменилось с тех пор, как я написал этот ответ. Самым важным было то, что Pachai заменил Рубина и связанную с ним реорганизацию в Google. После этого все признаки изменились, и IO13 сильно отличался от IO12: теперь они явно выдвигают Chrome как мобильную платформу, поэтому я больше не верю, что они приведут Android к Chrome.
Том

1

Другие люди, кроме Google, уже работают над его портированием на платформу x86. Если вы посмотрите на Android-x86 Project, вы увидите различные доступные сборки, хотя и для ограниченного количества аппаратных устройств. Я попытался загрузить пару образов и запустить их в VirtualBox на моем компьютере (CrunchBang Linux на основе Debian на Dell Latitude D520), но не смог загрузить его. Возможно, вы сможете. GL!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.