プロセス間通信

VOSにもUNIX系システムにあるようなプロセス間での同期処理やデータ共有を行うための仕組みがあります。

1.イベント通知
ダミーのファイルを用意して、受信側プロセスへ送信側プロセスからイベントという通知を行うことができます。業務ではあまり使う機会がありませんでしたが、使い方では利用価値があります。

2.キュー
キューという特殊なファイルを使っての通信手段です。一方通行の1 Way Server Queue、データの送受信ができる2 Way Server Queue、相手がいなくても送れるメッセージキューがあります。それぞれのキューによってアクセス方法が異なるので、用途に合わせた作りこみとなります。

3.共有メモリ
物理ファイルと合わせてプロセス間でメモリ共有を可能にします。同じアドレスにデータをマップし、それぞれのプロセスでメモリI/Oを瞬時に別プロセスへ反映できます。別プロセスで同じメモリアクセスを防ぐのにロック機能を使用して排他制御を独自行う必要がありました。

4.シグナル
シグナルもAPIが用意されてます。シグナル処理をしてないプログラムは、シグナルを受信するとデフォルト動作を行います。BREAKシグナルだと、プロセス情報を表示してユーザープロンプト待ちにできます。端末がないプロセスは終了しますが。デフォルト動作が異常事態にわかりやすい情報を残すので、慎重にプログラムしないと情報を失ってしまう場合もあるので実務ではほとんど使いませんでした。