Gerçek zamanlı elektronik sistemler: temeller, planlama ve uygulamalar

Son Güncelleme: 15 Ocak 2026
  • Gerçek zamanlı bir sistem, fiziksel süreçlerle ve deterministik davranışlarla koordineli olarak, belirlenen süreler içinde doğru sonuçlar üretmelidir.
  • Bir STR'nin mimarisi, belirli donanımı, RTOS'u, zamanlama algoritmalarını (EDF gibi) ve güvenli eşzamanlılık mekanizmalarını bir araya getirir.
  • Güvenilirlik, emniyet, hata toleransı ve zaman verimliliği, sanayi, ulaşım, savunma, telekomünikasyon ve tıp gibi sektörlerde temel gereksinimlerdir.
  • Gerçek zamanlı işletim sistemleri (RTOS) ve gerçek zamanlı diller, sınırlı ve öngörülebilir gecikmelerle dış olaylara yanıt verebilen gömülü uygulamaların tasarlanmasına olanak tanır.

Elektronikte gerçek zamanlı sistemler

Gerçek zamanlı elektronik sistemler, çoğu zaman fark edilmese de, günlük hayatımızın derinliklerine işlemiş durumda. Otomobil hava yastıklarından hava trafik kontrolüne ve hatta basit bir mikrodalga fırına kadar her şey, bilgisayar sisteminin sadece işleri doğru yapmasına değil, aynı zamanda tam olarak doğru anda yapmasına da bağlıdır . Zaman sınırını az da olsa aşarsa, hesaplama mükemmel olsa bile, başarısızlık olarak kabul edilir.

Bu sistemlerin güzelliği (ve zorluğu) , fiziksel dünyayla çok özel zaman çizelgelerinde etkileşim kurma gerekliliğinde yatmaktadır . Sadece "hızlı" olmak yeterli değildir: öngörülebilir, istikrarlı ve bilgisayarın dışında olup bitenlerle senkronize olmaları gerekir. Bu nedenle, gerçek zamanlı bir sistemin tasarımı, analizi ve test edilmesi, geleneksel, genel amaçlı bir sisteminkinden önemli ölçüde daha karmaşıktır.

Gerçek zamanlı sistem nedir ve hızlı sistemden farkı nedir?

Gerçek zamanlı sistem (RTS), özünde, belirli zaman kısıtlamalarıyla fiziksel bir süreci kontrol eden veya izleyen dijital bir sistemdir . Sadece mantıksal olarak doğru sonuçlar üretmekle kalmamalı, aynı zamanda yanıtın tanımlanmış bir zaman dilimi içinde ulaşmasını da garanti etmelidir; bu süreye uyulmaması sistem arızası olarak kabul edilir.

Bu davranışın açık örnekleri arasında bir otomobilin hava yastığının veya ABS sisteminin devreye girmesi , havada top yakalamaya çalışan bir robot veya modern bir aracın motor yönetim sistemi yer almaktadır. Tüm bu durumlarda, birkaç milisaniyelik bile olsa gecikmiş bir tepki işe yaramaz, hatta tehlikeli olabilir.

Bu bağlamda "zaman" kelimesi, doğru işleyişin yalnızca tepkinin ne olduğuna değil, ne zaman gerçekleştiğine de bağlı olduğunu ifade eder. Ve "gerçek" kelimesi, sistemin kontrol ettiği fiziksel ortamın zaman ölçeğiyle tutarlı bir zaman ölçeği kullanarak, dış olaylara gerçek evrimleri sırasında tepki vermesi gerektiğini ima eder.

Bu durum, yalnızca çıktının mümkün olan en kısa sürede görünmesinin önemli olduğu, dış dünyayla senkronize olmaya gerek duyulmayan basit bir "hızlı" sistemle tezat oluşturur. Çok güçlü bir web sunucusu hızlı olabilir, ancak fiziksel olaylara bağlı kesin son teslim tarihleri ​​yoksa, mutlaka gerçek zamanlı bir sistem değildir.

Bunları çevrimiçi sistemlerden ayırt etmek de önemlidir : bunlar her zaman bağlı olabilir ve isteklere yanıt verebilir (örneğin, bir tarayıcı veya rezervasyon sistemi), ancak fiziksel süreçlerle koordineli katı son teslim tarihlerine uymak zorunda değillerdir, bu nedenle otomatik olarak gerçek zamanlı sistemler değillerdir; ancak modern web uygulamalarında, gerçek zamanlı arama benzer gecikme süreleri ve garantiler gerektirebilir.

