İçeriğe atla

RTOS

Gerçek Zamanlı İşletim Sistemi (RTOS), verileri ve önemli zaman kısıtlamalı olayları işleyen gerçek zamanlı uygulamalar için işletim sistemi'dir.

RTOS, çoklu görev veya çoklu programlama ortamında sistem kaynaklarının zamanlayıcı, veri arabellekler veya sabit görev önceliği ile paylaşımını yöneten Unix gibi bir zaman paylaşımlı işletim sisteminden farklıdır. İşleme süresi gereksiniminin enaz tutulması yerine tam olarak anlaşılması ve sınırlandırılması gerekir. Tüm işlemler tanımlanan kısıtlamalar dahilinde gerçekleşmelidir. Gerçek zamanlı işletim sistemleri olay güdümlü ve önleyici'dir yani işletim sistemi rekabet eden görevlerin ilgili önceliğini izleyebilir ve görev önceliğinde değişiklik yapabilir. Olaya dayalı sistemler önceliklerine göre görevler arasında geçiş yaparken, zaman paylaşımlı sistemler saat kesintilerine göre görevler arasında geçiş yapar.

Özellikler

RTOS'un önemli bir özelliği uygulamanın görevi kabul etme ve bitirmesi için gereken süreye ilişkin tutarlılık seviyesidir; değişkenlik bir çeşit 'titreşim'dir. (ing: jitter)[1]

"Sert" gerçek zamanlı işletim sisteminin (sert RTOS), "yumuşak" gerçek zamanlı işletim sisteminden (yumuşak RTOS) daha az titreşimi vardır. Geç cevap sert RTOS'ta yanlış cevap iken, yumuşak RTOS'da geç cevap olarak kabul edilebilir. Başlıca tasarım hedefi yüksek miktarda çıktı değil, yumuşak veya sert performans kategorisinin garantisidir. Genellikle veya genel olarak bir son teslim tarihini karşılayabilen bir RTOS, yumuşak bir gerçek zamanlı işletim sistemidir, ancak bir son teslim tarihini deterministik olarak karşılayabilirse, bu sert gerçek zamanlı bir işletim sistemidir.[2]

RTOS'un zaman programlaması için gelişmiş algoritması vardır. Zamanlayıcı esnekliği, işlem önceliklerinin daha geniş bir bilgisayar sistemi düzenlemesine olanak tanır, ancak gerçek zamanlı bir işletim sistemi daha çok dar bir uygulama grubuna ayrılmıştır. Gerçek zamanlı bir işletim sistemindeki temel faktörler minimum kesme gecikmesi ve minimum iş parçacığı değiştirme gecikmesidir; gerçek zamanlı bir işletim sistemi belirli bir sürede gerçekleştirebileceği iş miktarından çok, ne kadar hızlı veya ne kadar tahmin edilebilir şekilde tepki verebileceğine göre daha değerlendirilir.[3]

Tüm işletim sistemi türleri için işletim sistemleri listesi'ne bakın.

Tasarım felsefeleri

RTOS, bir girdi uyaranını işlemek için geçen sürenin, aynı türden bir sonraki girdi uyaranına kadar geçen süreden daha kısa olduğu bir işletim sistemidir.

En yaygın tasarımlar şunlardır:

  • Olaya dayalı – yalnızca daha yüksek öncelikli bir olayın hizmete ihtiyacı olduğunda görevler arasında geçiş yapar; önleyici öncelik veya öncelik planlaması denilir.
  • Zaman paylaşımı – görevleri normal saatli bir kesintide ve olaylarda değiştirir; round-robin denilir.

Zaman paylaşımı tasarımları, görevleri kesinlikle gerekenden daha sık değiştirir ama daha sorunsuz çoklu görev sağlayarak, işlemin veya kullanıcının bir makineyi tek başına kullandığı yanılsamasını verir.

İlk CPU tasarımları, görevleri değiştirmek için CPU'nun yararlı başka hiçbir şey yapamadığı birçok döngüye ihtiyaç duyuyordu. Geçiş çok uzun sürdüğü için, ilk işletim sistemleri gereksiz görev geçişlerinden kaçınarak boşa harcanan CPU zamanını en aza indirmeye çalıştı.

Planlama

Tipik tasarımlarda, bir görevin üç durumu vardır:

  1. Çalışıyor (CPU üzerinde yürütülüyor);
  2. Hazır (yürütülmeye hazır);
  3. Engellendi (örneğin I/O gibi bir olay bekleniyor).

CPU başına aynı anda yalnızca bir görev çalışabileceğinden çoğu görev çoğu zaman engellenir veya hazırdır. Hazır kuyruğundaki öğe sayısı, sistemin gerçekleştirmesi gereken görev sayısına ve sistemin kullandığı zamanlayıcı türüne bağlı olarak büyük ölçüde değişebilir. Daha basit, önleyici olmayan ancak yine de çok görevli sistemlerde, bir görevin CPU'daki zamanını diğer görevlere vermesi gerekir; bu da hazır kuyruğunun yürütülmeye hazır durumda daha fazla sayıda genel göreve sahip olmasına neden olabilir (kaynak açlığı).

