Akıllı telefonlara, dizüstü bilgisayarlara ve hatta masaüstü bilgisayarlara giren yaygın CPU'ların değişken bir saat hızı vardır. Programlayıcı boşta kalma süresi olduğunu tespit ettiğinde, saat hızını düşürebilir ve CPU zamanı için rekabet eden daha fazla işlem varsa tekrar artırabilir.
Pille çalışan cihazlar için optimize edilmiş CPU'lar, her biri kendi saatine sahip birçok işlevsel bileşenden oluşur (örnek: ARM Cortex A8 ). Bir bileşen boşta olduğunda, işletim sistemi gücü kapatabilir (veya saatini azaltabilir). Örneğin, çok çekirdekli birçok CPU'da (ileri teknoloji mobil cihazlardakiler gibi), her çekirdek ayrı ayrı açılıp kapatılabilir. ARM, bu oyunda özellikle iyidir, bu da çoğu akıllı telefonun ARM CPU'larına sahip olmasının nedenlerinden biridir.
Saat hızının değiştirilmesi veya elektronik bileşenlerin saatinin kapatılması güç yönetimi olarak bilinir . Tam donanımlı donanım modeline birçok bağımlılığı olan, pille çalışan bir aygıt için bir işletim sistemi yazmanın ve optimize etmenin karmaşık bir parçası olma eğilimindedir.
CPU için gereken çevre birimleri için de geçerlidir. Arkadan aydınlatmalı ekran, örneğin bir akıllı telefonun ardından radyoyu kullanan büyük bir güç tüketicisidir. CPU işletim sistemi, çevre birimlerinin güç yönetiminde rol oynayabilir; ikincil yongalar ayrıca güç yönetimini de gerçekleştiren kendi yazılımlarını çalıştırır.
Uygulamaların güç tüketimini düşük tutma konusunda oynayacakları rolleri vardır: işletim sisteminin işini yapmasına izin vermelidirler. Bir uygulamanın yapabileceği en kötü şey yoklamadır - bir döngüyü çalıştırmaktır while (not_ready()) {}
. while (not_ready()) {usleep(100);}
İşlemcinin düşük güç moduna girmesi için yeterli zaman tanımadığından ya da eğer öyleyse, her uygun olmayan uyanma enerji israfı anlamına geldiği için küçük bir gecikme yapmak bile yardımcı olmaz. Bu nedenle, işletim sistemi API'leri, uygulamaların hiçbir zaman yok olmasına gerek kalmayacak, bunun yerine bir tür olay mekanizmasına abone olabilecek ve ilgili bir olay bildirilene kadar boşta kalabilecek şekilde tasarlanmalıdır. Uygulamaların bu tür mekanizmalardan faydalanması gerekir, bu nedenle tüm yazılım yığınının tasarımı güç tüketimi üzerinde bir etkiye sahiptir.
Intel'in Powertop yardımcı programı ile bilgisayarınızın güç tüketiminden neyin sorumlu olduğu hakkında bilgi alabilirsiniz . Akıllı telefonların genellikle ne kadar güç uygulamasının tüketildiğini görmenin bir yolu vardır. Uygulamaya göre güç tüketiminin muhasebeleştirilmesi oldukça zordur: eğer bir bileşen iki uygulama için uyanırsa, uyanma süresi bunlardan birine keyfi olarak veya hiçbirine açıklanmayabilir; çevre birimlerinin güç tüketimi de sorumlu uygulama ile her zaman kolayca takip edilemez.
Bir RAM yongası, hangi bitlerinin aktif bir işlemin verilerini depoladığını bilmez, bu nedenle bu şekilde seçici olarak kapatılamaz. Bir işlemin güç tüketimi, kullandığı bellek miktarıyla ilişkili değildir (RAM eriştiği sürece güç tüketirken, aynı belleği yeniden kullanmak veya farklı RAM alanları kullanmak güç tüketimi açısından bir fark yaratmaz).