안녕하세요
오늘은 해외발 기사를 읽어보다 재밌는 기사가 있어 앱 개발과는 무관하지만...(관련이 있다면 정확하게는 안드로이드 기기 제조사쪽이네요) 내용 공유 해봅니다.
내용이 무엇인고 하니..
구글이 안드로이드R(11) 버전부터 업데이트 환경 개선을 위한 가상 파티션 탑재를 강제하도록 하고 있는데요.
물론 구글은 안드로이드 7.0 누가(Nougat)부터 소프트웨어 업데이트 속도를 높이기 위해서 많은 고민을 했고 잘 설계된 파티션 체계를 도입해왔습니다.
그래서 누가(Nougat) 버전부터는 비활성화된 파티션이 백그라운드에서 업데이트가 가능하도록 추가했으며 특정 파티션 또한 클론(복제) 기능에 대한 지원이 추가되어 있습니다.
그리고 업데이트가 완료 될 시 패스트부트(Fastboot) 로 활성 파티션으로 스와핑하도록 할 수 있습니다.
이러한 A/B 파티션 세팅을 통해 구글에서 만든 OS인 크롬 OS와 같이 안드로이드OS를 사용하는 기기에서도 심리스(Seamless) 업데이트가 가능하게 됩니다.
이 파티션 구조를 사용하는 심리스 업데이트를 지원하는 기기는 기기를 사용 중에도 임의의 여유 파티션에 업데이트를 백그라운드로 다운로드 받아 설치하고 재부팅 할 때 파티션을 바꿔(스와핑) 시간이 오래걸리는 업데이트 시간을 크게 줄일 수 있게 도와줍니다.
또한 만약에 업데이트 실패시 다른 파티션이 있기 때문에 복구 또한 쉬워지는 장점이 있습니다.
Google : 어? 만들어 줬는데 안해? 입에다 들이 밀어 넣어주마!
이런 좋은 기능이 있었지만 구글은 이러한 A/B 파티션을 사용을 의무화하지 않았다보니 거의 대다수 안드로이드 기기들이 심리스 업데이트를 지원하지 않았습니다.
그렇다보니 구글에서 잘만들어 놓은 심리스 업데이트 환경을 조성하고 싶은데 제조사들이 따라주지 않으니 이제 강제성을 두려고 하는것 같네요
물론 지금도 일부 기기는 지원합니다만 안드로이드R(11)부터는 이를 지원하지 않으면 구글 Play Services 인증을 받지 못하게 됩니다...(!!!!)
아무래도 가상 A/B 파티션을 강제성을 두며 의무화 하였기 때문에 안드로이드R(11)부터는 각 제조사들 상황이 달라지겠네요.
아니 이렇게 유저들이 편한 기능을 기기에 왜 안넣어줌??
보통 원인을 분석해보면 기기의 저장소(스토리지)로 지목되는데요.
최근 출시한 갤럭시 S20과 같은 스마트폰은 사전 설치된 소프트웨어가 매우 많습니다.
(다들 아시다시피 삼성 갤럭시 시스템 앱, 삼성 갤럭시 앱, 구글 앱, 통신사 앱 등등)
그래서 이러한 앱들이 설치된 /system, /product와 같은 녀석들을 다른 파티션을 복제한다면 엄청난 파일과 애플리케이션들이 복제될 수 있습니다.
이러한 작업자체도 시간이 소모되고 자원도 낭비가 되니 사용을 하지 않는것이죠.
또한 이런 기능 개발을 위한 비용 등이 문제가 되었을수도 있습니다.
물론 구글님들이 누굽니까? 그래서 구글은 SquashFS를 사용한다면 대용량 .odex 파일을 복사하지 않고도 해당 문제점을 해결이 가능하다고 제시하고 있습니다.
하지만 저런 가능한 방법이 있어도 의무도 아닐뿐더러 위에서 설명한 여러 기타 이유로 추가하지 않은거 같네요.
이제 구글은 안드로이드R(11)에서 A/B파티션, 심리스 업데이트 도입을 의무화했습니다.
그래서 기존에 하위 버전을 사용중에 안드로이드R(11)을 업데이트 하려는 기기 또한 의무적으로 도입해야 하며 각 제조사들은 2020년 후반부터 2021년에 출시되는 스마트폰은 심리스 업데이트를 반드시 제공해야 합니다.
원문 출처: GSMArena