RTOS Sohbetleri!!

Başlatan serdararikan, 22 Nisan 2011, 18:14:00

serdararikan

gösteremem çünki bu bil bilgi değil.Bu yüzden cümleye "anladığım kadarı ile"  diyerek başladım.

Erol YILMAZ

şu kadar sürede bitirecen diye bişi olamaz da ondan diyorum :)

serdararikan

bak ne güzel yanlış bildiğimiz noktaları aydınlatıyorsunuz.teşekkür ederiz

muuzoo

Şu süre mevzusuna takıldım biraz. Diyelim ki bir sistemimiz var. Bu sistemde rtos kullanıyoruz. Dışarıdan tetikleme geldiğinde o tetiklemeye bağlı işin mutlaka 10ms içinde bitirilmesi gerekiyor diyelim. Yani o iş için belirlenmiş azami bitirme süresi 10ms olsun. 10ms'nin altındaki herhangi bir süre bizim için kabul edilebilir olsun. Bu durumu, bu şartı ne olursa olsun sağlayabilen sistemi rtos olarak adlandırabiliriz değil mi? Yani bir iş için belirlediğimiz azami süre içerisinde herhangi bir anda işini bitirebiliyor. Bu durumda dolaylı da olsa bir iş için süre belirtmiş olmuyor muyuz?
gunluk.muuzoo.gen.tr - Kişisel karalamalarım...

EMG81

Ben daha RTOS un tam anlamıyla ne olduğu ve neler yapabildiğini anlamış değilim arkadaşşşş..lar.!

serdararikan

Alıntı yapılan: EMG81 - 27 Nisan 2011, 00:02:23
Ben daha RTOS un tam anlamıyla ne olduğu ve neler yapabildiğini anlamış değilim arkadaşşşş..lar.!

bende onu anlamaya çalışıyorum.ama en önemli fonksiyonu multitasking heralde.

Veli B.

Olaya kurumsallık ve usta çırak mantığı ile çalışmak olarak bakmak lazım sanıyorum. RTOS kurumsal, yapısal programlama ise belirli bir iş için çalışan kodlar. Kurumsallık dediğim anda güzel ülkemin kurumları geliyor ya neyse:) Öyle ise bulaşmamak lazım bu işe...
Kritik bir haberleşme fonksiyonu yazdığımızı düşünelim. Donanımsal olmasın. Bu durumda TimeOut belirlenmedi ise bu fonksiyonda çakılırız ta ki sonuç alıncaya kadar.
Bu durumu RTOS üzerinde yapmak istersek nasıl olacak? INT ile fonksiyonu kestik ve çıktık diyelim; sonrasında neler yaşanabilir? Biz çıktıktan 30 us sonra data gelirse kaçar mı?  İş tamamen donanımsal destekle mi yürür? İç içe kesme desteği ne kadar etkin çalışır?
Hemen aklıma gelenler...

serdararikan

bu tarz bir problemin kesmeye belirlenecek önceliklerle giderilebileceğini düşünüyorum.haberleşme kesme daha öncelikli belirlenirse olabilir.

controller

RTOS ların normal OS lardan farkı deterministik olmasıdır. Yani sistemin işleyişinde sürpriz olmaz.
Hesabım OG tarafından haksız bir şekilde pasif yapılmıştır.

EMG81

Benim halen aklımda RTOS nedir sorusu var. Çok derinden giriyorsunuz konuya.(kimse kusura bakmasın.herkes öyle) Biraz yüzeysel takılsak daha iyi gibi.

Ne bu RTOS. WinCE gibi birşeymi? Yoksa compiler gibi birşeymi? Yoksa adamlar bir yığın kod yazmış bize 1 satırda bunların tamamını kullanma şansımı vermiş? Yoksa yoksa yoksa . Durdurun artık şu yoksalarımı.  :-\

Maxim

aynen bende katılıyorum
nedir bu rtos ?
bir yöntemmidir ?
multitasking mi yaratıyor ?
donanımda olmayan bir şeyi yazılım sayesindemi yapıyor ?
başka derleyicilerle bunu yapmak neden imkansız ?

serdararikan

herkes bu konuyu merak ediyor ama ortlıkta bir kod yok.acaba hazır bir rtos ile uygulama yapmayı denemekmi lazım yoksa ufaktan başlayıp,örneğin multitasking yapabilecek bir kod yazarak olaya giriş yapmak mı lazım?

emrahmrcn

