トップページlinux
981コメント337KB

リアルタイムリナックスについて

■ このスレッドは過去ログ倉庫に格納されています
0001wait_npNGNG
リアルタイムリナックス(RT-Linux)について語り合うスレです。
素朴な疑問やくだらない質問も受け付けます。

RT-Linux  http://rtlinux.cs.nmt.edu
ART-Linux http://www.etl.go.jp/etl/robotics/Projects/ART-Linux

わかることは答えます。わからないことは皆さんが答えてください。
0031名無しさん@お腹いっぱい。NGNG
RealTime age!!
0032名無しさん@お腹いっぱい。NGNG
最近はやりのワンボードマイコンではRT化不能?age
0033名無しさん@お腹いっぱい。NGNG
誰かTimeSys使っている人いませんか?
New YorkのLinux Worldで大きく出展してたらしいんですが、、、
RT-Linuxとはアーキテクチャがかなり違うってのは
HPで見たんですが、実際に割り込み応答時間は
どれくらいでしょうか?
0034名無しさん@お腹いっぱい。NGNG
Hard Hat Linux はどうよ?
0035名無しさん@お腹いっぱい。NGNG
>>34
お金のかかるのはちょっと・・・
0036名無しさんNGNG
UNIX 系でリアルタイムってのがむしろ無謀。
そういう設計じゃないじゃん。元々。
0037名無しさん@お腹いっぱい。NGNG
>>36
でもコーディングがラクだからね・・・
Linuxの資産が動いて、なおかつそこそこのリアルタイム性が
確保できれば、少しシアワセだと思わない?
0038名無しさん@お腹いっぱい。NGNG
>>37
うん。ホントのハードリアルタイムが必要な処理ってそれほど多く
ないでしょ?ただ、速い奴はほとんどLinux上のシステムコールとの
連絡が作りこまれていないので、自分で書かなきゃいけないけど、
それでもフツーのリアルタイムと比べたらゼンゼン便利
0039名無しさん@お腹いっぱい。NGNG
>>36
ほとんどのUNIX系リアルタイムOSってリアルタイムモニタ
上のタスクあるいはVMとしてUNIXが走るようになってるから
別にUNIXがリアルタイムに向かなくてもそんなに問題ないよん。
0040名無しさん@お尻おっぱい。 NGNG
>>39
RT-Linuxはたしかにそんな感じ。
RTスレッドの中でシステムコール呼べないし。
ART-Linuxは、たしかスケジューラをいじくりたおしてリアルタイムに
してたような気がするから、きついね。遅いし。
0041名無しさん@お腹いっぱい。NGNG
同じ優先度のタスクがキューにたまっていたとき、最初にサービスを受けるタスクはキューの先頭のタスク?
0042名無しさん@お尻おっぱい。 NGNG
>>41
.  ∧_∧
 (◎ω◎) キュー
っていうくらいだから、先にたまった方からだろうね
0043質問クンNGNG
たとえば、同じ優先度のタスクABとそれよりも優先度の高いタスクCの三つがあったとする。
タスクAが実行中に、タスクCが待ち状態から解放されてタスクCにサービスが移った。
そのとき割込みがかかり、タスクBが起動された。・・・がまだタスクCがサービス中。
しばらくしてタスクCが待ち状態になった。
すると次にサービスを受けるのは誰?
もし、タスクAがなんらかの無限ループに入ってしまっていたら
タスクBは永遠にサービスが受けられないのか?
0044名無しさん@お腹いっぱい。NGNG
>43
ラウンドロビンだっけかそりゃOSの教科書にでとるじゃろ
0045名無しさん@お腹いっぱい。NGNG
>>43
realtime の場合は OS も app も「最長応答時間の保証」が
されていることが大前提ってことを考えるといいかも。

