UNIX上のDAQシステム

1.はじめに

UNIXをデータ収集システムのためのOSに選ぶ場合、いくつか注意する必要が あります。それは主にUNIXが実時間システムでないことに起因します。そのことを うまくこなしながらシステムを作っていく必要があります。

2.実時間システムとは

まず実時間システムとはどういうものかを見ておきましょう。プロセス間 通信やネットワークを備えていることはもちろんですが、一般的に 実時間システムとはさらに次のような性質を持ったOSを指します。 これらは、実時間プロセスを効率的に実行するために、直接・間接に必要となる 機能です。一般的なUNIXではこれらの機能は保証されていません。そのため、 従来はUNIXは実時間システムには不向きなOSと考えられてきました。

3.UNIXによるオンラインシステム

上述したようにUNIXは実時間システムとはいえないものです。そこで、ある面では 妥協をして行く必要があります。

最大レーテンシーの保証は、これはどうしようもありません。ですが、計算機の 処理能力が高くなっているので、多少大きなレーテンシーが生じても問題ないと 考えることもできます。

UNIXでの優先順位の制御は非常に貧弱です。が、複数の計算機を導入し、おのおのの 計算機で走る主要なプロセスの数を限定すれば、これは回避できる問題となります。 これは同時に、プロセス切り替えの時間のオーバーヘッドについても回避します。

プロセス間で共有できるシステム変数は、本来UNIXにはありませんが、共有メモリーの 機能はあるので、ユーザ側でそれを実装することは可能です。

非同期入出力は、これもどうしようもありません。擬似的にselectシステムコールを 用いることで多数の入出力を管理することになります。

このような問題があるにしても、今日では安価なPCと無料のLinuxを用いてシステムを 構築できるメリットは絶大です。価格対性能比を考えると明らかでしょう。


[intro/unixdaq.html] Last Modified : 26-Feb-2001.

KONOEコラボレーション konoe-req@konoe.kek.jp