- RTOS nedir?
- Neden RTOS?
- Gerçek Zamanlı İşletim Sistemi ve İşletim Sistemi Arasındaki Fark
- RTOS Türleri
- Ücretsiz RTOS kullanmanın avantajları
- RTOS ile ilgili bazı önemli sorunlar
- RTOS nasıl kullanılır
Gömülü sistemler çevremizdeki tüm elektronik cihazlarda geniş bir uygulama alanına sahiptir, bunun bariz bir örneği her zaman yanımızda taşıdığımız mini dizüstü bilgisayar, evet cep telefonlarımızdan bahsediyorum.
Gömülü sistem ne zaman ortaya çıksa, her zaman Mikroişlemciler veya Mikroişlemciler gibi bir donanım ve bir aygıt yazılımı veya İşletim sistemi gibi bir yazılım kombinasyonu olur. Bir İşletim Sistemi, tüm elektronik cihazların temelini oluşturur ve herhangi bir elektronik cihazdaki hem donanımı hem de yazılımı yönetir. İşletim sistemi terimi yalnızca bilgisayarlar için Unix ve Windows ile sınırlı değildir, aynı zamanda mikro denetleyicileri de kapsayabilir. Mikroişlemciler üzerinde çalışabilen böyle bir işletim sistemine Gerçek zamanlı işletim sistemi denir. Burada RTOS ve gerçek zamanlı işletim sistemi uygulamaları hakkında bilgi edineceğiz.
RTOS nedir?
Yaygın olarak RTOS olarak bilinen gerçek zamanlı işletim sistemi, denetleyiciye, önceliğe bağlı olarak belirli bir süre içinde girdilere yanıt verme ve görevleri tamamlama yeteneği sağlar. İlk bakışta, bir RTOS, herhangi bir gömülü program veya ürün yazılımı gibi ses çıkarabilir, ancak bir İşletim sisteminin mimarisi üzerine inşa edilmiştir. Dolayısıyla, herhangi bir işletim sistemi gibi RTOS birden programları destekleyen aynı anda yürütmek için izin verebilirsiniz multiplexing'i. Bir işlemcinin veya denetleyicinin çekirdeğinin bir seferde yalnızca tek bir talimatı yürütebileceğini bildiğimiz gibi, RTOS'ta zamanlayıcı adı verilen bir şey vardır.hangi komutun ilk olarak yürütüleceğine karar verir ve böylece birden fazla programın komutlarını birbiri ardına yürütür. Teknik olarak bir RTOS, yalnızca paralel komutları teker teker uygulayarak çoklu alma yanılsaması yaratır.
Bu, RTOS'u gerçek dünyadaki çeşitli uygulamalar için uygun hale getirir. Herhangi bir giriş için RTOS'ta, ilgili çıktıyı veren bir mantık değerlendirildiğinde. Bu mantık, yalnızca mantıksal yaratıcılığa değil, aynı zamanda belirli bir görevin gerçekleştirildiği süreye göre de ölçülür. Bir sistem bu belirli süre içinde görevi yerine getirmede başarısız olursa, bu sistem arızası olarak bilinir.
Neden RTOS?
- Sürücülerin Durumu: RTOS içinde mevcut birçok sürücü bize çeşitli uygulamalar için doğrudan kullanmak olanak veren vardır.
- Planlanmış dosyalar: RTOS, herhangi bir sistemi programlamaya odaklanmak yerine, yalnızca uygulama geliştirmeye odaklanabilmemiz için planlama ile ilgilenir. Örneğin, görev zamanlama dosyaları, bir dizi koşul karşılandığında belirli eylemleri tanımlamak için kullanılır. RTOS, tipik olarak çalışan, hazır ve engellenmiş durumları planlamak için belirli gelişmiş algoritmalar kullanır; bu, RTOS çalıştırırken, programlamadan ziyade uygulama geliştirmeye daha fazla odaklanır.
- Özellik ekleme esnekliği: RTOS içinde yeni özellikler eklemeye istekli olsanız bile, mevcut özellikleri bozmadan ekleyebilirsiniz.
Gerçek Zamanlı İşletim Sistemi ve İşletim Sistemi Arasındaki Fark
Gerçek zamanlı işletim sistemi ile Windows, Linux vb. İşletim sistemleri arasında çeşitli farklılıklar vardır. Tablo formatı yardımıyla bunlara tek tek göz atalım:
S.No | İşletim sistemi | Gerçek zamanlı Sistem |
1 | Zaman paylaşımı, işletim sistemindeki işlemlerin yürütülmesinin temelidir | İşlemler öncelik sırasına göre yürütülür |
2 | İşletim sistemi, bir sistemin donanımı ve yazılımı arasında bir arayüz görevi görür | Gerçek zamanlı sistem, gerçek dünya sorunları için uygulanacak şekilde tasarlanmıştır. |
3 | İşletim sisteminin yürütülmesi söz konusu olduğunda bellek yönetimi kritik bir sorun değildir | Bellek yönetimi, kendisi de kritik olan gerçek zamanlı sorun belleğine bağlı olduğundan zordur |
4 | Uygulamalar: Ofis, Veri merkezleri, Ev için Sistem vb. | Uygulamalar: Uçak veya nükleer reaktörün kontrolü, bilimsel araştırma ekipmanları |
5 | Örnekler: Microsoft Windows, Linux, OS | Örnekler: Vx Works, QNX, Windows CE |
RTOS Türleri
Gerçek zamanlı işletim sistemini büyük ölçüde üç bölüme ayırabiliriz:
- Zor gerçek zamanlı işletim sistemi
- Yumuşak gerçek zamanlı işletim sistemi
- Firma gerçek zamanlı işletim sistemi
1. Zor gerçek zamanlı işletim sistemi
Bu tür bir işletim sistemini bir örnek kullanarak anlamaya başlayalım, bunun canlı örneği uçuş kontrol sistemidir. Uçuş kontrol sistemi içinde, pilot tarafından bir girdi şeklinde verilen görevler ne olursa olsun, zamanında gerçekleştirilmelidir. Zor gerçek zamanlı bir İşletim sisteminde, sistem arızaları tolere edilebilir. Sert RTOS'un özellikleri şunlardır:
- Görevleri zamanında gerçekleştirmek için
- Son teslim tarihine uyulmaması ölümcüldür
- Garantili daha kötü durum yanıt süresi
- Sistem arızasına yol açabilir
2. Yumuşak gerçek zamanlı işletim sistemi
Soft RTOS kullanmanın en kolay örneği çevrimiçi veritabanıdır, çünkü soft RTOS'ta daha çok endişelendiğimiz parametre hızdır. Dolayısıyla, yumuşak RTOS'un özellikleri şunlardır:
- Görevler olabildiğince hızlı gerçekleştirilmelidir
- Görevlerin geç tamamlanması istenmez ancak ölümcül değildir
- Performans düşüşü olasılığı var
- Sistem arızasına yol açamaz
3. Firma gerçek zamanlı işletim sistemi
Nesneleri seçmek için kullanılan robot kolu RTOS firması örneklerinden biri olarak düşünülebilir. İşte bu firma içinde RTOS, süreç gecikse bile tolere edilir.
Ücretsiz RTOS kullanmanın avantajları
Aşağıdakiler, uygulamalarınızda RTOS kullanmanın avantajlarıdır.
- Güvenlik duvarı sorunu yok
- Gelişmiş performans için düşük bant genişliği
- Gelişmiş güvenlik ve gizlilik
- Geliştirme için kullanılan donanım ve yazılım bileşenlerinin azalması nedeniyle düşük maliyet
RTOS ile ilgili bazı önemli sorunlar
Artık gerçek dünya uygulamasında RTOS için birçok avantajı olmasına rağmen çeşitli dezavantajları da bulunmaktadır. Bununla ilgili bazı konular burada tartışılmaktadır.
- Kesmeler normal olarak programlarda, akışı kodun diğer önemli bir kısmına yönlendirmek için yürütülen programı durdurmak için kullanılır. Burada RTOS içerisinde hızlı yanıt süresi gerektiğinden; Kesmelerin mümkün olan minimum süre için devre dışı bırakılması önerilir.
- Çekirdeğin çeşitli olaylara da yanıt vermesi gerektiğinden, ROM'a düzgün şekilde sığması için daha az çekirdek boyutuna sahip olması gerekir.
- İçinde böyle bir sanal bellek kavramı olmadığından RTOS'un gelişmiş özellikleri kaldırılmalıdır.
RTOS nasıl kullanılır
Artık RTOS'un ne olduğunu ve onu nerede kullanabileceğinizi bildiğinize göre, RTOS'a başlamak için normalde Tornado veya FreeRTOS geliştirme ortamını kullanmanız gerekir. Bu iki geliştirme ortamına da kısaca bir göz atalım.
Kasırga - VxWorks
Tornado, hedef sistemde gerçek zamanlı ilgili gömülü RTOS uygulamaları geliştirmek için entegre bir ortamdır. Tornado, aşağıda listelenen üç temel unsurdan oluşur.
1) VxWorks
2) Uygulama oluşturma araçları (derleyici ve ilgili programlar)
3) VxWorks uygulamasını yönetebilen, hatalarını ayıklayabilen ve izleyebilen entegre geliştirme ortamı
VxWorks, ağa bağlı gerçek zamanlı bir işletim sistemidir. VxWorks ile başlamak için, bir iş istasyonuyla birlikte bir geliştirme kitimiz (hedef) olmalı. Burada geliştirme kiti, iş istasyonundaki hedef sunucu ile iletişim kuran hedef ana bilgisayar veya bileşenden başka bir şey değildir. Buradaki hedef, kabuk ve hata ayıklayıcı gibi kasırga araçlarını birbirine bağlar. Bu nedenle, VxWorks kullanarak sistemleri yapılandırıp oluşturacağız, Tornado ise yapılandırma ve oluşturma için bize bir grafik kullanıcı arayüzü ve komut satırı araçları sağlıyor.
Burada ortaya çıkan çok önemli nokta, sisteminize tornado kurarken kurulum dizininin şu yol
adlarını kullanması gerektiğidir: installDir / target. Örneğin, tornadonuzu bir Windows ana bilgisayarında C: \ tornado'da saklamak istiyorsanız, tam yol adı bu durumda installDir / target / h / vxworks.h olarak tanımlanmalıdır.
Burada, Vx çalışmalarının özellikleriyle ilgili ayrıntılı olarak tartışmayacağız (bunu bir sonraki eğitim için bırakacağız) ancak geliştirmenin, WindRiver GNU kullanarak Vxworks içinde C ++ kullanılarak nasıl yapılabileceğini tartışacağız. WindRiver GNU, yürütme sırasındaki kesintiye ve bellek kullanım raporuna ilişkin grafiksel bir analiz sağlamamıza yardımcı olur.
Örneğin, WindRiver'ın yukarıda belirtilen görünümü, görevlerin önceliği (tLowPri & tHighPri) ile birlikte ilişkili işlemci numarasını açıklar. Boşta durumu, yani yeşil renkli çizgi, işlemcinin çalışma durumunda olmadığı ve birkaç saniyede bir olduğu gözlemlenen süreyi belirtmiştir. t1, t7, t8 ve t9 kullanılan çeşitli işlemcilerden başka bir şey değildir. Burada sadece t7 işlemciyi seçiyoruz.
Dolayısıyla, bu Windriver hem VxWorks hem de uygulama modülü alt yordamlarını çağırabilir. Windriver uygulamasını ya tornado fırlatma araç çubuğundan (-> i düğmesi) başlatabilir, daha sonra menüye tıklayabilir ve ardından kabuğa tıklayabilirsiniz. Son olarak, komut isteminden “> windsh hedef sunucusu” yazın.
Şimdi C ++ kullanarak programlama yapmak için INCLUDE_CPLUS_DEMANGLER bileşenini eklemek önemlidir, bu demangler bileşeni, hedef kabuk sembollerinin C ++ sembol adlarının insan tarafından okunabilir biçimlerini döndürmesine izin verir. C ++ modülünü Vxworks hedefine indirmeden önce, munching olarak bilinen işlemi takip edin. Burada munching, ek ana bilgisayar işleme adımını ifade eder.
C ++ uygulama kaynak programını derleyin ve örneğin hello.cpp dosyasını alın. Daha sonra.o üzerinde munch yapmak için çalıştırın ve oluşturulan ctdt.c dosyasını derleyin. Ayrıca, VxWorks içinde indirilebilir modül olan hello.out oluşturmak için uygulamayı ctdt.o ile bağlayın. Bu VxWorks'ü çalıştırdıktan sonraki çıktı, bazı hedeflerde kullanılacak bir yapım dosyası olacaktır.
Ücretsiz RTOS
Genel olarak, RTOS ile başladığımızda genellikle Vx Works RTOS'u tercih ederiz. Ancak, burada, yeni başlayanlar tarafından gerçek zamanlı işletim sistemi kavramından geçmek için de kullanılabilecek olan Ücretsiz RTOS ile ilgili kısaca bir tartışma yapalım. Ücretsiz RTOS, Richard Barry ve FreeRTOS ekibi tarafından geliştirilmiştir, ayrıca Real time engineering ltd'ye aittir, ancak kullanımı ücretsizdir ve aşağıdaki bağlantıya tıklayarak kolayca indirilebilir
Ücretsiz ROTS'u İndirin
Bu makale sırasında kullanılan ücretsiz RTOS'un son sürümü, FreeRTOS V10 olarak belirtilen sürüm 10'dur.
Free RTOS'un diğer RTOS'lardan üstün kılan en büyük avantajı, donanım açısından platformdan bağımsız davranması yani bir işletim sistemini yürütmek için kullanacağımız c kodu farklı mimariye sahip çeşitli platformlarda çalışabilir. Bu nedenle, 8051 mikrodenetleyicisini veya en son ARM mikro denetleyicisini kullanıyor olmanıza bakılmaksızın, yürütme işlemiyle birlikte yazdığınız kod her ikisi için de benzer olacaktır.
Vx işleri ve diğer RTOS işletim araçları üzerinden ücretsiz RTOS kullanmanın birçok başka faydası vardır. Bunlardan bazıları şu şekilde ifade edilebilir:
- Daha kolay test sağlar
- Kodun yeniden kullanılabilirliği kavramını teşvik eder
- Daha az boşta kalma süresi
- Bakımı kolay
- Zaman aşımı bilgisi soyut
Ayrıca, Çekirdeğin, ücretsiz RTOS'ta bulunan bir işletim sisteminin merkezi bileşenine atıfta bulunduğu temel Çekirdek, onu çeşitli uygulamalar için erişilebilir kılar. Daha fazla uygulamasına sahip olmak için genişletilmiş modülleri işletim sistemlerine eklemek kolay olduğundan RTOS daha güçlü hale gelir.
Ücretsiz RTOS kullanımının örneklerinden biri, Ücretsiz RTOS'u Nabto ile birleştirme kavramı kullanılarak açıklanabilir. Nabto, bilgileri cihazdan tarayıcıya aktarmak için kullanılan ücretsiz bir web cihazıdır.
Bu nedenle, Ücretsiz RTOS'u Nabto ile birleştirmek, onu şekil a'da açıklandığı gibi küçük bir C kodu parçası yapar. Şimdi bir gün Nesnelerin İnterneti (IOT) trendinde ve erişeceğimiz her IOT cihazının internet üzerinden benzersiz bir URL'si var ve teknoloji, noktadan noktaya güvenli ve son derece düşük bant genişliğine izin veriyor. İnternet bağlantısının yokluğunda bu kombinasyon yardımcı olabilir. Bu nedenle, ücretsiz RTOS, IOT'nin uygulanması söz konusu olduğunda popüler bir seçimdir.