トップページ⇒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

わかることは答えます。わからないことは皆さんが答えてください。
0685658,664,676,6812005/06/25(土) 12:02:23ID:XthhRdZ1
>>684
>最大2μs程度しか時間のゆらぎは発生していません。
間違えました。
最大10μsぐらいありますね。それでも私の場合は十分ですが。

この、
 ttp://www.atmarkit.co.jp/flinux/embedded/rtos02/rtos02c.html
の測定方法とは違いますが、「Embedded UNIX Vol.3(CQ出版)」の「TimeSys Linuxの
全貌」という記事に、同じようなジッタの測定結果が出ています。
CPUに50%の負荷をかけた状態で、定周期スレッド(1,2,3,4,5msと変化させて5回測定)が起動する毎に
時間を測定し、そのゆらぎがどのぐらになるか、を測定しています。
最小の1ms周期で、最大19μsという結果です。
Embedded UNIX Vol.3の記事では、測定に使用したCPUやプラットフォームが書かれていませんし、
測定方法が違うので、@ITの記事と比較するのは問題ありそうですが、このTimeSysの数値はRTLinuxと
同じぐらいの数値です。
0686679です。2005/06/25(土) 15:15:41ID:0dNC8emY
>>680
>Real-Time Preemptionの結果が気になるところだけど、ユーザ空間で
>1msなんてRTLinuxやRTAIでもお話にならないレベルですね。
>素直に、マイクロカーネル上のリアルタイムタスクにするしかなさそう。
そうですか…ユーザー空間での1ms周期はKernel2.6でもRTAIでもTimeSysでも無理なんですか…
やはりRTAIかTimeSysのRT空間使うしかないのかな?
TimeSysは少し違うみたいだけどユーザー空間でリアルタイムタスク走れて、1ms周期とか出来るんですか?
0687679です。2005/06/25(土) 15:30:55ID:0dNC8emY
>>681
>カーネルをプリエンプティブルにすると、カーネル全体をロックせず、
>クリティカルセクションだけをロックするようになるので、応答時間の性能が良くなります。
すみません。Fedora4で実験しているのですが、まだカーネルをプリエンプティブルにする方法が分からないのです…
DIOはPCIBIOSよりベースアドレスを取得して自前で制御しているのでドライバは使っていません。
0688679です。2005/06/25(土) 15:41:19ID:0dNC8emY
>>682
>素のカーネルで10ms以下のタイミングが必要なら、プリエンプティブルにするだけでなく、
>カーネル内のタイマを1msに設定するなどのconfigも必要です。
カーネル内のタイマを1msに設定するにはmake xconfig画面内の設定を変更するのでしょうか?
0689679です。2005/06/25(土) 16:04:21ID:0dNC8emY
>>683
TimeSysはRTAIより良いですか?
0690login:Penguin2005/06/25(土) 18:59:09ID:Gw2fBEV5
RTLinuxのインスコの仕方教えてください

手元にあるのは rtlinux-3.1.tgz
環境は redhat9

tgzを展開するまではいいのですか
その先が分かりません
0691658,664,676,6812005/06/25(土) 19:08:50ID:XthhRdZ1
>>686
>そうですか…ユーザー空間での1ms周期はKernel2.6でもRTAIでもTimeSysでも無理なんですか…
685に書いたように、私には十分と思える精度がありますがねぇ。
RTAI:977μs周期プロセスのジッタが±約10μs。
TimeSys:1ms周期スレッドのジッタが±約20μs。
どちらも定周期で起動しているのはユーザ空間のプロセス・スレッドです。
0692login:Penguin2005/06/25(土) 19:20:30ID:PUKsaVSF
>>690
まずはドキュメントよく嫁
0693658,664,676,6812005/06/25(土) 19:44:22ID:XthhRdZ1
>>687
>すみません。Fedora4で実験しているのですが、まだカーネルをプリエンプティブルにする方法が分からないのです…
ググると、Fedora4ではないですが、こういうところがヒットしますよ。
http://www.jacklab.net/index.php?option=com_content&task=blogcategory&id=236&Itemid=221&lang=en_EN

>>688
>カーネル内のタイマを1msに設定するにはmake xconfig画面内の設定を変更するのでしょうか?
どうやら、kernel2.6ではdefaultで1msになっているようです。
http://www.lifeflow.jp/diary/index.php?p=114
0694658,664,676,6812005/06/25(土) 20:08:41ID:XthhRdZ1
>>689
>TimeSysはRTAIより良いですか?
条件によって、どちらが良いとは限らないです。

POSIX APIでリアルタイム処理したいならTimeSys。
RTAI専用APIでもいいからより高い応答性能が必要ならRTAI。
というところじゃないでしょうか。
まぁ、仕事で使うなら、それぞれのサポート費用とそのサポート部門の技術力や親切具合
(困ったときにどれぐらい助けてもらえるか)も考慮することになりますね。
ただし、どれぐらいサポートが充実しているかは、サポートを受けてみないとわからないのが
難点です。
06956802005/06/25(土) 21:58:49ID:ICmmxqmv
>>684
> "ms"ではなく"μs"の間違いですね

