120 likes | 360 Views
Real-Time Linux. Giriş. Victor Yodaiken, New Mexico Universitesi Teknoloji Enstitüsü “ The RTLinux Manifesto ”,Kasım 1999 Yüksek lisans tezi “ A Linux-Based Real-Time Operating System ”, 1997. RTLinux Nedir? .
E N D
Giriş Victor Yodaiken, New Mexico Universitesi Teknoloji Enstitüsü “The RTLinux Manifesto”,Kasım 1999 Yüksek lisans tezi “A Linux-Based Real-Time Operating System”, 1997
RTLinux Nedir? Linux işletim sisteminin, robotlar ve veri toplama sistemleri gibi zamana duyarlı sistemlerin kontrol edilebilmesini de sağlayacak şekilde değiştirilmiş biçimidir • NASA’nın 1998’deki Georges kasırgasıyla ilgili veri toplayan bilgisayarında RTLinux çalışıyordu • Hollywood’da Jim Henson Creature Shop şirketi görsel • efektlerde kullanılan mekanik animasyonları kontrol etmek • için bir RTLinux uygulaması geliştiriyor
Linux ve Hard Real Time Linux işletim sisteminin hard real time olmasını engelleyen özellikleri vardır: Düşük duyarlılıklı zaman uyumlaması Donanımın etkin kullanımı için giriş/çıkış işemlerini yeniden düzenlemesi En düşük öncelikli görevlerin bile, sistem çağrısı yaparken kesilemez (non-preemtive) olması
RTLinux Çözümü RTLinux, Linux işletim sistemi çekirdeğine, gerçek zamanlı bir işletim sistemi altında çalışan bir görev gibi davranır. Linux çekirdeği, işletilecek gerçek zamanlı bir görev olmadığında işletilen idle task gibidir.
Mars Lander Arızası VxWorks üzerinde gerçek zamanlı görevlerle işletim sistemi hizmetlerinin iletişimi için kullanılan FIFO’ların kullanımında bir öncelik hatası nedeniyle, yüksek öncelikli gerçek zamanlı bir görev yazma yapmak istediğinde beklemeye alındı RT Linux’da gerçek zamanlı görevlerle Linux görevlerinin iletişimini sağlayan sistem çağrıları, gerçek zamanlı görevler için beklemeye alınmadan (non-blocking) işletilirler.
Linux Çekirdeğinde Değişiklikler Linux çekirdeğini gerçek zamanlı yapabilmek için: • Kesilmeler doğrundan gerçek-zamanlı hizmet yordamı tarafından ele alınmalı • Linux çekirdeğinde kullanılan cli,sti ve iret komutları soft olarak değiştirilmeli • Kullanılan saat kesilmesinin duyarlılığı 1μs düzeyine olmalı
cli Makrosu S_CLI: mov SFIF,0 Linux donanım kesilmelerini kapattığında, aslında bir bellek alanındaki değeri sıfırlamış olur. RTLinux, bir kesilme geldiğinde bu değere bakarak Linux çekirdeğinin anahtarlanıp anahtarlanmayacağına karar verir
Real Time API rtl_request_irq rtl_task_init rtl_task_make_periodic rtf_create rtf_get rtf_put