リアルタイムリナックスについて
■ このスレッドは過去ログ倉庫に格納されています
0001wait_np
NGNG素朴な疑問やくだらない質問も受け付けます。
RT-Linux http://rtlinux.cs.nmt.edu
ART-Linux http://www.etl.go.jp/etl/robotics/Projects/ART-Linux
わかることは答えます。わからないことは皆さんが答えてください。
0002名無しさん@お腹いっぱい。
NGNG0003名無しさん@お腹いっぱい。
NGNGここ嫁。
http://www.etl.go.jp/etl/robotics/Projects/ART-Linux/PressDoc990426.html
0004名無しさん@お腹いっぱい。
NGNGスレッドを動作させたりできるようになります。
普通のLinuxだとスケジューラがあまり時間に細かくないので
10ms周期くらいが限界です。
0005名無しさん@お腹いっぱい。
NGNG1009。
ハード制御以外での使い道って、例えばどんなの?
0006名無しさん@お腹いっぱい。
NGNG1009
0007名無しさん@お腹いっぱい。
NGNG0008名無しさん@お腹いっぱい。
NGNG1009
0009名無しさん@お腹いっぱい。
NGNG1009
0010名無しさん@お腹いっぱい。
NGNGパラレルポートに電球をくっつけて高速で点滅させて
振ると文字が浮き出る棒とかを作ると結構楽しいです。
0012名無しさん@お腹いっぱい。
NGNG0013名無しさん@お腹いっぱい。
NGNGどうすばいいの?
正確な周期は作れるけどその都度周期が変更できるわけじゃ
ないから任意の時間のウェイトがつくれないで困り
001413
NGNG待ち時間を必要とする処理はスレッドにして
そのなかで実行するようにしました
待ち時間の変更は取りうる値の最大公約数で
周期を設定してカウントして待つようにしました
なんか、スレッドがいっぱいあるとCPUがもったいない・・・
0015名無しさん@お腹いっぱい。
NGNGディジタル制御理論を実現するのに使います〜
0016名無しさん@お腹いっぱい。
NGNGセマフォって無いよね?
0017名無しさん@お腹いっぱい。
NGNGロボット制御ってそんなにリアルタイム性が要求されるものなの?
0018名無しさん@お腹いっぱい。
NGNG学生時代に二足歩行ロボットの研究に少々携わっていました。
世間でいわれる全てのロボットには該当しないと思いますが、ある程度進化した二足歩行ロボットではリアルタイム性が必要なようです。
前進歩行=下半身での前進駆動+上半身での姿勢制御(本当はもっと細かいですけど)
とすれば、スピードが上がるにつれて、リアルタイム性が重要になるようで、これが実現されないと、どちらかの方向に倒れてしまいます。
顕著な例では、メモリーが足りないWindowsOSでコレをやると、スワップしている間にバタンです。
0019名無しさん@お腹いっぱい。
NGNG0020名無しさん@お腹いっぱい。
NGNG問題なし
ソースを見せろといわれたら見せればいいだけだもん
0021名無しさん@お腹いっぱい。
NGNGヒマがなくて
0022名無しさん@お腹いっぱい。
NGNG2.2.19までは対応しているみたいね
2.4.xはまだらしい
0023名無しさん@お腹いっぱい。
NGNGが動くとかいう arch になっているんだっけ?
あれ? これは Java + ITRON な JBlend だったかな?
0024名無しさん@お腹いっぱい。
NGNGおおざっぱに言ってそんな感じです。
カーネルをぶっ飛ばしてもRTのタスクはピンピンしてます。
その頑丈さにはかなりビビリます。
0025名無しさん@お腹いっぱい。
NGNG大体そんな感じですね。Emblixという組み込みLinuxの団体では、
Linux on ITRONやってますよ。要注目。
0026名無しさん@お腹いっぱい。
NGNGhttp://www.emblix.org/
のことね。日本の団体じゃん。
0027名無しさん@お腹いっぱい。
NGNGEmblix は中島先生ですな。RT-Mach はどうしたんじゃ〜。
さすがに中島先生本人を突っつくのはアレだから、東京生活にも
さすがに慣れたであろう会津くんでもつっついてみるか…
0028名無しさん@お腹いっぱい。
NGNG0029名無しさん@お腹いっぱい。
NGNGモータとか制御するには、制御部分のリアルタイム性が重要になるんよ。
昔は(今でも)、DSPとか専用のハード+組み込みOS(orプログラム)でやってたけど、
Linuxだと開発が楽だし、黙っててもマルチプロセスなんで、
制御+ネットワーク、高度な判断等々同時にさせる場合には楽だよね。
でも、実際販売されている機器に応用されている例はまだ少ないかも。
速さだけでいえば、DSPにはまだかなわんだろうな。>RT-Linux
>>4
100μでループまわせる?
どんな処理させてるの?
0030名無しさん@お腹いっぱい。
NGNGとある調歩同期式の変な機械と通信するのに使いました
なんか部品が増えるのはいやーんとか言われて
しかたなくそこらにあった汎用I/Oボードを使う羽目に。
でも9600bpsくらいはよゆうでしたよ
0031名無しさん@お腹いっぱい。
NGNG0032名無しさん@お腹いっぱい。
NGNG0033名無しさん@お腹いっぱい。
NGNGNew YorkのLinux Worldで大きく出展してたらしいんですが、、、
RT-Linuxとはアーキテクチャがかなり違うってのは
HPで見たんですが、実際に割り込み応答時間は
どれくらいでしょうか?
0034名無しさん@お腹いっぱい。
NGNG0035名無しさん@お腹いっぱい。
NGNGお金のかかるのはちょっと・・・
0036名無しさん
NGNGそういう設計じゃないじゃん。元々。
0037名無しさん@お腹いっぱい。
NGNGでもコーディングがラクだからね・・・
Linuxの資産が動いて、なおかつそこそこのリアルタイム性が
確保できれば、少しシアワセだと思わない?
0038名無しさん@お腹いっぱい。
NGNGうん。ホントのハードリアルタイムが必要な処理ってそれほど多く
ないでしょ?ただ、速い奴はほとんどLinux上のシステムコールとの
連絡が作りこまれていないので、自分で書かなきゃいけないけど、
それでもフツーのリアルタイムと比べたらゼンゼン便利
0039名無しさん@お腹いっぱい。
NGNGほとんどのUNIX系リアルタイムOSってリアルタイムモニタ
上のタスクあるいはVMとしてUNIXが走るようになってるから
別にUNIXがリアルタイムに向かなくてもそんなに問題ないよん。
0040名無しさん@お尻おっぱい。
NGNGRT-Linuxはたしかにそんな感じ。
RTスレッドの中でシステムコール呼べないし。
ART-Linuxは、たしかスケジューラをいじくりたおしてリアルタイムに
してたような気がするから、きついね。遅いし。
0041名無しさん@お腹いっぱい。
NGNG0042名無しさん@お尻おっぱい。
NGNG. ∧_∧
(◎ω◎) キュー
っていうくらいだから、先にたまった方からだろうね
0043質問クン
NGNGタスクAが実行中に、タスクCが待ち状態から解放されてタスクCにサービスが移った。
そのとき割込みがかかり、タスクBが起動された。・・・がまだタスクCがサービス中。
しばらくしてタスクCが待ち状態になった。
すると次にサービスを受けるのは誰?
もし、タスクAがなんらかの無限ループに入ってしまっていたら
タスクBは永遠にサービスが受けられないのか?
0044名無しさん@お腹いっぱい。
NGNGラウンドロビンだっけかそりゃOSの教科書にでとるじゃろ
0045名無しさん@お腹いっぱい。
NGNGrealtime の場合は OS も app も「最長応答時間の保証」が
されていることが大前提ってことを考えるといいかも。
realtime 云々なしなら、単なるスケジューリング方法の問題
なので、>>44 がいうように素直に OS の教科書を読もう。
0046login:Penguin
NGNG0047お勉強中
NGNG売りもんが組込み用途なので、最近RT-Linuxも関わってくるようになりました。
今はEmblixにも加わっているディストリビュータのセミナーに関連品展示で顔を
出していますが、Linuxの検討から入るお客さんはOSもハードもヤスークすませたい
という要求が強くて商売的にはまだまだ…という感じです。
6UのCompactPCIボード(って分かりますか?)との組み合わせではまだかな…。
0048名無しさん@お尻おっぱい。
NGNGちょっと薄っぺらいだけで、アーキテクチャは普通のパソコンと
大差ないんじゃないですか?
x86系のアーキテクチャなら問題ないと。
0049login:Penguin
NGNGどのような場合にも、無限ループに入らないように
設計されているOSもあれば、デッドロックするOSも
あります。その辺はOSの選定時にしっかり調査しましょう。
0050login:Penguin
NGNGう〜〜ん??なにを言いたいのかわからんぞ・・・・??
無限ループのどこが悪いんだ??スケジューラのメイン関数って
たいてい無限ループだが・・・
0051login:Penguin
NGNGデッドロックって調査で簡単にわかるもんなのか?
選定すんのはそういう基準じゃないだろうと思うがどうよ。
0052login:Penguin
NGNGRTOSでデッドロック回避なんて小生意気な機能があるなら、
カタログレベルで堂々と書いてあるよ
つかコスト、デカスギだろ
0053login:Penguin
NGNG0054login:Penguin
NGNGこんなところで聞くなよ。
真面目に答えてもらえないぞ。
0055login:Penguin
NGNGやりたいことはRTOSで何でもできると思うんだけど。
Linuxの上で動く ってのがそんなに重要なの?
0056名無し三行広告
NGNG逆、RTOS上でLinuxが動くの。
シビアな部分をRTOS上で実装し、そうでない部分はLinux上に実装できる
組み込み機器なのにGUIやネットワーク接続が必要になると有難味が実感できる
0057名無しさん@揚げ足
NGNGちょい覗いたら、もうLinux一色。すげー
何処もかしこもペンギンマークやPlatで売ってるぬいぐるみだらけだったよ。
いったい何事なんでしょう?
※このレスは、揚げ足捕ってません。スマソ
0058login:Penguin
NGNG今日最終日、これからわたしも行ってきます。
結構混んでるみたいだね
0059?
NGNGRt-linux-Version 3.0 (final) の
finalっていうのはどういう意味なんでしょうか(爆
もう開発しないって事?
開発する必要が無いって事?
カーネル逝ってもちゃんと制御ができてるのが大好きなのに!
0061login:Penguin
NGNG3.0 は最終バージョン(もうリリースしてもいっか) ってことでしょ。
0062login:Penguin
NGNGARTのほうがプログラム組みやすそうですけどRT-linuxと比べて劣る点とかあるんですか?
誰か教えてください。
0063login:Penguin
NGNGARTの方が一般には楽なんだけど、あっちは要求スペックが
むっちゃくちゃ高くなるんで要注意。
タスク切り替えのオーバーヘッドがRTよりもすごく大きいからね。
RTはデバイスドライバとして書かなければいけない、というのが
敷居を高くしている気がするけど、たいしたことはないね
0064login:Penguin
NGNGRTならドライバを書いたことのある人なら簡単に勉強できる
ドライバも難しいものじゃないし
なにより、ARTは利用人口が少ないので情報を集めるのが
つらいというのが一番の問題
0065FreeBSD
NGNGFreeBSDにしろ
0066login:Penguin
NGNGBSD系のリアルタイムもどうなってるか興味ある。
ぜひ実情を教えてほしいな。
0067login:Penguin
NGNG0068wait_np
NGNG一応、こんなのがありますね。
RT-LinuxをNetBSDで動くようにしたもののようです。
0069login:Penguin
NGNGFreeBSDではそんなものは不要だ。
007059
NGNGそういう意味ならうれしいです。
もろにkernel依存してるから続けてもらいたいです。
0071login:Penguin
NGNG62です。
ありがとうございます。確かに、ARTの方が重くなるようです。
でも、そんな大した事やるわけじゃないんで楽なARTの方を使う事にしました。
0072login:FreePascal
NGNG興味本位で聞くんですが、どれぐらいの CPU で試されましたか?
検索しても必須スペック書いてるページにぶつかんなかったんで。
0073login:Penguin
NGNGセレロン700Mhzでやりました。
試しにプリンタポートをon-offするプログラムを作ってみたんですが、200usecか20usec(どっちか忘れた。たぶん20usec)ぐらいの周期まで作れました。
ちなみにPentiumの200Mhzで同じプログラムを走らせた場合、数msecくらいが限界だったと記憶しています。
あんまり小さい周期を指定するとフリーズしちゃいます。
0074login:FreePascal
NGNGやっぱりチャレンジしとくべきかな。
0075wait_np
NGNGえーと、自分がむかしRT-Linuxで遊んでたときは
Pentiumの200Mhzで20usecくらいの周期が限界でしたね。
ARTの方は使ったことがないので参考になりました。
今は速いCPUがあるから無理してRTの方使うことも無いのかな・・・
0076hydrodynamics
NGNGを購入しました。この本を参考にして、AD・DAボードのリアルタイム
制御プログラムを作ろうと思っています。interface社の方ではRT-Linux用の
ドライバは供給してないようなのですが、ボードの組み込みは初心者にもできるのでしょうか?
0077login:Penguin
NGNGAD/DAボードっつってもIOアドレスとか仕様とかがわかるなら
比較的ラクショーかと
多分IOアドレスはオンボードのジャンパで設定できたりとか?
0078login:Penguin
NGNGInterface社のホームページからI/Oアドレス公開資料を
DLできますよ。簡単なドライバならすぐ作れます。
0079hydrodynamics
NGNGinterface社はLinux汎用ドライバは供給しているのですが、
これをRTLinuxで用いることは可能なのでしょうか?
0080login:FreePascal
NGNGUNIX スレッドで動かすって意味でなら、いけるでしょ。
でもそれで作ったシステムはリアルタイムでない AD/DA になるでしょうね。
低速動作ならそれでもいいはずですがー(だったら win でもいいのか…鬱)。
0081hydrodynamics
NGNG私は1msec程度のリアルタイム制御を必要としています。ご指摘の通り、
winではタイマーの動作保証が限界でも10msec程度らしいです。
(>80によればLinuxもその程度みたいですね)だから、RTLinuxを選択しました。
RTLinuxはあくまでもLinuxの拡張機能かと思っていたので、ドライバもLinux用で
利用できるのかと思っていました。しかし、RT用のドライバが必要みたいですね。
0082login:Penguin
NGNG普通デバイスドライバはユーザープロセスからシステムコールで
利用するから、openとかcloseとかあるけど、RTLinuxは
モジュールとして動作するから先にA/D変換のモジュールをロード
して作った関数をシンボルテーブルに登録しておけばリアルタイムタスクから
使用できます。A/D変換のモジュールのほうにはinit_module,cleanup_module,
ボード初期化,A/D変換の関数を書いておけばいいはずです。
Interface社が公開してるドライバはRTLinuxでは使えません。
0083login:FreePascal
NGNG機構的には本格的なリアルタイムシステムっすよね。昔の RT-Linux 本に AD コンバータの例が出てたような気がしますけど…。
初歩的な愚考かもしれないですが、nice を上げることでカーネルよりも実行優先度を上げる方法がありますよね。
リアルタイム性の高いタスクがひとつで、自前で時間管理するなら、1msec はこの方法でも行けるかも…やっつけ仕事に限りますが。
0084login:Penguin
NGNGおれの卒論の実験それでやった...
0085login:Penguin
NGNGギリギリの精度が必要でない限り、これでもそれなりのものには。
0086login:Penguin
NGNGART-Linuxならinterfaceで公開しているドライバそのまま使えるんですけど、やっぱりRT-Linuxがいい?
0087login:FreePascal
NGNGいや、話の流れの根底にはソレ(ART-Linux)があると思うよ。
ただ「1msec ならね…」てこと。
0088login:FreePascal
NGNGく〜
0089hydrodynamics
NGNGART-Linuxでもかまわないのですが、本や資料はあるのでしょうか?
interfaceのHPで「RTLinuxリアルタイム処理プログラミングハンドブック」
が紹介されていたので、これに飛びつきました。しかし、ART-Linuxの方が楽に
制御できるのであれば、そちらでもかまいません。いったいどちらの方法が楽なのでしょうか?
私は、Linuxは初心者なのでなるべく簡単な方法でやりたいと思っています。
良かったらアドバイスをお願いします。
0090pci-card
NGNG便乗質問お願いします。
interfaceのISA-AD&DAボードのモジュール&制御してました。
今度、PCIカードのAD&DAボードを使おうと思います。
前にLinuxのドライバをDLしたときにモジュールのソースがあったので
これをRTLinuxのカーネルでコンパイルすれば使えるのかと思っておりましたが、
使えないのですか?
できれば組み込むまでの詳細を教えていただけるとありがたいのですが、
お願いします。
>89
「RTLinuxリアルタイム処理プログラミングハンドブック」 って青い本?、緑の本?
緑の本だったらPCI版のボードのモジュールが乗っていると思います。
青の本だったらISA版のADボードのモジュールの例が載っていましたが、
interfaceのボードではなかったような気がしますが簡単にできました。
0091hydrodynamics
NGNG緑の本です。簡単にできたと言うのは心強いです。これで頑張ってみます。
0092login:Penguin
NGNGどこかに引っ越したんだろうか??
0093wait_np
NGNGつながらないっすね。かわりに
http://www.movingeye.co.jp/~you1/art-linux/download.html
ARTのカーネル
google Linuxでちゃんと検索すればでてくるかな?
009590
NGNGモジュールを作るのは早かったけれども、RT-linux-Ver1.2自体は
安定して動かせるようになるまで1ヶ月ぐらいかかりました....。
それより前にlinuxの設定などでさらにもう2ヶ月追加...(爆
>93
ART-linuxってkernel-2.0.36のところで開発が
終わったのかと思ってました。
ちゃんとあったんですね新しいkernel版が!
いただきます。
0096login:Penguin
NGNG0097login:FreePascal
NGNGむしろ枯れてる方が信頼できるよ。
0098login:Penguin
NGNGできないよ。
0099login:FreePascal
NGNG立場の違いがあるだろうから、一応どうして信頼できないか聞いておきたい。
オレは AD/DA なんかの単純な箱モノ装置に使うのを想定してるから、枯れてるのを選びたいのよ。
単純な作業させるだけでもダメかいな?
0100login:Penguin
NGNG枯れてるから。枯れっくすかこわるい。
0101login:Penguin
NGNG枯れてるっつーのはこの業界じゃ誉め言葉なんだよ
■ このスレッドは過去ログ倉庫に格納されています