3 votos

Los dispositivos de agudos no son iguales a los de A/B y viceversa. ¿Por qué?

Este blog de XDA Cómo afectan las particiones A/B y las actualizaciones sin fisuras al desarrollo personalizado en XDA tiene algunas preguntas y respuestas, de las cuales :

  • Mi dispositivo admite particiones A/B, ¿significa eso que puedo utilizar una imagen de sistema genérica de Project Treble?

No necesariamente. El Proyecto Trébol y el soporte A/B no están relacionados. El El Motorola Moto Z2 Force no es compatible con Project Treble, pero sí con el esquema de particiones A/B .

  • Mi dispositivo es compatible con Project Treble, ¿significa eso que tengo un esquema de partición A/B?

No siempre es así. El Honor 9 Lite es un buen ejemplo, ya que soporta el Proyecto Trébol pero no tiene un esquema de partición A/B .

(Énfasis añadido)

Pensé que los dispositivos de agudos y A/B eran sinónimos en el sentido de que tener uno implicaba otro. No es el caso

¿Por qué? ¿Cuáles son las diferencias?

9voto

pr0nin Puntos 353

Ambas tecnologías no tienen nada en común, en realidad, así que todo está desvinculado:

La tecnología de partición A/B es la separación horizontal en la siguiente imagen, mientras que el Proyecto Trébol define las separaciones verticales dentro de cada partición.

enter image description here Fuente del diagrama del Proyecto Treble

Esquema de partición A/B

Básicamente, el esquema de partición A/B para las "Actualizaciones del sistema (sin fisuras)" no es más que dos sistemas operativos instalados uno al lado del otro, cada uno en su propia partición del sistema. La parte inusual (en comparación con, por ejemplo, tener varios sistemas operativos instalados en un PC) es que ambas instalaciones del sistema operativo utilizan la misma partición de datos del usuario. Además, al instalar las actualizaciones, la instalación del sistema operativo activo aplica las modificaciones a la otra instalación del sistema operativo inactivo, en lugar de a sí misma.

El diseño de la partición A/B no hace ninguna suposición sobre el sistema operativo que está instalado dentro de la partición, por lo tanto no importa si el sistema operativo es compatible con Project Treble o no.

Proyecto Treble

El Proyecto Treble se aplica a las partes internas de cada instalación del sistema operativo y a la forma en que las diferentes capas del sistema operativo se comunican entre sí. Por lo tanto, para el Proyecto Treble es totalmente irrelevante si hay una, dos o muchas particiones del SO. El esquema de partición A/B es compatible con Project Treble, pero independiente de éste, y viceversa.

4voto

Jack Wade Puntos 231

El sistema operativo de los dispositivos Android consta de dos partes principales:

  • El código genérico de Android (AOSP) y
  • El código específico del hardware, proporcionado por el proveedor OEM/SoC (en su mayoría basado en las implementaciones de referencia de AOSP).

Proyecto Treble tiene como objetivo separar el código AOSP del código del proveedor para que cada uno pueda ser compilado y actualizado independientemente. HIDL (la capa de comunicación entre ambas capas de código: HALs y el marco AOSP) fue diseñada específicamente para lograr el objetivo. Así que ahora tenemos necesariamente separados system y vendor / odm particiones. Resolvió (o intentó resolver) el problema del retraso o la ausencia de actualizaciones OTA de los OEM tras el lanzamiento del dispositivo.

Partición A/B pone AOSP + código de proveedor en dos pares/ranuras idénticas de particiones (incluyendo boot , system y vendor ). Así, si la actualización OTA falla en una ranura, la otra sigue funcionando. También hace posible la actualización de la ranura inactiva mientras el sistema operativo (ranura activa) está funcionando, por lo que no afecta al flujo de trabajo del usuario. Este enfoque anima a los OEM a enviar actualizaciones más frecuentes, sin ningún temor. Como el documentación oficial estados:

Este enfoque reduce la probabilidad de un dispositivo inactivo después de una actualización, lo que significa menos reemplazos de dispositivos y reflashings de dispositivos en los centros de reparación y garantía.

A nivel de diseño, ambos son independientes entre sí (salvo que ambos implican particiones). Agudos es relevante para el sistema operativo (principalmente el espacio de usuario), es decir, cómo interactúan entre sí los procesos en ejecución de AOSP y del proveedor (incluye IPC basado en carpetas ). Mientras que Partición A/B sustituye al fenómeno de la actualización OTA que antes se basaba en recovery y cache particiones. Por lo tanto, implica cambios necesarios incluso en el cargador de arranque, es decir, la lógica: cómo se inicia desde diferentes boot / system particiones, especialmente después de una actualización OTA fallida. Una vez cargado el sistema operativo, el A/B no es de mucha importancia (excepto cuando se produce la actualización OTA).

Así pues, ambas innovaciones abordan problemas diferentes pero en cierto modo relacionados para lograr el mismo objetivo: más actualizaciones OTA . Además, colectivamente, sentaron las bases para particiones dinámicas que permiten a los OEM cambiar el tamaño system / vendor / odm / product particiones durante las actualizaciones de la OTA a medida que el AOSP y el código del proveedor crecen o se reducen.

1 votos

Gracias por añadir aportaciones y aclaraciones. Me ha gustado la relación con las particiones dinámicas. Este es el tipo de respuestas que aumentan el valor del contenido del sitio :-)

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X