お陰で1000倍も読み違えるところでした。ご指摘多謝。
0696login:Penguin2005/06/26(日) 00:04:06ID:J+V8pQbR
>>692
どのドキュメントでつか?
0697login:Penguin2005/06/27(月) 18:07:08ID:3asqS1RK
スタンドアロン方式とリアルタイム性能
http://www.atmarkit.co.jp/flinux/embedded/rtos03/rtos03a.html
連載:LinuxによるRTOSの実現(3) リアルタイム機能をLinuxカーネル自身で実現するスタンドアロン方式。この方式の具体的な実装やリアルタイム性能を検証する
0698login:Penguin2005/06/27(月) 23:25:06ID:ehfi2wtq
RT-FIFOについて質問なのです.
RT→Linuxという経路でデータを周期的に転送する際に,
RTスレッドの方が実行周期が早いためLinux空間でデータを
FIFOから読み出すより早く次のデータが書き込まれにRT-FIFOから
あふれてしまいます.今のところRT-FIFOを作成する際にできる限り
大きな値で作成してごまかしていますがそれでも送れるデータの数に
限界があります.
mallocによるメモリの確保などと同じように大サイズのRT−FIFOを作る
方法は無いものでしょうか?
0699686です。2005/06/28(火) 11:53:54ID:E3uAtiWc
>>691
>RTAI:977μs周期プロセスのジッタが±約10μs。
>TimeSys:1ms周期スレッドのジッタが±約20μs。
>どちらも定周期で起動しているのはユーザ空間のプロセス・スレッドです。
これはユーザ空間のデータですか!いいですね!このケースだとRTAIが若干いいですね。
0700login:Penguin2005/06/28(火) 15:12:59ID:mdDc5EUU
vine linux 2.6r4にART-linux カーネルをインストールしました。
ARTカーネルで起動するとXが立ち上がりません。
こんな経験をされた方おりませんか?
0701688です。2005/06/28(火) 15:31:38ID:E3uAtiWc
>>693
>すみません。Fedora4で実験しているのですが、まだカーネルをプリエンプティブルにする方法が分からないのです…
>ググると、Fedora4ではないですが、こういうところがヒットしますよ。
>http://www.jacklab.net/index.php?option=com_content&task=blogcategory&id=236&Itemid=221&lang=en_EN
ありがとうございます。英語か…
>どうやら、kernel2.6ではdefaultで1msになっているようです。
>http://www.lifeflow.jp/diary/index.php?p=114
Fedora4(kernel2.6.11)でも確認しました。HZ 1000
USER_HZ 100 は何でしょう?
HZ 1000 なのにタスクが100ms周期なのは?
0702689です。2005/06/28(火) 15:49:25ID:E3uAtiWc
>>694
>POSIX APIでリアルタイム処理したいならTimeSys。
>RTAI専用APIでもいいからより高い応答性能が必要ならRTAI。
的確な回答、大変ありがとうございます。
POSIX APIでリアルタイム処理したいんでTimeSysと言いたいんですが、
お金の問題があるからRTAIです。RTAI専用APIそんなに沢山ないですよね…

>仕事で使うなら、それぞれのサポート費用とそのサポート部門の技術力や親切具合
RTAIもFree版以外にPro版があるのですか?
それとも有料サポートだけですか?
0703login:Penguin2005/06/30(木) 01:34:02ID:lB09O4ve
>>698
FIFOのサイズが大きければ溢れるのを回避できるという理屈がイマイチわかりませんが、
抜き取り処理がたまに遅れて、そのときに溢れてしまうってことなのかなぁ。

rtlinuxならmbuffでも使ってみたらどうでしょうか?
0704691,693,6942005/07/01(金) 18:58:26ID:JIAkAdzD
>>701
>USER_HZ 100 は何でしょう?
元の100Hz用のdefineを残す、という意図でしょうか。よくわかりません。

>HZ 1000 なのにタスクが100ms周期なのは?
???このHzはカーネル内部のタイマの精度のことですよ?
nanosleepなどでwaitする時、以前は10ms以下にしても働いていなかったのが、
1msまでは働くようになった、ということです。どうやって100ms周期タスクを作ってますか?

ただ、オリジナルの2.6のままではあまり正確性はないかもしれません。
http://www.atmarkit.co.jp/flinux/embedded/rtos03/rtos03a.html
↑ここにあるように、Real-Time Preemptionパッチをあてれば、かなりいい感じになるようです。
0705691,693,6942005/07/01(金) 19:33:40ID:JIAkAdzD
>>702
>RTAIもFree版以外にPro版があるのですか?
>それとも有料サポートだけですか?
前は、Lineoがサポートしていたと思ったのですが、現在はよくわかりません。

6/29,30とESEC(組み込み開発技術展)に行ってたのですが、そこで見つけたElinOSというのが
RTAIをサポートしているようです。ただ、このRTAIがDIAPMで開発されているRTAIと同じ
なのかどうなのかは知りません。
http://www.4link.co.jp/products/elinos.html

趣味で使うならダウンロードしていじくっていればいいですが、仕事(製品に組み込む)となると、
何かトラブルが起きたときに自分でがんばるのかサポートを受けるのか、もし知的財産権の侵害が
発覚したときにどう対処するのか(サポートしてくれる会社とどう契約するのか)、などを考え
なければなりませんよね。
07066982005/07/01(金) 20:47:06ID:M2NWuUx+
>>703
アドバイスありがとうございます.
さっそく試してみます.
0707login:Penguin2005/07/02(土) 01:32:49ID:gL034C3R
オセロとか
0708login:Penguin2005/07/02(土) 16:57:38ID:TmLVCpln
>>704