Pratik örnek: kavşakta trafik ışığı kontrolü

Gerçek zamanlı elektronik sistemlere çok iyi bir örnek, yoğun bir kavşaktaki trafik ışığı kontrol sistemidir . Işıkların "az ya da çok" zamanında yanıp sönmesi yeterli değildir; caddede olup bitenlere göre sürekli olarak kararlar alınmalıdır.

Öncelikle trafik izlenir . Araçları ve yayaları tespit etmek için şeritlere ve yaya geçitlerine sensörler (indüktif döngüler, kameralar, kızılötesi sensörler vb.) yerleştirilir. Bu cihazlar sürekli olarak merkezi kontrol ünitesine veri gönderir ve böylece kontrol ünitesi çevre hakkında güncel bilgiler alır.

Kontrol merkezinde, yerleşik bir bilgisayar verileri gerçek zamanlı olarak işler ve sırada bekleyen araç sayısını, her şeridin doluluk oranını ve bekleyen yaya sayısını hesaplayan algoritmalar uygular. Bu bilgilerle, trafik ışığının her bir fazının her yönde ne kadar sürmesi gerektiğine karar verir.

Sonraki aşama karar verme sürecidir . Sistem, örneğin, trafik sıkışıklığını azaltmak için en yoğun yöndeki yeşil ışığı uzatmaya veya çok uzun süre bekleyen bir yaya geçidine öncelik vermeye karar verir. Bu kararlar, önceden tanımlanmış optimizasyon politikalarına ve güvenlik ve trafik akışı gereksinimlerine dayanmaktadır.

Karar verildikten sonra, kontrol ünitesi ışıkları yöneten aktüatörlere müdahale eder . Sarı, tamamen kırmızı, kilitleme ve diğer güvenlik gereksinimlerine uyarak trafik ışıklarının durumunu milisaniyelik hassasiyetle değiştirir ve fazlar arasında sorunsuz bir geçiş sağlar.

Tüm bunlar sürekli optimizasyon yoluyla yapılır : sistem trafiği kesintisiz olarak izler ve ani değişikliklere (trafik sıkışıklığı, ambulans geçişi, günün belirli saatlerindeki trafik akışındaki değişimler vb.) uyum sağlamak için yeşil, sarı ve kırmızı ışık sürelerini gerçek zamanlı olarak ayarlar. Bu, neden gerçek zamanlıdan bahsettiğimizi açıkça göstermektedir: kontrol mantığı ancak kararlar belirli zaman dilimleri içinde yürütüldüğünde anlam ifade eder.

Gerçek zamanlı sistemlerin tarihi ve evrimi

Gerçek zamanlı hesaplamanın kökenleri, 20. yüzyılın ikinci yarısında endüstriyel ve havacılık süreçlerinin kontrolüyle yakından bağlantılıdır . Bu sistemlerin temellerini atan referans metinler 1965 gibi erken bir tarihte yayınlanmış ve kısa bir süre sonra, 1973'te Liu ve Layland, katı ve esnek gerçek zamanlı sistemlerde zamanlama kavramının matematiksel tanımını resmileştirmiştir.

Bilgisayar simülasyonunda, "gerçek zamanlı simülasyon" terimi , bilgisayar modelinin temsil ettiği fiziksel süreç kadar hızlı çalıştığı zaman kullanılmaya başlandı . Bu, klasik bir ikilemi ortaya koydu: ya hız pahasına modelin doğruluğunu artırmak ya da gerçek zamanlı performansa ulaşmak veya onu aşmak için doğruluğu azaltmak.

Aynı durum grafik arayüzleri ve oyun motorları için de geçerli : Deneyimin sorunsuz olması için, kullanıcı girdilerine ve sahne değişikliklerine yeterince hızlı tepki vermeleri ve saniyede yüksek ve sabit bir kare sayısı sağlamaları gerekiyor.

60'lar ve 70'lerden bu yana, gerçek zamanlı sistemler, bazıları neredeyse felaketle sonuçlanan, yüksek profilli gerçek dünya vakalarından çıkarılan dersler sayesinde olgunlaştı ve bu da zaman analizi ve planlama tekniklerinin geliştirilmesine yardımcı oldu.

Yapay zeka ve gerçek zamanlı uygulamalar için PostgreSQL geliştiricilerinin tercihi-2
İlgili makale:
PostgreSQL: Yapay zeka ve gerçek zamanlı uygulamalar için tercih edilen seçenek

Dönüm noktası niteliğindeki vakalar: Apollo 11 ve Mars Pathfinder

