Le système d'exploitation des appareils Android se compose de deux parties principales :
- Le code générique d'Android (AOSP) et
- Le code spécifique au matériel, fourni par le vendeur de l'OEM/SoC (principalement basé sur les implémentations de référence de l'AOSP).
Projet Treble a pour but de séparer le code AOSP du code vendeur afin que chacun puisse être compilé et mis à jour indépendamment. HIDL (la couche de communication entre les deux couches de code : les HAL et le cadre AOSP) a été spécialement conçue pour atteindre cet objectif. Donc maintenant nous avons nécessairement des system
y vendor
/ odm
partitions. Il a résolu (ou essayé de résoudre) le problème des mises à jour OTA retardées ou inexistantes des OEM après la sortie du dispositif.
Séparation A/B met l'AOSP + le code du fournisseur sur deux paires/slots identiques de partitions (y compris les boot
, system
y vendor
). Ainsi, si la mise à jour OTA échoue sur un emplacement, l'autre continue à fonctionner. Cela permet également de mettre à jour le slot inactif pendant que le système d'exploitation (slot actif) est en cours d'exécution, ce qui n'affecte pas le flux de travail de l'utilisateur. Cette approche encourage les OEM à envoyer des mises à jour plus fréquentes, sans aucune crainte. Comme le documentation officielle États :
Cette approche réduit la probabilité qu'un appareil soit inactif après une mise à jour, ce qui signifie moins de remplacements d'appareils et de réinitialisations d'appareils dans les centres de réparation et de garantie.
Au niveau de la conception, les deux sont indépendants l'un de l'autre (sauf que les deux impliquent des partitions). Treble concerne le système d'exploitation (principalement l'espace utilisateur), c'est-à-dire la manière dont les processus en cours d'exécution de l'AOSP et du fournisseur interagissent les uns avec les autres (y compris l'IPC basé sur l'espace utilisateur). classeurs ). Alors que Séparation A/B remplace le phénomène de la mise à jour OTA qui était auparavant basée sur recovery
y cache
partitions. Cela implique donc des changements nécessaires, même au niveau du chargeur de démarrage, c'est-à-dire de la logique : comment il démarre à partir de différentes partitions. boot
/ system
partitions, en particulier après l'échec d'une mise à jour OTA. Une fois le système d'exploitation chargé, A/B n'est pas un problème (sauf en cas de mise à jour OTA).
Les deux innovations s'attaquent donc à des problèmes différents mais quelque peu liés pour atteindre le même objectif : plus de mises à jour OTA . De plus, ils ont collectivement préparé le terrain pour partitions dynamiques qui permettent aux OEM de redimensionner system
/ vendor
/ odm
/ product
partitions pendant les mises à jour OTA comme l'AOSP et le code du fournisseur augmente ou diminue.