Genellikle, programlayıcıdaki hazır listenin veri yapısı, önalımın engellendiği süre boyunca, programlayıcının kritik bölümünde harcanan en kötü durum süresini en aza indirecek şekilde tasarlanır ve bazı durumlarda tüm kesintiler devre dışı bırakılır ama veri yapısının seçimi aynı zamanda hazır listede olabilecek maksimum görev sayısına da bağlıdır.

Hazır listesinde hiçbir zaman birkaç görevden fazlası yoksa, hazır görevlerden oluşan çift bağlantılı liste muhtemelen en uygunudur. Hazır listesi genellikle yalnızca birkaç görev içeriyorsa, ancak bazen daha fazlasını içeriyorsa, liste önceliğe göre sıralanmalıdır. Bu şekilde, çalıştırılacak en yüksek öncelikli görevi bulmak, tüm listeyi yinelemeyi gerektirmez. Bir görev eklemek, listenin sonuna veya eklenen görevden daha düşük önceliğe sahip bir göreve ulaşana kadar hazır listede yürümeyi gerektirir.

Bu arama sırasında önalımı engellememeye özen gösterilmelidir. Daha uzun kritik bölümler küçük parçalara bölünmelidir. Düşük öncelikli bir görevin eklenmesi sırasında yüksek öncelikli bir görevi hazır hale getiren bir kesinti meydana gelirse, bu yüksek öncelikli görev eklenebilir ve düşük öncelikli görev eklenmeden hemen önce çalıştırılabilir.

Bazen geri dönüş süresi olarak adlandırılan kritik yanıt süresi, yeni bir hazır görevi kuyruğa almak ve en yüksek öncelikli görevin durumunu çalışır duruma getirmek için geçen süredir. İyi tasarlanmış bir RTOS'ta, yeni bir görevin hazırlanması her hazır kuyruk girişi için 3 ila 20 talimat alacaktır ve en yüksek önceliğe sahip hazır görevin geri yüklenmesi 5 ila 30 talimat alacaktır.

Daha gelişmiş sistemlerde gerçek zamanlı görevler, bilgi işlem kaynaklarını gerçek zamanlı olmayan birçok görevle paylaşır ve hazır liste keyfi olarak uzun olabilir. Bu tür sistemlerde, bağlantılı bir liste olarak uygulanan bir planlayıcı hazır listesi yetersiz kalacaktır.

Kaynakça

  1. ^ "Response Time and Jitter". 23 Temmuz 2011 tarihinde kaynağından arşivlendi. 
  2. ^ Tanenbaum, Andrew (2008). Modern Operating Systems. Upper Saddle River, NJ: Pearson/Prentice Hall. s. 160. ISBN 978-0-13-600663-3. 
  3. ^ "RTOS Concepts". 23 Temmuz 2011 tarihinde kaynağından arşivlendi. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">İşletim sistemi</span> bilgisayar donanım kaynaklarını yöneten yazılım

İşletim sistemi ya da işletim dizgesi, bir bilgisayarın donanım kaynaklarını yöneten ve uygulama yazılımlarına hizmet sağlayan yazılımların bir bütünüdür. İşletim sistemleri, bilgisayarın donanımı ile uygulama yazılımları arasında bir köprü görevi görerek kullanıcıların sistemle etkileşim kurmasını sağlar. Öne çıkan örnekler arasında Microsoft Windows, macOS, GNU/Linux dağıtımları, Android ve iOS yer alır.

<span class="mw-page-title-main">Mikrodenetleyici</span>

Mikrodenetleyici bir VLSI entegre devre çipinde küçük bir bilgisayar'dır. Mikrodenetleyici, bellek ve programlanabilir giriş/çıkış çevre birimleri ile birlikte bir veya daha fazla CPU kapsar.

<span class="mw-page-title-main">İş parçacığı</span>

İş parçacığı, bilgisayar biliminde, bir işin eş zamanlı olarak işlenen her bir bölümüdür. İş parçacığı ve işlem arasındaki fark bir işletim sisteminden diğerine değişmekle birlikte genel olarak iş parçacığının oluşturuluşu ve kaynakların paylaşılmasıdır. İşlemler, birçok iş parçacığı oluşturup sonlandırabilir, iş parçacıkları da ortak bellek kullanabilirler. Çoğu durumda iş parçacıkları işlemlerin içinde yer alır, onları oluştururlar. Çoklu iş parçacıkları paralel olarak pek çok bilgisayar sisteminde uygulanabilir. Tek işlemci kullanıldığında çok iş parçacıklı uygulama, zaman dilimlemesiyle gerçekleştirilir; tek işlemci, farklı iş parçacıkları arasında çok hızlı geçiş yapar ve bu durumda işlemler gerçekte olmasa da eş zamanlı çalışıyormuş gibi görünür. Çok işlemcili sistemlerde farklı iş parçacıkları, farklı işlemciler üzerinde eş zamanlı olarak çalışabilir.

