“Fazla” RAM Kullanımı

“Kuzenimin arkadaşının kız arkadaşının S3′ü çok fazla RAM kullanıyormuş, Advanced Task Killer kullanmış, telefonu 3 kat hızlanmış.” 

Bazı kulaktan kulağa yayılan hikayeleri sorgulamak gerekir. Olayların perde arkasını öğrenip bir de kendinizin irdelemesinde büyük fayda görüyorum. Bugün akıllı telefonlarda (aslında anlatacaklarım kişisel bilgisayarlar için de geçerli) RAM kullanımından bahsedeceğim.

RAM Nedir?

samsung-20nm-lpddr2Random Access Memory (Rastgele Erişimli Hafıza) ya da genel kullanımda söylemi ile “Bellek“. RAM Elektronik bir depolama aygıtıdır. Elektronik cihazlarda ara bir depolama aygıtı olarak kullanılır ve esas amacı bilgisayar çalışırken elektronik olmayan HDD’yi (hard drive – harddisk) belirli ölçüde işlemlerden uzak tutmaya yarar.

Biraz daha açalım. RAM bilgisayar ya da telefon açılmadan önce boştur. Açıldığında doldurulmaya başlanır, kapatıldığında tekrar boşalır. (bazı RAM türlerinde farklılık gösterebilir, genelliyorum) Elektronik bir depolama aygıtı olduğu için veri yazmak ve veri okumak elektronik olmayan mekanik bir depolama aygıtına göre daha hızlıdır. Bu da cihazınız eğer bu elektronik depolama aygıtını kullanırsa daha hızlı işlem yapabileceği anlamına gelir. Bu yüzden ara bir elemandır, işlemleri hızlıca yapıp sonradan düzenlemek için güzel bir seçimdir. Hendikapı ise üzerinde bilgisayar ya da akıllı telefon kapandığında bilgi saklayamaması, tüm verilerin kaybolmasıdır.

ROM Nedir?

9939-fujitsu25hddRead Only Memory (Sadece Okunabilir Bellek) ya da genel kullanımda harddisk. (genellediğimi tekrarlıyorum) Bilgisayarlarda ya da akıllı telefonlarda bilgisayarı kapatıp açtığımızda bilgileri bıraktığımız yerde bulmamıza yarar. Sağdaki fotoğrafa bakın, bir başlığı vardır ve bu başlıkla 0 ve 1 olarak yuvarlak diskin üzerine delikler açar. Başlangıç 0, her değişim de 1 bitine denk gelir. Sadece birler ve sıfırlarla bütün bu kullandığımız sistemleri çalıştırır, depoladığımız videoları, müzikleri, arkadaşlarımızla çekildiğimiz fotoğrafları ve sayısız bilgiyi barındırır.

Gel zaman git zaman bu tür kaba harddiskler yerini adı SSD (Solid State Disk) olan  yeni bir teknolojiye bırakıyor. Akıllı telefonlarımızda da bunun benzer versiyonları kullanılmakta. Bu SSD ROM‘lar daha elektronik fakat henüz RAM kadar hızlı değiller. SSD’lerin çalışma prensipleri konumuzun dışında fakat merak edenler Google’da “solid state physics” (katı hal fiziği) diye aratıp makaleler okuyabilir. (Dipnot: İlk harddiskli telefon, Samsung’un 2004 yılında tanıttığı SPH-V5400 modeli)

Devam Edelim

İyi kötü kavramlara aşina olduk. Bahsettiğim RAM ve ROM’ların bir çok alt türleri var. DRAM, DDR RAM, SDRAM ve benzer kavramları eminim siz de duymuşsunuzdur. Hepsinin farklı çalışma prensipleri ve methodları var ama hepsinin temelinde bu mantık yatıyor. CPU, yani işlemci, cihazımızı çalıştırdığımızda ilk bilgileri HDD’den (ROM) alır, daha hızlı çalışmak için de RAM’i kullanır.

