Gerçek zamanlı sistemlerine ait terminoloji çeşitli kaynaklarda farklılık arz etmek ile birlikte, bazı temel kavramlar üzerinde fikir birliği oluşmuştur. Aşağıda bu kavramlara değinilmiştir.
İş İle İlgili Tanımlar
İş(Job): Bir sistem tarafından zaman çizelgesine göre yürütülen birim çalışmaya verilen isimdir. Bir kontrol kuralının hesaplanması, hızlı fourier dönüşümü, veri paketi kopyalama gibi ayrıntılı bir şekilde tanımlanan her şey birer iştir.
Görev(Task): Sistemin bir işlevini yerine getirmek üzere ilişkilendirilmiş işlerin bir kümesine verilen isimdir.
Özkaynak(Resource): İşlerin yürütülmesi için özkaynaklar gerekir. Ağ, disk, işlemci birer özkaynaktır. Kuyruk teoremi literatüründe bunlara Sunucu(Server) da denilir. Gerçek zamanlı literatürde bunlar karşımıza aktif özkaynaklar olarak da çıkabilir. Bunların tamamını genelleştirmek için kullanılan bir başka terimde İşlemcidir(Processor).
Zaman İle İlgili Tanımlar
Salma Anı(Release Time): Bir işin yürütülmeye hazır hale geldiği andaki zamanın ifadesidir.
Son An(Deadline): Bir işin yürütülmesinin tamamlanması gereken zamanın ifadesidir.
Yanıt Süresi(Response Time): Bir işin salma anından tamamlandığı ana kadar geçen zamanın büyüklüğüne denir.
Bağıl Son An(Relative Deadline): Bir işin kabul edilebilen en uzun yanıt süresine denir.
Mutlak Son An(Absoulte Deadline): Salma anı ve bağıl son anın toplamında geçen sürenin ifadesidir.
Zaman Kısıtı(Timing Constraint): Bir işin zamana bağlı davranışı üzerinde etkisi olan her türlü kısıta verilen genel isim.
Hoşgörüsüz(Hard): Sistemin çalışması esnasında, tanımlı bir son an zamanının aşılması halinde geri dönüşü olmayan bir etki ya da hasar oluşuyorsa, genellikle bu son an hoşgörüsüz sıfatını alır. Örneğin bir trenin acil durum freni ya da bir bombanın uçaktan bırakılması gibi kritik bazı işler için tanımlanmış son an değerleri, hoşgörüsüz olarak sınıflandırılabilir.
Hoşgörülü(Soft): Aşılması durumunda ciddi sorunlara yol açmayan anacak sistemin başarımı üzerinde olumsuz etkileri olan zaman kısıtlarını nitelendirmek için kullanılır. Bir sistemin ne kadar hoşgörülü olduğunun ölçüsü sonuçları ile ilintilidir.
İşin Gecikmesi(Tardiness of A Job): Bir işin son anını ne kadar aştığının ölçüsüdür. Eğer iş son andan önce tamamlanıyorsa gecikme yoktur. Bir işin sonucunun kullanılabilirliğinin gecikmesine göre değişim oranı, o iş için tanımlı son anın ne kadar hoşgörülü olduğunun ölçüsüdür.
Sağlama(Validation): Benzetim ve test tekniklerinden yararlanılarak bir zaman kısıdının sağlanabileceğinin gösterilmesidir. Son yıllarda bazı gerçek zamanlı sistemlere dinamik olarak tanımlanan görevler kabul edilmeden önce doğru zamanlama ile yürütülebileceğinin sağlaması otomatik olar sistem tarafından gerçekleniyor.
İstatistiksel Kısıt: Zaman kısıtlarının istatistiksel ortalama olarak verildiği hoşgörülü kısıtlardır.
Gerçek Zamanlı Sistemleri Matematiksel Başvuru Modelleri
Gerçek zamanlı sistemlerin matematiksel olarak modellenmeleri sayesinde, uygulamaların zamanlama kısıtları ve kaynak isterleri üzerinde odaklanabilmek mümkün hale gelir. Uygulamaların zaman çizelgesine göre koşturulmasını sağlayacak algoritmaların uygulamaya özel gerçeklenmeleri gerekmeden başarımlarının test edilebileceği çeşitli modeller mevcuttur. Bu modellere göre her sistem üç ana öğe ile karakterize edilir:
- Sistem tarafından desteklenen uygulamaların İş Yükü Modeli.
- Sistemin uygulamalara sunduğu Sistem Kaynak Modeli.
-
Uygulamaların kaynaklarını nasıl kullandığına yönelik Algoritma Modeli.
İşlemciler ve ÖzKaynaklar
Tüm sistem kaynakları işlemciler ve özkaynaklar olmak üzere iki ana sınıfa ayrılırlar. İşlemcilere örnekler; sunucular, bilgisayarlar, iletim kanalları, diskler ve veri tabanı sunucuları olabilir. İşlemciler makine kod yürütme, veri kopyalama, sorgu yürütme gibi işleri yaparlar. Her bir işin yürütülmesi için en az bir işlemci ile ilişkilendirilmelidir. Bazı durumlarda işlemcileri de kendi aralarında kategorize etmemiz gerekebilir. Aynı tipten işlemciler birbirlerinin yerine kullanılabilirler. Örneğin aynı veri iletim hızında çalışan iletim kanalları birbirlerinin yerine kullanılabileceği gibi simetrik çoklu işlemcili sistemlerdeki mikroişlemciler de benzer şekilde birbirilerinin yerine kullanılabilirler. Mikroişlemciler, veri iletim kanalları ve disklerin işlevselliği farklılık arz eder. İşlemciler P harfi ile sembolize edilirler. İşlemcilerin zaman çizelgesini hazırlayan algoritmalar incelenirken işlemci tiplerinin bir önemi kalmaz.
Özkaynaklar bazen pasif kaynaklar olarak da anılır. Bu tip kaynaklara örnek olarak; bellekler, seri numaraları, karşılıklı dışlama mekanizmaları (mutex) ve veri tabanı kilitleri gösterilebilir. Bir işin yürütülmesi için işlemciden ile birlikte bazı pasif kaynaklara da ihtiyaç duyulur. Örneğin hesaplama ile uğraşan bir iş diğer işler ile veri paylaşımında bulunuyor olabilir. Paylaşılan veri bir semafor yardımı ile korunuyor olabilir. Bu durumda semafor kaynak olarak modellenir. Özkaynaklar R harfi ile sembolize edilirler. Yukarıdaki kaynaklar tekrar kullanılabilirken bazıları kullanılamaz. Örneğin süreçler arası haberleşme için kullanılan bir mesaj bir daha kullanılamaz.
Bazen aynı sistemdeki elemanları işlemci ya da özkaynak olarak modellenebilir. Dağıtık bir sistemde hesaplama ile uğraşan bir işin uzaktaki bir mikroişlemci üzerinde koşturulması gerekebilir. Bu durumda uzaktaki mikroişlemcinin kaynak ya da işlemci olarak modellenmesi söz konusu olabilir. Modellemeye bağlı olarak farklı bakış açıları elde edilerek, farklı zaman çizelgeleri ve kaynak yönetimi stratejileri belirlenebilir. G/Ç veri yolu gerekli ve çok önemli bir kaynaktır. G/Ç veri yolu üzerindeki gecikmeleri, gerçek zaman başarımını kestirmek için hesaba katılabilir. Bu durumda G/Ç veri yolu özkaynak ya da işlemci olarak da modelleyebiliriz.
Geçici Parametreler ve Gerçek Zamanda İş Yükü
İşlemciler üzerindeki iş yükü işler için ayrılan zaman ve diğer kaynakların tamamıdır. Bir sistemin işlevselliğini yerine getirmek üzere kümelenmiş işler görev adını alır. Genellikle hoşgörüsüz işlerin ve görevlerin birçok parametresi önceden belli olmalıdır. Aksi durumlarda sistemin istenilen zaman kısıtlarına uygun çalışması mümkün olamayabilir. Sistemdeki görevlerin sayısı bir parametre olarak düşünülebilir. Çoğu sistemin çalışma modundaki görevlerinin sayısı ve öncelikleri sabittir. Tipik bir uçuş kontrol sistemi uçuş modunda çalışırken 12 farklı göreve sahiptir. Uçak inişe geçtiğinde kontrol sistemi de iniş moduna geçer ve görevlerin sayısı 24 çıkabilir. Bu tip sistemlerin her bir çalışma modu için tanımlı görevlerinin sayısı önceden belirlenmiştir. Bazı sistemlerde ise görevlerin sayısı aynı çalışma modu için de dinamik olarak değişebilir. Örneğin hava trafik kontrol sisteminde radarın kapsama alanına giren her bir uçak için bir görev yaratılır. Benzer şekilde uçağın radarın kapsama alanından çıkması ile birlikte sistem ilişkili görevi sonlandırır.
Her bir Ji işi geçici, işlevsel, kaynak ve dahili bağlantı parametreleri ile karakterize edilebilir. Geçici parametreler zaman kısıdı ve davranış biçimi hakkında bilgi içerir. Dahili bağlantı parametreleri ise diğer işler ile karşılıklı bağımlılıklar hakkında bilgi içerir. İşlevsellik parametreleri işin kendine has özeliklerini belirler.
Çoğu sistem için işlerin salma anları kesin olarak bilinemez. Salma zamanı olarak en erken zaman ri-, en geç zaman ri+ terimleri ile ifade edilir. Bazı modellerde ri ve gecikmenin toplamı maksimum gecikme olarak düşünülür. Pratik hesaplamalarda bu gecikme(Jitter) göz ardı edilebilir. Çoğu gerçek zamanlı sistem rasgele oluşan harici olaylara da yanıt vermek zorundadır. Sistem bu tip olaylara bir dizi işleri ardışık olarak koşturmak sureti ile yanıt verir. Olay tetiklenene kadar işlerin salma zamanları bilinemez. Bu tip görevlere seyrek (sporadic) işler denir. Örneğin bir jet pilotunun otomatik pilotu ne zaman devreden çıkaracağı önceden bilinemez. Sisteme ait modelde bu tip görevler işler için bir olasılık dağılımı bulunmalıdır. Bu tip görevler için salma zamanı yerine varış zamanı terimi tercih edilmektedir.
Geçici parametrelerden bir diğeri de ei yürütme zamanıdır. Yürütme zamanı genellikle donanım ve yazılıma bağlı olarak bir iş için her zaman aynı sürede olmaz. Örneğin işin içerisinde bulunan karşılaştırma komutlarının işlem süreleri farklı olacağı için o anki duruma bağlı olarak yürütme zamanları da farklı olacaktır. Yürütme zamanı içinde salma zamanına benzer olarak en uzun ve en kısa yürütme zamanları söz konusudur. Ancak yürütme zamanları arasındaki farkın büyük olması durumunda zamanlama kısıtları açısından gürbüz bir sistem tasarlamak zordur. Bu yüzden gerçek zamanlı sistemlerin tasarımında yürütme zamanını değiştirecek etkenlerden en aza indirgenir. Örneğin sanal hafıza kullanımının gerçek zamanlı bir sistemin önceden kestirilebilirliği üzerinde oldukça olumsuz etkisi vardır. En uzun zamanlar kullanılarak tasarlanan bir sistemde ise mikroişlemciden tam anlamı ile yararlanılmamış olunur. Bu durumda gerçek zaman kestirimi üzerinde olumsuz etkisi olabilecek tüm karmaşık donanım ve yazılım mekanizmalarından kaçınmak doğru olacaktır.
Dönemsel Görev Modeli
Bu model en yaygın kullanılan modellerin başında gelir. Birçok geleneksel gerçek zamanlı sistem bu modelle birebir örtüşür. Bu modele dayalı zamanlama algoritmalarının başarımları oldukça iyi ve davranışları önceden kestirilebilirdir.
Modelde belli aralıklar ile sistemin bir işlevini yerine getirmek üzere çalıştırılan her hesaplama ve veri iletimi bir periyodik görev olarak kabul edilir. Periyodik görev Ti’ye ait dönem pi görevdeki ardışık işlerin salma anları arasındaki en küçük zamandır. Yürütme zamanı ise görevin içerdiği işlerin en uzun yürütme zamanlarının toplamı kadardır. Sistemdeki görevlerin dönemleri ve yürütme zamanları her an bilinir. Geleneksel literatürde dönemsel görevin tanımı ile görev içerisindeki işlerin tamamının dönem başında tetiklenmesi anlatılmıştır. Burada verilen dönemsel görev tanımı ise seyrek iş (sporadic job) ile örtüşmektedir. Pratikte görevin içerisindeki işlerin salma anlarının görev dönemi içerisinde her hangi bir zamanda olması kabul edilebilir.
Programlanabilir görev modelinin doğruluğu salma ve yürütme zamanlarındaki gecikmelerin uzaması ile azalır. Dolayısı ile bu model bazı sistemler için çok uygun olmayabilir. Sistemdeki görevleri T1,T2….Tn, görevlerden herhangi birisine ait işleri ise Ji,1, Ji,2 …. Ji,n ile gösterebiliriz. Her Ti görevindeki ilk iş olan Ji,1’in salma zamanı ri1 Ti görevinin fazı olarak tanımlıdır ve Øi ile gösterilir. Bir diğer önemli parametre ise toplam meşguliyet oranı U dır. Ui = ei/pi oranı herhangi bir Ti görevinin işlemciyi ne kadar meşgul ettiğini gösterir. Bir sistemdeki tüm görevlerin yararlanma oranlarının toplamı da o işlemcinin ne kadar bir yüzde ile meşgul olduğunun ifadesidir.
Dönemsel Olmayan(Aperiodic) ve Seyrek (Sporadic) Görevler
Periyodik görev modelinde beklenmeyen olaylara verilen yanıtlardan kaynaklanan iş yükünün modellenmesi dönemsel olmayan ve seyrek işler ile yakalanır. Her dönemsel olmayan ve seyrek görev, seyrek işlerin bir akışıdır. Bu iki görev modelinin tanımları arasındaki küçük bir nüans farkı vardır:
Dönemsel Olmayan Görev: Bu göreve ait işler hoşgörülü bitiş zamanlarına sahiptir. Sistemin böyle bir göreve yanıt verme süresinin en iyisi olmasını istenir ancak bunun yanında sistemdeki hoşgörüsüz bitiş zamanlarına sahip görevleri etkilememesi de beklenir.
Seyrek Görev: Bu göreve ait işlerin bitiş anları hoşgörüsüzdür. Örneğin bir jet pilotunun herhangi bir anda oto pilotu devre dışı bırakmak istemesi bu tip görevlere güzel bir örnek teşkil eder.
Öncelik Kısıtları ve Veri Bağımlılığı
Alışılagelmiş zamanlama teorisinde işlerin belirli bir sıra ile yürütülmesi gerekiyor ise bu işlerin öncelik kısıtları (precedence constraint) vardır denir. Aksi durumlarda işlerin birbirlerinden bağımsız oldukları vurgulanır. Zaman çizelgesi hazırlama algoritmalarında işler arasındaki bu tip ilişkiler Görev ve Öncelik Grafikleri ile gösterilir. Ji < Jk ifadesi ile anlatılmak istenen Jk işinin Ji tamamlanmadan yürütülemeyeceğidir. Bu durumda Ji işi Jk işinin hemen öncesi (immediate predecessor) Jk ‘de Ji’nin hemen sonrası (immediate successor) olarak anılır.
İşler arasındaki bir diğer bağımlılık da veri bağımlılığıdır. Bu tip bir bağımlılık öncelik grafiği üzerinde gösterilemez. Gerçek zamanlı sistemlerde işlerin birbirleri ile haberleşmek üzere sık kullandıkları tekniklerin başında veri paylaşımı gelir. Üretici ve tüketici durumundaki işler eşzamanlı olarak çalışmazlar. Üretici iş veriyi paylaşılan bir adres alanına yazar. Bu veri tüketici iş tarafından herhangi bir anda kullanılır. Böyle bir durumda öncelik grafiğinde işler birbirinden bağımsız olarak gösterilir. Aslında aralarında bir veri bağımlılığı söz konusudur. Örneğin aviyonik sistemlerinde navigasyon görevi uçağın yerini periyodik olarak güncelleyerek bu bilgiyi paylaşılan bir alana yazar. Uçuş kontrol görevi ise bu bilgiye ihtiyaç duyduğunda güncellenen veriyi okur. Bu iki görev arasında bir öncelik kısıdı bulunmamasına rağmen sistemin zaman planlayıcısı bu görevleri birbirlerinden bağımsız düşünerek zaman çizelgelerini planlayamaz. Öte yandan verinin bütünlüğünün korunması adına bir kilit mekanizması kullanılarak paylaşılan veri alanına aynı anda görevlerden yalnızca birinin erişimine olanak tanınır. Bu mekanizmanın dışında şartlı iş koşturma, veya işleri ve boru (pipeline) mekanizmalarından da faydalanılabilir.
Bazı işlerin birbirlerine göre belli bir zaman sonunda tamamlanmasına gereksinim duyulduğu durumlar vardır. Bu tip işlerin tamamlanma zamanları arasındaki farka geçici fark(temporal distance) (td) denir. Bu tip işlerin td değerlerinin belli bir değerden daha büyük olmama zorunluluğu ne zaman bitirileceklerinden daha önemli olur. Örneğin naklen yayın sitemlerindeki ses ve görüntü aktarımı işleri arasındaki gecikmenin 160 ms’den büyük olmaması durumu gibi.
İşlevsel Parametreler
Zaman çizelgesisin hazırlanması ve kaynak erişimi işlere ait en önemli karakteristikleri koyar. Bu karakteristikleri etkileyen başka parametreler de söz konusudur.
(İşlerin bölünebilirliği)(Pre-emptivity of jobs): İşlerin yürütülmelerine zaman zaman ara verilebilir. Zaman planlayıcısı daha az önemli bir işi durdurarak işlemcileri daha acil bir iş için koşturabilir. En acil iş tamamlandığında göreceli olarak daha az aciliyeti olan iş kaldığı yerden devam ettirilir. İşin yürütülürken bölünmesine (pre-emption) denilir.
Bir iş diğer işler için durdurulabiliyorsa o iş bölünebilir (pre-emptable) denilir. Gerçek zamanlı olmayan sistemlerde bu tip işler iyi bilinen Round Robin mantığı ile yürütülür.
Bir işin başından sonuna kadar bölünmeden koşturulması gerekiyorsa o işe durdurulamaz denilir. Örneğin kesme hizmet işleri işlemcinin son durumunu saklayarak çalışmaya başlar ve bu esnada hiçbir suretle kesilemez. Aksi takdirde paylaşılan veri yapılarında bozulmalar olması muhtemeldir.
Durdurma işlemi sırasında durum değişkenlerinin saklanması dahil yapılan işlerin tamamına içerik değiştirme(context switch) denilir.
Bir kaynağın her bir parçası seri olarak kullanılmak zorunda ise bölünmez kaynaktır. Diğer bir ifade ile kaynak bir işe tahsis edildiğinde o kaynağı bekleyen diğer işler beklemek durumundadır. Örneğin veritabanı sistemlerinde bir tabloyu yazmak üzere kilitlemek gibi.
Gerçek Zamanlı Sistemlerde Sık Kullanılan Zaman Paylaşım Teknikleri
Gerçek zamanlı işler belli bir zaman çizelgesi algoritması ve kaynak erişim denetimine tabi tutularak çizelgeye konulur. Bu işi yürüten birime çizelgeci(scheduler) zaman çizelgecisi denir. Zaman çizelgecisinin aşağıdaki şartları sağlaması gerekir:
- Her bir işlemci bir kerede yalnızca bir işe atanır.
- Her iş bir kerede yalnızca bir işlemciye atanır.
- İşler salma zamanlarından erken yürütülmezler.
- Algoritmaya bağlı olarak her iş için ayrılan toplam işlemci zamanı o işlerin en uzun yürütme zamanına eşittir.
- Tüm öncelik ve kaynak kullanım kısıtları sağlanır.
Uygun Takvim (Feasible Schedule): Verilen sistemdeki her iş son anından önce bitirilebilme durumudur.
Gecikme (Lateness): Tamamlanma zamanı ile bitim zamanı arasında kalan zaman. Tardiness hiçbir zaman negatif değer alamaz. Ama lateness erken biten görevler için negatif değerler alabilir.
Makespan: Gerçek zamanlı işlerden bitiş anları aynı olanlarının en son bitirilenin yanıt süresine denir.
Çoğu sistemde kaynakların bir kısmı mantıksaldır. Bu yüzden mantıksal kaynakların fiziksel kaynaklar üzerinde bir zaman çizelgesine bağlı olarak çalıştırılması gerekir. Fiziksel sistem üzerine mantıksal kaynağın zaman planlayıcısı ile bu mantıksal sistemi kullanan uygulamanın zaman planlayıcısı farklı yapıdadır. Bu yüzden bir sistemdeki zaman planlayıcılar arasında bir hiyerarşi bulunur. Zaman planının her seviyesindeki iş yükünü bir görev grafiği ve kaynak grafiği göstererek tüm hiyerarşik katmanları benzer şekilde gösterebiliriz.
Gerçek zamanlı sistemlerin zaman çizelgelerinin hazırlanmasında üç temel yaklaşım bulunmaktadır. Bu yaklaşımlar aşağıdaki paragraflarda anlatılmıştır.
Saat Tetiklemeli Yaklaşım(Clock Driven Approach)
Zaman tetiklemeli çizelgelemede hangi işlerin hangi zamanlarda yürütüleceğinin kararı belirli zaman aralıklarında verilir. Sistem koşmaya başlamadan önce tüm işler birer öncelik alırlar. Bu tip sistemlerde tüm gerçek zamanlı işlerin parametreleri önceden bilinir ve sabittir. İşlerin zaman planı çevrim dışı iken yapılır ve yürütme zamanına kadar saklanır. Zamanlayıcı karar verme anında bu takvimi kullanarak planlama yapar. Böylece zamanlamadan kaynaklanan yük en aza indirgenir. Dönemsel aralıklar ile zaman planı yapmanın bir yolu donanımsal bir zamanlayıcı kullanarak periyodik olarak kesme üretmektir.
Ağırlıklı Round Robin Yaklaşımı
Round robin yaklaşımı genellikle zaman paylaşımlı uygulamalar için kullanılır. İşler takvime konulduktan sonra koşmaya hazır hale geldiklerinde bir kuyruk alana atılırlar. Bu kuyruğun başındaki iş en fazla bir zaman dilimi boyunca işletilir. Genellikle bir zaman diliminin uzunluğu 10 ms civarındadır. Yürütülen iş ilk zaman diliminde bitirilemez ise kuyruğun sonuna bir daha koşturulmak üzere eklenir. Kuyrukta n iş olması durumunda her n dönüşte bir işin çalıştırılacağı aşikardır. Bu algoritmayı temel alan ağırlıklı Round Robin algoritması genellikle yüksek hızlı anahtarlamalı ağlarda gerçek zamanlı trafiğin zaman çizelgesini hazırlamak için kullanılır. Diğerinden farklı tarafı her işe ayırdığı zamanının işin ağırlığı ile orantılı olmasıdır. Ağırlıkların dinamik olarak değiştirilmesi ile birlikte işlerin tamamlanma hızları değiştirilebilir.
Öncelik Tetiklemeli Yaklaşım (Priority Driven Approach)
Bu tip algoritmaların temel felsefesi kaynakları boş bırakmama üzerine dayandırılmışlardır. Zamanlama kararları yalnızca işler tamamlandığında ya da olaylar üzerine oluşur. Önceliğe göre sürülen algoritmalar olay tetiklemelidirler. Diğer isimleri; Greedy, List, Work Conserving Scheduling olarak da geçer.
Dinamik ve Statik Sistemler
Birden fazla işlemcinin tek bir kuyruğu paylaşması ve kuyruğun başındaki işin tek bir işlemci tarafından yürütülmesi durumundaki çok işlemcili sistemlere dinamik sistem denir. Bu tip sistemlerde işler işlemcilere dinamik olarak dağıtılır.
Bir diğer yaklaşım ise işleri alt sistemlere parçalamak ve alt sistemleri statik olarak işlemcilere bağlamaktır. Sistemdeki işlemcilerden bir tanesi bozulur ya da sistemin çalışma modu değişirse işler bir işlemciden diğerine transfer edilir.
Farklı işlemciler üzerinde yürütülen işler birbirlerine bağımlılar ise işlemciler üzerindeki çizelgeciler işleri bir kaynak erişim protokolüne göre senkronize etmelidirler. Aksi belirtilmedikçe işler işlemciler üzerindeki çizelgeciler tarafından yürürlüğe konulur.
Dinamik sistemlerin zaman kısıtlarını sağlamaları garanti edilemez iken statik sistemlerin sağlamasının yapılması mümkündür. Bu sebepten dolayı neredeyse tüm gerçek zamanlı sistemler statik olarak planlanırlar.
Saat tetiklemeli sistemlere göre öncelik tetiklemeli sistemlerin bir çok avantajı uygulanması daha kolaydır. Ayrıca koşma zamanındaki yükleri de daha azdır. Saat tetiklemeli bir sistemde zaman çizelgecisi işlerin salma ve yürütme zamanları ile öncelik sırası parametrelerine ihtiyaç duyar. Öncelik tetiklemeli sistemlerde ise bu parametrelere ihtiyaç duyulmadığı için değişken zaman ve kaynak ihtiyacı olan sistemler için daha uygundur.