JPH0378034A - プログラム並行実行装置 - Google Patents

プログラム並行実行装置

Info

Publication number
JPH0378034A
JPH0378034A JP21466789A JP21466789A JPH0378034A JP H0378034 A JPH0378034 A JP H0378034A JP 21466789 A JP21466789 A JP 21466789A JP 21466789 A JP21466789 A JP 21466789A JP H0378034 A JPH0378034 A JP H0378034A
Authority
JP
Japan
Prior art keywords
task
program
executed
stack
control table
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
JP21466789A
Other languages
English (en)
Inventor
Yoshinori Takahashi
義則 高橋
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP21466789A priority Critical patent/JPH0378034A/ja
Publication of JPH0378034A publication Critical patent/JPH0378034A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】
[発明の技術分野J この発明は一般的にシングルタスクO3(オペレーティ
ングシステム)といわれているプログラムのもとで実行
するコンピュータ装置にお1)で、するものである、ま
た、本方式によるマルチタスクO8の構築に関するもの
である。 [発明の背景] 現在シングルタスクO8が広汎に使用されているが、そ
こで作成されるプログラムはその名の通り、直列に実行
されるものである。また、見かけは並列であるが一方は
他方が終了するまで実行できないものである。さらに、
本O8を用いて並行的に動作させるものもあるが、ジョ
ブ単位での切り替わりであり、限定されたイベントしか
取り扱えない、これらは何れも、本発明のようにリアル
タイムモニタの思想を組み込み、全イベントを有機的に
組み合わせ並行に、かつ効率よくプログラムを動作させ
るものではない。 また、本発明より動車的なリアルタイム性を備えたモニ
タプログラムは数多くあるが独自の環境下に入るなど、
リアルタイム性をそれほど必要としないプログラム開発
には使いにくいものである。 [発明の目的] それ故、この発明の目的は、ユーザの使いなれたシング
ルタスクOSコンピュータ装置内で、それほどリアルタ
イム性を必要としないが並行動作をさせたいときに、簡
単に並行処理−マルチタスク処理−を構成できる装置を
提供することにある。 [発明の構成および効果] 本発明は従来のリアルタイム型モニタの基本機能−プロ
グラムの中断、イベントの検出、タスクスケジュール、
プログラムの実行再開など−を有しているが、そのイベ
ントの検出をシングルタスクO8下でも可能なように走
査ループとしたものである。 実行中のプログラムの中断は、本モニタに関する部分に
ついてはタスクからの要求にもとづいて行われ、そのタ
スクの状態、つまりレジスターをそのタスクの専用エリ
アに退避することにより行われる。再開はそのタスクの
専用エリアのデータを復元することにより行う、タスク
の最初の実行開始はタスクの開始点を中断点とみなして
行うのが簡単である。イベントの検出はデータが入力さ
れたか、又出力されたかなど、各イベントに対応した調
査を全イベントについて走査ループで調べて、タスクが
次の処理を再開するための条件が発生していれば、その
タスクを実行可能状態とする。 タスクスケジュールはタスクの管理テーブルを調べて、
実行可能であるタスクを選択する。実行可能のタスクが
いくつかある時は通常優先レベルの高いものを選択する
。 また、あるタスクの処理が長くなる場合はタスクからの
要求により、あるいはある一定時間の処理をした後に、
本タスクの実行を中断して、池の優先度の高いタスクの
処理を行わせることが出来る。 さらに、緊急を要するときは従来のリアルタイム方式、
つまり、割り込み発生でイベントを検出して、割り込み
処理で問題となる資源の排他制御を行った後に、処理が
可能であれば、その割り込み処理を行うことによりリア
ルタイムでの応答も可能となる。なお、排他制御を必要
としないときは、リアルタイム方式と同様に直ちに応答
が出来る。 また、これにプログラムのローディング機能とジョブス
ケジュール機能を付加すればマルチジョブ・マルチタス
クのシステムが構成できる。 効果としては (1)  簡単にシングルタスクO8下で並行処理が構
築できる。並行処理により効率のよいプログラムとなる
。また、並行処理でないと使いものにならないときもあ
る。 (2) 通常の割り込み処理はシングルタスクO8が管
理しているので並行処理にともなうプログラムバグが発
生しにくい。 (3) 使いなれたO5環境下なので、プログラム開発
の向上がはかれる。
【実施例の説明】
この発明の一実施例を図面に基づいて説明する。 説明は、まず第3図、4図のデータから行い、その後第
1図、2図のプログラムについて行う、ここでは、並行
処理を行うプログラムをすべてタスクと記述している。 第3図はタスク管理テーブルであり、1つのタスクにつ
いてタスクステータス13とスタックポインタ14及び
その他各種データ15があり、タスク単位に用意されて
いる。ここではn個のタスクがあるものとする。なお本
チーグルは優先レベルの高いものから順番に並べられて
いる。タスクステータス13はタスクの実行の可否の状
態を記憶している。′0′は実行不可をあられし、′1
′は実行可とする。スタックポインタ14はタスクの中
断が発生したとき、レジスタ値をスタックにしまいこん
だ後のスタックポインタの値を保存したものである。そ
の池各種データ15はタスクがタイムアツプ侍で中断し
たときのタイムカウント値、入出力完了待の時の入出カ
イベントとタスクの対応データやタスクの実行経過時間
などがある。 第4図はスタックであり、各タスクに個別に割り当てら
れている0個数はタスク数と同様にn個である。なおこ
の図ではスタックの成長方向は上方としてしする。既使
用エリア18は中断が発生する直前までタスクで使用さ
れていたエリアである。 レジスタ退避エリア17は中断が発生したときに同タス
クのスタックポインタを除く全レジスタを退避するエリ
アである。未使用エリア16は、スタックの残りの未使
用エリアである。 第1図と第2図はプログラムのフローチャートである。 第1図の処理1.2は次に実行すべきタスクを選択する
部分である。ここでは、タスク管理テーブルのタスク1
からタスクnまで順にタスクステータスを調べて、実行
可であれば処理8へ分岐する。すべて実行不可であれば
処理3へ移る。 処理3〜7がイベントを走査により検出して対応するイ
ベントの処理を行う部分である。イベント数はm個ある
ものとする。イベント1(1≦1≦m)に対して、イベ
ント1の発生処理ではタスクj(1≦j≦n)を実行可
とする処理を含んでいる。実行可とはすなわち該当タス
クのタスク管理テーブルのタスクステータス1を′1′
にすることである。タスクjの選択は明示的に行うこと
もできるし、中断処理11で間接的に示されることもあ
る。この情報はその他各種データ15に記憶されている
。処理7は、イベントの発生処理でタスクを実行可とし
た場合は処理1へ分岐し、そうでないときは再び走査を
行うために処理3へ分岐するための判断を行う部分であ
る。処理8はタスクの中断点からの再開部分である。実
行に移すタスクのタスク管理テーブルのスタックポイン
タ値をスタックポインタレジスタに復旧した後、スタッ
クエリアから他のレジスタをプログラムカウンタを最後
にして復旧する。この時点でタスクの実行が再開される
。 第2図は中断をした時のフローチャートである。 処理9ではスタックポインタを除く全レジスタをスタッ
クエリアに退避する。再開にあわせて、プログラムカウ
ンタを最初に退避しておく。処理10ではこの時点のス
タックポインタレジスタをタスク管理テーブルの対応す
るタスクのスタックポインタ2へ退避する。処理11の
中断処理はタスクからの要求によりさまざまであるが、
時間待ち、入出力待ちや他のタスクの起動などがある。 このとき、該当タスクがイベント待になるときは、対応
するタスク管理テーブルのタスクステータス1を′o′
にする。そして、必要なデータをその池各種データ3に
セットする。この後、処理12により、第1図の処理を
行うことになる。
【図面の簡単な説明】 第1図は実行可能タスクの選択、イベントを検出するた
めの走査部及び実行の再開部分のフローチャートである
。 第2図は中断するときのフローチャートである。 第3図はタスク管理テーブルである。 第4図はスタックエリアの構成を示したものである。 「

