İşletim sistemi işlemci kaynaklarını nasıl dağıtır

Kerem Aydın·8 Temmuz 2026·⏱5 dk

İşlemcinin (CPU) çalışmasını işletim sistemi (OS), daha doğrusu çekirdeği ve görev zamanlayıcı adı verilen bileşeni yönetir. Hangi programın o anda hesaplama gücüne erişeceği, ne kadar süreyle ve hangi öncelikle olacağına karar verenler bunlardır. Bu mekanizma olmadan, modern çoklu görev sistemleri aynı anda video oynatamaz, dosya indirez veya fare hareketlerine tepki veremezdi.

Bu süreçleri anlamak, "donanımı" değiştirmeden sistemi doğru şekilde yapılandırmaya, takılmaları gidermeye ve arayüzün yanıt verme hızını artırmaya yardımcı olur.

Kısa cevap: İşlemci talimatları yürütür, ancak yürütme sırasına işletim sistemi içindeki görev zamanlayıcı karar verir. Birden fazla uygulamanın eşzamanlı olarak çalıştığı yanılsamasını yaratmak için iş parçacıkları arasında bağlam değiştirme işlemi gerçekleştirir.

İşletim sisteminin rolü: Kaynak yöneticisi

İşletim sistemi, kullanıcı, uygulamalar ve "donanım" arasında bir aracı görevi görür. CPU yönetimi bağlamında temel işlevleri şöyledir:

  1. Süreç soyutlaması. OS, bir programın yürütülebilir kodunu kendi adres alanına sahip izole bir birim olan "süreç"e dönüştürür. Bir süreç içinde, paralel olarak çalışan birkaç "iş parçacığı" (threads) bulunabilir.
  2. Kesme yönetimi. Bir tuşa bastığınızda veya bir ağ paketi geldiğinde, cihaz bir kesme sinyali gönderir. OS, mevcut görevi askıya alır, olayı hızlıca işler ve kontrolü geri verir. Bu işlemin verimliliği, arayüzün ne kadar "canlı" göründüğünü doğrudan etkiler.
  3. Güç tüketimi kontrolü. Modern OS'ler güç yönetimi sürücüleriyle yakından entegredir. Yük düşük olduğunda, sistem pil ömrünü korumak veya ısınmayı azaltmak için işlemci frekansını düşürebilir (Intel SpeedStep veya AMD Cool'n'Quiet gibi teknolojiler) veya kullanılmayan çekirdekleri kapatabilir.

Görev zamanlayıcı: Çoklu görevin beyni

Zamanlayıcı (Scheduler), OS çekirdeğindeki hangi iş parçacığının hangi işlemci çekirdeğinde ve ne zaman çalışacağını belirleyen bir algoritmadır. Genellikle aktif iş parçacığı sayısından daha az çekirdek olduğu için, zamanlayıcı sürekli olarak bunların yerini değiştirir.

Çalışmanın temel ilkeleri

  • Zaman kuantumlama. Her iş parçacığına küçük bir işlemci zamanı dilimi – kuantum (genellikle 1 ila 10 milisaniye) tahsis edilir. Kuantum bittiğinde, zamanlayıcı iş parçacığını duraklatıp kontrolü başka birine devredebilir.
  • Öncelikler. Tüm görevler eşit değildir. Arayüz çizimi veya ses işlemesinden sorumlu iş parçacığı, arama indeksinin arka planda güncellenmesi veya kod derlemesinden daha yüksek önceliğe sahiptir.
  • Bağlam değiştirme. Görev değiştiğinde, OS mevcut iş parçacığının işlemci kayıt defterleri ve bellek durumunu kaydetmeli ve bir sonrakinin durumunu yüklemelidir. Bu işlem kaynak gerektirdiğinden, aşırı sık yapılan değişiklikler genel performansı düşürebilir.

Bilgisayar neden donmaz? Zamanlayıcı, G/Ç (giriş-çıkış) ve arayüz görevlerine öncelik verir. Ağır bir hesaplama başlatsanız bile, imlecin "donmaması" için fare hareketlerini işlemek üzere minimum zaman kuantumları ayırır.

Zamanlayıcı türleri

Farklı OS'lerde farklı yaklaşımlar kullanılır:

  • Windows: Öncelikli preemptive (ödünleşimli) zamanlayıcı kullanır. Odakta olan pencerelerin ve veri girişi bekleyen iş parçacıklarının önceliğini dinamik olarak artırır.
  • Linux: Çoğunlukla CFS (Completely Fair Scheduler - Tam Adil Zamanlayıcı) kullanır. Bir sonraki görevi verimli bir şekilde bulmak için kırmızı-siyah ağaçlar kullanarak, her sürece önceliğine (nice değeri) göre ağırlıklandırılmış eşit bir CPU zamanı payı sağlamaya çalışır.
  • macOS (XNU): Enerji tasarrufu ve arayüz akıcılığı (QoS sınıfları) için optimize edilmiş hibrit bir yaklaşım benimser; burada görevler kullanıcı, arka plan ve sistem olarak net bir şekilde ayrılır.

İşlemci mimarisinin zamanlama üzerindeki etkisi

