Bir Cihaz Kaynağını Nasıl Bölüştürür? İşlemci, Bellek ve Bağlantı
Telefon ve bilgisayarlar sınırlı işlemci zamanını, belleği, bant genişliğini ve pili uygulamalar arasında sürekli paylaştırır. Yavaşlama hissinin arkasındaki bu dağıtım mantığını açıklıyoruz.
Selin Yalçınkaya 4 dk
Bir telefonda ya da bilgisayarda aynı anda onlarca iş yürür: ekrandaki uygulama çizilir, arka planda güncelleme inerken müzik çalar, bildirimler gelir. Bunların hepsi tek bir işlemciyi, tek bir bellek havuzunu ve tek bir bağlantıyı kullanır. Cihazın asıl marifeti hızlı olmak değil, sınırlı kaynağı bu talepler arasında sürekli yeniden bölüştürmektir. Yavaşlama hissi de çoğu zaman kaynağın azlığından değil, payların dağıtılma biçiminden doğar.
İşlemci zamanı paylara ayrılır
İşlemci aynı anda tek bir iş yapar; birden fazla işi aynı anda yürütüyormuş gibi görünmesi, zamanı çok küçük dilimlere bölüp bu dilimleri sırayla dağıtmasından kaynaklanır. Her uygulamaya kısa bir pay verilir, süresi dolunca sıradakine geçilir. Diliminizin ne kadar sık geldiğini belirleyen şey ise önceliktir: ekranda etkileşimde olduğunuz uygulama, arka planda bekleyen bir işten daha sık sıraya çağrılır.
Çok çekirdekli işlemcilerde bu dağıtım bir katman daha karmaşıklaşır. Artık yalnızca zaman değil, işin hangi çekirdeğe verileceği de kararın parçasıdır. Birçok cihazda çekirdekler eşit değildir: bir kısmı yüksek performans için, bir kısmı düşük tüketim için tasarlanmıştır. Hafif işler tasarruflu çekirdeklere, ağır işler güçlü çekirdeklere yönlendirilir. Bu ayrım, pilin gereksiz yere tükenmesini önleyen sessiz bir bölüştürme politikasıdır.
Bellek: bölünen ama geri alınabilen bir alan
Bellek, işlemci zamanından farklı olarak sırayla değil aynı anda paylaşılır. Her uygulamaya kendi alanı ayrılır ve bu alanların birbirine karışmaması sistemin temel güvenlik kurallarından biridir. Boş bellek bırakmak ise sanıldığı gibi iyi bir şey değildir; kullanılmayan alan işe yaramayan alandır. Bu yüzden modern sistemler boş kalan yeri geçici kayıtlar ve önbellek için kullanır, ihtiyaç doğduğunda bu payı hemen geri alır.
Bellek daraldığında sistem bir tercih yapmak zorunda kalır. Uzun süredir dokunulmayan uygulamalar önce arka plana alınır, gerekirse tamamen kapatılır; sizin o an baktığınız uygulama korunur. Kapatılan uygulamaya geri döndüğünüzde sıfırdan açılıyormuş gibi beklemenizin sebebi budur. Yani yavaşlık, kaynağın bittiği anda değil, payın başkasına devredildiği anda hissedilir.
Bağlantı bant genişliğinin bölüşülmesi
İnternet bağlantısı da tek bir borudur ve o borudan geçen kapasite, aynı ağdaki bütün cihazlar ve bütün uygulamalar arasında bölüşülür. Büyük bir dosya indirilirken görüntülü görüşmenin bozulması, kapasitenin adaletsiz dağılmasından kaynaklanır. Bazı yönlendiricilerde bulunan öncelik ayarları tam da bunun içindir: gecikmeye duyarlı trafiğe daha küçük ama daha düzenli bir pay ayırmak, dosya aktarımını ise arta kalanla beslemek.
Bant genişliği paylaşımının bir de zaman boyutu vardır. Aynı evde herkesin akşam saatlerinde bağlanması, aynı borudan aynı anda geçmeye çalışan talep sayısını artırır. Kapasite sabit olduğu için kişi başına düşen pay küçülür. Bu yüzden büyük indirmeleri yoğun olmayan saatlere kaydırmak, hattı büyütmeden yapılabilecek en etkili düzenlemelerden biridir ve hiçbir ek donanım gerektirmez.
Depolama ve enerji de birer havuzdur
Depolama alanı ilk bakışta sabit görünse de sistem burada da sürekli bir bölüştürme yürütür. Güncellemeler için ayrılan geçici alan, uygulamaların önbellekleri, günlük kayıtları hep aynı havuzdan beslenir. Disk tamamen dolduğunda cihazın sadece yeni dosya kabul etmemesi değil, genel olarak yavaşlaması da bu yüzdendir; sistemin manevra yapacak boş payı kalmamıştır.
Pil ise bölüştürülen en görünür kaynaktır. Ekran parlaklığı, konum servisleri, arka plan yenilemesi ve ağ aramaları aynı sınırlı enerjiden pay alır. Ayarlarda yer alan pil kullanım listesi, bu payların nasıl dağıldığını gösteren bir dökümdür. Şarjın nereye gittiğini anlamak için tahmin yürütmek yerine bu listeye bakmak, hangi uygulamanın payını büyüttüğünü doğrudan gösterir.
Kullanıcının bölüştürmeye müdahalesi
Cihazın dağıtım kararlarına dışarıdan yapılabilecek müdahaleler sınırlı ama etkilidir. Arka planda yenilenmesine gerek olmayan uygulamaların bu iznini kaldırmak, açılışta kendiliğinden başlayan programları azaltmak, otomatik güncellemeleri belirli saatlere almak paylar arasındaki çekişmeyi doğrudan azaltır. Buradaki mantık kaynağı artırmak değil, aynı kaynağa aynı anda uzanan el sayısını düşürmektir.
Cihazın yavaşladığını düşündüğünüzde ilk soru "kapasite mi yetmiyor" değil, "pay kime gidiyor" olmalıdır. Çoğu durumda donanım hâlâ yeterlidir; sorun, birkaç talebin aynı anda öne geçmesidir. Bölüştürmeyi anlamak, hem gereksiz yükseltme harcamalarından korur hem de cihazı gerçekten hızlandıran küçük ayarları görünür kılar. Kaynak sabit olduğunda geriye tek soru kalır: hangi işe ne kadar pay verilecek.