Claims (1)

  1. 【特許請求の範囲】 コンピュータ装置において、 実行中のプログラムを中断する手段、 コンピュータ装置の内部または外部から自動的または手
    動により発生するイベントを走査により検出する手段、 検出したイベントから、対応するプログラムを実行可能
    とする手段、 次に実行すべきプログラムを選択する手段、中断したプ
    ログラムの中断点からの実行再開手段とを備えて、プロ
    グラムの並行実行を行うことを特徴とするプログラム並
    行実行装置。
JP21466789A 1989-08-21 1989-08-21 プログラム並行実行装置 Pending JPH0378034A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21466789A JPH0378034A (ja) 1989-08-21 1989-08-21 プログラム並行実行装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21466789A JPH0378034A (ja) 1989-08-21 1989-08-21 プログラム並行実行装置

Publications (1)

Publication Number Publication Date
JPH0378034A true JPH0378034A (ja) 1991-04-03

Family

ID=16659574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21466789A Pending JPH0378034A (ja) 1989-08-21 1989-08-21 プログラム並行実行装置

Country Status (1)

Country Link
JP (1) JPH0378034A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968552B2 (en) 2000-12-20 2005-11-22 Denso Corporation Processor unit for executing event process in real time in response to occurrence of event
JP2006155225A (ja) * 2004-11-29 2006-06-15 Kyocera Corp 携帯電話端末及びタスク管理方法並びにそのコンピュータプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968552B2 (en) 2000-12-20 2005-11-22 Denso Corporation Processor unit for executing event process in real time in response to occurrence of event
JP2006155225A (ja) * 2004-11-29 2006-06-15 Kyocera Corp 携帯電話端末及びタスク管理方法並びにそのコンピュータプログラム