realtime 云々なしなら、単なるスケジューリング方法の問題
なので、>>44 がいうように素直に OS の教科書を読もう。
0046login:PenguinNGNG
優良
0047お勉強中NGNG
ボードメーカーの営業系です。
売りもんが組込み用途なので、最近RT-Linuxも関わってくるようになりました。
今はEmblixにも加わっているディストリビュータのセミナーに関連品展示で顔を
出していますが、Linuxの検討から入るお客さんはOSもハードもヤスークすませたい
という要求が強くて商売的にはまだまだ…という感じです。
6UのCompactPCIボード(って分かりますか?)との組み合わせではまだかな…。
0048名無しさん@お尻おっぱい。 NGNG
>>47
ちょっと薄っぺらいだけで、アーキテクチャは普通のパソコンと
大差ないんじゃないですか?
x86系のアーキテクチャなら問題ないと。
0049login:Penguin NGNG
>>43
どのような場合にも、無限ループに入らないように
設計されているOSもあれば、デッドロックするOSも
あります。その辺はOSの選定時にしっかり調査しましょう。
0050login:PenguinNGNG
>>49
う〜〜ん??なにを言いたいのかわからんぞ・・・・??
無限ループのどこが悪いんだ??スケジューラのメイン関数って
たいてい無限ループだが・・・
0051login:PenguinNGNG
>>49
デッドロックって調査で簡単にわかるもんなのか?
選定すんのはそういう基準じゃないだろうと思うがどうよ。
0052login:Penguin NGNG
>>51
RTOSでデッドロック回避なんて小生意気な機能があるなら、
カタログレベルで堂々と書いてあるよ
つかコスト、デカスギだろ
0053login:Penguin NGNG
http://www.tanpopo.sakura.ne.jp/~joseph/kijirusi/index.html
0054login:PenguinNGNG
>>47
こんなところで聞くなよ。
真面目に答えてもらえないぞ。
0055login:PenguinNGNG
リアルタイムリナックスって、どこがいいのかな?
やりたいことはRTOSで何でもできると思うんだけど。
Linuxの上で動く ってのがそんなに重要なの?
0056名無し三行広告NGNG
>>55
逆、RTOS上でLinuxが動くの。
シビアな部分をRTOS上で実装し、そうでない部分はLinux上に実装できる
組み込み機器なのにGUIやネットワーク接続が必要になると有難味が実感できる
0057名無しさん@揚げ足NGNG
今日、有明でやってるDWHの展示会逝ったんだけど、隣で組み込みのも併催してたのね。
ちょい覗いたら、もうLinux一色。すげー
何処もかしこもペンギンマークやPlatで売ってるぬいぐるみだらけだったよ。
いったい何事なんでしょう?

