(57)【要約】【課題】オペレーティングシステムとしてＵＮＩＸ（登録商標）が動作するコンピュータにおいて、このコンピュータ上で動作する任意のプロセスから任意の利用者端末の表示装置へデータを表示させることを可能とする。【解決手段】第１プロセスと、利用者端末Ｔ１によって起動される第２プロセスとを実行するコンピュータ１０に、第２プロセスから送信される利用者端末Ｔ１の表示画面のデバイスファイル名を第１プロセスにおいて受信する受信処理Ｓ１３と、受信したデバイスファイル名によって指定された表示画面にデータを第１プロセスにおいて出力する出力処理Ｓ１５と、を実行させる。【選択図】図４
2009175801.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実行され第１プロセスを生成するコンピュータプログラムであって、該第１プロセスは、
利用者端末として接続された端末の表示画面のデバイスファイル名を、前記端末によって起動され前記コンピュータ上で動作する、前記デバイスファイル名をデータの出力先として前記第１プロセスへ通知する通知処理を前記コンピュータに実行させる第２プロセスから受信する受信処理と、
前記デバイスファイル名によって指定された表示画面に前記データを出力する出力処理と、
を前記コンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項２】
請求項１に記載のコンピュータプログラムにより生成される前記第１プロセスにデータの出力処理を依頼するべく、前記端末により前記コンピュータ上で起動され前記第２プロセスを生成するコンピュータプログラムであって、
該第２プロセスは、前記端末の表示画面のデバイスファイル名を、前記データの出力先として前記第１プロセスへ通知する通知処理を前記コンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項３】
請求項１に記載のコンピュータプログラムを格納する記憶手段と、
ＵＮＩＸ（登録商標）及び前記コンピュータプログラムを実行するプロセッサを備えることを特徴とするコンピュータ。
【請求項４】
前記第１プロセスが前記オペレーティングシステムにより起動されるように構成されることを特徴とする請求項３に記載のコンピュータ。
【請求項５】
コンピュータに利用者端末として接続された端末の表示画面にデータを出力するデータ出力方法であって、
第１プロセスと、前記端末によって起動される第２プロセスとを実行する前記コンピュータに、
前記第２プロセスから送信される前記端末の表示画面のデバイスファイル名を前記第１プロセスにおいて受信する受信処理と、
前記デバイスファイル名によって指定された表示画面にデータを第１プロセスにおいて出力する出力処理と、
を実行させることを特徴とするデータ出力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オペレーティングシステムとしてＵＮＩＸ（登録商標）が動作するコンピュータにて動作する所定のプロセスからアクセス可能なデータを表示装置へ出力するデータの出力方法に関する。
【背景技術】
【０００２】
図１は、オペレーティングシステム（ＯＳ）としてＵＮＩＸ（登録商標）が動作するコンピュータを用いて構成したＵＮＩＸ（登録商標）システムの構成例を示す図である。ＵＮＩＸ（登録商標）システム１は、オペレーティングシステムとしてＵＮＩＸ（登録商標）が動作するコンピュータ１０と、コンピュータ１０を運用するためにコンソール端末に直結されるコンソール端末ＣＴと、コンピュータ１０に接続される利用者端末Ｔ１及びＴ２により構成されている。
利用者端末Ｔ１は、例えばＬＡＮやインターネット等であるネットワークＮＴを介してコンピュータ１０にＴｅｌｎｅｔ接続されており、利用者端末Ｔ２は、例えばＲＳ２３２Ｃインタフェース等であるシリアルインタフェースを介してコンピュータ１０に接続されている。
【０００３】
図２は、図１に示すＵＮＩＸ（登録商標）システムにおいて、ＯＳによって自動起動されたプロセスから表示装置へデータを出力する場合における従来のデータ出力方法を示すシーケンス図である。
ステップＳ１では、利用者端末Ｔ１をＴｅｌｎｅｔ接続により、又は利用者端末Ｔ２をシリアル接続によりコンピュータ１０に接続する。コンピュータ１０では、ＯＳのカーネルの起動時にカーネルによって第１プロセスが起動されている。
【０００４】
ステップＳ２では、利用者端末Ｔ１又はＴ２を用いてコマンドを入力することによって、コンピュータ１０上で動作する第２プロセスを起動する。
この第２プロセスは、第１プロセスが利用可能なデータを表示装置に出力することを、第１プロセスに要求するプロセスである。この第２プロセスは、例えば、第１プロセスに割り当てられたグローバルメモリ内の記憶内容を、引数で指定した「表示開始アドレス」から、引数で指定した「表示バイト数」だけ、表示装置に出力することを第１プロセスに要求するプロセスである。第２プロセスが起動されることにより、ステップＳ３において、第２プロセスから第１プロセスへデータの表示する処理要求が送信される。
【０００５】
ステップＳ４では、ステップＳ３において要求されたデータを取得するコマンドが第１プロセスによって実行される。上記の例では、ステップＳ３の要求で指定された「表示開始アドレス」から、指定した「表示バイト数」だけダンプするダンプ命令が実行される。
ステップＳ４のコマンド実行によって得られたデータ（メモリ内容）は、ステップＳ５において表示装置に出力される。このとき第１プロセスは、コンソール端末ＣＴの表示装置にデータを出力する。カーネルによって自動起動された第１プロセスでは、標準出力としてコンソール端末ＣＴの表示装置が大域変数ｓｔｄｏｕｔにおいて設定されているためである。
【０００６】
【特許文献１】特開平５−３５６２２号公報
【特許文献２】特開２００６−１６４２７１号公報
【特許文献３】特開２００４−２８７８５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記の通り、ＯＳによって自動起動されたプロセスからデータを表示する場合には、コンソール端末の表示装置にデータが表示される。したがって、オペレーティングシステムとしてＵＮＩＸ（登録商標）が動作するコンピュータでは、コンソール端末が接続されていないと、ＯＳによって自動起動されたプロセスからデータを表示させることはできない。
上記問題点に鑑み、本発明は、オペレーティングシステムとしてＵＮＩＸ（登録商標）が動作するコンピュータにおいて、このコンピュータ上で動作する任意のプロセスから、任意の利用者端末の表示装置へデータを表示することができるデータ出力方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本方法は、オペレーティングシステムとしてＵＮＩＸ（登録商標）が動作するコンピュータに利用者端末として接続された端末の表示画面にデータを出力するデータ出力方法であって、第１プロセスと、上記の端末によって起動される第２プロセスとを実行する上記のコンピュータに、第２プロセスから送信される上記の端末の表示画面のデバイスファイル名を第１プロセスにおいて受信する受信処理と、このデバイスファイル名によって指定された表示画面にデータを第１プロセスにおいて出力する出力処理と、を実行させる。
本発明によれば、第１プロセスにより利用可能なデータの出力を、任意の利用者端末の表示画面にデータを出力させることができるようになる。
【０００９】
本コンピュータプログラムは、オペレーティングシステムとしてＵＮＩＸ（登録商標）が動作するコンピュータにより実行され第１プロセスを生成するコンピュータプログラムであって、この第１プロセスによって、利用者端末として接続された端末の表示画面のデバイスファイル名を、この端末によって起動され上記のコンピュータ上で動作する第２プロセスから受信する受信処理と、デバイスファイル名によって指定された表示画面にデータを出力する出力処理と、を上記のコンピュータに実行させる。
本コンピュータは、上記のコンピュータプログラムを格納する記憶手段と、ＵＮＩＸ（登録商標）及び上記のコンピュータプログラムを実行するプロセッサを備える。
【発明の効果】
【００１０】
本発明によれば、ＵＮＩＸ（登録商標）が動作するコンピュータにおいて、このコンピュータ上で動作する任意のプロセスから、任意の利用者端末の表示装置へデータを表示することができるようになる。
【発明を実施するための最良の形態】
【００１１】
以下、添付する図面を参照して本発明の実施例を説明する。以下の説明では、一例として、図１に示したＵＮＩＸ（登録商標）システムの構成例に本発明を適用した形態を説明する。本発明が適用できるシステムは図１に示すシステムに限定されるものではない。本発明は、オペレーティングシステムとしてＵＮＩＸ（登録商標）が動作するコンピュータとこれに接続される利用者端末とからなるシステムであれば、どのような構成例のシステムでも適用可能であり、このようなシステムにおいて動作するように構成された全ての変形例が本発明の範囲に含まれる。
【００１２】
図１に示すように、ＵＮＩＸ（登録商標）システム１は、本発明の実施例によるコンピュータ１０を備える。コンピュータ１０では、オペレーティングシステムとしてＵＮＩＸ（登録商標）が動作する。コンピュータ１０には、コンピュータ１０を運用するためにコンソール端末に直結されるコンソール端末ＣＴと、利用者端末Ｔ１及びＴ２とが接続されている。
利用者端末Ｔ１は、例えばＬＡＮやインターネット等である、ネットワークＮＴを介してコンピュータ１０にＴｅｌｎｅｔ接続されており、利用者端末Ｔ２は、例えばＲＳ２３２Ｃインタフェース等である、シリアルインタフェースを介してコンピュータ１０に接続されている。
【００１３】
図３は、本発明の実施例によるコンピュータ１０の概略構成図である。コンピュータ１０は、ＣＰＵ１１と、メモリ１２と、ＣＰＵ１１により実行されるオペレーティングシステム（ＯＳ）２１や第１〜第３プログラム２２〜２４を記憶するためのストレージ１３と、コンソール端末ＣＴをコンピュータ１０に接続するためのコンソール端末用インタフェース１４と、ネットワークを介して利用者端末Ｔ１をコンピュータ１０に接続するためのネット通信インタフェース１５と、利用者端末Ｔ２をシリアル接続するためのシリアル接続インタフェール１６を備えている。オペレーティングシステム２１はＵＮＩＸ（登録商標）である。
【００１４】
ストレージ１３は、ハードディスクドライブ装置であってよく、又はメモリ素子を用いて構成された不揮発性記憶装置であってもよい。また、例えば図４に示すシーケンスのように、コンソール端末ＣＴを接続しない状態でコンピュータ１０が運用される場合には、コンソール端末用インタフェース１４を省略してもよい。
【００１５】
図４は、本発明によりデータを表示装置へ出力するデータ出力方法の第１実施例を示すシーケンス図である。
ステップＳ１０では、利用者端末Ｔ１をＴｅｌｎｅｔ接続により、又は利用者端末Ｔ２をシリアル接続によりコンピュータ１０に接続する。利用者端末Ｔ１又はＴ２をコンピュータ１０に接続することによって、オペレーティングシステム上では、利用者端末Ｔ１又はＴ２の表示装置にデバイスファイル名が割り当てられている。ここでは簡単のため利用者端末Ｔ１がコンピュータ１０に接続されたものとして説明を行うが、利用者端末Ｔ２がコンピュータ１０に接続された場合であっても動作は同様である。
【００１６】
コンピュータ１０では、ストレージ１３に記憶された第１プログラム２２がオペレーティングシステムのカーネルの起動時にカーネルによって実行されることにより、第１プロセスが起動されている。ここに、第１プログラム２２は、特許請求の範囲に記載された、第１プロセスを生成するコンピュータプログラムに相当する。第１プロセスは、コンピュータ２０上で常に動作している常駐プログラムとしてよい。
【００１７】
ステップＳ１１では、第１プロセス内において、ＵＮＩＸ（登録商標）に用意されたシステムコール"msgrcv ()"を利用することによって、所定のメッセージ・キューを介して任意のプロセスからのメッセージを受信できる受信待ち状態にしておく。ここで第１プロセスへのメッセージの送信に使用する所定のメッセージ・キューの識別子がｑｉｄであるものとして以下の説明を行う。
【００１８】
ステップＳ１２では、利用者端末Ｔ１から第２プログラム２３を実行することによって、コンピュータ１０上で動作する第２プロセスを起動する。第２プログラム２３は、特許請求の範囲に記載された、利用者端末によりコンピュータ１０上で起動され第２プロセスを生成するコンピュータプログラムに相当する。
この第２プロセスは、第１プロセスが利用可能なデータを表示装置に出力することを、第１プロセスに要求するプロセスである。この第２プロセスは、例えば、第１プロセスに割り当てられたグローバルメモリ内の記憶内容を、引数で指定した「表示開始アドレス」から、引数で指定した「表示バイト数」だけ、表示装置に出力することを第１プロセスに要求するプロセスである。
【００１９】
第２プロセス内では、ＵＮＩＸ（登録商標）に用意されたシステムコール"system()"を利用することによって、"tty"コマンドが下記のとおり発効される。
"system("tty > /tmp/ttyfile")"
その結果、第２プログラム２３を実行した利用者端末Ｔ１の表示装置のデバイスファイル名が取得され、一時ファイル"/tmp/ttyfile "に保存される（ステップＳ１３）。
【００２０】
ステップＳ１４において、第２プロセスから第１プロセスへデータの表示する処理要求が送信される。このとき、第２プロセスは、ＵＮＩＸ（登録商標）に用意されたシステムコール"msgsnd()"を利用して、識別子ｑｉｄにより指定される上記の所定のメッセージ・キューを介して、一時ファイル"/tmp/ttyfile"に記憶された利用者端末Ｔ１のデバイスファイル名を第１プロセスに送信する。
【００２１】
ステップＳ１５では、ステップＳ１４において要求されたデータを取得するコマンドが第１プロセスによって実行される。上記の例では、ステップＳ１４の要求で指定された「表示開始アドレス」から、指定した「表示バイト数」だけダンプするダンプ命令が実行される。
ステップＳ１６では、第１プロセスにて、システムコール"msgrcv ()"を利用して受信したデバイスファイル名に対して、システムコール"open()"によりアクセスしてファイル記述子を取得する。そしてシステムコール"write()"を用いて、このファイル記述子に対して、ステップＳ１５で得られたデータを転送することにより、ステップＳ１５で得られたデータが利用者端末Ｔ１の表示装置に出力される。
【００２２】
従来のデータ出力方法では、ＯＳのカーネルから自動起動されるプロセスからのみアクセスできるデータ、例えば、第１プロセスに割り当てられたグローバルメモリ内の記憶内容は、コンソール端末にしか出力できなかった。第１プログラム２２及び第２プログラム２３を用いれば、このようなデータを任意の表示装置へ表示することができる。これによって、ＯＳのカーネルから自動起動されるプロセスのデバッグ作業を、ｔｅｌｎｅｔ接続やシリアル接続などで接続した利用者端末から容易に行うことが可能となる。
【００２３】
図５は、本発明によりデータを表示装置へ出力するデータ出力方法の第２実施例を示すシーケンス図である。ステップＳ１０〜Ｓ１６は、図４に示すステップＳ１０〜Ｓ１６と同様であるため説明を省略する。
本シーケンスでは、第１プログラム２２により生成される第１プロセスは、利用者端末Ｔ１又はＴ２にデータを出力するのに併せて（Ｓ１６）、ステップＳ１７においてコンソール端末ＣＴにもデータを出力する。
【００２４】
図６は、本発明によりデータを表示装置へ出力するデータ出力方法の第３実施例を示すシーケンス図である。図４及び図５のシーケンスでは、ＯＳのカーネルから自動実行される第１プログラム２２により生成されるプロセスによってアクセスできるデータを任意の利用者端末から表示することとした。
本シーケンスでは、ある利用者端末から実行される第３プログラム２４により生成される第３プロセスによってアクセスできるデータを他の利用者端末から表示することとした。以下の説明では、第３プログラム２４を実行させる端末をＴ２、データを表示する端末をＴ１として説明するが、第３プログラム２４を実行させる端末をＴ１、データを表示する端末をＴ２としても動作は同様である。
【００２５】
ステップＳ２０では、利用者端末Ｔ２をシリアル接続によりコンピュータ１０に接続する。
ステップＳ２１では、利用者端末Ｔ２から第３プログラム２４を実行させ、コンピュータ１０上で動作する第３プロセスを起動する。
ステップＳ２２では、第３プロセス内において、システムコール"msgrcv ()"を利用することによって、所定のメッセージ・キューを介して任意のプロセスからのメッセージを受信できる受信待ち状態にしておく。ここで第３プロセスへのメッセージの送信に使用する所定のメッセージ・キューの識別子がｑｉｄ２であるものとして以下の説明を行う。
【００２６】
ステップＳ２３では、利用者端末Ｔ１をＴｅｌｎｅｔ接続によりコンピュータ１０に接続する。利用者端末Ｔ１をコンピュータ１０に接続することによって、オペレーティングシステム上では、利用者端末Ｔ１の表示装置にデバイスファイル名が割り当てられている。
ステップＳ２４では、利用者端末Ｔ１から第２プログラム２３を実行することによって第２プロセスを起動する。第２プロセスは、第３プロセスが利用可能なデータを表示装置に出力することを第３プロセスに要求するプロセスである。
【００２７】
第２プロセス内では、システムコール"system()"を利用することによって"tty"コマンドが下記のとおり発効される。
"system("tty > /tmp/ttyfile")"
その結果、第２プログラム２３を実行した利用者端末Ｔ１の表示装置のデバイスファイル名が取得され、一時ファイル"/tmp/ttyfile "に保存される（ステップＳ２５）。
【００２８】
ステップＳ２６において、第２プロセスから第３プロセスへデータの表示する処理要求が送信される。このとき、第２プロセスは、ＵＮＩＸ（登録商標）に用意されたシステムコール"msgsnd()"を利用して、識別子ｑｉｄ２により指定される上記の所定のメッセージ・キューを介して、一時ファイル"/tmp/ttyfile"に記憶された利用者端末Ｔ１のデバイスファイル名を第３プロセスに送信する。
【００２９】
ステップＳ２７では、ステップＳ２６において要求されたデータを取得するコマンドが第３プロセスによって実行される。
ステップＳ２８では、第３プロセスにて、システムコール"msgrcv ()"を利用して受信したデバイスファイル名に対して、システムコール"open()"によりアクセスしてファイル記述子を取得する。そしてシステムコール"write()"を用いて、このファイル記述子に対して、ステップＳ２７で得られたデータを転送することにより、ステップＳ２７で得られたデータが利用者端末Ｔ１の表示装置に出力される。
なお、図６に示す本例のシーケンスにおいても、図５に示すシーケンスと同様に利用者端末Ｔ１に加えてコンソール端末ＣＴにデータを出力してもよい。
【００３０】
以上、本発明を特にその好ましい実施の形態を参照して詳細に説明したが、本発明の容易な理解のために、本発明の具体的な形態を以下に付記する。
【００３１】
（付記１）
オペレーティングシステムとしてＵＮＩＸ（登録商標）が動作するコンピュータにより実行され第１プロセスを生成するコンピュータプログラムであって、該第１プロセスは、
利用者端末として接続された端末の表示画面のデバイスファイル名を、前記端末によって起動され前記コンピュータ上で動作する第２プロセスから受信する受信処理と、
前記デバイスファイル名によって指定された表示画面にデータを出力する出力処理と、
を前記コンピュータに実行させることを特徴とするコンピュータプログラム。
【００３２】
（付記２）
付記１に記載のコンピュータプログラムにより生成される前記第１プロセスにデータの出力処理を依頼するべく、前記端末により前記コンピュータ上で起動され前記第２プロセスを生成するコンピュータプログラムであって、
該第２プロセスは、前記端末の表示画面のデバイスファイル名を、前記データの出力先として前記第１プロセスへ通知する通知処理を前記コンピュータに実行させることを特徴とするコンピュータプログラム。
【００３３】
（付記３）
付記１に記載のコンピュータプログラムを格納する記憶手段と、
ＵＮＩＸ（登録商標）及び前記コンピュータプログラムを実行するプロセッサを備えることを特徴とするコンピュータ。
【００３４】
（付記４）
付記２に記載のコンピュータプログラムを前記記憶手段にさらに格納し、該コンピュータプログラムを利用者端末により起動できるように構成したことを特徴とする付記３に記載のコンピュータ。
【００３５】
（付記５）
前記第１プロセスが前記オペレーティングシステムにより起動されるように構成されることを特徴とする付記３又は４に記載のコンピュータ。
【００３６】
（付記６）
オペレーティングシステムとしてＵＮＩＸ（登録商標）が動作するコンピュータに利用者端末として接続された端末の表示画面にデータを出力するデータ出力方法であって、
第１プロセスと、前記端末によって起動される第２プロセスとを実行する前記コンピュータに、
前記第２プロセスから送信される前記端末の表示画面のデバイスファイル名を前記第１プロセスにおいて受信する受信処理と、
前記デバイスファイル名によって指定された表示画面にデータを第１プロセスにおいて出力する出力処理と、
を実行させることを特徴とするデータ出力方法。
【００３７】
（付記７）
前記出力処理は、前記コンピュータの標準出力として指定される表示画面にも前記データを出力することを特徴とする付記６に記載のデータ出力方法。
【００３８】
（付記８）
前記デバイスファイル名を前記データの出力先として前記第１プロセスへ通知する通知処理を、前記第２プロセスにおいて前記コンピュータに実行させることを特徴とする付記６または７に記載のデータ出力方法。
【産業上の利用可能性】
【００３９】
本発明は、オペレーティングシステムとしてＵＮＩＸ（登録商標）が動作するコンピュータ装置や、このようなコンピュータ装置上で実行されるコンピュータプログラムに利用可能である。
【図面の簡単な説明】
【００４０】
【図１】ＵＮＩＸ（登録商標）システムの構成例を示す図である。
【図２】データを表示装置へ出力する従来のデータ出力方法を示すシーケンス図である。
【図３】本発明の実施例によるコンピュータの概略構成図である。
【図４】本発明によりデータを表示装置へ出力するデータ出力方法の第１実施例を示すシーケンス図である。
【図５】本発明によりデータを表示装置へ出力するデータ出力方法の第２実施例を示すシーケンス図である。
【図６】本発明によりデータを表示装置へ出力するデータ出力方法の第３実施例を示すシーケンス図である。
【符号の説明】
【００４１】
１    ＵＮＩＸ（登録商標）システム
１０    コンピュータ
ＣＴ    コンソール端末
ＮＴ    ネットワーク
Ｔ１、Ｔ２    利用者端末
【図１】
2009175801.tif 000003
【図２】
2009175801.tif 000004
【図３】
2009175801.tif 000005
【図４】
2009175801.tif 000006
【図５】
2009175801.tif 000007
【図６】
2009175801.tif 000008