Zamanlayıcı boşlukta çalışmaz; CPU'nun fiziksel yapısını dikkate almalıdır.

Mimari özelliğiZamanlayıcı üzerindeki etkisi
Çok çekirdeklilikZamanlayıcı, gerçek paralellik sağlamak için iş parçacıklarını farklı çekirdeklere dağıtmaya çalışır.
Hyper-Threading / SMTMantıksal çekirdekler fiziksel kaynakları paylaşır. Zamanlayıcı, boş çekirdekler varsa, iki ağır hesaplama iş parçacığını aynı fiziksel bloğa yüklemekten kaçınır.
NUMA (Non-Uniform Memory Access)Sunucu ve yüksek performanslı sistemlerde bellek belirli işlemcilere bağlıdır. Zamanlayıcı, yabancı belleğe erişimdeki gecikmeleri önlemek için iş parçacığını ve verilerini aynı düğümde tutmaya çalışır.
Önbellek belleği (L1/L2/L3)Bir iş parçacığının bir çekirdekten diğerine taşınması ("migrasyon") önbelleği temizler. Akıllı zamanlayıcılar, sıcak önbelleği kullanmak için iş parçacığını aynı çekirdekte tutmaya (affinity) çalışır.

Kullanıcıların ve geliştiricilerin sık yaptığı hatalar

Zamanlayıcının çalışma şeklinin anlaşılmaması, efsanelere ve verimsiz optimizasyon eylemlerine yol açar.

  1. "Arka plan programlarını kapatmak işlemciyi serbest bırakır."
    • Gerçek: Arka plan programı aktif değilse (uyku modundaysa), CPU döngüsü tüketmez. Zamanlayıcı ona zaman tanımayacaktır. Bu tür programları kapatmak RAM'i serbest bırakır ancak işlemciyi hızlandırmaz.
  2. "Affinity"nin (çekirdeğe sabitleme) manuel ayarlanması.
    • Gerçek: Üçüncü taraf yazılımlar aracılığıyla bir oyunu belirli çekirdeklere zorla sabitlemek genellikle zarar verir. Modern OS zamanlayıcısı bunu sıcaklık ve yükü dikkate alarak dinamik ve daha verimli bir şekilde yapar.
  3. Yonga seti sürücü güncellemelerini göz ardı etmek.
    • Gerçek: Sürücüler, OS'e işlemci topolojisini (hangi çekirdeklerin hızlı, hangilerinin enerji verimli olduğunu ve önbellek belleğin nasıl yapılandırıldığını) bildirir. Güncel sürücüler olmadan, zamanlayıcı ağır görevleri zayıf çekirdeklere gönderebilir (örneğin Intel Core 12. nesil+ veya AMD Ryzen 7000+ gibi hibrit CPU'lar için bu geçerlidir).

İnternetteki "hızlandırıcılara" karşı dikkatli olun "Windows zamanlayıcısını optimize etmeyi" vaat eden programlar genellikle sadece kayıt defteri zamanlayıcı ayarlarını değiştirir veya hizmetleri devre dışı bırakır. Modern Windows 10/11 sürümlerinde bu mekanizmalar zaten optimal şekilde yapılandırılmıştır. Müdahale etmek kararsızlığa yol açabilir.

SSS

Bir sürecin önceliğini manuel olarak değiştirebilir miyim? Evet. Windows Görev Yöneticisi'nde ("Ayrıntılar" sekmesi) öncelik (Düşük, Normal, Yüksek, Gerçek Zamanlı) ayarlanabilir. Ancak, "Yüksek"in üzerinde bir öncelik artışı normal uygulamalar için önerilmez, çünkü bu sistem süreçlerini engelleyebilir ve sistemin donmasına neden olabilir.

İşlemci %100 yüklüyken bilgisayar neden yavaşlıyor? %100 yükü optimize edilmemiş tek bir iş parçacığı oluşturuyorsa, zamanlayıcı fare ve klavyeden gelen kesmeleri zamanında işleyemeyebilir. Sorun ayrıca aşırı ısınmada (throttling) da olabilir; bu durumda CPU frekansı minimuma düşer ve basit görevler bile uzun sürer.

Çekirdek sayısı zamanlayıcının çalışmasını etkiler mi? Evet. Çekirdek sayısı ne kadar fazlaysa, kaynaklar için rekabet o kadar az olur. Zamanlayıcının her iş parçacığını ayrı bir çekirdeğe yerleştirmesi ve bağlam değiştirmelerinden kaçınması daha kolaydır. Tek çekirdekli sistemlerde tüm çoklu görevlilik yalnızca hızlı geçişlere dayanır, bu da büyük ek yükler yaratır.

Görev Yöneticisi'ndeki "Sistem Kesmeleri" nedir? Bu normal bir süreç değil, işlemcinin donanım kesmelerini (disk, ağ, USB'den gelen) işlemek için harcadığı zamanın göstergesidir. Bu yük yüksekse (>5-10%), bu genellikle uygulama zamanlayıcısının çalışmasından ziyade, sürücü çakışmasına veya arızalı donanıma işaret eder.