Nedir bu RTOS ?
RTOS kod topluluğu, fakat belirli bir disipline göre şekillenmiş, yoksa bildiğiniz yazdığınız kodlardan ne farkı olabilir !
Normal de biz RB0 = 1 yap dediğimiz de hemen rb0 1 oluyor haliyle, fakat rtos da ise bu rtos a rb0 ı 1 yap demekle oluyor yani rtos donanımı kontrol altında tutuyor kendi başımızla donanımla oynayamıyoruz. RTOS dediğimiz şey yine kod parçacıkları unutmayalım.Mesala rtos da OSportb( 1, 1) diye fonksiyon vardır portları kontrol eden ancak bunla portlara müdahale edebiliriz, peki niye rb0 = 1 demiyoruz çünki rtos aynı anda 5 programı kontrölünde tutması gerek heryerde portu kafamıza göre değiştirirsek direkt anlamda(rb0 =1 gibi) bu 5 programı kontrol etmek zorlaşır. Şimdilik bu kadar konu açıldıkça soru geldikçe en basit anlamda anlatmaya çalışacağım.
Benim yaradılışımda bir ayrıcalık varsa o da TÜRK olmamdır. M.K ATATÜRK

serdararikan

Alıntı yapılan: emrahmrcn - 27 Nisan 2011, 12:01:59
Şimdilik bu kadar konu açıldıkça soru geldikçe en basit anlamda anlatmaya çalışacağım.
emrah hocam açıklamalar için teşekkür ederiz.benim merak ettiğim konu hazır yazılmış bir RTOS elbette kodlarının test edilmiş defalarca denenmiş eksiklikleri giderilmiş olduğundan kullanışlıdır.fakat hazır bir RTOS u anlamak için oturup onun tüm manualini okumak,çok sayıda örnek yapmak gerekir.RTOS konusuna yeni başlayanlar için olaya bi yerden başlamak lazım.bu ilk başlangıç konusunda yardımcı olabilirmisiniz?

emrahmrcn

Alıntı yapılan: gerbay - 27 Nisan 2011, 13:48:42
Alıntı yapılan: emrahmrcn - 27 Nisan 2011, 12:01:59
Nedir bu RTOS ?
RTOS kod topluluğu, fakat belirli bir disipline göre şekillenmiş, yoksa bildiğiniz yazdığınız kodlardan ne farkı olabilir !
Normal de biz RB0 = 1 yap dediğimiz de hemen rb0 1 oluyor haliyle, fakat rtos da ise bu rtos a rb0 ı 1 yap demekle oluyor yani rtos donanımı kontrol altında tutuyor kendi başımızla donanımla oynayamıyoruz. RTOS dediğimiz şey yine kod parçacıkları unutmayalım.Mesala rtos da OSportb( 1, 1) diye fonksiyon vardır portları kontrol eden ancak bunla portlara müdahale edebiliriz, peki niye rb0 = 1 demiyoruz çünki rtos aynı anda 5 programı kontrölünde tutması gerek heryerde portu kafamıza göre değiştirirsek direkt anlamda(rb0 =1 gibi) bu 5 programı kontrol etmek zorlaşır. Şimdilik bu kadar konu açıldıkça soru geldikçe en basit anlamda anlatmaya çalışacağım.

hocam donanımı RTOS kontrol altında tutuyor ya da turumuyor olayı başka bir olay. Diyelim ki siz kernel mode da çalışıyorsunuz, o zaman donanıma istediğiniz gibi erişebilirsiniz. İster direk erişin ister RTOS üzerinden erişin. Eğer user mode da çalışıyorsanız bunu yapamazsınız, kernel mode da çalışan bir driver üzerinden yapmanız gerekir. Bu normal PC lerde çalıştırdığımız işletim sistemlerinde de böyle RTOS larda da..  Bu olay tamamen farklı bir olay..

Tabiki bu da OS in bir parçası, ben parça parça OS içeriğinden örnek veriyorum yoksa RTOS bu anlattığım olay değil sadece , insanların kafasında somut şeyler oluşması lazım buda en bilindik örneklerle olabilir. Şimdi siz yeni bir noktaya temas ettiniz KERNEL mod ve USER mod yada Çekirdek modu ve kullanıcı modu, bunlarda bellek yönetimi (MMU) bilindikten sonra oturacak konular.
Öncelikli olarak soru sormak lazım ki akılda bir şeyler oluşsun? Niye bizim RTOS lara ihtiyacımız var? Zaten biz kodları bildiğimiz gibi yazıyoruz sorun olmuyor ! Peki aynı anda çalışıyormuş gibi görünen programlar yazdınızmı ? Bir kod kümeniz olsa , her yeni işlemcide portları değiştirmek için bir çok ayar yerine hep aynı fonksiyonları(API) kullansanız işleriniz daha da hızlanmazmı, ve tabikide uzun zaman değişik ortamlarda test edilmiş kod kümesi sizin yeniden yazacağınız kodların güvenirliliğinden ne kadar yüksek olur ?
Benim yaradılışımda bir ayrıcalık varsa o da TÜRK olmamdır. M.K ATATÜRK