Similar Documents

Publication Publication Date Title
US6330583B1 (en) Computer network of interactive multitasking computers for parallel processing of network subtasks concurrently with local tasks
EP2431876B1 (en) Method and device for exception handling in embedded system
EP1031924B1 (en) Computer executing multiple operating system
KR950009688B1 (ko) 배터리 동작형 컴퓨터 및 그의 초기화 방법
US5257372A (en) Methods for efficient distribution of parallel tasks to slave processes in a multiprocessing system
US20010034751A1 (en) Real-time OS simulator
US6324684B1 (en) Processor having real-time execution control for debug functions without a debug monitor
US4660144A (en) Adjunct machine
JP2561801B2 (ja) プロセス・スケジューリングの管理方法およびシステム
JP5678347B2 (ja) Itシステムの構成方法、そのコンピュータプログラムおよびitシステム
JPH0378034A (ja) プログラム並行実行装置
US20100107169A1 (en) Periodical task execution apparatus, periodical task execution method, and storage medium
JPH11184828A (ja) マルチプロセッサシステムのテスト方式
JPH064318A (ja) エラー検出方式
JP2008204013A (ja) スレッド動作異常検知方法、マルチスレッドシステム
JP7665495B2 (ja) プロセススケジュール方法
JPH04314141A (ja) マルチタスク制御方法とその機構
JPH06149615A (ja) イベント記録方式
KR100455623B1 (ko) 멀티태스킹 운영체계에서 무한 루프 타스크 처리 방법
JP3075359B2 (ja) プログラムデバッグ開始処理方式
TW202546636A (zh) 超執行緒處於不同狀態下之運行信息收集系統及方法
CN121704967A (zh) 一种中断处理方法及其装置
JPS62113238A (ja) 電子計算機システムにおけるプログラム修正装置
JP2012043148A (ja) 監視装置及び監視プログラム
JPH0589049A (ja) コマンド実行装置