<span class="mw-page-title-main">Kesme (bilgisayar)</span>

İş kesme, bilgi işlemede donanımsal olarak olağanüstü durumu belirtmek için gönderilen asenkron sinyal veya yazılımda işletimde değişiklik olacağını göstermek için ihtiyaç duyulan senkronize olaydır.

<span class="mw-page-title-main">PowerPC</span>

PowerPC, AIM olarak bilinen Apple-IBM-Motorola ittifakının 1991'de geliştirdiği bir RISC mikroişlemcisidir. Genel olarak kişisel bilgisayarlar içindir. PowerPC merkezi işlem birimleri (CPU) gömülü (embedded) ve yüksek performans işlemcileri olduğu için popüler olmuştur. PowerPC 1990'da AIM' in ve PReP'in temel taşı oldu, fakat mimari Apple'ın Macintosh'unun 1994–2006 modellerinde daha başarılı bulundu.

Kesme kotarıcı ya da kesme hizmet yordamı, yürütümü alınan kesme tarafından tetiklenen, işletim sistemi veya aygıt sürücüsünün bir geri çağırma alt programıdır. Kesme kotarıcıları, temelde kesmenin üretilmiş olması ve kesme kotarıcının görevini tamamlama hızına dair çok sayıda fonksiyona sahiptir.

<span class="mw-page-title-main">OpenVMS</span>

Bundan önce VMS olarak bilinen, OpenVMS, DEC tarafından geliştirilen VAX ve Alpha sistemleri üzerinde çalışan, üst seviye bir işletim sistemidir. DEC önce Compaq tarafından satın alınmıştır, Compaq ve HP (Hawlett-Packard)'ın birleşmesinden sonra, HP'ye geçmiştir. OpenVMS, en son olarak İntel Itanium işlemcilerinin kullanıldığı HP sistemlerinde kullanılmaktadır.

İstatistikte verilerin küçükten büyüğe ya da büyükten küçüğe doğru sıralanması ile elde edilen diziye denir.

<span class="mw-page-title-main">İşlem (bilgisayar)</span>

Bilgisayar bilimlerinde işlem (process) terimi, belleğe yüklenmiş ve işlemcide (CPU) yürütülmekte olan bir program olarak tanımlanmaktadır. Uygulamalar diskte çalışmaz halde bulunurken ise program olarak tanımlanır. Bir program kendi başına pasif komut yığınıdır ve işlem ise bu komutların aktif olarak yürütülmesidir.

<span class="mw-page-title-main">QoS (port önceliği)</span>

Ağ İletişimi Hizmet Kalitesi, Ağ üzerindeki uygulamaları önceliklendirerek zaman kaybını azaltmayı hedefleyen bir ağ servisi. Bir ağ bağlantısı üzerinden çalışan bir trafik veya program türüne öncelik veren çeşitli tekniklere karşılık gelir. Aynı ağ altyapısı ile çalışan çeşitli uygulamalarda network cihazlarının hangi uygulamaya öncelik vereceğini belirtmeye yarar. Bu sayede kesinti ve paket gecikmelerine daha az tahammül olan uygulamalara öncelik verilir.

<span class="mw-page-title-main">Windows Görev Yöneticisi</span>

Windows Görev Yöneticisi, Microsoft Windows'ta yer alan görev yöneticisi, sistem monitörü ve başlangıç yöneticisidir. Çalışan işlemlerin adı, CPU yükü, işlem yükü, G/Ç ayrıntıları, oturum açmış kullanıcılar ve Windows hizmetleri dahil olmak üzere bilgisayar performansı ve çalışan yazılım hakkında bilgi sağlar. Ayrıca işlem önceliklerini, işlemci benzeşimini, başlatma ve durdurma hizmetlerini ayarlamak ve işlemleri zorla sonlandırmak için de kullanılabilir.

<span class="mw-page-title-main">QNX</span>

QNX, gömülü sistemler pazarına yönelik Unix benzeri, gerçek zamanlı işletim sistemidir.

<span class="mw-page-title-main">Giyilebilir bilgisayar</span>

Giyilebilir bilgisayar, vücuda giyilen bilgisayarlardır. Giyilebilir bilgisayar teknolojisi etkin bir araştırma alanıdır ve insan bilgisayar etkileşimi, giyilebilir teknoloji, taşınabilir teknolojiler ve kablosuz teknolojilerden yararlanır. 2010 yıllarından sonra popüler olmuştur.