>>HZ 1000 なのにタスクが100ms周期なのは?
>???このHzはカーネル内部のタイマの精度のことですよ?
ありがとうございます。やはり内部タイマでしたか…

>どうやって100ms周期タスクを作ってますか?
100ms周期のタスクを作ったのではなく、1msの矩形波を出力するタスクを2本走らせてオシロで観測したら
周期が100msだったのです。

>http://www.atmarkit.co.jp/flinux/embedded/rtos03/rtos03a.html
>↑ここにあるように、Real-Time Preemptionパッチをあてれば、かなりいい感じになるようです。
おお、新しくなってる!ありがとうございます。
0709702です。2005/07/02(土) 17:02:03ID:TmLVCpln
>>705

>6/29,30とESEC(組み込み開発技術展)に行ってたのですが、そこで見つけたElinOSというのが
>RTAIをサポートしているようです。ただ、このRTAIがDIAPMで開発されているRTAIと同じ
>なのかどうなのかは知りません。
ElinOS知ってます。これいくら位するのですか?
0710704,7052005/07/02(土) 21:03:09ID:anSVXzQL
>>708
>100ms周期のタスクを作ったのではなく、1msの矩形波を出力するタスクを2本走らせてオシロで観測したら
なるほど。
でも、素のまま(Preemptibleでない)カーネルのままでも、
* mlockallでページアウト(スワップアウト)を禁止
* sched_setscheduler(pthread_attr_setschedpolicy)でスケジューリングポリシーをSCHED_FIFOにして、
かつ、プライオリティを高くする
とすることで、だいぶマシになると思います。
確かKernel 2.4.18で試したときは、このようにしたプロセスで、nanosleepで20msぐらいの定周期
は実現できたと思います。ただ、ちょっと他のプロセスを動かしただけで、10ms以上の遅延が発生して
しまいましたが。

>>709
>ElinOS知ってます。これいくら位するのですか?
値段は聞かなかったのでわかりません。聞いときゃ良かった...
0711login:Penguin2005/07/03(日) 14:53:10ID:4SJDhJ7q
うまくいかなくて思い余って、定周期で割り込みを発生するだけのH/W作ったなぁ。
0712login:Penguin2005/07/19(火) 17:06:43ID:5AykE01B
ElinOSやはり100万位でした。
TimeSysにしろRTLinuxにしろElinOSにしろ商用版は似た様な価格です。
個人では無理ですね。
0713login:Penguin2005/07/20(水) 21:37:14ID:COp3cVuM
>>712
その金額には、単にOSだけではなく、サポートも含まれていると思います。
自分でKernel2.6やRTAIのフリー版などを使った場合は、100万円出さなくて
済むかわりに、いろいろな調査や設定などで「時間」や「手間」など、
個人の場合は直接お金として表われてこない「コスト」がかかるかもしれません。

それから、今のTimeSysはどうなのか知りませんが、2年ぐらい前は100万円も
出さずに買えるケースがありましたよ。
Pentium用の基本セットなら、$875で買えました。日本でもそれに
準じた金額でした。
http://web.archive.org/web/20031008120542/http://www.timesys.com/

商用版だからといって高いとは限りませんよ。
0714login:Penguin2005/07/20(水) 23:31:30ID:0vP2x2nP
>>713
おお!いいじゃないですか!$875なら。
x86(PC-AT)しか使わないのでいけるかも?
RTAIのフリー版しか選択の余地無しと思っていましたが。
日新はそんなこといってなかったのに…
今はいくらなんだろ?
ありがとうございました。
0715login:Penguin2005/07/22(金) 07:27:20ID:F28odBST
物知りなみなさんに質問でつ。

ユーザープロセスのスケジューリングポリシーや優先度は
sched_setscheduler() で設定できるけど、
ドライバなんかで生成した Kernel Thread のそれは
どうやったら設定できるのかな。
sched.c::sched_setscheduler() を直接呼ぶの?

pthread API は使えるわけ無いし、ググってもほとんど情報がない。。。
0716login:Penguin2005/07/23(土) 18:29:54ID:dRSqAEeO
>>715
pidを持つスレッドであれば、schedのsetscheduler関係のものが使えるのでは?
試してみればいかがでしょう?

タスクレットとかだと、普通のKernel 2.4では優先度とかを設定するのは
無理なような気がします。
Kernel 2.6のO(1)スケジューラとか、MontaVista、TimeSys、RTAIとかだと
タスクレットに対しても優先度とかを設定できるんですかねぇ?
0717login:Penguin2005/07/24(日) 08:17:20ID:2uHKuXyj
>>716
もともとは、ユーザープロセスのほうで SCHED_FIFO とかにしても
Kernel Thread の影響で全体のスケジューリングにどういう影響が
あるかを調べてます。

kernel/sched.c とか kthread.c を見てる限りではプロセスと
同じ扱いみたいだからできそうなんだけど、時間の都合で
まだ試せてないんです。

あと sched_yield() はユーザープロセスオンリー?な気もして
引き続き調べ中。 ちなみに 2.6.11 でつ。
0718login:Penguin2005/07/24(日) 10:55:19ID:aAm3ZTIw
>>717
カーネルスレッドがSCHED_OTHER(2.6では名前変わったんでしたっけ?)なら
SCHED_FIFO/SCHED_RRスレッドのスケジューリングには影響ないでしょう。
SCHED_FIFOのスレッドが影響を受けてしまったら、SCHED_FIFOの意味が
薄れてしまいますよね。プライオリティの設定にもよる気がしますが。

