15 Haziran 2013 Cumartesi

RAM Optimizasyon Programları

     RAM optimizasyonu yapan programlar piyasada uzunca bir süredir mevcut. Ancak bu programları kullanmak hiçbir işe yaramamaktadır. Bunun sebeplerini inceleyelim.

     Optimizasyon programı üreticileri oluşturdukları programın RAM'i boşaltarak sistem yavaşlamasını ve takılmaları engellediğini vurgular. Optimizasyon programlarının yaptığı şey çalıştırıldıklarında RAM'de yüksek miktarda yer kaplamak ve sonrasında bu yeri boşaltmaktır. Kapladıkları bu yüksek miktarda yer sebebiyle RAM'deki diğer programlar dışarı atılır, yani pagefile'a yazılır. Görünüşte RAM'in boşaltılıyor olması güzel olsa da pratikte büyük bir performans kaybı yaşatır. Çünkü pagefile hard disk üzerindedir ve pagefile'a yazılan programlara ihtiyaç duyduğumuzda bu programlar tekrardan RAM'e yüklenmek zorundadır.

     Optimizasyon programlarının yaptığı belirtilen bir diğer iş de RAM'deki verileri birleştirmektir (defragmentation). Eğer RAM'lerin yapısında hard diskteki gibi hareketli parçalar olsaydı defrag yapılmaları bizim yararımıza olurdu. Ancak hareketli parçaları olmadığından defrag yapılmaları tamamen programcının uydurduğu bir bilgi olarak karşımızda durmaktadır.

     Windows şu anda oldukça iyi bir bellek yönetim politikasına sahiptir. Ek bir programa ihtiyaç duymadan sistemin belleği verimli bir şekilde kullanılmaktadır. Eğer sistemdeki RAM miktarı yetersiz geliyorsa veya sistemin yavaşlığı giderilmek isteniyorsa bunun çözümü sisteme daha çok RAM eklemektir. Bunun için DownloadMoreRAM sitesi ziyaret edilebilir.


Kaynaklar:

1 Haziran 2013 Cumartesi

Windows Process Scheduling


     Windows işletim sistemleri Windows NT'den beri Round-Robin ve Multilevel Feedback Queue zamanlama algoritmalarını birlikte kullanmaktadır.

     Round-Robin algoritması her işlemin uyanık kalmasını sağlamak için kullanılan, işlemlerin önceliklerinin olmadığı bir algoritmadır. Bu algoritmada işlemlere çalışmaları için belirli zaman aralıkları verilir (ör. 100 ms) ve bir işlem bu süreyi tamamlayınca diğer işleme geçilir. Her işlem bitene kadar bu döngü devam eder. 


     Round-Robin'in kullanım amacı multitasking'in efektif kullanılmasını sağlamaktır. Bu sayede her işlem çalışır durumda kalır ve işlemler arası geçiş yapmamız da kolaylaşır. Eğer bu algoritma kullanılmasaydı arkaplanda kalan işlemler ihtiyaç duyduğu kaynaklara ulaşamayacak ve tamamlanamayacaklardı.

     Multilevel Feedback Queue ise Round-Robin'in eksiklerini kapatmaktadır. Bu algoritmada 3 temel durum vardır:

1) Kısa işlemlere öncelik vermek,

2) Giriş-çıkış aygıtlarına bağlı işlemlere öncelik vermek,
3) İşlemleri işlemciye olan ihtiyaçlarına göre kategorilendirmek.

     FIFO mantığıyla çalışan bu algoritmada işlemler en üst seviyedeki kuyruğa girer, kendilerine öncelik verildiği zaman sıranın başına geçer ve işlemciye atanırlar. İşlem sona ererse kuyruktan çıkar, ama quantum zamanını kullandığı halde hala sona ermediyse beklemeye alınır ve bir alt seviyedeki kuyruğa alınır. Bu durum işlem bitene kadar veya işlem en alt kuyruğa inene kadar devam eder. En alt kuyrukta Round-Robin ile işlemlere sırayla zaman tanınır ve bitmeleri beklenir.

     Multilevel Feedback Queue işlemleri önem sırasına göre yerleştirerek işlemlerin daha efektif çalışıp bitmesini sağlar ve her işlemin işlemciyle aynı oranda çalışmasına olanak tanır.