03/07/19 02:45
仮にAというデバイスからどんどんデータが流れてくるとします。
メインのCPUはGUI等の処理で忙しくAだけに構ってはいられない。
そのままではデータを取りこぼすのでFIFOバッファで余裕を持たせる。
CPUが暇になった時点で、データをまとめて処理し画面に表示する。
これはこれでありかと思います。
でもここで別の条件が追加されたとします。
「Aから受けたデータがある値であった場合には一定時間内にBという
デバイスに対して制御してやらなければならない。」
こうなった場合Windowsなんかのいわゆる"マルチタスク"OSではどうしても
無理が生じますよね。
それを解決するために専用ハードもしくはサブCPUをつけたとしましょう。
でも、その後でCというデバイスからのデータも加味して処理する必要が出てきた。
そうなった場合ハードやサブCPUでは対応不可能な場合もあるかもね。
しかしながらこのような場合でもRTOSならなんとか対応できそうな気がしませんか?
コストだって追加のハードをつけるよりずっと安くなるだろうし。
RTOSがOSの中で一番だとは言いませんが少なくとも一番向いてるターゲットってのは
存在すると思いますよ。
実際のところ、最近のシステムは制御が複雑になってきていてGUIが必要な場面も
多いです。そこでWindowsやLinuxのデスクトップOS&専用ハードでシステムを
構成するのか、QNXなどを利用するのかは臨機応変にやればいいと考えます。
つまるところ選択肢はいろいろあった方が嬉しいですってのが使う立場での意見です。
(QNXは使ったこと無いけど)