Gerçek zamanlı hesaplamanın erken tarihindeki en ünlü olaylardan biri, Apollo 11 ay modülünün bilgisayarının aşırı yüklenmesiydi . İniş sırasında, yönlendirme sistemi, işlemcinin iş yükünün gerisinde kaldığını gösteren alarmlar (ünlü 1202 gibi) vermeye başladı.

  4K veya 1080p web kameranızın kalitesini nasıl önemli ölçüde artırabilirsiniz?

Görev raporlarına göre, bu alarmlar devam etseydi, mürettebat için navigasyon verilerinin güvenilirliği tehlikeye girecek ve görev iptal edilebilirdi. Sonuç olarak, önceki simülasyonlar ve deneyimlere dayanarak devam etme kararı alındı ​​ve Eagle modülü Ay'a başarıyla indi.

Esasen, bu bir işlemci aşırı yüklenmesi vakasıydı : özellikle alarm ile ilgili işlem normal iş yüküne eklendiğinde, işlemcinin ayrılan süre içinde kaldırabileceğinden daha fazla hesaplama yapılıyordu. Bu olay, arıza maliyetinin kabul edilemez olduğu sistemlerde yeterli kaynak marjlarının korunmasının önemini vurguladı.

İyi incelenmiş bir diğer örnek ise Mars Pathfinder uzay aracıdır . Burada sorun, doğrudan aşırı yüklenme değil, daha ziyade öncelik tersine çevrilmesi olarak bilinen bir olguydu; bu durum, işlemcinin görünüşte makul bir kapasite marjına sahip olmasına rağmen, teslim tarihlerinin kaçırılmasına neden oluyordu.