それからカーネルスレッド内のクリティカルセクションが長いとユーザプロセス
に影響が出てしまいますが、どうスケジューリングされるのかということだけ測定
するのであれば、そういう条件はあまり関係ないかもしれませんね。

あと、sched_yield()のようにCPUをあけ渡してスケジューリングしたいのなら、
カーネルモードではschedule()を呼べばいいと思います。
0719login:Penguin2005/07/24(日) 10:58:30ID:aAm3ZTIw
む、そうか、だからカーネルスレッドのスケジューリングポリシーとか
優先度を設定したいんですね。
SCHED_FIFOにすれば、ユーザモードでもカーネルモードでも関係ない
ような...
0720login:Penguin2005/07/24(日) 22:14:29ID:2uHKuXyj
>>718-719
さんくす。

ユーザープロセスも Kernel Thread との間に越えられない壁はなくて、
Kernel Thread が全部 SCHED_OTHER(SCHED_NORMAL)なら問題なさそう
ってことでつね。
# どやって調べようか。。。うーむ

ちなみに、以下調べたことチラシの裏書き。

FIFO/RR は静的優先度1-99 で、OTHER は 0。 OTHER は OTHER の中で別に
動的優先度(NICE値)を持っており、各プロセスに平等にCPU が行き渡るように
スケジューラが動的優先度を随時調整している。

静的優先度と動的優先度は、変数としては同じところに保持されていて、優先度の参照の際には
スケジューリングポリシーを参照してオフセットを足して使い分けている。
(静的[0..MAX_RT_PRIO-1]、動的[MAX_RT_PRIO..MAX_RT_PRIO+40])

コード的に動的優先度の数(-20〜20の40個)より静的優先度の数(0〜99 の100個)の方が
大きい前提で比較を行っている if 文がありそうなので、sched.h の MAX_USER_RT_PRIO を
いじるときは注意。

sched_setscheduler() などでスケジューリングポリシーを設定するときに
FIFO/RR なら OTHER から CPU を奪って FIFO/RR にタスクスイッチする。
優先度の判定もしていて、優先度が current より高ければ、同様にタスクスイッチ
する。
0721login:Penguin2005/08/06(土) 03:14:59ID:TACiXhq1
リアルタイムタスクで採取したデータをGUI画面にグラフ表示したいのですが、ディストリビューション(GUI)何使ってますか?
Fedora4使ってる人いますか?
0722login:Penguin2005/08/10(水) 01:16:20ID:IMW3UDZu
>>715
> sched.c::sched_setscheduler() を直接呼ぶの?

CPU migration thread なんかの kernel thread は、
pid を 0 にして sched_setscheduler() で、
呼び出した thread 自身のスケジューリング設定をやってるね。

あと、sched_yield() したければ、schedule() でも良いかもしれんが、
yield() ってのも有る。これだと、set_current_state() とかでの
前準備しなくて良いのでは。
0723login:Penguin2005/10/08(土) 13:46:20ID:ng3C5EQG
もう10月か。
0724松井→サントスは必要なかった2005/10/08(土) 21:54:34ID:vgSIfNSb
松井→サントスは必要なかった
0725YAHOO出品情報でし2005/10/10(月) 14:36:38ID:9ddrRvAC
富士通FMV-6500CL4 を中古出品しました。
開始¥3300ですので、よろしければ入札してみてくだせ!
Linux CUI環境に最適!

http://page13.auctions.yahoo.co.jp/jp/auction/r20112912
0726login:Penguin2005/11/02(水) 21:57:24ID:OP6gpXTW
MS Officeを動作させる話題の"David"搭載、2年ぶりの待望のメジャーバージョンアップ
新製品「Turbolinux FUJI」発表

2005年11月25日より販売開始

ターボリナックス株式会社


同新製品は、2003年10月にリリースされ、リナックスOS分野で前人未踏の
52週(1年間)連続売上第一位(BCN調べ)を記録し、
数年来国内売上シェア第一位を誇るターボリナックスの
基幹デスクトップ製品「Turbolinux 10 Desktop」(以下10D)
の後継製品にあたり、 国産OSならではの完成された日本語環境はもちろん、
10Dで提唱したWindowsとの互換性をさらに強め、安全性、 安定性に優れた
デスクトップ環境を提供します。Windows環境との共存の強化により、Linux
とWindowsの優位性を融合した ハイブリッド・デスクトップリナックスOSとして、
企業、官公庁、自治体、教育機関などへの導入をより一層スムーズなものとします。
FUJIではOS本体とプラグインという新しいビジネスモデルを展開します。
これにより、ユーザーは基幹OSであるFUJIを入手すれば、
用途に応じてプラグインを足すだけで自分だけに特化したOSを利用することが可能となります。
現時点において、ビジネスユース向けプラグイン、 ホームユース向けプラグインやURLフィル
タリングソフトなど、セキュリティ関連プラグインの提供を予定していますが、都度ユーザー
ニーズを 市場から汲み取り、タイムリーに新しいプラグインを提供することがFUJIの価値を高
めるものと考えています。なお、FUJI発売と同時に プラグイン第一弾としてサイバーリンク社
の「PowerDVD for Linux」が決定しており、これら各種プラグインは新ツール"Turboプラス"経
由で提供し、 ユーザーは簡単に購入、ダウンロード、インストールができるようになります。

