26Aug

'Seamless Updates' van Android Nougat, Explained

In alle generaties Android-apparaten - tot en met Marshmallow - hebben besturingssysteemupdates in essentie hetzelfde gewerkt: de update is gedownload, de telefoon is opnieuw opgestart en de update is toegepast. Gedurende deze tijd wordt de telefoon onbruikbaar gemaakt, ten minste totdat de update volledig is geïnstalleerd. Met de nieuwe 'Seamless Updates' van Nougat behoort dit model tot het verleden.

Hoe updates zijn gewijzigd in Android 7.0 Nougat

Google heeft een pagina uit hun eigen Chrome OS gebruikt voor de nieuwe updatemethode. Chromebooks hebben altijd altijd zo gewerkt: de update wordt gedownload op de achtergrond en vraagt ​​de gebruiker vervolgens of er opnieuw moet worden opgestart om het installatieproces te voltooien. Een snelle heropstart later en de update is voltooid - niet wachten tot de update is geïnstalleerd, geen "optimalisatie" of een van die andere dingen die -leeftijden lijken te nemen. Het is snel, gemakkelijk en heeft vooral geen onredelijke hoeveelheid downtime.

Beginnend met Android 7.0 is dit de richting waarin Android-updates gaan. Het is de moeite waard hier te vermelden dat deze niet van toepassing is op voor apparaten die zijn geüpdatet naar Nougat, alleen die apparaten die worden geleverd met de software. De reden hiervoor is volkomen logisch: deze nieuwe updatemethode vereist twee systeempartities om te kunnen werken en vrijwel alle huidige Android-telefoons hebben er maar één. Het opnieuw partitioneren van het apparaat tijdens de vlucht kan potentieel catastrofaal zijn( en waarschijnlijk in veel scenario's), dus Google's besluit om het alleen te laten op de huidige generatie telefoons is respectabel, zij het een spelbreker.

Het werkt ongeveer een beetje: er is een actieve systeempartitie en een slapende partitie, die spiegelbeelden van elkaar zijn. Wanneer een OTA-update beschikbaar komt, downloadt de actieve partitie deze en wordt de slapende partitie bijgewerkt. Eén reboot later, de slapende partitie wordt actief en de eerder actieve partitie wordt slapend, dit past de bijgewerkte software toe.

Niet alleen maakt dit het hele updateproces onmerkbaar sneller, maar het dient ook als een soort back-upsysteem. Mocht er iets misgaan met de update, dan kan het systeem detecteren dat er een fout optreedt tijdens het booten en keert eenvoudig terug naar de niet-aangeduide systeempartitie. Bij het opnieuw opstarten kan het de downloadservers opnieuw pingen, de update opnieuw toepassen en opnieuw opstarten om het proces te voltooien. Vergeleken met hoe catastrofale updatefouten worden afgehandeld in het huidige systeem, dat veel gebruikersinteractie, Android-ontwikkeltools en bekendheid met de opdrachtregel vereist, is de methode met twee partities gewoon beter.

We hebben dit nog niet gezien in actie Toch, er zijn nog steeds veel vragen

Natuurlijk komt het met zijn eigen reeks vragen en zorgen. Hoewel we begrijpen hoe dit systeem in theorie werkt, moeten we nog zien hoe het in de praktijk werkt, aangezien Nougat nog geen update heeft en geen apparaten zijn geleverd met 7.0.Alles is speculatie, maar ik kan me voorstellen dat wanneer een update wordt toegepast, er bijvoorbeeld een behoorlijk zware klap zal ontstaan ​​voor de systeemprestaties.

Bovendien, als je op mij lijkt, lees je de bovenstaande sectie en dacht je: "hoeveel ruimte zal het hebben van twee systeempartities hebben?" Men kan automatisch aannemen dat het twee keer zoveel ruimte inneemt, wat niet zo isvolkomen onjuist, maar je moet ook onthouden dat dit -systeem -partities zijn, wat niet betekent dat er twee exemplaren van elke geïnstalleerde app nodig zijn. Toch betekent dit dat huidige systemen die één gigabyte nodig hebben - een niet ongebruikelijke grootte voor een Android OS - nu eigenlijk twee gigabytes( of meer) nodig hebben.

Dat gezegd hebbende, is Google verhuisd naar een nieuw bestandssysteem genaamd SquashFS, dat is een sterk gecomprimeerd, alleen-lezen bestandssysteem dat oorspronkelijk werd ontworpen voor embedded systemen in situaties met weinig geheugen. Dit zou zeker een deel van de ruimtekwesties moeten helpen compenseren die onvermijdelijk gepaard gaan met het hebben van een opstelling met twee systeempartities. Toch kunnen we beginnen met het zien van apparaten die worden geleverd met een minimum van 32 GB.De tijd zal het leren.

Het is ook onduidelijk wat er gebeurt met de nieuwe slapende partitie na de update. Het kan zijn dat het dan op de achtergrond wordt bijgewerkt en dan wacht tot er weer een nieuwe OTA komt, maar er is geen technische documentatie om deze theorie te ondersteunen, alleen ik denk hardop. Toch lijkt het me logisch, want anders lijkt dit nieuwe systeem kennelijk een soort up-to-date updatescenario, wat precies de tegenovergestelde richting is die Google hier probeert te bereiken.

Helaas, aangezien er nog geen apparaat is dat het nieuwe Seamless Update-systeem ondersteunt, zullen sommige van deze vragen gewoon onbeantwoord moeten blijven. Zodra de nieuwe generatie telefoons begint uit te rollen, zullen we een veel beter begrip hebben van hoe dit allemaal in de echte wereld zal werken. Maar voor nu: het klinkt als een heel goede zaak.