Akıllı Telefonumuz RAM’i Adım Adım Nasıl Kullanır?

  • Logo_AndroidAkıllı telefonunuzu çalıştırırsınız.
  • Akıllı telefon ROM üzerinden bilgileri yükler ve power-on self-test (POST) adında bir işlem yürütür. Bu işlemin amacı cihazın tam olarak çalışması için gereken ortamın sağlanıp sağlanmadığını ölçmektir.
  • İşletim sistemi (Android / iOS / Windows Phone /..) ROM’dan okunup aktif olarak çalışan kısmı RAM’e yazılır. Bu şekilde hep ROM üzerinden yavaş okumak yerine RAM’den hızlıca okuyabilir.
  • Bir uygulamayı çalıştırdığınızda uygulamanın gerekli bilgileri RAM’e yazılır. Böylece siz bu uygulamayı tekrar açtığınızda RAM’de olduğu için hemen açılacaktır ve siz beklemeyeceksinizdir.
  • Uygulamayı kaydettiğinizde ve kapattığınızda bu bilgiler ROM’a yazılır ve RAM’den silinir. (Kapattığınızda diyorum, ana sayfa düğmesine basıp arkada çalışmaya müsade ettiğinizde demiyorum, dikkat.) Bu şekilde telefonu tekrar açtığınızda bu bilgileri kaybetmemiş olurusunuz.

Olay tabii ki farklı ara aşamalar da barındırıyor. Fakat genel bir fikir oluşturmak için bu kadarı yeterli.

Bir dakika… O zaman bu meret güzel birşey ve fazla kullanımında bir sıkıntı yok. Değil mi?

Evet. Fakat…

İşletim Sistemi, CPU (işlemci) ve RAM Üçgeni

İşletim sistemi, CPU’yu, RAM’i ROM’u, BUS’ı, ve aklınıza gelecek diğer donanımları yöneten yazılımdır. Cihazınızı açtığınızda BIOS (basic input-output system) üzerinden çalıştırılır ve kontrolü eline geçirip tüm organizasyonu yapar.

CPU bütün işlemlerin yapıldığı, milyonlarca transistör’den (devre) oluşan bir “makinadır“. Beyin (işletim sistemi) makina’ya (CPU) git şunu yap der. Sonra da der ki, şu işlemi biraz hızlandıralım, HDD’den değil de RAM’den oku der. Dolayısıyla işlemi hızlandırır ve son kullanıcıya, yani bize daha hızlı hizmet verir.

Meraklısına ek bilgi, Soru: madem SSD’ler de artık elektronik neden bunu da RAM gibi kullanmıyoruz? Cevap: Henüz RAM kadar hızlı olmasa da benzer sistemler kullanılmaya başlandı. Apple Mac OS işletim sistemi eğer hem SSD hem de HDD’niz varsa, (bir bilgisayarsa, laptop’ta birden fazla disk olabilir) Fusion Drive adı verilen bir teknoloji ile az kullandığınız dosyaları HDD’ye, sık kullandığınız dosyaları da SSD’ye size sormadan kopyalıyor. Bu şekilde RAM-ROM ilişkisi gibi daha hızlı, neredeyse hepsi SSD’ymiş gibi kullandığınız hibrit (karma) bir diskiniz oluyor.

ThrashingPeki bu RAM (bellek) nasıl organize edilir? Canınızı sıkmak, kafanızı karıştırmak istemiyorum fakat bilgisayar bilimcileri bu konu üzerine yüzlerce algoritma geliştirip en hızlısını aramış. SLOB, FIFO, LIFO, LRU, Adaptive Replacement, LIRS ve daha sürüsüne bereket algoritmayı biraz ingilizceniz varsa Wikipedia üzerinden inceleyebilirsiniz. Fakat anlatmadan geçmemek istediğim bir olay var. CPU eğer çok fazla düzeyde RAM’i düzenlemek ve sıraya sokmakla uğraşırsa, yani; RAM’den bilgi okuyup hızlı iş yapmak yerine RAM çok fazla doldu da bu RAM’deki verileri sıraya sokmaya, RAM’i daha etkili kılmaya çalışırsa, sistem yavaşlar. Buna thrashing deniyor. Yandaki grafikte RAM kullanımı arttığında sistemin hızlandığını ama belirli bir düzeyde RAM kullanımı geçildiğinde sistemin yavaşladığını görebilirsiniz. Bu ani düşüşün olduğu kısım thrashing’in (etkinlik kaybı) başladığı noktadır.

