26Aug

Les «mises à jour continues» d'Android Nougat, expliquées

Dans toutes les générations d'appareils Android - jusqu'à un système d'exploitation Marshmallow compris - les mises à jour ont essentiellement fonctionné de la même manière: la mise à jour est téléchargée, le téléphone redémarre et la mise à jour est appliquée. Pendant ce temps, le téléphone est rendu inutilisable, au moins jusqu'à ce que la mise à jour soit entièrement installée. Avec les nouveaux "Seamless Updates" de Nougat, ce modèle appartient au passé.

Comment les mises à jour ont changé dans Android 7.0 Nougat

Google a pris une page de son propre système d'exploitation Chrome pour la nouvelle méthode de mise à jour. Les Chromebooks ont toujours fonctionné comme ceci: la mise à jour se télécharge en arrière-plan, puis demande à l'utilisateur qu'un redémarrage est nécessaire pour terminer le processus d'installation. Un redémarrage rapide plus tard, et la mise à jour est terminée - pas d'attente pour l'installation de la mise à jour, pas d'optimisation, ou tout autre élément qui semble prendre

.C'est rapide, facile, et surtout, n'a pas une quantité déraisonnable de temps d'arrêt.

Depuis Android 7.0, c'est la direction dans laquelle vont les mises à jour Android. Il est à noter ici que ce ne s'appliquera pas à aux appareils mis à jour à Nougat, seulement ceux qui sont livrés avec le logiciel. La raison en est parfaitement logique: cette nouvelle méthode de mise à jour nécessitera deux partitions système pour fonctionner, et à peu près tous les téléphones Android actuels n'en ont qu'un. Re-partitionner l'appareil à la volée pourrait être potentiellement catastrophique( et le serait probablement dans de nombreux scénarios), de sorte que la décision de Google de le laisser seul sur les téléphones de génération actuelle est respectable, bien que décevante.

Cela fonctionne un peu comme ceci: il y a une partition système active et une partition dormante, qui sont des images miroir l'une de l'autre. Lorsqu'une mise à jour OTA devient disponible, la partition active la télécharge, puis met à jour la partition inactive. Un redémarrage plus tard, la partition dormante devient active, et la partition précédemment active devient dormante, ce qui applique le logiciel mis à jour.

Non seulement cela rend l'ensemble du processus de mise à jour infiniment plus rapide, mais il sert aussi de sorte de système de sauvegarde. Si quelque chose ne va pas avec la mise à jour, le système peut détecter une erreur lors du démarrage et retourner simplement à la partition système non affectée. Au redémarrage, il peut alors envoyer une requête ping aux serveurs de téléchargement, réappliquer la mise à jour et redémarrer pour terminer le processus. Comparé à la façon dont les échecs de mise à jour catastrophiques sont gérés dans le système actuel, ce qui nécessite beaucoup d'interaction avec l'utilisateur, les outils de développement Android et la familiarité avec la ligne de commande, la méthode à double partition est tout simplement meilleure.

Nous n'avons pas encore vu cela en action, donc il y a encore beaucoup de questions

Bien sûr, il vient avec son propre ensemble de questions et de préoccupations. Bien que nous comprenions comment ce système fonctionne en théorie, nous n'avons pas encore vu comment il fonctionne réellement dans la pratique, puisque Nougat n'a pas encore eu de mise à jour, et aucun appareil n'a été livré avec la version 7.0.Tout est spéculation, mais j'imagine que lorsqu'une mise à jour est appliquée, par exemple, il y aura probablement un impact très fort sur les performances du système.

En outre, si vous êtes comme moi, vous avez lu la section ci-dessus et pensé: "Combien d'espace aura deux partitions système?" On pourrait supposer automatiquement que cela prendra deux fois la quantité d'espace, ce qui n'est pascomplètement incorrect, mais vous devez également vous rappeler que ce sont des partitions du système , ce qui ne signifie pas qu'il faudra deux copies de chaque application installée. Pourtant, cela signifie que les systèmes actuels qui prennent un gigaoctet - une taille qui n'est pas rare pour un système d'exploitation Android - pourraient maintenant exiger deux gigaoctets( ou plus).

Cela dit, Google a adopté un nouveau système de fichiers appelé SquashFS, qui est un système de fichiers en lecture seule hautement compressé conçu à l'origine pour les systèmes embarqués dans des situations de faible mémoire. Cela devrait certainement aider à compenser certains des problèmes d'espace qui vont inévitablement aller de pair avec une configuration de deux partitions système. Pourtant, nous pouvons commencer à voir les appareils livrés avec un minimum de 32 Go aller de l'avant. Le temps nous le dira.

On ne sait pas non plus ce qu'il advient de la nouvelle partition dormante après la mise à jour. Il y a une possibilité que cela puisse ensuite être mis à jour en arrière-plan, puis attendre l'arrivée d'un autre OTA, mais il n'y a pas de documentation technique pour soutenir cette théorie - juste moi qui pense à voix haute. Pourtant, cela semble logique pour moi, car sinon ce nouveau système semblerait être un scénario de mise à jour, ce qui est exactement la direction opposée à celle que Google essaie d'adopter ici.

Malheureusement, comme il n'y a pas encore de périphérique prenant en charge le nouveau système de mise à jour transparente, certaines de ces questions devront simplement être laissées sans réponse. Une fois que les nouvelles générations de téléphones commenceront à sortir, nous comprendrons mieux comment tout cela fonctionnera dans le monde réel. Mais pour l'instant: cela semble être une très bonne chose.