http://www.turbolinux.co.jp/cgi-bin/newsrelease/index.cgi?date2=20050920033408&mode=syosai
0727login:Penguin2005/11/04(金) 23:40:35ID:3YE2b6zq
>>726
ちっともリアルタイムじゃねーべナ。

プラグインのスケジューラで自作の奴とか試したエロイ人はおらんのか?
0728login:Penguin2005/11/24(木) 03:25:01ID:bxMMMkbf
突然ですが、質問させてください。

EPSON から出ているポータブルストレージP-2000には、イーソルという会社のµITRON4.0準拠OS
が搭載されているようです。
…そこで、本体のHDD(40GB)を例えば160GBの物に換装する事は可能でしょうか?
120GBへの換装の成功例は有ります。
137GBの壁は現在のハードでも有るのでしょうか?
0729login:Penguin2005/11/24(木) 04:14:56ID:Cn8YF6mC
なぜTRON?
0730割込ハンドラ@優先順位2005/11/24(木) 11:43:07ID:b7no7JmM
rtlinux-3.2-pre3を使っています。
rtl_request_irq(irq, handler)関数で登録した割込ハンドラの
優先順位はどうなるのでしょうか?
私の環境では、割込ハンドラ関数実行中に、SCHED_FIFOで生成した
別のスレッドがレディー状態になると、そのスレッドにCPUの使用権が
移てしまいます。
割込ハンドラ関数を最優先に処理させる為の方法はあるのでしょうか?
0731割込ハンドラ@優先順位2005/11/25(金) 09:12:08ID:PGju3YQA
>>730
割込みハンドラの処理が間違っていました。

割込み処理の中で,関数 pthread_wakeup_np() を使って,
スレッドを起動しようとしていたのですが,
この関数を使うと,ただちに(割込み処理の途中で)
スレッドが実行されていました。

スレッドを起動する処理に,関数 pthread_kill() を使うと,
割込み処理が終了した後で,スレッドが実行されるようになりました。

【変更前】割込みハンドラ
unsigned int intr_handler(unsigned int irq, struct pt_regs *regs)
{
:
pthread_wakeup_np(thread_id);
:
return 0;
}

【変更後】割込みハンドラ
unsigned int intr_handler(unsigned int irq, struct pt_regs *regs)
{
:
pthread_kill(thread_id, RTL_SIGNAL_WAKEUP);
:
rtl_schedule();
return 0;
}
0732login:Penguin2005/12/02(金) 20:30:55ID:X1Af1hb4
>>728
スレ違いだが、P2000側のドライバが 48bit LBA なんて
対応して無いだろ。 やめとけ。
07337282005/12/08(木) 00:41:16ID:75QTVwcK
>>732
了解。Thx!
0734login:Penguin2005/12/27(火) 00:35:29ID:Odg3gsOR
最近、この業界の営業になったんですが、VxWorksって
どんなOSですか?かなりいいOSとは聞くのですが、情報は
ありませんか?教えて下さい
0735login:Penguin2005/12/27(火) 00:42:18ID:Odg3gsOR
最近、この業界の営業になったんですが、VxWorksって
どんなOSですか?かなりいいOSとは聞くのですが、情報は
ありませんか?教えて下さい
0736login:Penguin2005/12/27(火) 13:55:55ID:1SQYWINh
>>735
まず、あなたの社名と営業所名を書いて下さい。
話はそれからです。
0737login:Penguin2005/12/27(火) 18:50:13ID:etMJ9ITS
735です。社名、営業所名はさすがに言えないですよー。
VxWorkってかなり開発環境がいいって聞いているのですが・・
情報を教えて下さい。
0738login:Penguin2005/12/27(火) 19:38:55ID:4xI3gVfp
基本的にはお金払わないと情報は一切出てきません。
会員制クラブみたいな感じ。あと小口もあまり対応しないはず。

ここはペンギン板なので他の方を代弁しますね。

かえれ。
0739login:Penguin2005/12/28(水) 00:13:50ID:FBPxkGUI
VIA EPIA-M10000にRT Linux 3.2-pre1入れたんだが動かないっす…
VIA C3プロセッサは相性わるいんかな?
insmodしてもrmmodすると落ちる…
RT-Linux3.2-pre3ってどこに落ちてる?
ART-Linuxってどうよ?ダウソするのに氏名やら住所,使用目的をメールせないかんのけど…
わけわかんね。
0740login:Penguin2005/12/28(水) 01:43:15ID:ERfm6VHA
ART誰か再配布してくんないかな?
0741login:Penguin2005/12/28(水) 22:32:04ID:4bTtfVys
RTAIはどう?。実験装置の制御に使っているけど問題ないし、新しいカーネルに対応している。詳しくは、www.rtai.orgで。ただ、Kernel 2.6.12だとRTAI 3.2のコンパイルに失敗するけど。
0742login:Penguin2005/12/30(金) 14:33:20ID:khrfGdI6
>>739
本家(FSMlabs)からRTLinux Freeのdownloadへ行けばOKじゃないんですか?

RTLinuxFree - fsmlabs.com
http://www.fsmlabs.com/rtlinuxfree.html
Home - www.rtlinuxfree.com
http://www.rtlinuxfree.com/