Trashing’den korunmak için ne yapacağız?

Eski bilgisayarlarda bu sorun gerçekten bir “sorundu” fakat günümüzde işletim sistemleri çok gelişmiş düzeydeler. Dikkat ettiyseniz %90-%95 düzeyinde RAM’i kullanmanıza işletim sisteminiz izin vermez ve siz bu düzeye erişmeden daha önce RAM’de açık olan uygulamaları size sormadan kullanım sıklığınıza göre (en az kullandığınızı ve öngörerek kullanmayacağınızı) kapatır. Dolayısıyla sizin thrashing sorunu yaşamanızı işletim sistemi önler.

Yine de yolunu söyleyelim, bu akıllı telefonlar için uygulanamaz ama bilgisayarlar için şöyle bir yöntem var, ya Multiprogramming (yani açık olan uygulama sayısını) azaltırsınız. Ya da RAM’inizi yükseltirsiniz.

KULLANILMAYAN RAM ISRAF EDİLMİŞ HIZDIR

ram-bellek-secimiBu grafiğin bir de tersi mevcut. Az RAM’in kullanılması ve çok ROM’un kullanılması da sistemi yavaşlatır. Aslında yavaşlatmaz ama ulaşabileceğiniz maksimum hızı kullanmamanıza neden olur. Çünkü daha fazla RAM kullanılabilecekken ve böylece daha hızlı çalışabilecekken daha yavaş çalışan ROM’u çok kullanmak anlamsızdır, hatalı bir işletim sistemi stratejisidir.

Günümüzdeki çok gelişmiş işletim sistemleri Thrashing sorununu ortadan kaldırdığına göre “Kullanılmayan RAM sadece telefonuzu yavaşlatır.” şeklinde bir genelleme yapmam yanlış olmaz.

Gelin bir örnek verelim; A kişisi eşini aldattı. AA’nın eşi olan B için çiçek aldı ve bir bir cd’ye şarkı kaydedip eşine götürecek ve müzik ve çiçekle gönlünü almaya çalışacak.

Senaryolar;

cd-dvd1- A çiçeği aldı, CD’ye 20 tane şarkı kaydetti, eve gitti ve şarkıları açıp teker teker şarkıları B’ye dinletip durumu kurtarmaya çalıştı.

2- A çiçeği aldı, CD’ye 1 tane şarkı kaydetti, eve gitti, şarkıyı dinletti, sonra dönüp 2. şarkıyı CD’ye yazdı, eve geri döndü ve böyle gidip gelip devam etti.

Hangi senaryo daha mantıklı? A değil mi? RAM – ROM ilişkisi de buna benziyor. Madem 2. 3. 4. ve diğer şarkıları da kullanacağız, bunların RAM’de durmaması hem ROM’dan okuma hızı yavaş olduğu için işlemi yavaşlatır hem de daha fazla batarya tüketimine neden olur. Çünkü ROM’dan veri okumak RAM’e oranla daha zordur.

Sonuç

Bırakın RAM’ınız şişsin, bırakın %80′leri görsün. Google Play’de App Store’da gördüğünüz bu uygulamaları yazan adamların ağa babaları Android’i, iOS’i, Windows’u yazdı. Sizi koruyan kişiler, yaşayabileceğiniz sorunları idrak eden kişiler bu uygulamaları yazanlar değil, işletim sistemlerini yazanlardır. Büyük ölçüde Bellek Yöneticisi uygulamalar gereksizdir. Siz siz olun, RAM’inizi ısraf etmeyin…

facebooktwittergoogle_plusredditpinterestlinkedinmailfacebooktwittergoogle_plusredditpinterestlinkedinmailby feather

Yorumlar

yorumlar