<span class="mw-page-title-main">Çoklu kullanım</span>

Çoklu kullanım özelliğine sahip bilgisayarlar birden fazla iş parçacığını donanım desteği sayesinde çalıştırabilir. Çoklu işlem yapabilen sistemlerden gelişen bu yöntem tek bir çekirdeğin kaynaklarını paylaşmak zorundadır. Bu kaynaklar: aritmetik mantık birimi, yazmaçlar (registers), işlemci ön belleği ve adres dönüştürme ön belleğidir. Çoklu işlem yapabilen sistemlerde, işlem birimlerinin tamamı ayrı çekirdeklerde olmasına rağmen, çoklu kullanım tek bir çekirdeğin kullanılabilirliğini iş-parçacığı seviyesinde ve buyruk düzeyinde daha verimli hale getirir. Bu iki teknik birbirini tamamlayan tekniklerdir.

<span class="mw-page-title-main">Önyükleme</span> CPUya ilk elektrik verildiğinde bilgisayarın çalışabilmesi için uygulamaya konulan işlemler bütünü ve çalışan uygulamalar

Bilgisayar biliminde önyükleme, bir donanım veya bir yazılım komutu ile elektrik verilen bilgisayarı başlatma işlemidir. Açıldıktan sonra, bir bilgisayarın merkezî işlem biriminin (CPU) ana belleğinde yazılım yoktur, bu nedenle bazı işlemlerin yürütülebilmesi için yazılımı belleğe yüklemesi gerekir. Bu, CPU'daki donanım veya bellenim veya bilgisayar sistemindeki ayrı bir işlemci tarafından yapılabilir. İşletim sistemi ve bazı uygulamalar elde başlatıldığında, önyükleme tamamlanır.

<span class="mw-page-title-main">İşlem yönetimi</span>

İşlem yönetimi günümüz işletim sistemlerinin önemli bir parçasıdır. İşletim sisteminin işlemlere yer alması, aralarında haberleşmeyi sağlaması onun önemli görevlerindendir. İşletim sistemi kaynakları işlemlere göre ayırmalı, işlemleri veri aktarımı ve paylaşımına uygun hale getirmeli, her işlemin kaynağını diğer işlemlerden korumalı ve işlemler arası senkronizyonu sağlamalıdır. Bunları yapabilmek için işletim sistemi her işlem için o işlemin mevkisini ve sahipibi tanımlayan ve işletim sistemini her veriği üzerinde kontrol uyguladığı bir veri yapısı sağlamalıdır.

<span class="mw-page-title-main">Gömülü sistem</span> Belli bir fonksiyonu yapmaya yönelik bilgisayar sistemi

Gömülü sistem, bilgisayarın kendisini kontrol eden cihaz tarafından içerildiği özel amaçlı bir sistemdir. Genel maksatlı, örneğin kişisel bilgisayar gibi bir bilgisayardan farklı olarak, gömülü bir sistem kendisi için önceden özel olarak tanımlanmış görevleri yerine getirir. Sistem belirli bir amaca yönelik olduğu için tasarım mühendisleri ürünün boyutunu ve maliyetini azaltarak sistemi uygunlaştırabilirler. Gömülü sistemler genellikle büyük miktarlarda üretildiği için maliyetin düşürülmesinden elde edilecek kazanç, milyonlarca ürünün katları olarak elde edilebilir.

Gömülü yazılım, denetim makineleri ve bilgisayar sayılmayan aygıtlar için yazılmış yazılımlardır. Gömülü yazılımlar genellikle çalıştırılacakları donanıma göre özelleştirilir, zaman ve bellek kısıtlamalarına sahiptir. "Gömülü yazılım" terimi bazen firmware terimi ile beraber kullanılır, fakat firmware bir bilgisayardaki, üstünde bir işletim sisteminin çalıştığı ROM tabanlı koda uygulanabilir. Oysaki, gömülü yazılım genellikle aygıttaki tek yazılım olarak bulunur.

ps (Unix)

Çoğu Unix benzeri işletim sisteminde, ps programı o anda çalışan işlemleri görüntüler. "top" adındaki bir başka Unix yardımcı programı ise çalışan süreçlerin gerçek zamanlı bir görünümünü sağlar.

High Precision Event Timer (HPET), bilgisayar donanımlarında zamanı yüksek doğrulukla ölçmek için kullanılan bir zamanlayıcı araçtır. Intel ve Microsoft tarafından ortaklaşa geliştirilmiş ve ilk olarak Intel'in ICH9 yongasetinde 2005 yılında tanıtılmıştır. Geleneksel zamanlayıcı çözümleri olan Programlanabilir Aralık Zamanlayıcı (PIT) ve Sistem Saati'ne (RTC) bir alternatif olarak tasarlanmıştır.