1年前は、pre2がDLできてたけど、流石に今はpre3じゃないかなぁ?
最近試してないんで知らないけど。;-)
0743login:Penguin2006/01/04(水) 16:00:17ID:GCA5+gu6
>>742
www.rtlinuxfree.comのrtlinux-3.2-rc1.tgzを落とせばいいんですよね?
これ落としてビルドしたけど,やっぱ止まる…(ToT)
configurationが問題かな?
CPUのタイプやら,その他のオプションをいろいろ変えているけど,なかなか…
ちなみに,カーネルは2.4.20,RedHat9です。カーネルはkernel.orgから落としました。
RTのdoc読むとkgccを使ってますよね?gccではダメなんですか?
あと,gccって,このカーネルではこのgccのバージョンじゃないとダメ!ってありますか?
0744login:Penguin2006/01/04(水) 16:18:31ID:o2qi2kX+
>>740
持っているぞ。必要なら教えて。
0745login:Penguin2006/01/05(木) 16:01:52ID:hDtsW4j7
>>735 インターフェースのバックナンバー買え。
↓これでしょ?

ttp://www.cqpub.co.jp/interface/contents/2005/200503.htm
●「VxWorks」を使ったRTOS技術の基礎と応用(第11回,最終回)
 組み込みシステムのデバッグ(後編)――ビジュアライゼーション・ツール
0746login:Penguin2006/01/05(木) 17:26:40ID:+yMnItYH
質問なのですがRT-Linux上でスレッドの周期を随時変更することは
可能なのでしょうか?

pthread_make_periodic_np(pthread_self(),gethrtime(),X*1000*1000);
そのスレッドの最後でXを返すことでスレッドの次の実行周期を
変更できると考えていたのですが上手くいかないので
どなたかわかる方教えていただけませんか?
0747login:Penguin2006/01/05(木) 18:50:11ID:xmEkQvVD
735です。ありがとうございます。早速購入して、勉強したいと思います。
営業的に説明が難しくて・・・・。
何かご存知のことがあれば教えて下さい。

よろしkお願いします。
0748login:Penguin2006/01/08(日) 17:50:13ID:Ga3TjZNr
>>743
RH9のgcc(3.2でしたっけ?)で無問題と思います。
少なくとも、pre2, pre3で試した時は、RTLinuxのレグレッションテストを通りました。

kgccを使う必要があったのは、RH7.X/8.X系の時の話で、9.0では問題に突き当たった
経験は無かったです。

> configurationが問題かな?
そうですね、変にチューニングしようとすると、おかしな状態になるケースが多いはずです。

基本方針としては、
・変なチューニングを施さない
 (最適化させるのは、最低ラインのビルドが成功してから徐々に変える)
・エラーが出たら、大抵の場合特定のモジュールのビルドに失敗しているのでビルド対象から外す
 (Gイーサとか、Gイーサとか、Gイーサとか…(笑))
ってな感じかな?
0749login:Penguin2006/01/11(水) 13:32:29ID:Wn8rLbzA
>>748
遅くなってすいませんm(_ _)m
んじゃ,gccを使用する場合は
CC=$(CROSS_COMPILE)gcc
から
CC=$(CROSS_COMPILE)kgcc
にする必要はないってことですね?
CPUの問題と思って色々種類を変えてビルドしてたんですが,やっぱり変化無しで…
やっと起動した〜!と思ったら,その後のレギュレッションでフリズったり(ToT)
泣く泣くハードリセットかけて再起動して…
とりあえずネットワーク機能は切ってビルドしてみます。
早速,試してみます。
ありがとうございました
0750login:Penguin2006/02/05(日) 22:19:43ID:nKb5tm0A
リアルタイムリナックスって μITRON の一タスクで動かせる?

普通の Linux は動かしてるベンダーあるみたいなんだが。
0751login:Penguin2006/02/06(月) 11:19:43ID:6e2aa/2o
>>750
出来るとは思うが。
リアルタイムスケジューラーを二階建てにする意味があるのか?
0752login:Penguin2006/02/06(月) 14:14:20ID:rV6ufK08
>>751
きれいにリアルタイムと非リアルタイムの分業ができてない
へぼアーキなんすよ。 全部μITRON にもどせば良いじゃねーかと
いわれないためには、Linux もある程度リアルタイム性を維持して
おいしいところ使えますよっていう話を見せないとね。

Linux 屋さんからμITRON 屋さんにもどるっていう選択肢もあるけど
最近 Linux に情が移って。。。
0753login:Penguin2006/03/26(日) 02:30:27ID:NU/QeSmU
RTで値を計算させて、FIFOでユーザ側に送って、3Dグラフィックスをグリグリ動かすのはやっぱりきついですかね?
0754login:Penguin2006/03/26(日) 17:28:11ID:c9l8/p/A
わざわざRT側で計算する理由がわからん。
0755login:Penguin2006/03/26(日) 17:35:48ID:YZaB3/Ez
おれならリアルタイムOS入れずにハードでOpenGL出来るビデオカード探す
07567532006/04/03(月) 09:49:37ID:eVyguM6R
入力デバイスがRTで値が取得できるので・・・。
グラフィックス動かすのがメインなので、普通のジョイスティックで入力でいいとは思うんですけど。
0757login:Penguin2006/04/03(月) 10:45:43ID:X1jpCbuv
その読んできたデータをFIFOで送ればいいんでは?
ものすごい量のデータで受渡しに時間がかかり過ぎるなら
計算して減らすという手もあるが。