※このレスは、揚げ足捕ってません。スマソ
0058login:PenguinNGNG
>>57
今日最終日、これからわたしも行ってきます。
結構混んでるみたいだね
0059NGNG
最近RTLINUXホームページにある
Rt-linux-Version 3.0 (final) の
finalっていうのはどういう意味なんでしょうか(爆

もう開発しないって事?
開発する必要が無いって事?

カーネル逝ってもちゃんと制御ができてるのが大好きなのに!
0060名無しさん@揚げ足 NGNG
>>58
暑さで死にそうになるぞ
水分補給はこまめに
0061login:PenguinNGNG
>>59
3.0 は最終バージョン(もうリリースしてもいっか) ってことでしょ。
0062login:PenguinNGNG
RT-LinuxとART-Linuxどっち使うか迷ってるんですけどどっちがいいんですか?
ARTのほうがプログラム組みやすそうですけどRT-linuxと比べて劣る点とかあるんですか?
誰か教えてください。
0063login:PenguinNGNG
>>62
ARTの方が一般には楽なんだけど、あっちは要求スペックが
むっちゃくちゃ高くなるんで要注意。
タスク切り替えのオーバーヘッドがRTよりもすごく大きいからね。

RTはデバイスドライバとして書かなければいけない、というのが
敷居を高くしている気がするけど、たいしたことはないね
0064login:PenguinNGNG
>>62
RTならドライバを書いたことのある人なら簡単に勉強できる
ドライバも難しいものじゃないし

なにより、ARTは利用人口が少ないので情報を集めるのが
つらいというのが一番の問題
0065FreeBSDNGNG
Linux使ってるからだ、ヴァカ。
FreeBSDにしろ
0066login:PenguinNGNG
>>65
BSD系のリアルタイムもどうなってるか興味ある。
ぜひ実情を教えてほしいな。
0067login:PenguinNGNG
リアルタイムなんて完璧なOSであるBSDには不要だ。
0068wait_npNGNG
http://www.jp.netbsd.org/ja/Changes/#fsmlabs-rtlbsd

一応、こんなのがありますね。
RT-LinuxをNetBSDで動くようにしたもののようです。
0069login:PenguinNGNG
それはNetBSDが不完全だから必要なのだ。
FreeBSDではそんなものは不要だ。
007059NGNG
>>61
そういう意味ならうれしいです。
もろにkernel依存してるから続けてもらいたいです。
0071login:PenguinNGNG
>> 63,64 さん
62です。
ありがとうございます。確かに、ARTの方が重くなるようです。
でも、そんな大した事やるわけじゃないんで楽なARTの方を使う事にしました。
0072login:FreePascalNGNG
>>71
興味本位で聞くんですが、どれぐらいの CPU で試されましたか?
検索しても必須スペック書いてるページにぶつかんなかったんで。
0073login:PenguinNGNG
71です。
セレロン700Mhzでやりました。
試しにプリンタポートをon-offするプログラムを作ってみたんですが、200usecか20usec(どっちか忘れた。たぶん20usec)ぐらいの周期まで作れました。
ちなみにPentiumの200Mhzで同じプログラムを走らせた場合、数msecくらいが限界だったと記憶しています。
あんまり小さい周期を指定するとフリーズしちゃいます。
0074login:FreePascalNGNG
まあ msec で制御できればセンサーロガーとか、普通のBOXモノはOKですね…。
やっぱりチャレンジしとくべきかな。
0075wait_npNGNG
>>73
えーと、自分がむかしRT-Linuxで遊んでたときは
Pentiumの200Mhzで20usecくらいの周期が限界でしたね。
ARTの方は使ったことがないので参考になりました。
今は速いCPUがあるから無理してRTの方使うことも無いのかな・・・
0076hydrodynamicsNGNG
「RTLinuxリアルタイム処理プログラミングハンドブック」
を購入しました。この本を参考にして、AD・DAボードのリアルタイム
制御プログラムを作ろうと思っています。interface社の方ではRT-Linux用の
ドライバは供給してないようなのですが、ボードの組み込みは初心者にもできるのでしょうか?
0077login:PenguinNGNG
>>76
AD/DAボードっつってもIOアドレスとか仕様とかがわかるなら
比較的ラクショーかと
多分IOアドレスはオンボードのジャンパで設定できたりとか?
0078login:PenguinNGNG
>>76
Interface社のホームページからI/Oアドレス公開資料を
DLできますよ。簡単なドライバならすぐ作れます。
0079hydrodynamicsNGNG
>>77、78ありがとうございます。
interface社はLinux汎用ドライバは供給しているのですが、
これをRTLinuxで用いることは可能なのでしょうか?
0080login:FreePascalNGNG
>>79
UNIX スレッドで動かすって意味でなら、いけるでしょ。
でもそれで作ったシステムはリアルタイムでない AD/DA になるでしょうね。
低速動作ならそれでもいいはずですがー(だったら win でもいいのか…鬱)。
0081hydrodynamicsNGNG
>>80ありがとうございます
私は1msec程度のリアルタイム制御を必要としています。ご指摘の通り、
winではタイマーの動作保証が限界でも10msec程度らしいです。
(>80によればLinuxもその程度みたいですね)だから、RTLinuxを選択しました。
RTLinuxはあくまでもLinuxの拡張機能かと思っていたので、ドライバもLinux用で
利用できるのかと思っていました。しかし、RT用のドライバが必要みたいですね。
0082login:PenguinNGNG
>>81
普通デバイスドライバはユーザープロセスからシステムコールで
利用するから、openとかcloseとかあるけど、RTLinuxは
モジュールとして動作するから先にA/D変換のモジュールをロード
して作った関数をシンボルテーブルに登録しておけばリアルタイムタスクから
使用できます。A/D変換のモジュールのほうにはinit_module,cleanup_module,
ボード初期化,A/D変換の関数を書いておけばいいはずです。
Interface社が公開してるドライバはRTLinuxでは使えません。
0083login:FreePascalNGNG
>>81
機構的には本格的なリアルタイムシステムっすよね。昔の RT-Linux 本に AD コンバータの例が出てたような気がしますけど…。

初歩的な愚考かもしれないですが、nice を上げることでカーネルよりも実行優先度を上げる方法がありますよね。
リアルタイム性の高いタスクがひとつで、自前で時間管理するなら、1msec はこの方法でも行けるかも…やっつけ仕事に限りますが。
0084login:PenguinNGNG
>>83
おれの卒論の実験それでやった...
0085login:PenguinNGNG
HZ を上げてカーネル作り直して、sched_setscheduler() で適当に設定、とか。
ギリギリの精度が必要でない限り、これでもそれなりのものには。
0086login:PenguinNGNG
>>81
ART-Linuxならinterfaceで公開しているドライバそのまま使えるんですけど、やっぱりRT-Linuxがいい?
0087login:FreePascalNGNG
>>81
いや、話の流れの根底にはソレ(ART-Linux)があると思うよ。
ただ「1msec ならね…」てこと。
0088login:FreePascalNGNG
最近口調分裂気味
く〜
0089hydrodynamicsNGNG
アドバイスありがとうございます。
ART-Linuxでもかまわないのですが、本や資料はあるのでしょうか?
interfaceのHPで「RTLinuxリアルタイム処理プログラミングハンドブック」
が紹介されていたので、これに飛びつきました。しかし、ART-Linuxの方が楽に
制御できるのであれば、そちらでもかまいません。いったいどちらの方法が楽なのでしょうか?
私は、Linuxは初心者なのでなるべく簡単な方法でやりたいと思っています。
良かったらアドバイスをお願いします。
0090pci-cardNGNG
>82
便乗質問お願いします。
interfaceのISA-AD&DAボードのモジュール&制御してました。
今度、PCIカードのAD&DAボードを使おうと思います。

前にLinuxのドライバをDLしたときにモジュールのソースがあったので
これをRTLinuxのカーネルでコンパイルすれば使えるのかと思っておりましたが、
使えないのですか?
できれば組み込むまでの詳細を教えていただけるとありがたいのですが、
お願いします。

>89
「RTLinuxリアルタイム処理プログラミングハンドブック」 って青い本?、緑の本?
緑の本だったらPCI版のボードのモジュールが乗っていると思います。
青の本だったらISA版のADボードのモジュールの例が載っていましたが、
interfaceのボードではなかったような気がしますが簡単にできました。
0091hydrodynamicsNGNG
>90
緑の本です。簡単にできたと言うのは心強いです。これで頑張ってみます。
0092login:PenguinNGNG
>>1の、ART-Linuxのページ、繋がらなくなっちゃったね。
どこかに引っ越したんだろうか??
0093wait_npNGNG
>>92
つながらないっすね。かわりに
http://www.movingeye.co.jp/~you1/art-linux/download.html
ARTのカーネル

google Linuxでちゃんと検索すればでてくるかな?
009492NGNG
>>93
TNX!!
これで2.2.19向けのパッチが手に入ります。
009590NGNG
>91
モジュールを作るのは早かったけれども、RT-linux-Ver1.2自体は
安定して動かせるようになるまで1ヶ月ぐらいかかりました....。
それより前にlinuxの設定などでさらにもう2ヶ月追加...(爆

>93
ART-linuxってkernel-2.0.36のところで開発が
終わったのかと思ってました。
ちゃんとあったんですね新しいkernel版が!
いただきます。
0096login:PenguinNGNG
2.4に対応されないと今後取り残されるのでは?
0097login:FreePascalNGNG
取り残されてもいいでしょ。
むしろ枯れてる方が信頼できるよ。
0098login:PenguinNGNG
>>97
できないよ。
0099login:FreePascalNGNG
>>98
立場の違いがあるだろうから、一応どうして信頼できないか聞いておきたい。
オレは AD/DA なんかの単純な箱モノ装置に使うのを想定してるから、枯れてるのを選びたいのよ。
単純な作業させるだけでもダメかいな?
0100login:PenguinNGNG
>>99
枯れてるから。枯れっくすかこわるい。
0101login:PenguinNGNG
>>100
枯れてるっつーのはこの業界じゃ誉め言葉なんだよ
0102login:PenguinNGNG
>>101
そうでもない。枯れてるとSambaのアクセレータが効かない。
0103login:FreePascalNGNG
>>102
samba 使うとなるとアレかねえ。
でも大半の用途ではいらんと思う。
Windows から共有かけたい気持ちはわかるけど。
0104login:PenguinNGNG
リアルタイムタスク走らせるマシンにsambaとか要らないのでは?
0105login:PenguinNGNG
>>104
開発中はあると便利だね。
運用中もあると便利だよ。
ログの監視とかがWindowsから出来るからね。

ところでアクセレータってなに?
0106login:PenguinNGNG
まぁ、samba 程度動かしたところでビクともしないのは確かだけど > RT

しかし samba のパフォーマンスを気にするような環境では無いと思われ。
0107login:PenguinNGNG
ところで、みなさんはどんな事に使ってるの?
具体的な事例きぼんぬ
0108名無しさんNGNG
HardHat Linux ってどうよ?
使ってる人いたら乾燥聞かせて
0109login:PenguinNGNG
名前が気に入らないので使ってません(大爆笑)
0110login:PenguinNGNG
RedHatだって最初に見たときは、なんてカッコ悪い名前なんだろ
って思ったけど。
0111login:PenguinNGNG
いまでもカッコワルイ
0112login:PenguinNGNG
budou yorya masi dakedona
0113login:PenguinNGNG
いままでで一番ダサイと思ったのはターボ。
0114login:PenguinNGNG
コンダラには負ける。重いコンダラ試練の道
0115login:PenguinNGNG
漏れ的にカコイイと思うのはマンドレイク。
0116login:PenguinNGNG
プラ模はどうよ?
0117login:PenguinNGNG
>>116
なんか、ヲタが多そう。
0118login:PenguinNGNG
スレ違い
0119login:PenguinNGNG
別にプラモじゃなくてもそこらクッサイクッサイヲタだらけなのに >>117
は何を勘違いしてるんだろうね
0120login:PenguinNGNG
スレッド作らないで一定時間スリープしたいんだけど、どうすればいい?
0121login:PenguinNGNG
usleep
ok?
0122login:PenguinNGNG
>>121
RTのパッチ当ててたらそこそこ正確に100μ秒のスリープとか可能?
0123名無しさん@お腹いっぱい。NGNG
そういえば、BSD 系で RTOS っていう話があったけど、
RT-Mach + Lites っていう方法があります。

でも、この分野の大御所だった中島先生は、いまや Emblix の会長…。
0124login:PenguinNGNG
>>122
nanosleep() の精度が上がってたりは…、しないだろうな。
RTC 併用すれ。
0125login:PenguinNGNG
>>123
BSD系ってRTOSなの??詳しい事知ってる人いたら情報希望
0126名無しさん@お腹いっぱい。 NGNG
>>125
おいおい、眠たいことをいわないように。

>>123が紹介してるのは「BSDなガワをかぶせたRTOS」。
googleで'RT-Mach'あたりで検索すりゃわんさかヒット
するって。
0127login:PenguinNGNG
うぃっす
ありがと
0128hydrodynamicsNGNG
RTLinux3.0は2.0と互換性はあるのでしょうか?
V1のサンプルプログラムはV2では動かないようですから、このような関係が
V2とV3にもあるのでしょうか?
0129login:PenguinNGNG
そーいえば、リコーのレーザープリンタって
中のOSがNetBSDなんだっけ。あれもRTOSなの?
0130login:PenguinNGNG
プリンタにリアルタイム性が必要なの?
■ このスレッドは過去ログ倉庫に格納されています