JP2000250777A - 情報処理装置と情報処理方法、及び記憶媒体 - Google Patents

情報処理装置と情報処理方法、及び記憶媒体

Info

Publication number
JP2000250777A
JP2000250777A JP11048157A JP4815799A JP2000250777A JP 2000250777 A JP2000250777 A JP 2000250777A JP 11048157 A JP11048157 A JP 11048157A JP 4815799 A JP4815799 A JP 4815799A JP 2000250777 A JP2000250777 A JP 2000250777A
Authority
JP
Japan
Prior art keywords
task
thread
information
execution
information processing
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
JP11048157A
Other languages
English (en)
Inventor
Shigeo Suzuki
茂夫 鈴木
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP11048157A priority Critical patent/JP2000250777A/ja
Publication of JP2000250777A publication Critical patent/JP2000250777A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 ICE等の高価な装置を要することなくソフ
トウエアのデバッグを行うことができ、また実機の完成
に先行してソフトウエアの開発やデバッグを行うことが
できるようにした。 【解決手段】 プログラムを単一プロセス内で該プログ
ラムの実行単位である複数のスレッドに分割して複数の
タスクを同時処理する汎用OS8と、ワークステーショ
ン本体に組込んで該ワークステーション本体の動作を実
時間的に管理する組込みOS12と、該組込みOS12
を汎用OS8に呼び出すAPI(Application Programm
ing Interface)10と、該API10を介して前記組
込みOS12が管理する複数のタスクを汎用OS8上で
シミュレートするシミュレート手段9とを備えている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は情報処理装置と情報
処理方法、及び記憶媒体に関し、より詳しくは実時間処
理用の組込みオペレーション・システム(組込み用リア
ルタイムOS;以下、単に「組込みOS」という)を使
用してソフトウエアの開発やデバッグを行う情報処理装
置と情報処理方法、及びソフトウエアの開発やデバッグ
の実行手順が記憶されたコンピュータ読取可能な記憶媒
体に関する。
【0002】
【従来の技術】組込みOSを使用して構築した情報処理
システムのデバッグは、従来より、実際にソフトウエア
が組み込まれる実機を使用し、ICE(Incircuit Emul
ator)やロジックアナライザなどの装置を利用して行な
っている。
【0003】また、複数のタスクを同時に実行処理する
マルチタスクシステムにおいては、従来より、タスク制
御ブロック(Task Control Block;以下、「TCB」と
いう)と呼ばれる構造体により、複数のタスクが夫々管
理されている。
【0004】図8は、この種TCBの管理構造図であっ
て、該TCBは、レディー(Ready)キューなどにリン
クするためのリンク領域51、タスク優先順位を格納す
る優先順位格納領域52、タスクの識別情報を格納する
タスクID格納領域53、タスクの状態を格納するタス
ク状態格納領域54、タスクが使用するスタックの位置
を格納するスタック位置格納領域55、及びタスクのコ
ンテキスト情報を格納するコンテキスト情報格納領域5
6から構成されている。また、タスクのコンテキスト情
報はCPUの動作環境に依存した情報であって、主にC
PUのレジスタ(プログラムカウンタ、ステータスレジ
スタ、汎用レジスタ等)で構成される。
【0005】そして、上記マルチタスクシステムにおい
て、第1のタスクから第2のタスクに円滑にタスク切替
を行うためのタスクのコンテキストスイッチ(タスクス
イッチ)は、図9のように行なわれている。すなわち、
例えば、第1のタスクが組込みOSのスケジューリング
機構によりCPU57が割り当てられ動作中である場合
に第1のタスクから第2のタスクに対しタスクスイッチ
が生じると、まず、図9(a)に示すように、現在まで
に記憶されているCPU57のレジスタの内容を第1の
タスクのTCB58のコンテキスト情報格納領域58a
に退避させ、次いで、図9(b)に示すように、タスク
スイッチ先である第2のタスクのTCB59のコンテキ
スト情報格納領域59bに格納されているレジスタ値を
CPU57にロードする。そしてこれにより、第1のタ
スクのプログラムを実行していたCPU57は、コンテ
キストスイッチして第2のタスクのプログラム実行を開
始する。
【0006】
【発明が解決しようとする課題】しかしながら、上記従
来技術においては、組込みシステムのデバッグを行う場
合、上述したようにICEやロジックアナライザ等の装
置を使用して行っているが、これらの装置は高価である
ため、数多く導入することは経済的負担が大きく、ま
た、実機が完成してからでないとソフトウエアのデバッ
グを行なうことができないという問題点があつた。
【0007】また、上記従来技術においては、組込みO
S上で動作する組込みシステムソフトウエア(以下、
「組込みシステムソフト」という)のデバッグだけでな
く、組込みOS自身の開発、拡張、デバッグを行なう場
合においても実機が必要となるため、実機の完成に先行
してソフトウエアの開発を効率良く行うことができない
という問題点があつた。
【0008】本発明はかかる問題に鑑みてなされたもの
であり、ICE等の高価な装置を要することなくソフト
ウエアのデバッグを行うことができ、また実機の完成に
先行してソフトウエアの開発やデバッグを行うことがで
きる情報処理装置と情報処理方法、及び記憶媒体を提供
することを日的とする。
【0009】
【課題を解決するための手段】上記目的を達成するため
に本発明に係る情報処理装置は、プログラムを単一プロ
セス内で該プログラムの実行単位である複数のスレッド
に分割して複数のタスクを同時処理するタスク処理手段
と、装置本体に組込んで該装置本体の動作を実時間的に
管理する管理手段と、該管理手段を前記タスク処理手段
に呼び出す第1のインターフェース手段と、該第1のイ
ンターフェース手段を介して前記管理手段が管理する複
数のタスクを記タスク処理手段上でシミュレートするシ
ミュレート手段とを備えていることを特徴としている。
【0010】また、本発明に係る情報処理方法は、プロ
グラムを単一プロセス内で該プログラムの実行単位であ
る複数のスレッドに分割して複数のタスクを同時処理す
るタスク処理手段と、装置本体に組込んで該装置本体の
動作を実時間的に管理する管理手段とを有し、前記管理
手段を前記タスク処理手段に呼び出して前記管理手段が
管理する複数のタスクを前記タスク処理手段上でシミュ
レートするシミュレート処理を実行することを特徴とし
ている。
【0011】また、本発明に係る記憶媒体は、コンピュ
ータ読取可能な記憶媒体であって、装置本体に組込まれ
て該装置本体の動作を実時間的に管理する管理手段をマ
ルチスレッド機能を有するタスク処理手段上でシミュレ
ートするシミュレート手順が記憶されていることを特徴
としている。
【0012】尚、本発明の他の特徴は下記の発明の実施
の形態の記載から明らかとなろう。
【0013】
【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて詳説する。
【0014】図1は本発明に係る情報処理装置の一実施
の形態としてのワークステーションの概略を示すブロッ
ク構成図であって、該ワークステーションは、キーボー
ド等の入力装置1及びCRT等の表示装置2がワークス
テーション本体3に接続されている。
【0015】また、ワークステーション本体3は、後述
する汎用OSと該汎用OS上でアプリケーション・ソフ
トウエアとして動作するシミュレーションソフトウエア
(以下、「シミュレータ」という)が保存された二次記
憶装置としてのハードディスク(HD)4と、前記HD
4から前記汎用OSを読み出すためのブートプログラム
が格納されたROM5と、前記シミュレータを実行する
CPU6と、前記汎用OSや前記シミュレータの実行時
にそのコードやデータを一時的に保存するRAM7とを
有し、これら各構成要素は内部バス30により互いに接
続されている。
【0016】図2は上記ワークステーション本体3上で
動作するソフトウエアを模式的に示したブロック構成図
であって、汎用OS8とシミュレータ9とからなる。す
なわち、該シミュレータ9は汎用OS8上の1個のアプ
リケーションプログラムであり、API(Application
Programming Interface)10を介して汎用OS8の機
能が利用可能とされている。
【0017】シミュレータ9は、組込みシステムソフト
11と、組込みOS12とで構成され、これらは静的に
リンクされて一つのプログラムとなる。そして、組込み
OS12は、API10を介して汎用OS8上で機能を
利用する。
【0018】また、組込みOS12は、動作環境に依存
しない環境非依存部13と、動作環境に依存する環境依
存部14と、環境非依存部13と環境依存部14との間
のインターフェース動作を司る関数コール等のインタフ
ェース(I/F)15とを備え、前記組込みシステムソ
フト11は組込みOS12上で動作する。
【0019】環境非依存部13は、組込みOS12の大
部分を占め、C言語等の高級言語で記述しておくことに
より、CPU6に依存することなく実機上でもシミュレ
ーション環境でも同一のプログラムを共有することがで
きる。したがって、環境依存部14を作成した後は、実
機や高価なICE等を使用しなくともシミュレーション
環境下で、環境非依存部13、すなわち組込みOS12
の大部分の開発、拡張、デバッグ、更には組込みシステ
ムソフト11の開発、デバッグを行なうことができる。
【0020】また、前記汎用OS8は、ソラリス(米サ
ン・マイクロシステムズ社製)、ウィンドウズNT(米
マイクロソフト社製)、マークOS(米カーネギー・メ
ロン大学)等、プログラムを単一のプロセス(アプリケ
ーション・ソフトウエア)内でスレッドと呼称される実
行単位に分割し該スレッドを並行実行するマルチスレッ
ド機能を備えている。すなわち、組込みOS12は、本
実施の形態では実機上で直接実現されるのではなく汎用
OS8上で実現されため、汎用OS8上の一つのプロセ
スであるシミュレータ9が、CPU6のレジスタ等のシ
ステム情報を直接アクセスすることは困難であり、また
たとえアクセスしてプログラムを作成することができた
としても、該プログラムは前記CPU6に依存する結果
となり、実機のハードウエアに依存することなくソフト
ウエアの開発を行うという本発明の目的を達成し得ない
こととなる。
【0021】そこで、このような観点から、本発明の実
施の形態では、マルチスレッド機能を有する汎用OS8
を使用すると共に、API10を介して複数のタスクを
実現し、さらにタスクのコンテキストスイッチを実現し
ている。
【0022】図3は、本実施の形態におけるTCBの管
理構造図であって、該TCBは、レディー(Ready)キ
ューなどにリンクするためのリンク領域16と、タスク
優先順位を格納する優先順位格納領域17と、タスクI
Dを格納するタスクID格納領域18と、タスクの状態
を格納するタスク状態格納領域19と、タスクが使用す
るスタックの位置を格納するスタック位置格納領域20
と、タスクのコンテキスト情報を格納するコンテキスト
情報格納領域24とから構成され、さらに前記コンテキ
スト情報格納領域24は、タスク毎に生成されるスレッ
ドを管理するスレッドID格納領域21と、スレッドの
実行・再開を指令するための汎用OS8のセマフォ情報
を管理するセマフォ情報格納領域22と、タスク生成に
伴い生成されたスレッドから呼び出されることになる最
初のユーザ関数、すなわちタスクのエントリポイントを
管理するエントリポイント格納領域23とを有してい
る。
【0023】したがって、上記TCBにおいては、動作
環境に依存しない環境非依存情報がリンク領域16、優
先順位格納領域17、タスクID格納領域18、タスク
状態格納領域19及びスタック位置格納領域20により
管理され、動作環境に依存する環境依存情報はコンテキ
スト情報格納領域24で管理されることとなる。
【0024】そして、タスクにおける各種情報は動的に
生成、削除されるのが一般的であり、環境非依存部13
から環境依存部14を呼び出すC言語インタフェースと
して、4種類の関数コール、すなわちコンテキストクリ
エイト(_context Create)、コンテキストディスパッ
チ(_context Dispatch)及びコンテキストスイッチ(_
context Switch)、及びコンテキストデリート(_conte
xt Delete)が設けられている。
【0025】関数コール「コンテキストクリエイト」
は、新たなタスクを生成するときに環境非依存部13か
ら呼び出される。
【0026】関数コール「コンテキストディスパッチ」
は、組込みOS12の初期化処理等、タスク処理以外の
動作環境からタスクの実行制御に移行する場合、又はタ
スク実行中であっても該実行中の自タスクを指定してタ
スクの削除処理を実行している場合に呼び出される。
尚、後者の場合に関数コール「コンテキストディスパッ
チ」を呼び出すのは、実行中の自タスクの削除処理によ
って当該自タスクが消滅してしまうためであり、したが
って、他のタスクに実行制御に移すべく、関数コール
「コンテキストディスパッチ」を呼び出すのである。
【0027】関数コール「コンテキストスイッチ」は、
スイッチ元のタスク(第1のタスク)からスイッチ先の
タスク(第2のタスク)にタスクスイッチを行うときに
環境非依存部13から呼び出される。
【0028】関数コール「コンテキストデリート」は、
自タスクではなく他タスクを指定して当該他タスクを削
除するときに呼び出される。
【0029】図4は新たなタスク生成を行うタスク生成
処理ルーチンのフローチャートであって、本プログラム
は、関数コール「コンテキストクリエイト」が環境非依
存部13から環境依存部14に対して呼び出されたとき
に実行される。
【0030】ステップS1では、関数コール「コンテキ
ストクリエイト」の引数で渡されるエントリポイント
を、別の引数で渡されるコンテキスト格納領域(pCo
n)24のエントリポイント格納部23に格納する。次
にステップS2で、前記コンテキスト格納領域(pCo
n)24のセマフォ格納部22のセマフォ値を「0」に
初期化する。
【0031】次に、ステップS3では、1個のタスクに
対して汎用OS8のスレッドを1個生成し、該スレッド
のスレッドIDを、コンテキスト格納領域(pCon)
24のスレッドID格納部21に格納する。また、スレ
ッド生成の際、スレッドのスタックは、コンテキストク
リエイトの別の引数で渡されるスタックのベースアドレ
ス(スタックベース)、スタックのサイズを指定する。
またスレッドのエントリポイントは、後述するスレッド
起動時のエントリ関数を指定する。また、起動されたス
レッドが呼び出す前記エントリ関数の引数として、コン
テキスト格納領域(pCon)24を指定する。
【0032】図5は、スレッドが起動した場合のスレッ
ド起動処理ルーチンのフローチャートである。
【0033】まず、ステップS11では、前記エントリ
関数の引数となるタスクのコンテキスト格納領域(pC
on)24のセマフォ格納部22に格納されているセマ
フォを使用し(WAIT)、自スレッドを待機状態にし
て実行を停止する。次に、ステップS12では他スレッ
ドがセマフォに対してPOSTを実行したか否かを判断
し、その答が否定(No)のときは当該スレッドは待機
状態から解放されず、実行が再開されない。尚、他スレ
ッドによるPOSTの実行は、後述するタスクのディス
バッチ処理、コンテキストスイッチ処理の際に行われ
る。
【0034】ステップS12の答が肯定(Yes)、す
なわち、他スレッドによりセマフォPOSTが実行され
るとステップS13に進んでスレッドは待機状態から解
放されてスレッドの実行を再開し、ステップS14に進
み、スレッド起動の引数であるタスクのコンテキスト格
納領域(pCon)24のエントリポイント格納部23
に格納されているユーザ関数を呼び出す。これにより、
スレッドはタスクのエントリポイント(ユーザ関数)に
ジャンプし、該ユーザ関数からタスクの実行を開始する
こととなる。
【0035】尚、一旦ユーザ関数が呼び出されると、そ
のスレッドはいつか必ず後述する関数コール「コンテキ
ストデリート」、又は関数コール「コンテキストディス
パッチ」により削除されてしまうため、該スレッドは当
該関数コールから戻ってくることはない。関数コール
「コンテキストデリート」は、他のスレッドからなるタ
スクにより指定されて削除される場合に呼び出され、関
数コール「コンテキストディスパッチ」は、自スレッド
からなるタスクが自らを指定して削除する場合に呼び出
され、タスクはこれら2つの場合で削除される。したが
ってタスクを構成するスレッドもこれら2種類の関数コ
ールで必ず削除され、該スレッドは斯かる関数コールか
ら戻ってくることはない。
【0036】図6はタスクディスパッチ処理の処理ルー
チンを示すフローチャートであって、本プログラムは、
環境非依存部13から環境依存部14に対して、関数コ
ール「コンテキストディスパッチ」が呼び出された場合
に実行される。
【0037】ステップS21では、関数コール「コンテ
キストディスパッチ」の引数で渡されるディスパッチ対
象のコンテキスト格納領域24のセマフォ格納部22に
格納されているセマフォを指定してPOSTを実行し、
待機状態となっているスレッドを待機状態から解放す
る。これにより、pNewで示されるタスクの実行再開
が可能となる。
【0038】そして、ステップS22では、不要となっ
た自スレッドを削除し処理を終了する。
【0039】図7はタスクスイッチ処理ルーチンのフロ
ーチャートであって、本プログラムは環境非依存部13
から環境依存部14に対し、関数コール「コンテキスト
スイッチ」が呼び出されたときに実行される。
【0040】ステップS31では、関数コール「コンテ
キストスイッチ」の引数で渡されるスイッチ先のコンテ
キスト格納領域(pNew)24のセマフォ格納部22
に格納されているセマフォを指定してPOSTを実行
し、待機状態となっているスレッドを待機状態から解放
する。これにより、pNewで示されるコンテキストを
有するタスクの実行再開が可能となる。
【0041】次にステップS32では、関数コール「コ
ンテキストスイッチ」の別の引数で渡されるスイッチ元
のコンテキスト、つまり現在実行中の自タスクのコンテ
キスト格納領域(pOld)24のセマフォ格納部22
に格納されているセマフォを使用し、自スレッドを待機
状態として実行を停止する(WAIT)。すなわち、ス
テップS31、ステップS32により、動作中のスレッ
ドが停止し、指定されたスイッチ先となるスレッドの実
行が再開され、これによりコンテキストスイッチが可能
となる。
【0042】そしてこの後、ステップS33で他スレッ
ドによりセマフォに対してPOSTが実行されたか否か
を判断し、その答が否定(No)のときは待機状態を維
持する一方、その答が肯定(Yes)になるとステップ
S34に進み、スレッドは待機状態から解放されてスレ
ッドの実行が再開され、処理が終了する。これにより、
当該スレッドからなるタスクをディスバッチ対象として
関数コール「コンテキストディスパッチ」が呼び出され
たか、または当該スレッドからなるタスクをタスクスイ
ッチ先として指定し、関数コール「コンテキストスイッ
チ」が呼び出されることとなる。
【0043】また、自タスクではなく他タスクを指定し
てタスクを削除する場合は、関数コール「コンテキスト
デリート」が呼び出されて実行される。本実施の形態で
は、シグナルハンドラの登録を予め行なっておき、関数
コール「コンテキストデリート」が呼び出されると、削
除対象となるタスクのスレッドに所定のシグナルを送
り、該所定のシグナルを受信したスレッドが、シグナル
ハンドラを介して自タスクを削除する。このように、本
実施の形態では、上記のシグナルの機構を利用して、自
タスクではなく他タスクを指定してタスクを削除する場
合の処理を実現している。すなわち、この場合、環境非
依存部13から環境依存部14に対し関数コール「コン
テキストデリート」が呼び出されるが、このときの処理
としては、関数コール「コンテキストデリート」の引数
で渡されるコンテキスト格納領域(pCon)24のス
レッドID格納部21に格納されているスレッドIDに
対し、所定のシグナルを送るだけでよいことになる。
【0044】以上のように環境依存部14を実現するこ
とで、汎用OS8上に組込みOS12を実現することが
可能となり、実機やICE等を必要とすることなく、シ
ミュレーション環境上で、環境非依存部13、すなわち
組込みOS12のほどんどの部分の開発、拡張、デバッ
グを行うことができ、また組込みシステムソフト11の
開発、デバッグを行なうことが可能となる。
【0045】さらに、本実施の形態によれば、特別なハ
ードウエアを要することなく上記処理を実行することが
できる。
【0046】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウエアのプログラムコードを記
録した記憶媒体を、システムや装置に供給し、当該シス
テムあるいは装置のコンピュータ(またがCPUやMP
U)が記憶媒体に格納されたプログラムコードを読み出
し実行することによっても達成される。この場合、記憶
媒体から読み出されたプログラムコード自体が上記機能
を実現することとなる。
【0047】尚、プログラムコードを供給するための記
憶媒体としては、例えば、フロッピディスク、ハードデ
ィスク、光デイスク、光磁気デイスク、CD−ROM、
CD−R、磁気テープ、不揮発性のメモリカード、RO
Mなどを用いることができる。
【0048】
【発明の効果】以上詳述したように本発明によれば、実
機の完成に先行して、任意の情報処理装置上で組込みO
S自身、および組込みシステムソフトも含めた全体のソ
フトウエアの開発、デバッグを行なうことが可能とな
る。
【0049】また、上記シミュレーション環境をマルチ
スレッド機能を有するタスク処理手段のAPIを利用し
て実現することにより、情報処理装置のハードウエア資
源に依存することなく、ソフトウエアの開発、デバッグ
を効率良く行うことができる。
【図面の簡単な説明】
【図1】本発明に係る情報処理装置としてのワークステ
ーションのブロック構成図である。
【図2】ワークステーション本体上で動作するソフトウ
エアを模式的に示したブロック構成図である。
【図3】TCBの構造図である。
【図4】タスク生成処理ルーチンのフローチャートであ
る。
【図5】スレッド起動処理ルーチンのフローチャートで
ある。
【図6】タスクディスパッチ処理ルーチンのフローチャ
ートである。
【図7】タスクスイッチ処理ルーチンのフローチャート
である。
【図8】従来のTCBの構造図である。
【図9】タスクのコンテキストスイッチの従来例を示す
動作図である。
【符号の説明】
3 ワークステーション本体(装置本体) 8 汎用OS(タスク処理手段) 9 シミュレータ(シミュレート手段) 10 API(第1のインターフェース手段) 12 組込みOS(管理手段) 13 環境非依存部 14 環境依存部 15 I/F(第2のインターフェース手段) 21 スレッドID格納部(識別情報格納部) 22 セマフォ格納部(動作制御情報格納部) 23 エントリポイント格納部(開始位置情報格納部) 24 コンテキスト情報格納領域

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 プログラムを単一プロセス内で該プログ
    ラムの実行単位である複数のスレッドに分割して複数の
    タスクを同時処理するタスク処理手段と、装置本体に組
    込んで該装置本体の動作を実時間的に管理する管理手段
    と、該管理手段を前記タスク処理手段に呼び出す第1の
    インターフェース手段と、該第1のインターフェース手
    段を介して前記管理手段が管理する複数のタスクを記タ
    スク処理手段上でシミュレートするシミュレート手段と
    を備えていることを特徴とする情報処理装置。
  2. 【請求項2】 前記管理手段は、動作環境に依存しない
    環境非依存部と、動作環境に依存する環境依存部と、該
    環境依存部と前記環境非依存部との間のインターフェー
    スを司る複数の第2のインターフェース手段とを有して
    いることを特徴とする請求項1記載の情報処理装置。
  3. 【請求項3】 前記環境依存部は、前記スレッドのコン
    テキスト情報を格納するコンテキスト情報格納領域を有
    し、 さらに、該コンテキスト情報格納領域は、前記スレッド
    の識別情報を格納する識別情報格納部と、前記スレッド
    の動作制御情報を格納する動作制御情報格納部と、前記
    スレッドのエントリポイント情報を格納するエントリポ
    イント情報格納部とを有していることを特徴とする請求
    項1又は請求項2記載の情報処理装置。
  4. 【請求項4】 前記第2のインターフェース手段は、少
    なくとも、タスクを新たに生成するときに呼び出される
    第1の関数コールと、タスク処理以外の動作環境からタ
    スク処理の実行への移行時又は現在実行中のタスクを削
    除するときに呼び出される第2の関数コールと、第1の
    タスクから第2のタスクに実行処理の切替を行うときに
    呼び出される第3の関数コールと、現在実行中以外の他
    タスクを削除する時に呼び出される第4の関数コールと
    を含むことを特徴とする請求項2又は請求項3記載の情
    報処理装置。
  5. 【請求項5】 前記タスク処理手段は、マルチスレッド
    機能を具備していることを特徴とする請求項1乃至請求
    項4のいずれかに記載の情報処理装置。
  6. 【請求項6】 前記第1のインターフェース手段は、ア
    プリケーション・プログラミング・インターフェースで
    あることを特徴とする請求項1乃至請求項5のいずれか
    に記載の情報処理装置。
  7. 【請求項7】 プログラムを単一プロセス内で該プログ
    ラムの実行単位である複数のスレッドに分割して複数の
    タスクを同時処理するタスク処理手段と、装置本体に組
    込んで該装置本体の動作を実時間的に管理する管理手段
    とを有し、 前記管理手段を前記タスク処理手段に呼び出して前記管
    理手段が管理する複数のタスクを前記タスク処理手段上
    でシミュレートするシミュレート処理を実行することを
    特徴とする情報処理方法。
  8. 【請求項8】 前記シミュレート処理は、新たなタスク
    を生成するタスク生成ステップと、該タスク生成ステッ
    プで生成されたタスクを実行するタスク実行ステップ
    と、タスク処理以外の動作環境からタスク処理の実行へ
    の移行時又は現在実行中のタスクを削除するタスクディ
    スパッチステップと、一のタスクから他のタスクに実行
    処理の切替を行うタスクスイッチステップと、現在実行
    中以外の他のタスクを削除する時に呼び出されるタスク
    削除ステップとを含むことを特徴とする請求項7記載の
    情報処理方法。
  9. 【請求項9】 前記タスク生成ステップは、タスクのエ
    ントリポイントを記憶した後、前記スレッドの動作制御
    情報を初期化し、次いで前記タスクに対応して1個のス
    レッドを生成し、該スレッドの識別情報を記憶すること
    を特徴とする請求項8記載の情報処理方法。
  10. 【請求項10】 タスク実行ステップは、前記スレッド
    の動作制御情報を介して前記スレッドを待機状態にした
    後、該スレッド以外の他のスレッドから動作制御情報が
    呼び出されたか否かを判断し、該判断結果が肯定的であ
    る場合は前記スレッドを待機状態から解放して前記スレ
    ッドのエントリポイントからタスクの実行を開始するこ
    とを特徴とする請求項8又は請求項9記載の情報処理方
    法。
  11. 【請求項11】 前記タスクディスパッチステップは、
    動作制御情報を介してディスパッチ先のスレッドを待機
    状態から解放しタスクの実行を可能にした後、ディスパ
    ッチ元のスレッドを削除することを特徴とする請求項8
    乃至請求項10のいずれに記載の情報処理方法。
  12. 【請求項12】 前記タスクスイッチステップは、スイ
    ッチ先の第2のタスクを動作制御情報を介して待機状態
    から解放した後、スイッチ元である第1のタスクを動作
    制御情報を介して待機状態とし、その後第1のタスク以
    外の他タスクからの動作制御情報情報を介して前記第1
    のタスクを前記待機状態から解放することを特徴とする
    請求項8乃至請求項11のいずれかに記載の情報処理方
    法。
  13. 【請求項13】 前記タスク削除ステップは、所定のシ
    グナルを送信して所定のタスクを削除することを特徴と
    する請求項8乃至請求項12のいずれかに記載の情報処
    理方法。
  14. 【請求項14】 前記タスク処理手段は、マルチスレッ
    ド機能を具備していることを特徴とする請求項7乃至請
    求項13のいずれかに記載の情報処理方法。
  15. 【請求項15】 前記タスク処理手段は、所定のインタ
    ーフェースを介して前記管理手段を呼び出すことを特徴
    とする請求項7乃至請求項14のいずれかに記載の情報
    処理方法。
  16. 【請求項16】 前記所定のインターフェースは、アプ
    リケーション・プログラミング・インターフェースであ
    ることを特徴とする請求項15記載の情報処理方法。
  17. 【請求項17】 装置本体に組込まれて該装置本体の動
    作を実時間的に管理する管理手段をマルチスレッド機能
    を有するタスク処理手段上でシミュレートするシミュレ
    ート手順が記憶されていることを特徴とするコンピュー
    タ読取可能な記憶媒体。
  18. 【請求項18】 前記シミュレート手順は、新たなタス
    クを生成するタスク生成手順と、該タスク生成手順で生
    成されたタスクを実行するタスク実行手順と、タスク処
    理以外の動作環境からタスク処理の実行への移行時又は
    現在実行中のタスクを削除するタスクディスパッチ手順
    と、一のタスクから他のタスクに処理実行の切替を行う
    タスクスイッチ手順と、現在実行中以外の他のタスクを
    削除する時に呼び出されるタスク削除手順とを含むこと
    を特徴とする請求項17記載のコンピュータ読取可能な
    記憶媒体。
