Apple'ın mobil işletim sistemi güncellemeleri genelde performans ve pil ömrüne odaklanıyor. Bu iyileştirmelerin arkasında hangi temel prensipler var? Örneğin, arka planda çalışan uygulamaların yönetimi veya donanım-yazılım uyumu nasıl sağlanıyor? İşlemci ve RAM kullanımında ne gibi optimizasyonlar yapılıyor?
iOS sistem iyileştirmeleri nasıl çalışır?
👁️ 53 görüntüleme💬 3 cevap❤️ 0 beğeni
3 Cevap
Apple’ın sistem iyileştirmeleri dediğiniz kurumsal optimizasyonları aslında donanım ve yazılımın kapalı ekosistemde nasıl el sıkıştığını gösteriyor. Mesela iOS’un arka planda uygulama yönetimine bakın, tıpkı Android’de olduğu gibi çok katmanlı bir denetim sistemi var ama oraya ulaşmak Apple için biraz daha "özel". iOS’ta arka planda çalışan uygulamalar gerçekten ne kadar aktif kalıyor? Sık sık kapatıldıkları için mideler tıkanmıyor mu yoksa Apple’ın yaptığı şey aslında uygulamaları belli süreler için "uykuya" almak mı? Bunu açıklığa kavuşturabilir misiniz?
Bir de donanım-yazılım uyumu kısmı ilginç. Eski iPhone’larda eski iOS’lar sorunsuz çalışırdı ama yeni iOS’lar eski cihazlarda pat diye yavaşlıyor. Bu aslında Apple’ın istemeden de olsa "donanım yenileme zorunluluğu" yaratmasını sağlıyor mu? Yoksa bu iyileştirmelerin çakışması mı sadece?
Yıllar önce iOS 13’ten iOS 14’e geçince ilk fark ettiğim şey, en eski modellerde bile arayüzün nasıl “hafif” ve akıcı çalıştığıydı. Özellikle iPhone 6s’imi kullanırken, iOS 13’teki yer yer takılmalar iOS 14 öncesi firmware’le tamamen kayboldu. Arka planda uygulamaların kapatılması deneniyordu mesela—ben de hep “acaba RAM’i temizlesem mi?” diye endişelenirdim, ama iOS’un bunu otomatik ama kontrollü şekilde yaptığına sonunda inandım. Mesela Spotify’ı açıp kapattıktan 10 dakika sonra yeniden açtığımda, uygulamayı öldürüp yeniden başlatmak zorunda kalmıyordum, ama RAM’i boşaltmak için aslında hiçbir şey yapmama gerek kalmıyordu.
Donanım-yazılım uyumu konusuna gelince, Apple’ın sürecindeki en büyük farkı—bence—CPU ve GPU’nun güç tüketimini nasıl dengelediği. iOS’taki iyileştirmelerin büyük kısmı, özellikle A10 ve A11 gibi eski yongalarda, süreçlerin CPU/GPU’ya dağılımında yapılmıyor muydu? Örneğin, iOS 12’de görüntü işleme gibi görevler için GPU’ya yüklenirken, iOS 13’te bu tür görevler CPU’dan koparıldı ve daha akıllıca dağıtıldı. Sonuçta ben de eski model iPhone’umda video düzenleme yaparken performans patlaması yaşamazken, pil ömrünün de sonuna kadar dayandığını gördüm.
iOS’un performans ve pil ömrü iyileştirmeleriyle ilgili temel prensipleri düşündüğünde, en çok dikkat çeken şey donanım-yazılım uyumuna yaptığı katı vurgudan kaynaklanıyor. Mesela Android’de birçok cihazda donanım parçaları farklı üreticilerden geldiği için uyum sorunları yaşanırken, Apple kendi donanımıyla (A-serisi/Prosesörleri, Bionic çipleri) ve iOS’u birlikte optimize ediyor. Bu sayede işlemci ve RAM kullanımında daha verimli bir yönetim sağlıyor—mesela arka plandaki uygulamaları donanımdaki güç durumunu (thermals) ve uygulama aktivitesini sürekli analiz ederek arka planda dondurarak RAM’i boşaltıyor. Android’deyse bu genellikle üretici ya da Google’ın farklı uyarlamalarına bağlı olduğu için tutarsız bir performans ortaya çıkabiliyor.
Bir diğer önemli nokta da kernel seviyesindeki optimizasyonlar. iOS, özellikle entegre GPU ve Neural Engine gibi özel donanımları doğrudan kontrol eden düşük seviyeli sürücüler kullanıyor ve bunları sistemin derinliklerine gömüyor. Örneğin, iOS 15’ten itibaren "App Thinning" adı verilen bir sistem sayesinde uygulamaların sadece çalıştırılan cihazın donanımına uygun kodlarını indirmesi sağlanıyor—Android’de buna benzer (ARM’in "64-bit" optimizasyonu vb.) ama dağınık uygulama marketleri nedeniyle tutarsızlık oluşabiliyor. Pil ömründeyse Apple’ın donanım odaklı yaklaşımları, örneğin herhangi bir donanım bozulması durumunda bile sistemin verimliliği koruyabilmesini sağlıyor—ki bu Android cihazlarda üreticilere bağlı olarak değişkenlik gösteriyor.