Öncelikli zamanlama sisteminde, yüksek öncelikli bir görev, paylaşılan bir kaynağa (örneğin bir mutex'e) sahip düşük öncelikli bir görev tarafından engellendiğinde ve bu sırada orta öncelikli bir görev düşük öncelikli görevi kesintiye uğrattığında öncelik tersine çevrilmesi meydana gelir. Sonuç olarak, kritik görev dolaylı olarak daha az önemli bir görev tarafından engellenir ve gerçek zamanlı garantiler bozulur.

Bu riski azaltmak için öncelik miras alma protokolü kullanılır . Yüksek öncelikli bir görev, düşük öncelikli bir görev tarafından engellendiğinde, zamanlayıcı geçici olarak düşük öncelikli görevin önceliğini yüksek öncelikli görevin seviyesine yükseltir. Bu, orta öncelikli görevlerin onu kesintiye uğratmasını önler, kaynağı mümkün olan en kısa sürede serbest bırakmasına ve ardından orijinal önceliğine geri dönmesine olanak tanır.

Bu örnekler, bir STR tasarlamanın sadece "yeterli işlemci gücüne sahip olmak"la ilgili olmadığını, aynı zamanda zamanlama ve planlama teorisini anlamak ve tüm sistemi (donanım, bellenim ve yazılım) geçici olarak birlikte test etmekle ilgili olduğunu açıkça ortaya koydu.

Gerçek zamanlı bir sistemin temel bileşenleri

Tipik bir STR , özel donanım, yazılım ve arayüz elemanlarının fiziksel süreçle birleşiminden oluşur . Bu sadece bir program değil; bilinen zaman dilimleri içinde dış uyaranlara yanıt vermesi gereken entegre bir sistemdir.

Fiziksel açıdan bakıldığında, kontrol edilecek bir sistem bulunur : Bu, endüstriyel tesis, motor, üretim hattı, trafik ışığı, robot veya tıbbi ekipman gibi düzenlemeye tabi herhangi bir süreç olabilir. STR, sistemin durumunu ölçer ve istenen parametreler içinde kalmasını sağlamak için kontrol eylemleri uygular.

Fiziksel dünya ile bilgisayar arasında, analogdan dijitale dönüştürücüler (ADC'ler) ve dijitalden analoğa dönüştürücüler (DAC'ler) ile birlikte sinyal işleme devrelerinden oluşan bir sinyal arayüzü bulunur . Bu katman, voltajları, akımları ve sinyal biçimlerini dijital sistem tarafından okunup üretilebilecek şekilde uyarlar.

En önemli unsurlardan biri, her örnekleme periyodunda periyodik kesintiler üreten gerçek zamanlı saattir . Bu, veri toplama, kontrol ve eyleme geçirme görevlerini senkronize ederek ölçümlerin ve komutların tam olarak gerektiği zaman verilmesini sağlar.

Sistem tipik olarak, başlatma ve durdurma kontrolleri, parametre ayarlama arayüzleri ve manuel modları zorlama mekanizmaları içeren bir insan operatör konsolu içerir . Ayrıca, süreç izleme için durumları, alarmları, eğilimleri ve diğer ilgili bilgileri görüntülemek için ekranlar kullanılır.

Önemli durum değişiklikleri gerçek zamanlı bir veritabanında saklanır ; bu sayede neler olup bittiği kaydedilir, arızalar incelenir ve yönetimi iyileştirmek için istatistikler çıkarılır. Bu geçmiş bilgiler zamanla artar ve bakım, optimizasyon ve yeniden tasarım kararlarını bilgilendirir.

Birçok endüstriyel ortamda, tesisin uzaktan denetlenmesine ve bazı durumlarda dağıtılmış kontrol merkezlerinden kontrol edilmesine olanak tanıyan bir uzaktan izleme sistemi bulunur . Bu, bir tesisin diğerine bağımlı olduğu (örneğin, bir tesise hammadde sağlayan başka bir tesis) ve bir tesiste alınan kararların tüm zinciri etkilediği durumlarda çok önemlidir.

STR'nin kalbinde , yazılımı genellikle çeşitli modüllere ayrılan gömülü bir bilgisayar bulunur: dijital kontrol algoritmaları (regülatörler, filtreler, geri besleme döngüleri), veri kaydı, adres ve yönetim arayüzleri ve operatörle doğrudan etkileşim.

Başlıca özellikler: zaman, eşzamanlılık, güvenlik ve verimlilik

Gerçek zamanlı sistemler genellikle çok sayıda değişken, harici cihaz ve değişen koşulları içeren büyük ve karmaşık sorunlarla ilgilenir . Bu durum, mimariye, planlamaya ve görevler arasındaki iletişim mekanizmalarına dikkatli bir şekilde yaklaşılmasını gerektirir.

Veriler fiziksel dünyadan geldiği için, sistem sıcaklık, basınç, hız veya voltaj gibi büyüklükleri temsil eden gerçek sayıları (ondalıklı, sabit ölçekli vb.) işlemelidir. Gösterim ve hesaplamanın doğruluğu, kontrolün kalitesi için çok önemlidir.

Güvenlik ve güvenilirlik genellikle kritik öneme sahiptir: bir arıza ciddi ekonomik kayıplara, mal hasarına, kişisel yaralanmalara veya çevresel etkilere neden olabilir. Bu nedenle hata toleransı teknikleri, yedeklilik ve kontrollü bozulma stratejileri entegre edilmiştir.

Eşzamanlılık, bir diğer belirleyici özelliktir. Bir STR, tipik olarak mantıksal paralel olarak birkaç görevi yürütür: sensör okuma, kontrol, iletişim, kayıt tutma , kullanıcı arayüzü vb. Bu, paylaşılan kaynakların yönetilmesini, yarış durumlarının önlenmesini ve kritik bölümlerin son teslim tarihlerini aşmamasını gerektirir.

Verimlilik bir lüks değil, bir zorunluluktur. Bir STR'nin mantıksal ve zamansal olarak doğru olması , aynı zamanda CPU, bellek ve G/Ç aygıtlarından tam olarak yararlanacak şekilde optimize edilmesi gerekir. Buradaki zorluk, zamanlama payı, donanım maliyeti ve yazılım karmaşıklığı arasında bir denge bulmaktır.

Giriş/çıkış aygıtları genellikle özel amaçlıdır ve fiziksel süreçle sıkı bir şekilde bağlantılıdır . Sadece genel portlardan bahsetmiyoruz; alan veri yollarından, akıllı sensörlerden ve gecikmeyi en aza indirmek ve sıkı teslimat süreleri sağlamak için tasarlanmış iletişim protokollerinden bahsediyoruz.

Gerçek zamanlı sistem türleri: sert, yumuşak ve sağlam

Zamanlama hatalarını ele alma ciddiyetine bağlı olarak, STR'ler çeşitli kategorilere ayrılır. Katı gerçek zamanlı bir sistemde , tüm son teslim tarihlerine istisnasız uyulmalıdır. Tek bir hata ciddi sonuçlara yol açabilir veya en azından sonucu geçersiz kılabilir.

Gerçek zamanlı sistemlere tipik örnek olarak uçuş kontrolü, bazı kritik tıbbi sistemler ve elektrik altyapısı koruması verilebilir. Bu durumlarda, doğru ancak gecikmeli bir sonuç işe yaramaz; sistem, öngörülebilir hiçbir senaryoda zaman sınırını karşılayamayacak şekilde tasarlanmalıdır.

  DLSS 4.5 ve DLSS 4 arasındaki farklar detaylı olarak açıklandı.

Yumuşak gerçek zamanlı sistemler, ara sıra yaşanan gecikmelere izin verir. Sonucun kullanışlılığı gecikmeyle birlikte azalır, ancak yine de kullanılabilir. Bu durum, birkaç kare kaybının veya gecikmiş örneğin kaliteyi düşürdüğü, ancak sistemin çalışmaya devam ettiği multimedya veya veri toplama uygulamalarında geçerlidir.

Bu iki uç nokta arasında , sağlam gerçek zamanlı sistemler yer alır . Burada, ara sıra yaşanan gecikmelere müsamaha gösterilir, ancak bir yanıt geç geldiğinde değersiz hale gelir ve atılır. Klasik örnekler arasında gerçek zamanlı video veya telekomünikasyon sistemleri bulunur: senkronizasyonu korumak için geç gelen bir kare atılır.

Mimari Türleri: Açık/Kapalı ve Merkezi/Dağıtılmış

Gerçek zamanlı sistemler, teknolojik açıklık derecelerine göre de sınıflandırılabilir . Tescilli sistemler, tek bir tedarikçi tarafından kontrol edilen kapalı teknolojiler ve protokoller kullanır; bu da iyi performans sağlayabilir ancak birlikte çalışabilirliği ve evrimi sınırlar.

Buna karşılık, açık sistemler, farklı üreticilerden gelen bileşenlerin entegrasyonunu, yazılımın yeniden kullanımını ve yeni platformlara kademeli geçişi kolaylaştıran kamuya açık standartlar ve protokoller kullanır.

Bir diğer önemli ayrım ise merkezi ve dağıtık sistemler arasındadır . Merkezi bir yaklaşımda, ana düğüm iletişimi ve kritik işlemleri koordine etmekten sorumluyken, diğer düğümler nispeten basit terminaller veya çevre birimleri olarak işlev görür.

Dağıtılmış bir mimaride, işlem ve iletişim, az çok özerk bir şekilde işbirliği yapan çeşitli akıllı düğümler arasında bölünür . Bu, ölçeklenebilirlik, yedeklilik ve fiziksel sürece yakınlık sağlar, ancak zaman senkronizasyonunu ve genel koordinasyonu karmaşıklaştırır.

Determinizm, kesinti gecikmesi ve tepki verme yeteneği

Belirlenimcilik, SRT'lerin temel bir özelliğidir: bir görevin ne kadar sürede başlayıp biteceğini yüksek olasılıkla tahmin edebilme yeteneğidir . Burada amaç mümkün olan en hızlı olmak değil, bilinen ve sınırlı bir yanıt süresine sahip olmaktır.

Kesme gecikmesi, harici bir kesmenin oluşturulduğu andan (örneğin, bir sensörün bir olayı bildirmesi) sistemin bunu işlemeye başladığı ana kadar geçen süreyi ölçer. Bu değer kritik öneme sahiptir çünkü birçok hizmet isteği fiziksel ortamdan kaynaklanır ve keyfi gecikmelere tahammül edemez.

Yanıt verme hızı, bir kesinti kabul edildikten sonra bir görevin yürütülmesi için geçen süreye odaklanır . Bu, hizmet rutininin başlatma süresi, ilgili işlemenin süresi ve iç içe kesintilerin veya önceliklendirmelerin etkisi gibi faktörleri içerir.

Sistemin özelliklerini belirlemek için genellikle determinizm ve yanıt verme yeteneğinin nicel bir analizi yapılır: örneğin, görevlerin %95'inin belirli bir zaman dilimi içinde tamamlanması gerekebilir . Buradan hareketle, gerçek zamanlı işletim sisteminde çalışan uygulamalar, en kötü durum beklenen performans aralığına düşmekten kaçınacak şekilde tasarlanmalıdır.

Süreçler ve güvenilirlik yoluyla sistem kontrolü

Birçok gelişmiş gerçek zamanlı sistemde, uygulama süreçlerinin kendileri sistem üzerinde çok ince bir kontrole sahiptir . Önceliklerini, bellek gereksinimlerini (hangi bölümün önbelleğe alınması gerektiği, hangi takas politikasının izin verildiği vb.) ve ihtiyaç duydukları ayrıcalıkları açıkça belirtebilirler.

İlk bakışta anarşik bir model gibi görünse de, aslında iyi tanımlanmış süreç türlerine ve net kısıtlamalara dayanmaktadır . "Bakım süreçleri, açıkça tanımlanmış düşük yük dönemleri dışında, %3'ten fazla CPU kullanımını aşmamalıdır" gibi gereksinimler belirlemek yaygındır.

Güvenilirlik, yalnızca ara sıra meydana gelen arızalardan arınmış olmanın ötesine geçer. Bir ağ hizmet sağlayıcısı (NSP) , makul aksaklıklar karşısında bile şartnamelere uygun yanıt sürelerini garanti ederek, uzun süreler boyunca kararlaştırılan sınırlar içinde hizmet kalitesini korumalıdır .

Ayrıca, hata toleransı da gereklidir : ciddi bir sorun meydana gelirse (donanım arızası, insan hatası, dış müdahale), sistem mümkün olduğunca fazla veri ve işlevselliği korumalı ve en yüksek öncelikli kritik görevlere öncelik vererek performansını düşürmelidir.

Diller ve gerçek zamanlı programlama

Pratikte, birçok gerçek zamanlı sistem (RTS) gömülüdür ve çok sayıda harici bileşenle etkileşim kurmak zorundadır; bu da eşzamanlı programlamayı ve doğrudan cihaz kontrolünü elzem kılar. Modern diller, çoklu iş parçacığı oluşturma, iletişim ve senkronizasyon için temel işlevler sunar, ancak bunlar gerçek zamanlı uygulamalarda, özellikle web çerçevelerinde ve Laravel gibi gerçek zamanlı hizmetlerde büyük dikkatle kullanılmalıdır.

Uygulama verimliliği çok önemlidir: "Güzel" dil özellikleri , yanıt süresi, CPU kullanımı veya bellek tüketimi açısından yüksek bir bedele mal olabilir . Bu nedenle, gömülü sistemlerde her soyutlama, benimsenmeden önce titizlikle değerlendirilir.

Gerçek zamanlı dünyada önemli bir yere sahip iki dil, gerçek zamanlı uzantılara sahip Ada ve Java'dır . Ada, özellikle kritik sistemleri desteklemek için tasarlanmıştır ve bu alandaki yeteneklerini güçlendirmek için iyileştirmeler içermektedir.

Java söz konusu olduğunda, gerçek zamanlı işlevler daha sonra, Java için Gerçek Zamanlı Spesifikasyon ve Gerçek Zamanlı Çekirdek Uzantısı gibi özelliklerle eklenmiştir ; bu özellikler, RTOS'a daha uygun bellek ve zamanlama modelleri sunmaktadır.

Gerçek zamanlı işletim sistemleri (RTOS)

Gerçek zamanlı işletim sistemi (RTOS), sıkı zaman sınırlarına sahip uygulamaların geliştirildiği çerçeveyi sağlayan temel yazılımdır . Hizmetlerinin (planlama, kesintiler, senkronizasyon, G/Ç vb.) öngörülebilir şekilde davranması gerekmektedir.

Genel amaçlı bir işletim sisteminin aksine, bir gerçek zamanlı işletim sistemi (RTOS), çok kısa zaman dilimleri içinde tekrarlayan görevleri yürütmek üzere optimize edilmiştir . Amaç "çok şey yapmak" değil, en önemli görevin sürprizsiz bir şekilde, gerektiği zaman çalışmasını sağlamaktır.

Bu nedenle, genellikle grafiksel süslemelerden veya gereksiz hizmetlerden arındırılmış, yalnızca birkaç megabayt boyutunda ve minimalist bir tasarım felsefesine sahip çok daha hafif sistemler olma eğilimindedirler. Daha az kod, daha az beklenmedik gecikme ve daha az hata noktası anlamına gelir ki bu da gerçek zamanlı gereksinimlerle uyumludur.

Tarihsel olarak, gerçek zamanlı işletim sistemleri (RTOS) 60'lar ve 70'lerde askeri, havacılık ve endüstriyel uygulamalar için geliştirilmeye başlandı. Sonraki on yıllarda, telekomünikasyon, otomotiv ve gömülü sistemlerde yaygın olarak kullanılan VxWorks, QNX ve Solaris'in gerçek zamanlı varyantları gibi ticari ürünler ortaya çıktı.

2000'li ve 2010'lu yıllarda Nesnelerin İnterneti'nin (IoT) yükselişiyle birlikte, FreeRTOS gibi hafif gerçek zamanlı işletim sistemleri (RTOS ), düşük güç tüketimli bağlantılı cihazlarda oldukça popüler hale geldi. Aynı zamanda, arayüzleri birleştirmek ve yazılım taşınabilirliğini kolaylaştırmak için gerçek zamanlı POSIX uzantıları önerildi.

Günümüzde birçok gerçek zamanlı işletim sistemi (RTOS), zamanlama optimizasyonu, arıza tahminleri ve çalışma zamanında kontrol parametrelerinin uyarlanması için yapay zeka ve makine öğrenimi teknikleriyle entegre olmaktadır . Elbette tüm bunlar, zaman garantilerine odaklanmayı sürdürürken gerçekleşmektedir.

  Googlebook ve Chromebook Karşılaştırması: Google dizüstü bilgisayarlarının yeni çağına dair kapsamlı bir rehber

Gerçek zamanlı işletim sistemi (RTOS) pazarının değeri birkaç milyar dolar olup, tıbbi cihazlar, endüstriyel otomasyon, otomotiv ve kritik altyapı sistemleri sektörlerinin etkisiyle önümüzdeki yıllarda istikrarlı bir şekilde büyümesi beklenmektedir.

İyi bir gerçek zamanlı işletim sisteminin karşılaması gereken gereksinimler

Modern bir gerçek zamanlı işletim sistemi (RTOS), çoklu görev yapabilme ve öncelikli görevleri durdurabilme özelliğine sahip olmalıdır ; böylece daha düşük öncelikli görevleri durdurup daha acil olan bir görevi hemen yürütebilir. Öncelik tabanlı zamanlama, yaygın paradigmadır: her zaman yürütülmeye hazır olan en önemli görevi çalıştırır.

Ayrıca, gereksiz engellemeyi en aza indirmek ve öncelik tersine çevrilmesi gibi olguları önlemek için tasarlanmış iletişim ve senkronizasyon mekanizmaları (kuyruklar, semaforlar, mutexler, olaylar) sağlamalı , uygun yerlerde miras protokolleri uygulamalı veya öncelik sınırlaması getirmelidir.

Gerçek zamanlı işletim sisteminin zamanlama davranışının iyi anlaşılması çok önemlidir : maksimum kesme gecikmeleri, bağlam değiştirme süreleri, senkronizasyon temel öğelerinin yürütme süreleri vb. Bu veriler olmadan, bir uygulamanın son teslim tarihlerine uyduğunu göstermek imkansızdır.

Planlama algoritmaları: EDF ve diğer modeller

Görev zamanlaması, gerçek zamanlı sistemlerin temel taşlarından biridir. En çok incelenen algoritmalardan biri de, birçok gerçek zamanlı bağlamda en uygun olan, dinamik olarak önceliklendirilmiş bir zamanlayıcı olan En Erken Teslim Tarihi İlkesine (EDF) dayalı algoritmadır.

EDF, görevleri mutlak tamamlanma tarihlerine göre önceliklendirir : herhangi bir anda en yakın teslim tarihine sahip görev en yüksek önceliğe sahiptir. Bu, belirli koşullar altında, tüm teslim tarihlerini karşılayan uygulanabilir bir plan varsa, EDF'nin bunu bulmasını sağlar.

Bu algoritma önleyici niteliktedir: bir görevin yürütülmesi sırasında daha acil bir son teslim tarihine sahip başka bir görev gelirse, sistem mevcut görevi kesebilir ve işlemciyi yeni göreve tahsis edebilir. EDF genellikle, son teslim tarihine kadar kalan zamana göre sıralanmış bir öncelik kuyruğu kullanılarak uygulanır.

EDF'nin avantajlarından biri, görev kümesi zamanlanabilir olduğu sürece, zamanlama kurallarına uyarak %100'e yakın CPU kullanımına ulaşabilmesidir . Ayrıca, zamanlama kurallarının veya tahmini yürütme sürelerinin değiştiği dinamik ortamlara da iyi uyum sağlar.

Örneğin, farklı periyotlara ve hesaplama sürelerine sahip iki işlem P1 ve P2'miz varsa, EDF her zaman mutlak son teslim tarihi daha yakın olan örneğe öncelik verecek ve yeni aktivasyonlar geldikçe ve son teslim tarihleri ​​yeniden hesaplandıkça yürütmesini değiştirecektir .

Ancak EDF'nin de dezavantajları vardır. Aşırı yüksek iş yükü ve sık değişikliklerin olduğu durumlarda, verimli bir şekilde uygulanması karmaşık hale gelebilir ve belirli koşullar altında, nispeten uzun teslim sürelerine sahip görevler için kaynak yetersizliği sorunları ortaya çıkabilir.

Diğer bilinen gerçek zamanlı algoritmalar arasında, görevlerin periyoduna veya göreceli zaman dilimine dayalı sabit öncelikler kullanan Oran Monotonik (RM) ve Son Teslim Tarihi Monotonik (DM) algoritmaları yer almaktadır. Her birinin kendine özgü optimumluk koşulları ve tercih edilen uygulama alanı vardır.

Gerçek zamanlı sistemlerin tipik uygulamaları

STR'ler her yerde. Proses endüstrisinde , gıda, içecek, kimyasal madde, ilaç vb. üretim hatlarını kontrol etmek ve izlemek için kullanılırlar; bu sayede temel değişkenlerin sınırları içinde kalması ve nihai ürünün beklenen kaliteye sahip olması sağlanır.

Ulaşım sektöründe uçaklar, trenler, otomobiller ve gemiler gerçek zamanlı navigasyon, kontrol ve güvenlik sistemlerine bağımlıdır . Bunlar arasında ABS fren sistemlerinden çekiş ve denge kontrolüne, demiryolu ve denizcilik trafik yönetim sistemlerine kadar çeşitli sistemler yer almaktadır.

Modern telekomünikasyon, yüksek hızlı ağlarda bilgi akışının gerçek zamanlı yönetimine dayanır: paket anahtarlama, canlı ses ve video iletimi, hizmet kalitesi güvencesi ve gecikme süresinin azaltılması, son teslim tarihlerine uyulmasının hayati önem taşıdığı görevlerdir.

Savunma sektöründe, gözetleme, radar, elektronik harp ve siber güvenlik sistemleri, kritik altyapıyı ve stratejik kaynakları korumak için tehditleri milisaniyeler veya daha kısa sürede tespit edip bunlara yanıt vermek üzere gerçek zamanlı platformlar kullanmaktadır.

Tıp alanında, hayati belirti monitörleri, ventilatörler, kalp pilleri veya infüzyon pompaları gibi ekipmanlar, hastanın durumundaki değişikliklere güvenli bir şekilde tepki vermesi gereken gerçek zamanlı yazılımlarla çalışır ve bu tepkilerin gecikmesi durumunda genellikle hayati tehlike arz eden sonuçlar doğabilir.

Dijital dünyanın ötesinde, gerçek zaman biyolojik süreçlerde de gözlemlenebilir. Örneğin, bir tohum ancak çevresel koşullar belirli aralıklar ve zaman dilimleri içinde (nem, sıcaklık, ışık) olduğunda çimlenir. Eğer bu zaman dilimlerine uymadan toprağa değdiği anda çimlenirse, muhtemelen hayatta kalamaz. Bu, zamansal ortamına uyum sağlamayan bir sistemin nasıl başarısız olabileceğine dair faydalı bir metafor.

Genel olarak bakıldığında, STR'ler telekomünikasyon, multimedya, endüstriyel kontrol, robotik, havacılık, demiryolları, otomotiv, ev aletleri, bilimsel deneyler ve tıbbi sistemler gibi birçok alanı kapsıyor . Ve yeni teknolojiler geliştirildikçe bu liste de büyümeye devam ediyor.

Tüm bu ortamlarda , iletim sürelerini kısaltan ve verilerin ne zaman ulaşacağına dair garantiler sağlayan CAN, Token Bus, TDMA-TTP, uyarlanmış CSMA/CD veya Pozitif Onaylama veya Yeniden İletim (PAR) şemaları gibi özel gerçek zamanlı iletişim protokollerine ihtiyaç duyulmaktadır.

Tüm bunların yanı sıra, veri akışı metodolojileri, veri yapıları ve nesne yönelimi, kesintileri, bağlam değişikliklerini, eşzamansız iletişimi ve katı zaman gereksinimleriyle hatalardan kurtulmayı temsil edecek şekilde uyarlanarak , özel bir gerçek zamanlı yazılım mühendisliği geliştirilmiştir .

Yukarıda belirtilenlerin tümü göz önüne alındığında, gerçek zamanlı sistemlerin modern teknolojik altyapının neden vazgeçilmez bir parçası olduğu daha da netleşiyor: Bu sistemler, binlerce kritik ve günlük sürecin güvenli, güvenilir bir şekilde ve kullanıcının "arka planda" saniyeler içinde olup biten her şeyi düşünmesine gerek kalmadan işlemesinden sorumludur.