JP11048157A 1999-02-25 1999-02-25 情報処理装置と情報処理方法、及び記憶媒体 Pending JP2000250777A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11048157A JP2000250777A (ja) 1999-02-25 1999-02-25 情報処理装置と情報処理方法、及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11048157A JP2000250777A (ja) 1999-02-25 1999-02-25 情報処理装置と情報処理方法、及び記憶媒体

Publications (1)

Publication Number Publication Date
JP2000250777A true JP2000250777A (ja) 2000-09-14

Family

ID=12795552

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11048157A Pending JP2000250777A (ja) 1999-02-25 1999-02-25 情報処理装置と情報処理方法、及び記憶媒体

Country Status (1)

Country Link
JP (1) JP2000250777A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043717B2 (en) 2002-05-27 2006-05-09 Kabushiki Kaisha Toshiba Debugging apparatus and method
KR100674751B1 (ko) 2004-09-06 2007-01-25 마츠시타 덴끼 산교 가부시키가이샤 멀티태스크 시스템을 디버그하기 위한 디버그 시스템 및회로
WO2012124162A1 (ja) * 2011-03-15 2012-09-20 オムロン株式会社 デバッグ装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043717B2 (en) 2002-05-27 2006-05-09 Kabushiki Kaisha Toshiba Debugging apparatus and method
KR100674751B1 (ko) 2004-09-06 2007-01-25 마츠시타 덴끼 산교 가부시키가이샤 멀티태스크 시스템을 디버그하기 위한 디버그 시스템 및회로
WO2012124162A1 (ja) * 2011-03-15 2012-09-20 オムロン株式会社 デバッグ装置
JP2012194632A (ja) * 2011-03-15 2012-10-11 Omron Corp デバッグ装置

