Почему Android требует переноса на каждое устройство, в отличие от Windows? [дубликат]

Почему Android требует переноса на каждое устройство, в отличие от Windows? Вернее, почему нет способа просто скачать программу установки для чистого AOSP и установить ее на любое устройство?

Я уже читал этот вопрос , и в нем говорится, что Android требует определенного портирования для каждой конфигурации устройства (настройки оборудования), чтобы вообще работать . Но мой вопрос: почему Android был разработан таким образом, что требуется модификация его базового исходного кода в соответствии с аппаратным обеспечением устройства (добавление драйверов и т. д.)? Почему он не поддерживает установку оригинального AOSP от Google с базовыми драйверами на любое оборудование, которое затем можно улучшить, чтобы оно лучше работало с драйверами для конкретных устройств от производителя?

Напротив, Windows была разработана таким образом, что одна и та же программа установки может установить ее на любой вариант аппаратной конфигурации. Вы можете придумать конфигурацию, которую раньше никто не придумал, и Windows, скорее всего, установится и запустится на ней просто отлично. Шансы на полный отказ запуска Windows в конкретной конфигурации чрезвычайно малы и, вероятно, только из-за нишевого оборудования.

Даже если правильные драйверы для устройства не могут быть найдены, Windows попытается найти наиболее близкое соответствие для устройства и все равно попытается запустить устройство в базовом режиме, а затем пользователь сможет обновить его до нужного драйвера после установки Windows. завершено. И вероятность полного отказа некоторых устройств может быть выше, но все же очень низкой, и такие сбои обычно можно устранить, установив отсутствующие драйверы.

Напротив, в Android даже нет понятия «установка драйвера», но драйверы добавляются на уровне источника в процессе, называемом портированием , что приводит к множеству различных вариантов ПЗУ, включая стандартные ПЗУ от производителей устройств и ванильные порты, такие как CyanogenMod, MUIU и т. д. Это создает проблему, заключающуюся в том, что если никто не портирует Android для вашего устройства, у вас нет ПЗУ для установки на него (кроме стандартного ПЗУ, с которым оно поставляется) — если только вы не создадите его самостоятельно.

Я понимаю, что Android принципиально сильно отличается от Windows и даже от Linux (на котором он основан), и я не имею в виду сравнивать яблоки с апельсинами. Я просто хочу понять, почему такое изменение парадигмы в поддержке устройств было необходимо для Android.

Спасибо @DanHulme. Это поучительное чтение. Я также хочу упомянуть эту ссылку: Почему у вас никогда не будет последней версии Android

Ответы (1)

Windows была создана для работы с несколькими типами устройств и имеет возможность загружать драйверы со съемных устройств и из большого онлайн-репозитория (Центр обновления Windows). В Windows МНОГО встроенных драйверов.

Android намного меньше (что лучше для смартфонов. Поэтому вам нужно включить драйверы и другие специфичные для устройства вещи в свое ПЗУ.

В основном очень краткое изложение ссылок :)