[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: [jfriends] Re: [jfriends]RTOSにkaffe




金山@xxxxxxxxxxです。

maebashi> >つきましては、RealTimeOSなどの組込みやJavaに造詣の深い方にご意見などう
maebashi> >かがいたいのですが、いかがなものでしょうか。
maebashi> 
maebashi> 私は、
maebashi> 
maebashi> RealTimeOS ... まるで素人
maebashi> Java ... ほぼ初心者
maebashi> 
maebashi> なので、無責任なちゃちゃとして聞き流してください(^^;

いえいえ、参考になります、ありがとうございます。

maebashi> ええと、この場合、JVMはもともとリアルタイム処理向けに書かれ
maebashi> たものではないのですよね? Kaffeって、私の認識では、DOS版JVM
maebashi> だと思っているのですが。

おっしゃる通りで、もともとはUNIX汎用のJVMということで開発されましたの
で、リアルタイム性に関してはなんの保証もありません。

DOS版についても、当然ながら、スレッドの切り替えはライブラリで行ってま
す。


maebashi> ・OS(VMより下位)はリアルタイムOSだとして、
maebashi> ・アプリケーション(VMより上位)は気を付けてリアルタイム性があ
maebashi>   るように書くとして、

maebashi> VMそのもののリアルタイム性はどうなるのでしょう?

maebashi> Javaは本質的にヒープ使いまくり言語なので、バカスカnewを発行
maebashi> して回収はGCに任せるわけですが、
maebashi> 
maebashi> 大量のオブジェクトが既に存在し、メモリのフラグメンテーション
maebashi> も進んだ状態では、当然 newにかかる時間も増大するでしょうし、
maebashi> GCも同様です。

maebashi> リアルタイムなGCなら、「とりあえずこの時間までには(中断して
maebashi> でも)処理を終える」ことを保証する必要がありますが、Kaffeはそ
maebashi> の辺はどうなっているのでしょうか?

かなりごもっともなご意見だと思います。

リアルタイム性を要求される処理というのは、いくつかに限られるでしょうか
ら、おそらく、「リアルタイムなスレッド」と「それ以外」にわけることにな
るんだと思うんですが、GCですとか、VMを含めた「それ以外」の部分で、「リ
アルタイムなスレッドのリアルタイム性の保証」を行う必要があると思います。

で、対応する必要があるというのは、つまり、現在のKaffeは、この辺は(実は
詳細には見てませんが)まったく考慮の範疇にないということです。UNIXベー
スですからねー。

うーん、やっぱり、大変ですね。

ご意見と人材をまだまだ募集中です。