Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sistem zamanlayıcı yordamı genellikle çağıranın bir süreölçer için mutlak veya göreli bir süre sonu belirtmesini sağlar. Örneğin, bkz. KeWaitForSingleObject, KeSetTimer veya KeDelayExecutionThread. İşletim sisteminin süre sonu sürelerini ölçebildiği doğruluk, sistem saatinin ayrıntı düzeyiyle sınırlıdır.
Sistem zamanı, sistem saatinin her tikinde güncellenir ve sadece en son tike kadar doğru olur. Çağıran mutlak bir süre sonu belirtirse, zamanlayıcının süresinin dolması, belirtilen süreden sonra gerçekleşen ilk sistem saati tik işareti işlenirken algılanır. Bu nedenle süreölçer, belirtilen mutlak süre sonu süresinden sonraki bir sistem saati süresi kadar zaman aşımına uğrayabilir. Bunun yerine süreölçer aralığı veya göreli son kullanma süresi belirtilirse, süre sonu, bu aralığın başlangıç ve bitiş saatlerinin sistem saati değer aralıkları arasında tam olarak nereye düştüğüne bağlı olarak, belirtilen süreden önceki veya sonraki bir süreye kadar gerçekleşebilir. Mutlak veya göreli bir zaman belirtilmiş olsun ya da olmasın, sistem saatinin kesme işlemi diğer cihazların kesme işlemleri nedeniyle gecikirse, zamanlayıcının süresi dolması daha geç bir zamana kadar algılanamayabilir.
Çağıran göreli bir geçerlilik süresi belirttiğinde, zamanlayıcı yordamı geçerli sistem saatini belirtilen göreli geçerlilik süresine ekleyerek zamanlayıcı için kullanılacak mutlak süre sonunu hesaplar. Sistem süresi yalnızca sistem saatinin en son saatine doğru olduğundan, hesaplanan süre sonu, çağıranın beklediği süre sonundan önceki bir sistem saati dönemine kadar olabilir. Belirtilen göreli süre sonu süresi, sistem saat süresine yakın veya daha küçükse, zamanlayıcı gecikme olmadan hemen sona erebilir.
Daha kısa süre sonu sürelerini daha doğru bir şekilde desteklemenin olası bir yolu, sistem saati tikleri arasındaki süreyi azaltmaktır, ancak bu, güç tüketimini artırabilir. Buna ek olarak, platformdaki diğer cihazlar için kesinti işlemenin sistem saati kesintilerinin işlenmesini geciktirmemesi garanti edilmedikçe, sistem saat süresinin azaltılması güvenilir bir şekilde daha ince bir sistem saati ayrıntı düzeyine ulaşamayabilir.
Windows 8'den başlayarak KeDelayExecutionThread , arayan tarafından belirtilen göreli süre sonu süresinden mutlak süre sonunu hesaplamak için daha hassas bir teknik kullanır. İlk olarak, geçerli sistem saatinin daha kesin bir tahminini elde etmek için yordam, sistem performans sayacını kullanarak son sistem saatinin geçmesinden bu yana geçen süreyi ölçer. Ardından rutin, sistem zamanının bu daha kesin tahminini göreli süre sonu süresine ekleyerek mutlak süre sonunu hesaplar. Bu teknikle hesaplanan mutlak sona erme zamanı, bir mikrosaniyelik doğrulukta hesaplanır. Sonuç olarak, belirtilen göreli süre sonu süresi dolmadan zamanlayıcının süresi dolmaz. Süreölçer, belirtilen süreden sonraki bir sistem saati süresine kadar yine de sona erebilir ve sistem saati kesintisinin işlenmesi diğer cihazlar için kesme işlemi gecikirse daha sonra bile süresi dolabilir.
Zamanlayıcının süresi dolmadan önce sistem süresi değişirse, göreli zamanlayıcı etkilenmez, ancak sistem her mutlak zamanlayıcıyı ayarlar. Göreli süreölçer, mutlak sistem süresinden bağımsız olarak belirtilen süre biriminin süresi dolduktan sonra her zaman sona erer. Mutlak süreölçer belirli bir sistem zamanında sona erer, bu nedenle sistem süresindeki bir değişiklik mutlak süreölçerin bekleme süresini değiştirir.