まあRT側は極力単純にするべきだと思うわけですが。
0758login:Penguin2006/04/04(火) 02:05:24ID:s96GIfzQ
問題なのは、
計算? その結果の転送? 実際の描画?
07597532006/04/06(木) 09:48:57ID:9JjD6Rdi
描画がカクカクなんです。
入力値をグラフィックに与える値にする算も複雑なものではないく、送るデータの量も少ないです。
なので、RTを使うこと自体が影響してるのかなと思いまして。
0760login:Penguin2006/04/06(木) 10:10:14ID:7QNr34MX
描画部分を単体で動かして確かめた方がいいんでは?
RTタスクの影響でそこまで重くなったら、システムが破綻すると思う。

0761login:Penguin2006/04/08(土) 01:00:23ID:16XmyeZg
>>759
DMA使ってる?

あとは割り込みハンドラがゴージャスに作ってあるとか。
0762login:Penguin2006/04/13(木) 23:10:52ID:AvNZegIx
誰かXENOMAI(ttp://snail.fsffrance.org/www.xenomai.org/)を試したことある
人いますか? 安定度やリアルタイム性はいかがなものでしょう。
当方MPC82xx(PowerPC)で使いたいと思っています。kernel2.6系で動かしており、
最初はRTAIをと思ったのですが、RTAIはPowerPCはkernel2.4のみのサポートみ
たいで、kernel2.6に移植できるだけの技術力がありません。
XENOMAIはPowerPCもkernel2.6で動くみたいなので、使っている人がいれば情
報下さい。
0763age2006/05/20(土) 16:57:16ID:58hivAqv
MontaVistaみたいなところは、
どうやって利益出してるんでしょ?

Linuxカーネルベースに手を加えてもGPLならば
ソース公開しなければならないので、
いくらでもパクられそうな気がしますが。

RTOSを勉強するために通常Kernelとのdiffを
とってみたいのですが、どこにいけばMontaVistaの
ソースって見れます?

日本語サイトにはなかった
(FAQに入れなかった)

ちなみにLinux自体初心者です...
0764login:Penguin2006/05/20(土) 18:57:34ID:wRLJzgLe
>>763
MontaVistaと契約すればソースも見られると思いますよ。
金額はMontaVista JapanとかELTとかの営業さんに聞けば教えてくれます。

ユーザじゃない人にまでソースを公開しなければならないってことはないので、
誰でもアクセスできるところにはソースはないでしょう。
この辺が、GPLについてよく勘違いしてしまうところですね。

確か、パナソニックかNECのケータイにはGUI担当のCPUではLinuxが動いて
おり(通信用のCPUにはITRON系のOSを載せてた。最近の機種も同じかどうか
は知りません)、取説にソースコードダウンロードのURLが書いてあって、
そこにアクセスして製品のシリアル番号を入れるとダウンロードできた気がします。
0765login:Penguin2006/05/20(土) 19:13:27ID:wRLJzgLe
普通のRTOSを勉強したいなら、TRON系のOSで勉強してみては?
TOPPERSとか
http://www.toppers.jp/

ソフトリアルタイムで、あんまり割り込み応答性能にこだわらないので
あれば、kernel 2.6で十分イケるんでは?

RTOSの上でタスクの1つとしてLinuxを動かしているRTAIやRTLinuxという
のもあります。

この辺の性能についてはこことか参照。
http://www.atmarkit.co.jp/fembedded/rtos01/rtos01a.html

記事中に、970msとか、"ms"と表記されている部分が確かあったと思いますが、
間違いで、"μs"が正しいです。
>>684
0766login:Penguin2006/05/20(土) 20:24:39ID:58hivAqv
>>wRLJzgLe

無知な私に、レスありがとうございました。

近い将来、組み込みMontaVistaベースの仕事に
入りそうなので、聞いてみました。

開発経験は長いのですが、オープンソースというのは
初めてで、ライセンス等は疎いです。
このへんも学ばなければなないというところでしょうか。

仕事というのは通信機器関連なのですが、
Kernel2.6でもμのオーダでタスクディスパッチが出来るのなら
素晴らしいですが、Montaとも比較して性能検証
してみたいです。。。

モッサリと言われないためにも・・・
0767login:Penguin2006/05/21(日) 15:17:43ID:zaWHdAlc
リアルタイムパッチとかあてても普通につかってると
ディスパッチや usleep の誤差は jiffies 単位だよね?
より正確に jiffies 単位になるだけで。
0768login:Penguin2006/05/22(月) 23:25:25ID:K2lviSdL
>>767
「普通」ってどういう条件なのか不明ですが...
ディスパッチがjiffies単位でしか発生しないんでは、プロセスやスレッドは
めちゃくちゃ反応悪いしOSとしてまともに動かないと思いますよ。
というか「ディスパッチ」ってどういう意味で使ってます?
usleepの精度は確かにjiffies単位なので、正確なタイマが欲しければPOSIX
のリアルタイム拡張(1003.1bとか1003.1cでしたっけ?)を使うべきでしょう。
高精度タイマにするパッチとかってないんでしたっけ?
0769login:Penguin2006/05/23(火) 00:22:24ID:QbeUyqai
今は標準になってたような。
0770login:Penguin2006/05/23(火) 01:33:39ID:FRkGPqvH
最近 jiffies が 1ms になってるけど違いが体感できない。
正直なところ、リアルタイム性も大事だが、ゼロコピーとか
そういう処理効率を考えるほうがいいんじゃないかと。
0771login:Penguin2006/05/23(火) 07:07:17ID:wy0Cc+6E
1msなんて組み込み屋に言わせたら超長時間。マイクロのオーダで精度無いと使えん
0772login:Penguin2006/05/23(火) 08:16:09ID:sMe4PIZ0
usleepじゃなくて、nanosleepつかえば。
0773login:Penguin2006/05/23(火) 10:31:04ID:QbeUyqai
時間保証が無いので使えんということになると思いまふ。

0774login:Penguin2006/05/25(木) 00:07:00ID:Hcf3hZ1y
>>771
1msが超長時間って、そりゃ組込みでもモノによるわな。
それにjiffiesは「タイマの分解能」に影響を与えるだけであって、
「割り込み応答性能」じゃない。
「マイクロのオーダの精度」って、タイマ(タイムアウトによるイベント発生)
の分解能のことなのか、割り込み応答性能のことなのかで違ってくるね。
>>773
絶対に時間保証が必要なら、普通に「普通のRTOS」を使うべき。
タイマの分解能が1ms、割り込み応答性能がだいたい数10μs
(これもCPUやバスなどのアーキテクチャに依存するけど...)でいいん
なら、リアルタイム拡張されたLinuxも選択肢の1つになるね。
さらに、リアルタイム拡張Linuxでも、独自のRTOS Kernelで動く
RTLinuxやRTAIと、Kernelそのものをリアルタイム化した
Kernel2.6/MontaVista/TimeSysとでは機能や性能が違うから、
一概には判断できないね。
0775login:Penguin2006/05/31(水) 00:49:23ID:KXk12jEW
リアルタイム風拡張した Linux で Dynamic tick って使えるの?
0776login:Penguin2006/06/03(土) 09:03:08ID:6+tC3xDs
>>775
Kernel2.6ベースのものなら使えるのでは?

RTAIやRTLinuxでは、Linux側をがんばってもしょーがないので、
Linux Kernelそのものをリアルタイム化したタイプで、Kernel2.6
ベースのもので試してみたら?
0777login:Penguin2006/06/26(月) 13:31:41ID:qfWRMZi1
生物系の研究室でRTLinux使ってロボット制御することになったんですが,
今手に入るPentiumDとかのマルチコアやP4のハイパースレッド対応CPUで
RTLinuxカーネルって動くんでしょうか.

一応構成として
Turbolinux 8(Kernel2.4系)
RTLinuxFree 3.1
Interface社のDA,ADボード
Pentium4 3.2E
GigaByte GA-8IG1000-G

ってのを考えています.
0778login:Penguin2006/06/29(木) 16:01:28ID:l1BeWowD
>>777
Interfaceによれば、BIOSでHyper-Threadingを無効にし、
OSを再インストールしろとあります。

http://www.interface.co.jp/catalog/hyper_threading.asp

似たような構成で使ったことがありますが、
ハードウェア的には問題ないと思います。
ただHDDはSerialATAでないほうが楽でしょう。
0779login:Penguin2006/07/11(火) 14:18:25ID:n/PCoE3k
>>778
ご回答ありがとうございます.
Hyper-Threadingが用をなさないとのことで,
CeleronDとIDE-HDDの組み合わせで作業を行っています.
ちなみにTurboLinux8WはSerialATAの機能がONになっていると
IDEが見えないようでインストールすらできませんでした.
0780login:Penguin2006/09/07(木) 10:18:08ID:Pf/EFgCi
『Linux』をリアルタイム OS 化する取り組みが本格化
ttp://japan.internet.com/webtech/20060823/12.html
0781login:Penguin2006/09/18(月) 05:16:52ID:dbPQnzuk
現在情報系の研究室に所属中で、ロボットの制御を行うことになりました。
そこで制御用のマシンをこれから組むことになったのですが、
マシンの構成を決める上で、「パーツはこのようなものではRTLinuxが動かない」
といった特に気をつけなければならないことがあればご教授願えないでしょうか?
バージョンはRTLinuxFree3.1で、今のところはCore2Duoのような新しい物を使っていこうかという方針です
よろしくお願いします
0782login:Penguin2006/09/25(月) 21:02:47ID:zor5JUeZ
質問です。
RTLinuxにおいて、FIFOでモジュールからデータを取ってきて
プロセスで受け取り、その数値を表示させています。
黙ってみている分には問題ないのですが、
マウスを動かしたり、ちょっとした作業をしようとすると、ある変数だけ「NaN」になります。
その他の変数は引き続き問題なく表示されます。

FIFOバッファのサイズを大きくしてみたり、データ数を間引いて減らしたり
USBマウスを使わないようにしたりしてみましたが駄目でした。
何を疑ったらよいのでしょうか。

07837822006/09/25(月) 21:46:11ID:zor5JUeZ
続きです。
rtl_printfで問題の変数の内容を覗いてみたところ、
他の作業(といってもたいしたことの無い作業)をした瞬間におかしな数値になりました。
どうやらFIFOは悪くないようです。
周期実行を1msにしても状況は変わりません。

環境は、RTLinux2.4、RedHatLinux8、Pen3 1GHzです。
0784login:Penguin2006/09/29(金) 22:40:49ID:NAuj+ggl
>>783
RT FIFOの取得サイズが、実は想定より小さいケース(瞬間)が
あった。という事は、ありえませんか?

ところで、typoだと思うんですが、
 RTLinux 3.?
 kernel 2.4.??
 RedHat Linux 8
ですよね?
■ このスレッドは過去ログ倉庫に格納されています