Similar Documents

Publication Publication Date Title
JP4901075B2 (ja) コンピュータ読取可能な媒体、方法及びコンピューティングデバイス
US9396013B2 (en) Method for controlling a virtual machine and a virtual machine system
US7406699B2 (en) Enhanced runtime hosting
US5630049A (en) Method and apparatus for testing software on a computer network
US4660144A (en) Adjunct machine
US5535389A (en) Business process objects with associated attributes such as version identifier
US5542088A (en) Method and apparatus for enabling control of task execution
US5748959A (en) Method of conducting asynchronous distributed collective operations
US20010034751A1 (en) Real-time OS simulator
JPH05216692A (ja) プログラム実行を管理する方法およびシステム
JPH07225693A (ja) 異なるアドレス空間にわたってスレッド事象を処理する方法
EP0297772A2 (en) Mouse pointer with switchable emulation mode
JP2000066904A (ja) マルチタスク制御方法及び記憶媒体
US20040098722A1 (en) System, method, and computer program product for operating-system task management
US6131109A (en) Multitask processor, a multitask processing method, a multitask processing display method and a storage medium for processing by correlating task and object
CN111831432B (zh) Io请求的调度方法、装置、存储介质及电子设备
US5862340A (en) Method operating in each node of a computer system providing and utilizing special records for collective communication commands to increase work efficiency at each node
JP2020030621A (ja) 情報処理装置およびプログラム
JPH09114693A (ja) プログラム開発支援装置及びプログラム実行装置
JP2000250777A (ja) 情報処理装置と情報処理方法、及び記憶媒体
JP2001318796A (ja) 内外イベントドリブン方式によるプログラム実行制御方法、記録媒体およびプログラム作成支援システム
JP2002073348A (ja) シナリオ解析型制御システム装置
KR102708907B1 (ko) 외부 예외 핸들링
JPH06149615A (ja) イベント記録方式
JP2912269B2 (ja) デバッグシステムおよびその方法