JPH04184632A - ウインドウシステムにおける非同期イベント処理方法 - Google Patents

ウインドウシステムにおける非同期イベント処理方法

Info

Publication number
JPH04184632A
JPH04184632A JP31523090A JP31523090A JPH04184632A JP H04184632 A JPH04184632 A JP H04184632A JP 31523090 A JP31523090 A JP 31523090A JP 31523090 A JP31523090 A JP 31523090A JP H04184632 A JPH04184632 A JP H04184632A
Authority
JP
Japan
Prior art keywords
lisp
event loop
processing system
processing
processes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP31523090A
Other languages
English (en)
Inventor
Takashi Furusaka
孝史 古坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CSK Corp
Original Assignee
CSK Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CSK Corp filed Critical CSK Corp
Priority to JP31523090A priority Critical patent/JPH04184632A/ja
Publication of JPH04184632A publication Critical patent/JPH04184632A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、汎用ワークステーション上に構築したシング
ルタスクのリスプ処理系で利用するウィンドウシステム
の非同期イベント処理方法に関する。
[従来の技術及び解決しようとする課題]従来、リスプ
言語を用いた処理系(リスプ処理系)の動作は、主にリ
スプ専用機上で行われており、リスプ言語をベースとし
たウィンドウシス誉ムも同様にリスプ専用機上で利用さ
れていた。
一方、近年のコンピュータ技術の進歩に伴い、CPUの
性能が向上し、汎用ワークステーションにおいても十分
高速なリスプ処理系を実現できるようになってきた。そ
こで、汎用ワークステーション上に構築されたリスプ処
理系で利用するウィンドウシステムを実現する必要が生
じた。
ところで、ウィンドウシステムの入力はイベントループ
を利用したイベント駆動型によるのが一般的である。こ
こでイベントループとは、入力の監視と入力に対するユ
ーザ定義の関数の起動を行う処理をまとめて、かつそれ
らを繰返す処理である。
また、リスプ処理系はユーザとの会話性を確保するため
トップレベルループを有している。ここでトップレベル
ループとは、ユーザが入力するリスプオブジェクトを読
込んで評価し、出力する処理である。
したがって、リスプ処理系で利用するウィンドウシステ
ムを実現するには、上述のイベントループとトップレベ
ルループの両方を同時に実行する必要がある。これは、
マルチタスクのリスプ処理系では容易に実現できる。し
かし、シングルタスクのリスプ処理系では、複数の処理
を同時に実行できないこと、及び割込み処理の困難性の
ため、ウィンドウシステムの実現は極めて困難であった
本発明は、上記従来の課題を解決し、シングルタスクの
リスプ処理系で利用できるウィンドウシステムの実現を
容易にするものである。
[課題を解決するための手段] 上記の目的を達成するため本発明は、汎用ワークステー
ション上に構築したシングルタスクのリスプ処理系で利
用するウィンドウシステムの非同期イベント処理方法に
おいて、上記汎用ワークステーションのオペレーティン
グシステム上に、リスプ処理系を実行するプロセスと、
イベントループを持つプロセスとを別個に設け、かつ上
記両プロセスをプロセス間通信で結合してなり、上記リ
スプ処理系を実行するプロセスと上記イベントループを
持つプロセスとの間でなされる割込み処理に応じて、上
記両プロセス間の同期をとり、上記リスプ処理系を実行
するプロセスより割込みデータの要求信号を送出し、該
要求信号を入力した場合に上記イベントループを持つプ
ロセスが割込みデータを送出することを特徴とする。
さらに好ましくは、リスプ処理系を実行するプロセスと
イベントループを持つプロセスとの間の同期を間欠的に
とることを特徴とする。
r実施例〕 以下、本発明の実施例について図面を参照して説明する
第1図は本発明の一実施例に係るウィンドウシステムを
示すブロック図である。
本実施例は、図示のようにオペレーティングシステム1
上に、リスププロセス(リスプ処理系を実行するプロセ
ス)2とイベントループプロセス3とを別個に構築して
なる。リスププロセス2とイベントループプロセス3の
間はプロセス間通信用デバイス4で連結されている。
上記リスププロセス2には、単純コマンド(「ウィンド
ウを作れjやr線を描け」というようなイベントループ
プロセス3からの処理結果の送信を必要としないコマン
ド)を発行した回数を計数するカウンタ21を設けであ
る。一方、上記イベントループプロセス3には単純コマ
ンドを受信した回数を計数するカウンタ31を設けであ
る。
カウンタ21が予め設定した設定値に達するとリスププ
ロセス2はダーミーの結果待ちとなる。
また、カウンタ31が上記設定値に達すると、イベント
ループプロセス3はダーミーの結果を送信する。これに
より、リスププロセス2とイベントループプロセス3と
は、カウンタ21,31が設定値に達する度に同期をと
ることとなる。カウンタ21,31が設定値に達したと
き、及び要求コマンド(イベントループプロセス3から
の処理結果の送信を必要とするコマンド)が発行された
ときは、カウンタ21,31をリセットする。
なお、リスププロセス2が単純コマンドを発行する度に
、イベントループプロセス3との間で同期をとるように
しても良いが、実行性能が悪くなるのを防ぐため単純コ
マンドを数回発行する毎に同期をとる(間欠同期)こと
が好ましい。
次に第2図に基づいて本実施例における割込み処理につ
いて説明する。
第2図(a)及び(blはイベントループプロセス3を
示し、第2図(C)はリスププロセス2を示す。
イベントループプロセス3は、初期設定の後(ステップ
S1)、リスププロセス2への割込みを可としてカウン
タ31をOにセットする(ステップS2)。そして、イ
ベントループ終了まで入力の監視を行う(ステップS3
.S4)、入力はキーボードからの入力、マウスからの
入力、プロセス間通信用デバイス4からの入力の3種類
がある。
マウスからの入力があったときは(ステップS5)、リ
スププロセス2が割込み可であれば割込み信号を送信し
てリスププロセス2への割込みを不可とする(ステップ
S6.S7)、リスププロセス2が割込み不可であれば
送信データをバックアップメモリに格納してカウンタ3
1を+1としくステップS8.S9) 、ステップs3
に戻る。
プロセス間通信用デバイス4からの入力があったときは
(ステップ5IO)、その入力が割込みデータの要求か
否か判断しくステップ511)、割込みデータの要求で
ないときはリスププロセス2が割込み可であれば割込み
信号を送信する(ステップS12,513)、リスププ
ロセス2が割込み不可であれば他のコマンド処理を行う
(ステップ514)。
入力が割込みデータの要求であるときはバッファメモリ
から送信データを取出してリスププロセス2へ送出し、
カウンタ31を−1とする(ステップ515)。この後
、カウンタ31がOでないときはそのまま、Oであると
きはリスププロセス2への割込みを可としてステップS
3に戻る(ステップS16,517)。
キーボードからの入力があったときは(ステップ518
)、キーボード処理を行った後ステップS3へ戻る(ス
テップ519)。
次に、リスププロセス2の動作について説明する。
リスププロセス2は、上記ステップ$7あるいはステッ
プS8で送信した割込み信号を受信して起動すると、ま
ず割込みブロックを設定する(ステップ520)。そし
て、「割込みデータ要求」をコマンドとしてプロセス間
通信用デバイス4よりイベントループプロセス3へ送出
しくステップS21) 、上記ステップS15で送られ
るデータの入力待ちとなる(ステップ522)。
データの入力があった後は、割込みブロックを解除して
(ステップ523)、「割込み信号送信可」をコマンド
としてイベントループプロセス3へ送出する(ステップ
524)。
この後ユーザ定義の関数を起動する(ステップ525)
以上の処理により、本実施例においてループ処理を必要
としない割込み処理が可能となる。
[発明の効果] 以上説明したように本発明は、オペレーティングシステ
ム上にリスプ処理系を実行するプロセスとイベントルー
プを持つプロセスとを別個に設け、各プロセス間で同期
をとると共に割込み処理を行うこととしたため、シング
ルタスクのリスプ処理系において疑似的にマルチタスク
機能を実現し、ウィンドウシステムを構築して利用する
ことができるという効果がある。
また、第2項の発明は、リスプ処理系を実行するプロセ
スとイベントループを持つプロセスとの間の同期を間欠
的にとることにより、実行性能を損なうことなくウィン
ドウシステムを利用することができる。
【図面の簡単な説明】
第1図は本発明の一実施例に係るウィンドウシステムを
示すブロック図。 第2図は第1図のウィンドウシステムによる割込み処理
を説明するフローチャートである。 1:オペレーティングシステム 2:リスププロセス 3:イベントループプロセス 出願人 株式会社 シーニスケイ 第1図 第2図 ((+)

Claims (2)

    【特許請求の範囲】
  1. (1)汎用ワークステーション上に構築したシングルタ
    スクのリスプ処理系で利用するウィンドウシステムの非
    同期イベント処理方法において、 上記汎用ワークステーションのオペレーティングシステ
    ム上に、リスプ処理系を実行するプロセスと、イベント
    ループを持つプロセスとを別個に設け、かつ上記両プロ
    セスをプロセス間通信で結合してなり、 上記リスプ処理系を実行するプロセスと上記イベントル
    ープを持つプロセスとの間でなされる割込み処理に応じ
    て、上記両プロセス間の同期をとり、 上記リスプ処理系を実行するプロセスより割込みデータ
    の要求信号を送出し、該要求信号を入力した場合に上記
    イベントループを持つプロセスが割込みデータを送出す
    ることを特徴とするウィンドウシステムにおける非同期
    イベント処理方法。
  2. (2)リスプ処理系を実行するプロセスとイベントルー
    プを持つプロセスとの間の同期を間欠的にとることを特
    徴とする請求項第1項に記載のウィンドウシステムにお
    ける非同期イベント処理方法。
JP31523090A 1990-11-20 1990-11-20 ウインドウシステムにおける非同期イベント処理方法 Pending JPH04184632A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31523090A JPH04184632A (ja) 1990-11-20 1990-11-20 ウインドウシステムにおける非同期イベント処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31523090A JPH04184632A (ja) 1990-11-20 1990-11-20 ウインドウシステムにおける非同期イベント処理方法

Publications (1)

Publication Number Publication Date
JPH04184632A true JPH04184632A (ja) 1992-07-01

Family

ID=18062958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31523090A Pending JPH04184632A (ja) 1990-11-20 1990-11-20 ウインドウシステムにおける非同期イベント処理方法

Country Status (1)

Country Link
JP (1) JPH04184632A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06162120A (ja) * 1992-11-25 1994-06-10 Hitachi Ltd 手書き電子カルテシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06162120A (ja) * 1992-11-25 1994-06-10 Hitachi Ltd 手書き電子カルテシステム

Similar Documents

Publication Publication Date Title
US5371746A (en) Program debugging system for a distributed data processing system
JPH0581082A (ja) 同期ジヤーナリングシステム
KR100208497B1 (ko) 윈도우 시스템 환경에서 시간임계처리의 운영방법
JP2008529112A (ja) アプリケーション・プロセス実行の範囲内での非決定論的オペレーションを管理、ロギング、またはリプレイするための予測方法
JPH04184632A (ja) ウインドウシステムにおける非同期イベント処理方法
Cai et al. An approach to the run-time monitoring of parallel programs
Hao et al. VIZIR: an integrated environment for distributed program visualization
KR960014980B1 (ko) 랜(lan) 감시장치 및 통신절차 감시방법
JPH0743683B2 (ja) プロトコルマシン
JP3207564B2 (ja) イベント記録方法及び装置
Zhu et al. The upgrade to the EAST poloidal field power supply monitoring system
Witschorik The real‐time debugging monitor for the bell system 1A processor
EP3633471B1 (en) Program development support device, program development support system, program development support method, and program development support program
JPH04128943A (ja) データ処理装置及びその作動方法
Limniotes et al. Real-time coordination in distributed multimedia systems
Carpenter et al. Analysis and protection of interprocess communications in real-time systems
Sztrik et al. A Tool for Simulation of Markov Modulated Finite-Source Queueing Systems.
JPH0318958A (ja) マルチプロセッサシステム
Toda et al. A parallel processing simulator for a network system using multimicroprocessors
Glover et al. Parallel Discrete Event Simulation of Production Lines using Local Operating Networks (LONS)
JPH03267839A (ja) ネットワークタイマーの処理方式
Atkins et al. Experiences with coroutines in BCPL
JPS62194552A (ja) 中央処理装置のタスク同期方式
JPS63254528A (ja) デ−タ転送方式
JPS6371735A (ja) マルチタスクオペレ−テイングシステム