JPH01316831A - タスクスケジューラー装置およびタスクをスケジューリングする方法 - Google Patents
タスクスケジューラー装置およびタスクをスケジューリングする方法Info
- Publication number
- JPH01316831A JPH01316831A JP1059489A JP5948989A JPH01316831A JP H01316831 A JPH01316831 A JP H01316831A JP 1059489 A JP1059489 A JP 1059489A JP 5948989 A JP5948989 A JP 5948989A JP H01316831 A JPH01316831 A JP H01316831A
- Authority
- JP
- Japan
- Prior art keywords
- task
- state
- locked
- priority
- tasks
- 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
Links
- 239000011159 matrix material Substances 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 abstract description 108
- 238000012545 processing Methods 0.000 abstract description 20
- 238000010586 diagram Methods 0.000 description 9
- 238000012546 transfer Methods 0.000 description 6
- 239000013078 crystal Substances 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000010438 heat treatment Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000238876 Acari Species 0.000 description 1
- 229930091051 Arenine Natural products 0.000 description 1
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000009529 body temperature measurement Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Control By Computers (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はオペレーティングシステム(以下os)に関す
るものでアシ、更に詳しくいえば、マルチプレクサ応用
/デマルチプレクサ応用のためのマルチタスキング動作
環境に関するものである。本発明のOSは記号的な表記
法とユーザーが定義する実行可能なモジュールを用いて
構成される。
るものでアシ、更に詳しくいえば、マルチプレクサ応用
/デマルチプレクサ応用のためのマルチタスキング動作
環境に関するものである。本発明のOSは記号的な表記
法とユーザーが定義する実行可能なモジュールを用いて
構成される。
あらゆる実時間応用は、第1図に示すような一連の事象
でおのおの構成される異なるプロセスとして定義できる
。事象の種類と、事象が実行される時刻とは用途に応じ
て独特である。本発明の6は、プロセッサ内の処理活動
を定義および統合するためにその一般化を使用する。本
発明のO8は数多くの処理アーキテクチャに拡張できる
ことが当業者にはわかるであろう。本発明の説明を容易
にするために、この明細書においてrFVO8J と呼
ぶフレキシブル・マルチプレクサ/デマルチプレクサ装
置(FMDM)のために使用されるO8に関して本発明
を説明することにする。
でおのおの構成される異なるプロセスとして定義できる
。事象の種類と、事象が実行される時刻とは用途に応じ
て独特である。本発明の6は、プロセッサ内の処理活動
を定義および統合するためにその一般化を使用する。本
発明のO8は数多くの処理アーキテクチャに拡張できる
ことが当業者にはわかるであろう。本発明の説明を容易
にするために、この明細書においてrFVO8J と呼
ぶフレキシブル・マルチプレクサ/デマルチプレクサ装
置(FMDM)のために使用されるO8に関して本発明
を説明することにする。
FMDMアーキテクチャは、中央処理装置(CPU)と
、入力および出力プロセッサ(IOP)と、算術処理装
置(APU )との3つのプロセッサで構成される。入
力および出力プロセッサと算術処理装置はCPUを時間
のかかる入力、出力および計算から解放することを目的
とするものである。したがって、それら3つのプロセッ
サの全てが事象を同時に処理する(同時処理として一般
的に知られている)々らば最適な性訃が得られる。FV
O8はこれを下記のようにして行うものである。
、入力および出力プロセッサ(IOP)と、算術処理装
置(APU )との3つのプロセッサで構成される。入
力および出力プロセッサと算術処理装置はCPUを時間
のかかる入力、出力および計算から解放することを目的
とするものである。したがって、それら3つのプロセッ
サの全てが事象を同時に処理する(同時処理として一般
的に知られている)々らば最適な性訃が得られる。FV
O8はこれを下記のようにして行うものである。
表1.0はタスク定義リストにおいて一緒に[織りまぜ
られた( threaded)J時にタスクを定義する
汎用命令と考えることができる。機能ライブラリィはユ
ーザーの用途を記号的な表記法でスケジュールするため
のツールをユーザーへ与、する。
られた( threaded)J時にタスクを定義する
汎用命令と考えることができる。機能ライブラリィはユ
ーザーの用途を記号的な表記法でスケジュールするため
のツールをユーザーへ与、する。
機能ライブラリィは算術機能と、入力/出力(工10)
機能と、タスク作成/終了機能と、組込まれた機能と、
用途モジュールラン機能と、リセット機能とで構成され
る。そうすると、ユーザーのタスクを定義するためにユ
ーザーにそれらの機能を良く混合して与える。タスクの
状態またはタイミングを基にしてリスト内で飛越すすな
わちループするための能力をユーザーへ与える条件附き
飛越し機も含まれる。
機能と、タスク作成/終了機能と、組込まれた機能と、
用途モジュールラン機能と、リセット機能とで構成され
る。そうすると、ユーザーのタスクを定義するためにユ
ーザーにそれらの機能を良く混合して与える。タスクの
状態またはタイミングを基にしてリスト内で飛越すすな
わちループするための能力をユーザーへ与える条件附き
飛越し機も含まれる。
入力および出力プロセッサはハードウェアに特有の直列
入力機能/出力機能を実行する。たとえば、入力および
出力プロセッサが直列入力または直列出力を現在実行し
ている間には、ハードウェアからの入力を実行すること
はできない。算術処理装置は用途に特有の方程式の結果
を計算する。
入力機能/出力機能を実行する。たとえば、入力および
出力プロセッサが直列入力または直列出力を現在実行し
ている間には、ハードウェアからの入力を実行すること
はできない。算術処理装置は用途に特有の方程式の結果
を計算する。
CPUは他の全ての機能を実行し、入力および出力プロ
セッサの機能と算術処理装置の機能の実行を依託し、同
時処理を開始する。ある機能はそれの定義にアドレスポ
インタを含ま危ければならない。たとえば、RUN機能
は用途モジュールの場所に対するポインタを有する。
セッサの機能と算術処理装置の機能の実行を依託し、同
時処理を開始する。ある機能はそれの定義にアドレスポ
インタを含ま危ければならない。たとえば、RUN機能
は用途モジュールの場所に対するポインタを有する。
INPUT機能と0UTPUT機能はそれぞれの入力バ
ッファまたは出力バッファに対するポインタを有する。
ッファまたは出力バッファに対するポインタを有する。
機能ライブラリィおよびポインタのリストがタスクを定
める。用途を構成する各タスクは同様にして定義され、
それから相対的な優先順位が割当てられる。それからC
PUはそれらのタスクリストを復号し、優先順位と利用
できる資源を基にして各機能を個々のプロセッサに割当
てる。
める。用途を構成する各タスクは同様にして定義され、
それから相対的な優先順位が割当てられる。それからC
PUはそれらのタスクリストを復号し、優先順位と利用
できる資源を基にして各機能を個々のプロセッサに割当
てる。
この技術的思想のFMDM (3つのプロセッサ)実現
により、8つの優先順位のうちの1つで128までのタ
スク定義リストの性能を持つことを許す。
により、8つの優先順位のうちの1つで128までのタ
スク定義リストの性能を持つことを許す。
これは利用できるメモリによってのみ制限され、最小の
改良で多重プロセッサ装置に拡張できる。
改良で多重プロセッサ装置に拡張できる。
「フレキシブル」という用語は、広範囲のペイロード応
用に対して許されるFMDM設計の多くの領域に適用さ
れる。それらの用途のいくつかは、たとえば航空機に搭
載できるコンピュータ装置に実験を結びつける共通/応
答装置としての使用を含む。FMDMは独立した制御を
行うデータ獲得とデータ取扱いを制御するために使用す
ることもでき、る。第3図はマイクロプロセッサを含む
FMDM構成の一般的な例を示す。FVO8はユーザー
を割込み取扱い、I10バスの争い、装置のタイミング
等の重荷から解放すると同時に、FMDM資源の完全な
アクセスを許すために構成されたものである。FVO8
は8つの優先順位を持つマルチタスキング環境と、時間
的に重要な事象に対するほとんど即時の応答と、簡単な
1線指令を介して10Mのいずれかと通信を行う能力と
を提供する。
用に対して許されるFMDM設計の多くの領域に適用さ
れる。それらの用途のいくつかは、たとえば航空機に搭
載できるコンピュータ装置に実験を結びつける共通/応
答装置としての使用を含む。FMDMは独立した制御を
行うデータ獲得とデータ取扱いを制御するために使用す
ることもでき、る。第3図はマイクロプロセッサを含む
FMDM構成の一般的な例を示す。FVO8はユーザー
を割込み取扱い、I10バスの争い、装置のタイミング
等の重荷から解放すると同時に、FMDM資源の完全な
アクセスを許すために構成されたものである。FVO8
は8つの優先順位を持つマルチタスキング環境と、時間
的に重要な事象に対するほとんど即時の応答と、簡単な
1線指令を介して10Mのいずれかと通信を行う能力と
を提供する。
本発明は、方程式リストと、機能ライブラリィと、入力
ドライバと、出力ドライバと、大きなタスクのユーザー
作成タスク定義リストと、小さいタスクのユーザー作成
タスク定義リストと、割込ミハンドラーとを含む実時間
マルチタスキング・オペレーティングシステムに使用す
る優先行列のプレイを含むタスクスケジューラ装置を提
供するものである。本発明のタスクスケジューラ装置は
、各ライブラリィ機能が終了した時に優先行列が質問さ
れ、求められている資源を利用できる最高優先順位のタ
スクセグメントが見出されて、実行され、同じ優先行列
中のタスクセグメントがラウンドロビンのやシ方で実行
されるような、優先順位に従ってタスクをスケジューリ
ングする手段を含む。本発明の装置は、ユーザー作成リ
ストを更新する手段と、ユーザー作aIJストを質問す
る手段とを含むタスク作成手段を更に含む。本発明の装
置は、タスクスケジューラ−がロックされたタスクだけ
を実行することを許し、優先実行の正常な状態がオーバ
ーライドされるような動作モードにタスクをロックする
手段と、ライブラリィ機能の終了を求めるタスクに動作
を一時休止させる待機手段とを含み、ロックされないで
実行されり状態と、ロックされないでアクティブな状態
と、ロックされないで待機する状態と、ロックされてア
クティブな状態と、またはロックされて待機する状態と
に装置の全−Cの大きなタスクの状態を維持スる手段と
を更に含む。
ドライバと、出力ドライバと、大きなタスクのユーザー
作成タスク定義リストと、小さいタスクのユーザー作成
タスク定義リストと、割込ミハンドラーとを含む実時間
マルチタスキング・オペレーティングシステムに使用す
る優先行列のプレイを含むタスクスケジューラ装置を提
供するものである。本発明のタスクスケジューラ装置は
、各ライブラリィ機能が終了した時に優先行列が質問さ
れ、求められている資源を利用できる最高優先順位のタ
スクセグメントが見出されて、実行され、同じ優先行列
中のタスクセグメントがラウンドロビンのやシ方で実行
されるような、優先順位に従ってタスクをスケジューリ
ングする手段を含む。本発明の装置は、ユーザー作成リ
ストを更新する手段と、ユーザー作aIJストを質問す
る手段とを含むタスク作成手段を更に含む。本発明の装
置は、タスクスケジューラ−がロックされたタスクだけ
を実行することを許し、優先実行の正常な状態がオーバ
ーライドされるような動作モードにタスクをロックする
手段と、ライブラリィ機能の終了を求めるタスクに動作
を一時休止させる待機手段とを含み、ロックされないで
実行されり状態と、ロックされないでアクティブな状態
と、ロックされないで待機する状態と、ロックされてア
クティブな状態と、またはロックされて待機する状態と
に装置の全−Cの大きなタスクの状態を維持スる手段と
を更に含む。
以下、図面を参照して本発明の詳細な説明する。
本発明は、ユーザー用途のだめのマルチタスク環境を作
成する3レベルのソフトウェアを含むオペレーティング
システム(O8)を有する。第2図はFMDM処理装置
すなわちrFVO8Jにおいて用いられるO8である本
発明の一実施例の略図である。第2図に示すように、第
1のレベルは入力/田力(Ilo)ドライバ12と、割
込み・・ンドラ14とを有する。タスクの作成と同期は
割込みノ\ンドラの1つとして実現される。次のレベル
はタスクスケジューラ−20を含み、最後のレベルは機
能ライブラリィ30とを含む。FVOSは、フレキシブ
ル・マルチプレクサ/デマルチプレクサ(FMDM)用
途のためのマルチタスキング動作環境を提供し、マルチ
タスクの実行を制御でき、時間的に厳しい事象において
優先順位の高いタスクに迅速に応答できる。本発明の一
実施例においては、FVO8は128個までのタスクの
実行を制御できる。
成する3レベルのソフトウェアを含むオペレーティング
システム(O8)を有する。第2図はFMDM処理装置
すなわちrFVO8Jにおいて用いられるO8である本
発明の一実施例の略図である。第2図に示すように、第
1のレベルは入力/田力(Ilo)ドライバ12と、割
込み・・ンドラ14とを有する。タスクの作成と同期は
割込みノ\ンドラの1つとして実現される。次のレベル
はタスクスケジューラ−20を含み、最後のレベルは機
能ライブラリィ30とを含む。FVOSは、フレキシブ
ル・マルチプレクサ/デマルチプレクサ(FMDM)用
途のためのマルチタスキング動作環境を提供し、マルチ
タスクの実行を制御でき、時間的に厳しい事象において
優先順位の高いタスクに迅速に応答できる。本発明の一
実施例においては、FVO8は128個までのタスクの
実行を制御できる。
再び第2図を参照して、ユーザーは男根リストと、構成
リストと、アプリケーションモジュールとを供給せねば
なら々い。それらのリストとモジュールはzsoマクロ
アセンブラとFVOSマクロ機能ライブラリィとを用い
て作成される。本発明を工業用制御装置のような多くの
種類の実時間制御応用に使用できることが当業者には明
らかであろうが、以下に行う本発明の説明は、実時間で
、かつ互いに同時に実行される多くの科学実験のモニタ
および制御に関連して用いられるFMDM処理装置に関
連してオペレーティングシステムヲ用いることについて
のものである。
リストと、アプリケーションモジュールとを供給せねば
なら々い。それらのリストとモジュールはzsoマクロ
アセンブラとFVOSマクロ機能ライブラリィとを用い
て作成される。本発明を工業用制御装置のような多くの
種類の実時間制御応用に使用できることが当業者には明
らかであろうが、以下に行う本発明の説明は、実時間で
、かつ互いに同時に実行される多くの科学実験のモニタ
および制御に関連して用いられるFMDM処理装置に関
連してオペレーティングシステムヲ用いることについて
のものである。
タスクスケジューラ−20は中央処理装置(CPU)と
、算術処理装置(APU )と、I/Q資源とを統合す
る。優先順位を基にして、タスクスケジューラ−20は
機能実行の優先順位を選択する。各機能の実行に続いて
、制御はタスクスケジューラ−20へ戻る。タスクスケ
ジューラ−20については後で詳しく説明する。
、算術処理装置(APU )と、I/Q資源とを統合す
る。優先順位を基にして、タスクスケジューラ−20は
機能実行の優先順位を選択する。各機能の実行に続いて
、制御はタスクスケジューラ−20へ戻る。タスクスケ
ジューラ−20については後で詳しく説明する。
機能ライブラリィ30は、ある系列で構成された時にタ
スクを形成する各種の基本的なオペレーションで構成さ
れる。ある機能はIlo ドライバを用い、別の機能は
APUを用いる。機能が実行される唯一のやり方はタス
クスケジューラ−20からの開始によるものである。方
程式リストと、タスク定義リストと、アプリケーション
モジュールとはFVO8の一部ではないが、特定の応用
を満すことに関するFVO8の動作の1i要な部分であ
る。方程式リストは、計算機能により解釈され、APU
により実行されるべきである応用に特有の数値方程式を
定める。タスク定義リストはアプリケーションに特有の
リストであって、タスクを構成する基本的な順次動作と
、附近のタスクの間相対的な優位順位と、各タスクの実
行頻度とを定める。タスク定義リストは、諸機卵の実行
を統合する九めにタスクスケジューラ−20にょシ解釈
すべきである。アプリケーションモジュールはアプリケ
ーションのために求められる結合可能なオブジェクトコ
ードモジュールである。
スクを形成する各種の基本的なオペレーションで構成さ
れる。ある機能はIlo ドライバを用い、別の機能は
APUを用いる。機能が実行される唯一のやり方はタス
クスケジューラ−20からの開始によるものである。方
程式リストと、タスク定義リストと、アプリケーション
モジュールとはFVO8の一部ではないが、特定の応用
を満すことに関するFVO8の動作の1i要な部分であ
る。方程式リストは、計算機能により解釈され、APU
により実行されるべきである応用に特有の数値方程式を
定める。タスク定義リストはアプリケーションに特有の
リストであって、タスクを構成する基本的な順次動作と
、附近のタスクの間相対的な優位順位と、各タスクの実
行頻度とを定める。タスク定義リストは、諸機卵の実行
を統合する九めにタスクスケジューラ−20にょシ解釈
すべきである。アプリケーションモジュールはアプリケ
ーションのために求められる結合可能なオブジェクトコ
ードモジュールである。
ii’vosの機能についての説明、F’VO8は、実
行すべき全てのタスクのトップダウン状に構成すれた定
義を基にしている。アプリケーションは構成されたやシ
方で定められ、各アプリケーションは1つのタスクまた
はマルチタスクとして表すことができる。各タスクには
相対的な優先順位が割尚てられる。各タスクは機能ライ
ブラリィからの機能で構成される。それらの機能はタス
クセグメントである。それらのタスクセグメントの実行
はCPUによシ直列に開始させられるが、IOP とA
PUにより並列に実行される。
行すべき全てのタスクのトップダウン状に構成すれた定
義を基にしている。アプリケーションは構成されたやシ
方で定められ、各アプリケーションは1つのタスクまた
はマルチタスクとして表すことができる。各タスクには
相対的な優先順位が割尚てられる。各タスクは機能ライ
ブラリィからの機能で構成される。それらの機能はタス
クセグメントである。それらのタスクセグメントの実行
はCPUによシ直列に開始させられるが、IOP とA
PUにより並列に実行される。
FVO8の太き々機能部分は初期化モジュール(図示せ
ず)と、タスクスケジューラ−20と、機能ライブラリ
ィ30とである。FVO8ソフトウェアモジュールのそ
れぞれの機能による詳しい分類が表2に示されている。
ず)と、タスクスケジューラ−20と、機能ライブラリ
ィ30とである。FVO8ソフトウェアモジュールのそ
れぞれの機能による詳しい分類が表2に示されている。
初期化モジュールは動作のためにFVO3を用意する。
タスクスケジューラ−20は全てのタスクの実行を依託
する。
する。
機能ライブラリィ30は、アプリケーションと記号表記
を定めるためにユーザーが利用できる指令を含む。
を定めるためにユーザーが利用できる指令を含む。
O8の初期化において、FMDM装置で用いられるF’
VO8と呼ばれるO8の一実施例においては、下記の初
期化手続きが続く。工ントリイが行われるとFVO8が
初期化され、タスクゼロ(最初のユーザーが定めたタス
ク)が最高優先行列内に置かれ、タスクスケジューラ−
に入れられる。FVO8は、1)ROMを零にする、2
)全てのポインタを初期化する、3)割込みベクトルと
優先順位のメモリをセットする。4)EEPROMの3
ページをRAM中へ動かす、5)小さいフレームタイミ
ングと大きなフレームタイミングをセットし、6)割込
みを可能にする。
VO8と呼ばれるO8の一実施例においては、下記の初
期化手続きが続く。工ントリイが行われるとFVO8が
初期化され、タスクゼロ(最初のユーザーが定めたタス
ク)が最高優先行列内に置かれ、タスクスケジューラ−
に入れられる。FVO8は、1)ROMを零にする、2
)全てのポインタを初期化する、3)割込みベクトルと
優先順位のメモリをセットする。4)EEPROMの3
ページをRAM中へ動かす、5)小さいフレームタイミ
ングと大きなフレームタイミングをセットし、6)割込
みを可能にする。
それの最初の機能を最高優先順位行列に置くことによシ
タスフゼロが開始される。それから、タスクスケジュー
ラ−20へ制御が与えられる。そのタスクスケジューラ
−は、優先序位と資源の利用可能性を基にして、現在行
列中にあるタスクセグメントを実行する。他のタスクは
、タスクゼロ、タスク作成および同期ルーチンと、”!
たけ特殊な割込みとにより行列に加えられるそれらの他
のタスクの最初の要素によシ実行される。各タスクは、
1度に1つのセグメントずつ、一連のタスクセグメント
として実行される。実行される用意ができているタスク
セグメントは、最高の優先順位を初めに順序づけられて
いる一連の行列中に維持される。タスクセグメントが完
了させられると、その大きなタスク内の次のタスクセグ
メントが行列に加えられ、次にどのタスクセグメントを
実行するかを判定するために、優先順位がタスクスケジ
ューラ−により再び評価させられる。同じ優先順位のタ
スクは、タスクの停止なしにラウンドロビンのやシ方で
実行される。
タスフゼロが開始される。それから、タスクスケジュー
ラ−20へ制御が与えられる。そのタスクスケジューラ
−は、優先序位と資源の利用可能性を基にして、現在行
列中にあるタスクセグメントを実行する。他のタスクは
、タスクゼロ、タスク作成および同期ルーチンと、”!
たけ特殊な割込みとにより行列に加えられるそれらの他
のタスクの最初の要素によシ実行される。各タスクは、
1度に1つのセグメントずつ、一連のタスクセグメント
として実行される。実行される用意ができているタスク
セグメントは、最高の優先順位を初めに順序づけられて
いる一連の行列中に維持される。タスクセグメントが完
了させられると、その大きなタスク内の次のタスクセグ
メントが行列に加えられ、次にどのタスクセグメントを
実行するかを判定するために、優先順位がタスクスケジ
ューラ−により再び評価させられる。同じ優先順位のタ
スクは、タスクの停止なしにラウンドロビンのやシ方で
実行される。
タスクスケジューラ−0タスクスケジューラ−20は、
一連のポインタと、状態レジスタと、カウンタと、複数
の優先順位行列とを維持することにより、優先順位と資
源の利用可能性とを基にして全てのタスクの実行を制御
する。本発明のF■O8の面においては、優先順位行列
のレベルの数は8である。正常な動作において装置に電
源が投入されると最初の太きがタスクが実行され、初期
化機能のためにそれがユーザーにより通常留保される。
一連のポインタと、状態レジスタと、カウンタと、複数
の優先順位行列とを維持することにより、優先順位と資
源の利用可能性とを基にして全てのタスクの実行を制御
する。本発明のF■O8の面においては、優先順位行列
のレベルの数は8である。正常な動作において装置に電
源が投入されると最初の太きがタスクが実行され、初期
化機能のためにそれがユーザーにより通常留保される。
各タスクセグメントの実行に続いてタスク2ケジユーラ
ーが再び入れられる。タスクスケジューラ−のタスク作
成および同期化部分は装置クロックの各刻時(各10ミ
リ秒)ごとに入れられる。
ーが再び入れられる。タスクスケジューラ−のタスク作
成および同期化部分は装置クロックの各刻時(各10ミ
リ秒)ごとに入れられる。
タスクスケジューラ−はCPUが行列中の最初のタスク
(最高優先順位)を実行することを許す。
(最高優先順位)を実行することを許す。
小さいタスクセグメントが呼出している機能がビジー状
態である(たとえば、計算を終った、またはIOMから
の入力、あるいはIOMへの出力を直列に転送している
動作中である、というような、データを待っている)と
すると、タスクスケジューラ−は行列中の要素へ進む。
態である(たとえば、計算を終った、またはIOMから
の入力、あるいはIOMへの出力を直列に転送している
動作中である、というような、データを待っている)と
すると、タスクスケジューラ−は行列中の要素へ進む。
科学計算および入力/出力のような資源処理はCPU機
能と並列に実行されるから、そのやり方は実効処理性能
を最高にする。
能と並列に実行されるから、そのやり方は実効処理性能
を最高にする。
タスクスケジューラ−はあらゆる大きなタスクの状態の
維持も行う。太き々タスクの状態は次のようにして定義
される(装置においては他の全ての状態は不法である)
:0OH= ロックされず、実行された、81H=ロツ
クされアクティブ、01Hコロツクされず、アクティブ
、83H=ロツクされず、アクティブ、83H=ロツク
され、待機、03H=ロツクされず、待機。
維持も行う。太き々タスクの状態は次のようにして定義
される(装置においては他の全ての状態は不法である)
:0OH= ロックされず、実行された、81H=ロツ
クされアクティブ、01Hコロツクされず、アクティブ
、83H=ロツクされず、アクティブ、83H=ロツク
され、待機、03H=ロツクされず、待機。
ロックされたタスクは「ロックされた」動作モードにあ
るタスクとして定義される。実行されたタスクは、作成
されることを待っているタスクとして定義される。ある
タスクが実行のために優先順位行列中に置かれる時にそ
のタスクは「作成される」。アクティブタスクは現在実
行されている(すなわち、行列中の要素を有する)タス
クとして定義される。待機するタスクは、APUまたは
Ilo の機能の実行を開始したが、その機能は100
%終了してい力いものを待っていると定義される。第4
図に示すように、初期化の直後に全てのタスクは実行さ
れる。タスクがひとたびアクティブ・ロックされると、
ロックされない機能または行われた機能を実行すること
により、そのタスクはアクティブ・ロックされない機能
へ戻される。ロックされたモードにおいては、タスクは
アクティブから実行された、ま九は待機へ進むことがで
きるが、実行されたから待機へ、または待機から実行さ
れたへ動くことはできない。
るタスクとして定義される。実行されたタスクは、作成
されることを待っているタスクとして定義される。ある
タスクが実行のために優先順位行列中に置かれる時にそ
のタスクは「作成される」。アクティブタスクは現在実
行されている(すなわち、行列中の要素を有する)タス
クとして定義される。待機するタスクは、APUまたは
Ilo の機能の実行を開始したが、その機能は100
%終了してい力いものを待っていると定義される。第4
図に示すように、初期化の直後に全てのタスクは実行さ
れる。タスクがひとたびアクティブ・ロックされると、
ロックされない機能または行われた機能を実行すること
により、そのタスクはアクティブ・ロックされない機能
へ戻される。ロックされたモードにおいては、タスクは
アクティブから実行された、ま九は待機へ進むことがで
きるが、実行されたから待機へ、または待機から実行さ
れたへ動くことはできない。
タスクスケジューラ−のタスク作成および同期化部分は
プログラム可能なタイマのための割込みサービスルーチ
ンである。装置クロックの各刻時(10ミリ秒)ごとに
、F’MDM任意経過時間(MgT)が、小さいおよび
大きなフレームタイミングとともに増加させられる。こ
の時間は必要があればグリニッチ標準時間に同期させる
ことができる。タスクは小さいフレームタイミングまた
は太きカフレームタイミング、指定された遅延時間、ま
たはMETを基にして作成される。タスクスケジューラ
−は特定の小さいフレーム、大キなフレーム、METま
たは遅延時間に作成させるタスクのリストを維持する。
プログラム可能なタイマのための割込みサービスルーチ
ンである。装置クロックの各刻時(10ミリ秒)ごとに
、F’MDM任意経過時間(MgT)が、小さいおよび
大きなフレームタイミングとともに増加させられる。こ
の時間は必要があればグリニッチ標準時間に同期させる
ことができる。タスクは小さいフレームタイミングまた
は太きカフレームタイミング、指定された遅延時間、ま
たはMETを基にして作成される。タスクスケジューラ
−は特定の小さいフレーム、大キなフレーム、METま
たは遅延時間に作成させるタスクのリストを維持する。
正確な時刻にリストの各要素が評価され、その要素が成
長したとすると、そのIIIは実行のために使先順位行
列中に置かれる。
長したとすると、そのIIIは実行のために使先順位行
列中に置かれる。
機能ライブラリィ、 機能ライブラリィは、ユーザーの
アプリケーションを記号的な表記で作成するためのツー
ルをそのユーザーへ与える。機能ライブラリィは算術機
能と、110機能と、タスク作成/終了機能と、BIT
E機能と、アプリケーションモジュールRUN機能と、
メモIJ操fl[能と、RESET機能とで構成される
。タスク状態、タイミングまたはユーザーが形成したフ
ラッグを基にして飛越しまたはループするための能力を
提供する条件附き飛越し機能も含まれる。タスクセグメ
ントは、タスク構成リストにおいて定められた特定の入
力および出力を持つ機能でなければならない。タスクセ
グメントのリストがタスクを形成する。アプリケーショ
ンモジュールは高レベルの言語またはアセンブラ言語で
書くことができ、それからRUN機能によシ実行できる
。
アプリケーションを記号的な表記で作成するためのツー
ルをそのユーザーへ与える。機能ライブラリィは算術機
能と、110機能と、タスク作成/終了機能と、BIT
E機能と、アプリケーションモジュールRUN機能と、
メモIJ操fl[能と、RESET機能とで構成される
。タスク状態、タイミングまたはユーザーが形成したフ
ラッグを基にして飛越しまたはループするための能力を
提供する条件附き飛越し機能も含まれる。タスクセグメ
ントは、タスク構成リストにおいて定められた特定の入
力および出力を持つ機能でなければならない。タスクセ
グメントのリストがタスクを形成する。アプリケーショ
ンモジュールは高レベルの言語またはアセンブラ言語で
書くことができ、それからRUN機能によシ実行できる
。
機能ライブラリィは、タスク構成リストにょシー緒に[
織シ合わされた(threaded) j時にタスクを
形成する汎用命令の集りと考えることができる。各ユー
ザー機能は記号的表記法で書かれる。
織シ合わされた(threaded) j時にタスクを
形成する汎用命令の集りと考えることができる。各ユー
ザー機能は記号的表記法で書かれる。
その記号的表記法は、1組のFVOSマクロによp拡張
されると、構成リストを形成する。マクロ定義はテクト
o=クス(Tektronix) z80 アセンブラ
で動作するために行うべきである。
されると、構成リストを形成する。マクロ定義はテクト
o=クス(Tektronix) z80 アセンブラ
で動作するために行うべきである。
FVOS機能の流れ: FVO8は、第5図に示すよう
に、3つの主な動作モードを有する。それらのタスクは
正常(タスタータスク)動作モード、ロックされた動作
モード、および留保された資源動作モードでなければな
らない。タスタータスク動作が正常な動作モードとして
第5図(a)に示されている。最高優先順位のタスクが
実行され、他のタスクが行列に留ってそれらのタスクの
順番を待つために行列中に留まる。第5図(a)は優先
順位行列のアレイを示す。本発明のFVO8実施例にお
いては、8列の行列が、要素とも呼ばれる8個のサブタ
スクのためのアドレスポインタと優先順位状態を含む。
に、3つの主な動作モードを有する。それらのタスクは
正常(タスタータスク)動作モード、ロックされた動作
モード、および留保された資源動作モードでなければな
らない。タスタータスク動作が正常な動作モードとして
第5図(a)に示されている。最高優先順位のタスクが
実行され、他のタスクが行列に留ってそれらのタスクの
順番を待つために行列中に留まる。第5図(a)は優先
順位行列のアレイを示す。本発明のFVO8実施例にお
いては、8列の行列が、要素とも呼ばれる8個のサブタ
スクのためのアドレスポインタと優先順位状態を含む。
同じ優先順位のタスクが、タスクの停止なしにラウンド
ロビンのやり方で実行される。現在のタスクが実行され
た後で、優先順位が再び判定され、最高優先順位のタス
クが実行される。
ロビンのやり方で実行される。現在のタスクが実行され
た後で、優先順位が再び判定され、最高優先順位のタス
クが実行される。
また第5図(B)を参照して、たとえば、現在実行され
ているタスクはブロックTexによ9表され、そのタス
クがひとたび実行されると、タスクスケジューラ−は優
先順位行列を再び調べて、次に最高優先順位の次のタス
クを探す。最高優先順位のタスクをT1と仮定すると、
そのタスクが次に実行されるタスクである。タスクTI
、 T2 、 T3 。
ているタスクはブロックTexによ9表され、そのタス
クがひとたび実行されると、タスクスケジューラ−は優
先順位行列を再び調べて、次に最高優先順位の次のタス
クを探す。最高優先順位のタスクをT1と仮定すると、
そのタスクが次に実行されるタスクである。タスクTI
、 T2 、 T3 。
T4の順位が全て同じであるとすると、タスクT1が最
初に実行され、それから、タスクはラウンドロビンのや
υ方でとられるから、タスクT2が次に1等というよう
にして実行される。
初に実行され、それから、タスクはラウンドロビンのや
υ方でとられるから、タスクT2が次に1等というよう
にして実行される。
ロックされた動作モード、 次に第5図(b)を参照す
る。この図にはロックされた動作モードの記号図が示さ
れている。大きなタスク内の一連の事象が時間的に重要
か時にロックされた動作モードがスケジュールされる。
る。この図にはロックされた動作モードの記号図が示さ
れている。大きなタスク内の一連の事象が時間的に重要
か時にロックされた動作モードがスケジュールされる。
先に述べたように、太き々タスクは、大きな時間フレー
ム以内で終了すべき一連のサブタスクである。ブロック
TXで示されているように、ロックされたタスクは正常
な優先順位を打消し、利用できる全ての資源を有する。
ム以内で終了すべき一連のサブタスクである。ブロック
TXで示されているように、ロックされたタスクは正常
な優先順位を打消し、利用できる全ての資源を有する。
ロックされたタスクは、1行われた」機能または「ロッ
クされていない」機能に遭遇するまで、行列を評価する
ことのない機能の後で実行される機能である。行われた
機能またはロックされていない機能は太き々タスク内の
サブタスクとして実行される。全てのサブタスクが実行
された時にタスクは「行われる」。[行われた一1機能
は、そのタスクに対する操作を停止することをタスクス
ケジューラ−に告げる。それから、第5図(a)に示す
ように、FVO8は正常なタスク−タスク動作モードへ
戻る。
クされていない」機能に遭遇するまで、行列を評価する
ことのない機能の後で実行される機能である。行われた
機能またはロックされていない機能は太き々タスク内の
サブタスクとして実行される。全てのサブタスクが実行
された時にタスクは「行われる」。[行われた一1機能
は、そのタスクに対する操作を停止することをタスクス
ケジューラ−に告げる。それから、第5図(a)に示す
ように、FVO8は正常なタスク−タスク動作モードへ
戻る。
留保された資源動作モード、 留保された資源動作モー
ドは、第5図(c)に示すように、予測された事象に対
する迅速な応答が求められた時に設けられる。F’VO
8m象が起ることを待つ。事象が起ると、「行われた」
機能または「ロックされない」機能に遭遇するまで、そ
の留保されているタスクは実行され、それによりFVO
8は正常な動作モードへ戻される。(ユーザーにより供
給される)指定された時間切れ期間内に事象が起ら力か
ったとすると、タスクスケジューラ−により誤りがフラ
ッグされる。本発明の一実施例においては、8つの別々
の割込みが事象の発生を合図できる。
ドは、第5図(c)に示すように、予測された事象に対
する迅速な応答が求められた時に設けられる。F’VO
8m象が起ることを待つ。事象が起ると、「行われた」
機能または「ロックされない」機能に遭遇するまで、そ
の留保されているタスクは実行され、それによりFVO
8は正常な動作モードへ戻される。(ユーザーにより供
給される)指定された時間切れ期間内に事象が起ら力か
ったとすると、タスクスケジューラ−により誤りがフラ
ッグされる。本発明の一実施例においては、8つの別々
の割込みが事象の発生を合図できる。
それらは時刻を計られた割込み、またはF’VOS装置
の外部からの(ボタンを押すというような)刺激を基に
した割込みとすることができる。FVO8は、優先順位
行列のアレイを探索し、タスクまたはサブタスクが留保
すべき資源を要求するかどうかを調べることにより、留
保されている資源動作モードに、またはそれの動作モー
ドのいずれかに入るか否かを判定する。
の外部からの(ボタンを押すというような)刺激を基に
した割込みとすることができる。FVO8は、優先順位
行列のアレイを探索し、タスクまたはサブタスクが留保
すべき資源を要求するかどうかを調べることにより、留
保されている資源動作モードに、またはそれの動作モー
ドのいずれかに入るか否かを判定する。
時間線、FVO8動作は、各タスクセグメントの実行の
間で実行するタスクスケジューラ−と、プログラム可能
がタイマ割込みによりドライブされ、10ミリ秒ごとに
実行されるタスク作成およヒ同期化モジュールとの2つ
の群に分けられる。
間で実行するタスクスケジューラ−と、プログラム可能
がタイマ割込みによりドライブされ、10ミリ秒ごとに
実行されるタスク作成およヒ同期化モジュールとの2つ
の群に分けられる。
タスクスケジューラ−の機能の流れが第6図に示されて
いる。
いる。
次に第6図を参照する。FVO8はウオームスタート場
所50と、コールドスタート場所55との2つのエント
リイ点を有することに注目されたい。
所50と、コールドスタート場所55との2つのエント
リイ点を有することに注目されたい。
2つの機能の間の主力違いは、ウオームスタートがMB
Tをリセットしないのに、コールドスタートがMETを
リセットすることである。また、コールドスタートはそ
れのエントリインースを評価しくすなわち、0OOOH
へ行く、すなわち電源投入)、それに従って電源投入状
態フラッグをセットする。
Tをリセットしないのに、コールドスタートがMETを
リセットすることである。また、コールドスタートはそ
れのエントリインースを評価しくすなわち、0OOOH
へ行く、すなわち電源投入)、それに従って電源投入状
態フラッグをセットする。
タスクスケジューラ−は、現在のFVO8動作モードを
基にして、どのタスクを次に実行するかを決定する。タ
スクスケジューラ−の実行頻度は実行される機能ごとに
1回である。
基にして、どのタスクを次に実行するかを決定する。タ
スクスケジューラ−の実行頻度は実行される機能ごとに
1回である。
初期化52の後で、タスクスケジューラ−はブロック6
5で始まるループ60内で動作する。そのブロック65
は、優先順位行列から次のタスクを得る実行ブロックで
ある。
5で始まるループ60内で動作する。そのブロック65
は、優先順位行列から次のタスクを得る実行ブロックで
ある。
次ニ、タスクスケジューラ−は判定ブロック70へ進み
、次のタスクがロック機能であるかどうかを判定する。
、次のタスクがロック機能であるかどうかを判定する。
タスクがロック機能であれば、ロックされない要素また
は行われた要素に遭遇するまで、行列を評価することな
しにタスクが要素ごとに実行される(ブロック72)。
は行われた要素に遭遇するまで、行列を評価することな
しにタスクが要素ごとに実行される(ブロック72)。
その同じ機能線に続いて、ロックされないタスクまたは
行われたタスクに遭遇するとぐブロック72)、タスク
スケジエーラーは次の機能すなわち次のサブタスクを実
行し、または行われたとすると、動作はブロック65へ
進んで次のタスクを行列から得る。次のタスクがロック
された機能でないことが判定されると(ブロック70)
、タスクスケジエーラーは判定ブロックT5へ進み、そ
のタスクが留保されている機能であるか否かを判定する
。その判定結果が肯定であれば、タスクスケジューラ−
は判定ブロック80へ進んで、時間的に重要が事象が起
きたか否かを判定する。判定結果が肯定であると機能は
実行ブロック72へ進む。
行われたタスクに遭遇するとぐブロック72)、タスク
スケジエーラーは次の機能すなわち次のサブタスクを実
行し、または行われたとすると、動作はブロック65へ
進んで次のタスクを行列から得る。次のタスクがロック
された機能でないことが判定されると(ブロック70)
、タスクスケジエーラーは判定ブロックT5へ進み、そ
のタスクが留保されている機能であるか否かを判定する
。その判定結果が肯定であれば、タスクスケジューラ−
は判定ブロック80へ進んで、時間的に重要が事象が起
きたか否かを判定する。判定結果が肯定であると機能は
実行ブロック72へ進む。
判定ブロックT5における判定の結果が否定であれば動
作は判定ブロック82へ進む。その判定ブロックにおい
ては次のタスクがタスク作成機能であるか否かについて
の判定が行われ、その判定結果が肯定であれば、動作は
実行ブロック85へ進んで、新しいタスクが適切なリス
トまたは優先順位行列に置く。判定ブロック82におけ
る判定結果が否定であれば、タスクスケジューラ−は行
われたサブタスクを調べ、次の機能を適切なリストまた
は行列に置く。
作は判定ブロック82へ進む。その判定ブロックにおい
ては次のタスクがタスク作成機能であるか否かについて
の判定が行われ、その判定結果が肯定であれば、動作は
実行ブロック85へ進んで、新しいタスクが適切なリス
トまたは優先順位行列に置く。判定ブロック82におけ
る判定結果が否定であれば、タスクスケジューラ−は行
われたサブタスクを調べ、次の機能を適切なリストまた
は行列に置く。
次に、タスク作成および同期化モジュールが示されてい
る第7図を参照する。タスク作成および同期化フォーグ
ラウンド機能の流れが時間に従い、MgTを基にして優
先順位行列にタスクを加え、各種のハウスキーピング機
能を実行する。このモジュールにはプログラム可能なタ
イマ割込み毎に1同人る。そのタイマ割込みはFVO8
が10ミリ秒の速さで初期化する。このモジュール内の
タスク作成機能はMET、小さいフレームタイミング、
および大きなフレームタイミングを基にした条件附きタ
スク作成機能である。各ユーザーアプリケーションには
小さい時間フレームと大きな時間フレームが組合わされ
る。この明細書では小さいフレームのことを小さい時間
フレームと呼び、かつそれらの小さいフレームは1〜2
56までの10ミリ秒の装置の刻時の数である。この明
細書では大きなフレームのことを太き4時間フレームと
呼び、かつそれは1〜256の小さいフレームの数で構
成される。大きなフレームと小さいフレームは、プログ
ラム機能の流れに関して、それぞれ高速内部ループおよ
び低速外部ループと考えることができる。ユーザーの応
用の必要に合わせてユーザーは大きなフレームの数と小
さいフレームの数を定めることができる。
る第7図を参照する。タスク作成および同期化フォーグ
ラウンド機能の流れが時間に従い、MgTを基にして優
先順位行列にタスクを加え、各種のハウスキーピング機
能を実行する。このモジュールにはプログラム可能なタ
イマ割込み毎に1同人る。そのタイマ割込みはFVO8
が10ミリ秒の速さで初期化する。このモジュール内の
タスク作成機能はMET、小さいフレームタイミング、
および大きなフレームタイミングを基にした条件附きタ
スク作成機能である。各ユーザーアプリケーションには
小さい時間フレームと大きな時間フレームが組合わされ
る。この明細書では小さいフレームのことを小さい時間
フレームと呼び、かつそれらの小さいフレームは1〜2
56までの10ミリ秒の装置の刻時の数である。この明
細書では大きなフレームのことを太き4時間フレームと
呼び、かつそれは1〜256の小さいフレームの数で構
成される。大きなフレームと小さいフレームは、プログ
ラム機能の流れに関して、それぞれ高速内部ループおよ
び低速外部ループと考えることができる。ユーザーの応
用の必要に合わせてユーザーは大きなフレームの数と小
さいフレームの数を定めることができる。
再び第7図を参照して、タスク作成および同期化モジュ
ールは機能ブロック100において機能の流れに入る。
ールは機能ブロック100において機能の流れに入る。
そのブロック100においてMETは10ミリ秒だけ長
くされる。判定ブロック105においてMETリストが
空いているか否かの判一定が行われ、そのMETIJス
トが成熟したタスクを含んでいるものとすると、それら
のタスクの最初の要素が機能ブロック110において優
先順位行列に加えられる。機能ブロック110内の注釈
[全ての成熟要素を作成する」は「成熟した」(すなわ
ち、実行するばかりになっている要素)サブタスクを優
先順位行列に加えることを意味する。
くされる。判定ブロック105においてMETリストが
空いているか否かの判一定が行われ、そのMETIJス
トが成熟したタスクを含んでいるものとすると、それら
のタスクの最初の要素が機能ブロック110において優
先順位行列に加えられる。機能ブロック110内の注釈
[全ての成熟要素を作成する」は「成熟した」(すなわ
ち、実行するばかりになっている要素)サブタスクを優
先順位行列に加えることを意味する。
MIETIJストが空であるか、全ての成熟要素が作成
されたとすると、このモジュールは判定ブロック115
へ入って、遅延リストが空かどうかを判定する。遅延リ
スト内の各タスクに対する遅延時間は10ミリ秒だけ短
くされる。遅延時間がゼロに等しいと、遅延リスト中の
要素は「成熟しており」、機能ブロック120内のリス
トに加えられる。遅延リストが空であるか、全ての成熟
要素が作成されたとすると、モジュールの動作は判定ブ
ロック120へ進む。この判定ブロックにおいては次の
小さいフレームが始まるか否かの判定が行われる。その
判定結果が肯定であれば、小さいフレームリスト中の全
ての要素が作成される(ブロック125)。また、その
判定結果が否定であるか、全ての要素が作成されている
とすると、動作は判定ブロック130へ進み、そこにお
いて次の大きなフレームが始っているかどうかの判定が
行われる。その判定結果が肯定であれば大きなフレーム
リスト中の全ての要素が作成される(ブロック135)
。次に、留保されている時間切れが生じたかどうかの判
定がブロック140で行われる。この時間切れが生じた
かどうかの判定は安全を保持する特徴であって、資源が
留保されたとすると、時間的に厳しい事象を待っている
間に、それらの資源の留保のために制限時間がユーザー
によシセットされる。時間的に厳しい事象が起る前に留
保されている時間切れが生じたとすると、ブロック14
5へ留保されている時間切れ誤りが送られる。
されたとすると、このモジュールは判定ブロック115
へ入って、遅延リストが空かどうかを判定する。遅延リ
スト内の各タスクに対する遅延時間は10ミリ秒だけ短
くされる。遅延時間がゼロに等しいと、遅延リスト中の
要素は「成熟しており」、機能ブロック120内のリス
トに加えられる。遅延リストが空であるか、全ての成熟
要素が作成されたとすると、モジュールの動作は判定ブ
ロック120へ進む。この判定ブロックにおいては次の
小さいフレームが始まるか否かの判定が行われる。その
判定結果が肯定であれば、小さいフレームリスト中の全
ての要素が作成される(ブロック125)。また、その
判定結果が否定であるか、全ての要素が作成されている
とすると、動作は判定ブロック130へ進み、そこにお
いて次の大きなフレームが始っているかどうかの判定が
行われる。その判定結果が肯定であれば大きなフレーム
リスト中の全ての要素が作成される(ブロック135)
。次に、留保されている時間切れが生じたかどうかの判
定がブロック140で行われる。この時間切れが生じた
かどうかの判定は安全を保持する特徴であって、資源が
留保されたとすると、時間的に厳しい事象を待っている
間に、それらの資源の留保のために制限時間がユーザー
によシセットされる。時間的に厳しい事象が起る前に留
保されている時間切れが生じたとすると、ブロック14
5へ留保されている時間切れ誤りが送られる。
留保されている時間切れが起らないと、FVO8は割込
みからタスクスケジューラ−モジュールへ戻る。
みからタスクスケジューラ−モジュールへ戻る。
第8図はFVO8初期化と3つの各動作モードとのため
の計算された時間線を示す。F’VOS の初期化に続
いて、3つの動作モードのうちの1つに入る。各動作モ
ードに対する求められているコンテキスト・スイッチン
グ時間も第8図に示されている。
の計算された時間線を示す。F’VOS の初期化に続
いて、3つの動作モードのうちの1つに入る。各動作モ
ードに対する求められているコンテキスト・スイッチン
グ時間も第8図に示されている。
第8図に示されている時間は最高優先順位行列中のただ
1つの要素を基にして計算されたものであることに注目
すべきである。それはほとんど理想的な状況である。各
大き々タスクの現在の状態と、優先順位行列中の要素の
構成とに応じて数多くの状況が存在し得る。コンテキス
ト・スイッチング時刻を見積るために第8図の時間線に
下記の変更が加えられる。下記の変更においては、実行
するためにタスクスケジューラ−が選択するタスクセグ
メントを対虫とするタスクセグメントと呼ぶことにする
。
1つの要素を基にして計算されたものであることに注目
すべきである。それはほとんど理想的な状況である。各
大き々タスクの現在の状態と、優先順位行列中の要素の
構成とに応じて数多くの状況が存在し得る。コンテキス
ト・スイッチング時刻を見積るために第8図の時間線に
下記の変更が加えられる。下記の変更においては、実行
するためにタスクスケジューラ−が選択するタスクセグ
メントを対虫とするタスクセグメントと呼ぶことにする
。
1、前のタスクセグメントがそのタスクの最後のセグメ
ントであれば、43.5マイクロ秒をタスクスケジュー
ラ−実行時間に加える。
ントであれば、43.5マイクロ秒をタスクスケジュー
ラ−実行時間に加える。
2、対象とするタスクセグメントが210機能またはA
PU機能であるとすると、10パーセントをタスクスケ
ジューラ−実行時間に加える。
PU機能であるとすると、10パーセントをタスクスケ
ジューラ−実行時間に加える。
3、対象とするタスクセグメントが最高優先順位でない
とすると、最高優先順位以下の各優先順位に16.5マ
イクロ秒を加える。
とすると、最高優先順位以下の各優先順位に16.5マ
イクロ秒を加える。
4、 210機能または入PU機能が現在同時に処理し
ておシ、それが対象とするタスクセグメントよシ優先順
位が高いとすると、210機能またはAPU機能に61
.25マイクロ秒を加える。
ておシ、それが対象とするタスクセグメントよシ優先順
位が高いとすると、210機能またはAPU機能に61
.25マイクロ秒を加える。
割込み、 FMDMに用いられる本発明の一実施例に
おいては、FMDM割込み構造は280割込みモード2
である。ある優先順位で構成された9つのFMDM割込
みがある。APU割込みと、IOM0Mディスエイプル
みと、プログラム可能彦タイマ割込みと、IOM転送完
了(行われた)割込みはユーザーにとっては明らかで6
.り、IOM番号ゼロ割込みと、フレキシブル割込みと
、外部割込みと、誤シ割込みと、マスク可能でない割込
みとはユーザーによシ定められる。マスク可能でない割
込み(NMI)はFMDMへ供給されていた電力が断た
れた時に行われる。NMIサービスルーチンはおだやか
な停電シーケンスに備え、実行する。
おいては、FMDM割込み構造は280割込みモード2
である。ある優先順位で構成された9つのFMDM割込
みがある。APU割込みと、IOM0Mディスエイプル
みと、プログラム可能彦タイマ割込みと、IOM転送完
了(行われた)割込みはユーザーにとっては明らかで6
.り、IOM番号ゼロ割込みと、フレキシブル割込みと
、外部割込みと、誤シ割込みと、マスク可能でない割込
みとはユーザーによシ定められる。マスク可能でない割
込み(NMI)はFMDMへ供給されていた電力が断た
れた時に行われる。NMIサービスルーチンはおだやか
な停電シーケンスに備え、実行する。
IOM転送完了(行われた)割込みは入力/出力転送の
たびに行われ、I/Q転送が完了したこと、およびI/
Q制御器においてデータを得ることができることを知ら
せる(別のI10転送がいま行うことができる)。この
割込みはユーザーにとっては明らかであり、FVO8K
よシ完全にサービスされる。
たびに行われ、I/Q転送が完了したこと、およびI/
Q制御器においてデータを得ることができることを知ら
せる(別のI10転送がいま行うことができる)。この
割込みはユーザーにとっては明らかであり、FVO8K
よシ完全にサービスされる。
轟業者であれば容易にわかるように、本発明のオペレー
ティングシステムには多くの潜在的な用途がある。1つ
の可能な用途は材料処理実験を制御することである。こ
の場合には、センサが入力をあるタスクに関連するオペ
レーティングシステムへ供給する。それらのタスクには
優先順位がつけられ、かつそれらのタスクはオペレーテ
ィング’/スfAKよシ実行される。オペレーティング
システムは、指定された機訃を動作させるために信号を
制御手段へ出力する。たとえば、装置のユーザーは結晶
を成長させるために実験を行うことができる。ユーザー
は、正しい環境条件の下に結晶を成長させる適切な溶液
でスタートする。オペレーティングシステムは、ユーザ
ーがたとえばボタンを押すととKよυプロセスを開始さ
せることを待つ。それから、オペレーティングシステム
はいくつかのセンサから入力を並列に受け、1台の制御
器を用いて多数の結晶成長実験を並列に行う。
ティングシステムには多くの潜在的な用途がある。1つ
の可能な用途は材料処理実験を制御することである。こ
の場合には、センサが入力をあるタスクに関連するオペ
レーティングシステムへ供給する。それらのタスクには
優先順位がつけられ、かつそれらのタスクはオペレーテ
ィング’/スfAKよシ実行される。オペレーティング
システムは、指定された機訃を動作させるために信号を
制御手段へ出力する。たとえば、装置のユーザーは結晶
を成長させるために実験を行うことができる。ユーザー
は、正しい環境条件の下に結晶を成長させる適切な溶液
でスタートする。オペレーティングシステムは、ユーザ
ーがたとえばボタンを押すととKよυプロセスを開始さ
せることを待つ。それから、オペレーティングシステム
はいくつかのセンサから入力を並列に受け、1台の制御
器を用いて多数の結晶成長実験を並列に行う。
1つの可能な筋書きは、溶液が真空室に注入された後で
、真空室を排気することをオペレーティングシステムが
指令することである。それから、オペレーティングシス
テムは、真空室内の圧力センサから人力を受けることに
よシ真空室内部の圧力をモニタする。真空室内の圧力が
らる値たとえば10 TOHに達すると、加熱器によ
る加熱が開始される。そのために溶液は制御された温度
上昇率で温度が上昇する。オペレーティングシステムは
外部センサから入力を受けて真空室の内部の温度を連続
して監視する。それと同時に、オペレーティングシステ
ムは、温度測定値に応答する制御手段により溶液温度を
調節する。第3のセンサが結晶の重量を測定できる。結
晶の重量が所定値に達すると、上記のプロセスが逆に行
われて真空−室を常温常圧の状態へ戻す。
、真空室を排気することをオペレーティングシステムが
指令することである。それから、オペレーティングシス
テムは、真空室内の圧力センサから人力を受けることに
よシ真空室内部の圧力をモニタする。真空室内の圧力が
らる値たとえば10 TOHに達すると、加熱器によ
る加熱が開始される。そのために溶液は制御された温度
上昇率で温度が上昇する。オペレーティングシステムは
外部センサから入力を受けて真空室の内部の温度を連続
して監視する。それと同時に、オペレーティングシステ
ムは、温度測定値に応答する制御手段により溶液温度を
調節する。第3のセンサが結晶の重量を測定できる。結
晶の重量が所定値に達すると、上記のプロセスが逆に行
われて真空−室を常温常圧の状態へ戻す。
このオペレーティングシステムの別の可能な応用は、建
物内部のセンサにそれを取付けることである。センサは
建物内部の環境制御装置を運転させることができる。そ
の環境制御には加熱および空調が含まれる。このオペレ
ーティングシステムを用いると、電灯を点滅させるため
にMET機能を用いるというような、他の多くのタスク
を同時に実行することが可能である。建物内部の電灯を
点滅させるというような機能は「大きなフレーム」タス
クまたは外部ループタスクより以上のものである。その
理由は、そのような機能は長期間にわたって行うことが
でき、第2のタイミングを分割することを要しないから
である。
物内部のセンサにそれを取付けることである。センサは
建物内部の環境制御装置を運転させることができる。そ
の環境制御には加熱および空調が含まれる。このオペレ
ーティングシステムを用いると、電灯を点滅させるため
にMET機能を用いるというような、他の多くのタスク
を同時に実行することが可能である。建物内部の電灯を
点滅させるというような機能は「大きなフレーム」タス
クまたは外部ループタスクより以上のものである。その
理由は、そのような機能は長期間にわたって行うことが
でき、第2のタイミングを分割することを要しないから
である。
第9図は、検出手段SMと、オペレーティングシステム
O8と、制御手段CMとを含み、本発明のオペレーティ
ングシステムを用いる制御装置を示す。検出手段SMは
、複数の出力端子200と複数の入力端子202を有す
る複数のセンサを含む。オペレーティングシステムは、
検出手段から受けた刺激に対応する入力と出力を受ける
。そうするとタスクが実行され、オペレーティングシス
テム210の出力端子を介して電圧の形の信号が制御手
段の入力端子へ送られる。制御手段CMの出力端子21
5 には外部装置へ供給される制御信号が現われる。も
ちろん、複数の入力と複数の出力を持つ必要はないが、
複数の入力と複数の出力を持つとオペレーティングシス
テムを最も効率的に使用できる。オペレーティングシス
テムハ、与えられた環境において、1個のセンサおよび
1つの制御器で動作できる。
O8と、制御手段CMとを含み、本発明のオペレーティ
ングシステムを用いる制御装置を示す。検出手段SMは
、複数の出力端子200と複数の入力端子202を有す
る複数のセンサを含む。オペレーティングシステムは、
検出手段から受けた刺激に対応する入力と出力を受ける
。そうするとタスクが実行され、オペレーティングシス
テム210の出力端子を介して電圧の形の信号が制御手
段の入力端子へ送られる。制御手段CMの出力端子21
5 には外部装置へ供給される制御信号が現われる。も
ちろん、複数の入力と複数の出力を持つ必要はないが、
複数の入力と複数の出力を持つとオペレーティングシス
テムを最も効率的に使用できる。オペレーティングシス
テムハ、与えられた環境において、1個のセンサおよび
1つの制御器で動作できる。
表 2
FVOSソフトウェアモジュール機能の概要NMI S
Rマスク可能でない割込み U0M 0NFJ6 ディスエイプル割込み DFL田
07レギシブル割込み UDONεI Do
Nf割込み l0APUI APU
割込ミ& 10MI IOM *O割込み l0U
IJTI 外部割込み UFJRRORI
vAり割込み UDMASK 割込み
マスク修正 Uタスク作成 CT DLY遅延
の後でタスク作成 TCTJltAJ大きなフレーム
でタスク作成 TCTJIN小さいフレームでタスク作
成 1表2(続き) FVOSソフトウェアモジュール機能の概要EC)10
出力へのエコー人力 !0優先 LOC
K ”Lock’機能 Tオーバーライ
ド艶UNLOCK ’Unlock’ 機能
1表2(続き) FVOSソフトウェアモジュール機能の概要JMPNZ
非ゼロへ飛越す TJMP P 正へ飛越
す TJMP N 負へ飛越す
T組込まれた 131TEPs 電源BITE
D試験機能 BITEMM メモリ
モジュールBITFJDBITECPUCPUモジュー
ルBITE DBITg*PU APUモジュ
ールBITε D付加機能 RUN
アプリケーションモジュールラン USETIME
FMDM経過時間*ッm TINQUIRE状態質
問機能 DINIT 初期化
。
Rマスク可能でない割込み U0M 0NFJ6 ディスエイプル割込み DFL田
07レギシブル割込み UDONεI Do
Nf割込み l0APUI APU
割込ミ& 10MI IOM *O割込み l0U
IJTI 外部割込み UFJRRORI
vAり割込み UDMASK 割込み
マスク修正 Uタスク作成 CT DLY遅延
の後でタスク作成 TCTJltAJ大きなフレーム
でタスク作成 TCTJIN小さいフレームでタスク作
成 1表2(続き) FVOSソフトウェアモジュール機能の概要EC)10
出力へのエコー人力 !0優先 LOC
K ”Lock’機能 Tオーバーライ
ド艶UNLOCK ’Unlock’ 機能
1表2(続き) FVOSソフトウェアモジュール機能の概要JMPNZ
非ゼロへ飛越す TJMP P 正へ飛越
す TJMP N 負へ飛越す
T組込まれた 131TEPs 電源BITE
D試験機能 BITEMM メモリ
モジュールBITFJDBITECPUCPUモジュー
ルBITE DBITg*PU APUモジュ
ールBITε D付加機能 RUN
アプリケーションモジュールラン USETIME
FMDM経過時間*ッm TINQUIRE状態質
問機能 DINIT 初期化
。
LOAD] メモリバイトに値をロードする U表
2(続I) FVOSノットウェアモジュール機能の概要LOADJ
メモリ語に値をロードする U注;I=大入力0
=出力、T−タスク統合。
2(続I) FVOSノットウェアモジュール機能の概要LOADJ
メモリ語に値をロードする U注;I=大入力0
=出力、T−タスク統合。
D=診断、U=ユーザ一定義、^=算術表3
FVO8割込みの概要
10M#OI OM# 0 ユーザ一定義 ユーザ
一定義ERRORiigシレジスタ l[1条件時
ユーザ一定義
一定義ERRORiigシレジスタ l[1条件時
ユーザ一定義
第1図は実時間処理機能の流れの記号的な図、第2図は
FVO8機能構造の略図、第3図はシンプレックスMC
U FMDM構成の一般的な例を示す略図、第4図はF
VO8タスク状態図、第5(a)図、第5(b)図及び
第5(c)図はFVO8の動作モードを示す略図、第6
図はFVOSタスクスケジューラ−機能の流れを示す機
能流れ図、第7図はFVOSタスク作成および同期機能
の流れを示す機能流れ図、第8図はFVO8動作モード
時間線図、第9図は本発明のオペレーティングシステム
を利用する可能な制御装置の構成を示すブロック図であ
る。 12・・・・人力出力ドライバ、14・・・・割込みハ
ンドラー、2G−・−・タスクスケジューラ−、SM・
・・・検出手段、CM・・・・制御手段。 特許出願人 ハネウェル・インコーボレーテツド復代
理人 山川政樹 一 FIG3 FIG、9 E迄 FIG、4 FVO5汲勲會 (し)Oツウこ財力」dイ旨し−に ’;vos ti加−も−V゛ 双りスケシ!−ラーのオ会岩Eめ〉状 9に冷域あ・よバ鳴期ん祢能c−,5v(2)ネ71穎
Y6ミード FIG、8 手続補正書(木矢) 平成 年 月 日 特許庁長官殿 1−1231、事件
の表示 平成1手持 許願第別+gイ号 3、補正をする者
FVO8機能構造の略図、第3図はシンプレックスMC
U FMDM構成の一般的な例を示す略図、第4図はF
VO8タスク状態図、第5(a)図、第5(b)図及び
第5(c)図はFVO8の動作モードを示す略図、第6
図はFVOSタスクスケジューラ−機能の流れを示す機
能流れ図、第7図はFVOSタスク作成および同期機能
の流れを示す機能流れ図、第8図はFVO8動作モード
時間線図、第9図は本発明のオペレーティングシステム
を利用する可能な制御装置の構成を示すブロック図であ
る。 12・・・・人力出力ドライバ、14・・・・割込みハ
ンドラー、2G−・−・タスクスケジューラ−、SM・
・・・検出手段、CM・・・・制御手段。 特許出願人 ハネウェル・インコーボレーテツド復代
理人 山川政樹 一 FIG3 FIG、9 E迄 FIG、4 FVO5汲勲會 (し)Oツウこ財力」dイ旨し−に ’;vos ti加−も−V゛ 双りスケシ!−ラーのオ会岩Eめ〉状 9に冷域あ・よバ鳴期ん祢能c−,5v(2)ネ71穎
Y6ミード FIG、8 手続補正書(木矢) 平成 年 月 日 特許庁長官殿 1−1231、事件
の表示 平成1手持 許願第別+gイ号 3、補正をする者
Claims (4)
- (1)方程式リストと、構成リストと、機能ライブラリ
ィと、入力ドライバと、出力ドライバと、大きなタスク
のユーザー作成タスク定義リストと、小さいタスクのユ
ーザー作成タスク定義リストと、割込みハンドラーとを
含む実時間マルチタスキング・オペレーティングシステ
ムに使用する優先行列のアレイを含むタスクスケジユー
ラ装置において、 各ライブラリィ機能が終了した時に優先行列が質問され
、求められている資源を利用できる最高優先順位のタス
クセグメントが見出されて、実行され、同じ優先行列中
のタスクセグメントがラウンドロビンのやり方で実行さ
れるような、優先順位に従つてタスクをスケジユーリン
グする手段と、ユーザー作成リストを更新する手段と、
ユーザー作成リストを質問する手段とを含むタスク作成
手段と、 タスクスケジユーラーがロックされたタスクだけを実行
することを許し、優先実行の正常な状態がオーバーライ
ドされるような動作モードにタスクをロックする手段と
、ライブラリィ機能の終了を求めるタスクに動作を一時
休止させる待機手段とを含み、ロックされないで実行さ
れた状態と、ロックされないでアクティブな状態と、ロ
ックされないで待機する状態と、ロックされてアクティ
ブな状態と、またはロックされて待機する状態とに装置
の全ての大きなタスクの状態を維持する手段と、 を備えることを特徴とするタスクスケジユーラー装置。 - (2)タスクスケジユーラーがロックされたタスクだけ
を実行することを許し、優先実行の正常な状態がオーバ
ーライドされるような動作モードにタスクをロックする
手段と、ライブラリィ機能の終了を求めるタスクに動作
を一時休止させる待機手段とを含み、ロックされないで
実行された状態と、ロックされないでアクティブな状態
と、ロックされないで待機する状態と、ロックされてア
クティブな状態と、またはロックされて待機する状態と
に装置の全ての大きなタスクの状態を維持する手段、 を備えることを特徴とする実時間マルチタスキング・オ
ペレーティングシステムに使用する大きなタスク状態装
置。 - (3)方程式リストと、構成リストと、機能ライブラリ
ィと、入力ドライバと、出力ドライバと、大きなタスク
のユーザー作成タスク定義リストと、小さいタスクのユ
ーザー作成タスク定義リストと、割込みハンドラーとを
含む実時間マルチタスキング・オペレーティング・シス
テムに使用する優先行列のアレイを含み、タスクをスケ
ジユーリングする方法において、 各ライブラリィ機能が終了した時に優先行列が質問され
、求められている資源を利用できる最高優先順位のタス
クセグメントが見出されて、実行され、同じ優先行列中
のタスクセグメントがラウンドロビンのやり方で実行さ
れるような、優先順位に従つてタスクをスケジユーリン
グする過程と、ユーザー作成リストを更新および質問す
る過程を含むタスク作成過程と、 タスクスケジユーラーがロックされたタスクだけを実行
することを許し、優先実行の正常な状態がオーバーライ
ドされるような動作モードにタスクをロックする手段と
、ライブラリィ機能の終了を求めるタスクに動作を一時
休止させる待機手段とを含み、ロックされないで実行さ
れた状態と、ロックされないでアクティブな状態と、ロ
ックされないで待機する状態と、ロックされてアクティ
ブな状態と、またはロックされて待機する状態とに装置
の全ての大きなタスクの状態を維持する過程と、 を備えることを特徴とするタスクをスケジユーリングす
る方法。 - (4)タスクスケジユーラーがロックされたタスクだけ
を実行することを許し、優先実行の正常な状態がオーバ
ーライドされるような動作モードにタスクをロックする
手段と、ライブラリィ機能の終了を求めるタスクに動作
を一時休止させる待機手段とを含み、ロックされないで
実行された状態と、ロックされないでアクティブな状態
と、ロックされないで待機する状態と、ロックされてア
クティブな状態と、またはロックされて待機する状態と
に装置の全ての大きなタスクの状態を維持する過程、 を備えることを特徴とする実時間マルチタスキング・オ
ペレーティングシステムに使用するためのタスクの状態
を定める方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/166,334 US5012409A (en) | 1988-03-10 | 1988-03-10 | Operating system for a multi-tasking operating environment |
US166334 | 1988-03-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01316831A true JPH01316831A (ja) | 1989-12-21 |
Family
ID=22602827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1059489A Pending JPH01316831A (ja) | 1988-03-10 | 1989-03-10 | タスクスケジューラー装置およびタスクをスケジューリングする方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5012409A (ja) |
EP (1) | EP0332148A3 (ja) |
JP (1) | JPH01316831A (ja) |
CN (1) | CN1038712A (ja) |
Families Citing this family (134)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2650965B2 (ja) * | 1988-05-27 | 1997-09-10 | 株式会社日立製作所 | 計算機システムおよびそのタスクスケジュール方法 |
US5361365A (en) * | 1989-11-06 | 1994-11-01 | Sharp Kabushiki Kaisha | Microprocessor for selectively performing cold and warm starts |
AU650242B2 (en) * | 1989-11-28 | 1994-06-16 | International Business Machines Corporation | Methods and apparatus for dynamically managing input/output (I/O) connectivity |
US5168570A (en) * | 1989-12-29 | 1992-12-01 | Supercomputer Systems Limited Partnership | Method and apparatus for a multiple request toggling priority system |
US5208914A (en) * | 1989-12-29 | 1993-05-04 | Superconductor Systems Limited Partnership | Method and apparatus for non-sequential resource access |
US5452452A (en) * | 1990-06-11 | 1995-09-19 | Cray Research, Inc. | System having integrated dispatcher for self scheduling processors to execute multiple types of processes |
US5265257A (en) * | 1990-06-22 | 1993-11-23 | Digital Equipment Corporation | Fast arbiter having easy scaling for large numbers of requesters, large numbers of resource types with multiple instances of each type, and selectable queuing disciplines |
ATE119732T1 (de) * | 1990-06-26 | 1995-03-15 | Siemens Ag | Programmgesteuerte kommunikationsanlage. |
US5249297A (en) * | 1991-04-29 | 1993-09-28 | Hewlett-Packard Company | Methods and apparatus for carrying out transactions in a computer system |
US5247675A (en) * | 1991-08-09 | 1993-09-21 | International Business Machines Corporation | Preemptive and non-preemptive scheduling and execution of program threads in a multitasking operating system |
CA2076293A1 (en) * | 1991-10-11 | 1993-04-12 | Prathima Agrawal | Multiprocessor computer for solving sets of equations |
EP0537721B1 (en) * | 1991-10-15 | 1998-11-25 | Hewlett-Packard Company | Hardware-configured operating system kernel for a multitasking processor |
US5307482A (en) * | 1992-01-28 | 1994-04-26 | International Business Machines Corp. | Computer, non-maskable interrupt trace routine override |
US5640563A (en) * | 1992-01-31 | 1997-06-17 | International Business Machines Corporation | Multi-media computer operating system and method |
JPH05250187A (ja) * | 1992-03-06 | 1993-09-28 | Hitachi Ltd | レディ空間キューによるタスク制御方式 |
US5715474A (en) * | 1992-04-30 | 1998-02-03 | Motorola, Inc. | Simultaneous control of radio frequency modem in a multi-tasking system using a single session manager program with separate command queue for each application program |
US5392433A (en) * | 1992-09-25 | 1995-02-21 | International Business Machines Corporation | Method and apparatus for intraprocess locking of a shared resource in a computer system |
US6951019B1 (en) | 1992-09-30 | 2005-09-27 | Apple Computer, Inc. | Execution control for processor tasks |
US5471618A (en) * | 1992-11-30 | 1995-11-28 | 3Com Corporation | System for classifying input/output events for processes servicing the events |
US5513354A (en) * | 1992-12-18 | 1996-04-30 | International Business Machines Corporation | Fault tolerant load management system and method |
US5844980A (en) * | 1993-03-03 | 1998-12-01 | Siemens Business Communication Systems, Inc. | Queue managing system and method |
US5379432A (en) * | 1993-07-19 | 1995-01-03 | Taligent, Inc. | Object-oriented interface for a procedural operating system |
US5428789A (en) * | 1993-08-27 | 1995-06-27 | Waldron, Iii; Theodore C. | Method and apparatus for optimizing user response time in a priority preemptive operating system |
US5487170A (en) * | 1993-12-16 | 1996-01-23 | International Business Machines Corporation | Data processing system having dynamic priority task scheduling capabilities |
JP2856681B2 (ja) * | 1994-01-27 | 1999-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 外部事象を処理する方法およびシステム |
US5504904A (en) * | 1994-02-23 | 1996-04-02 | International Business Machines Corporation | Personal computer having operating system definition file for configuring computer system |
DE19500957A1 (de) * | 1994-07-19 | 1996-01-25 | Bosch Gmbh Robert | Verfahren zur Steuerung von technischen Vorgängen oder Prozessen |
US5513351A (en) * | 1994-07-28 | 1996-04-30 | International Business Machines Corporation | Protecting a system during system maintenance by usage of temporary filenames in an alias table |
US5511220A (en) * | 1994-09-01 | 1996-04-23 | Perlman; Noah | Multi-user computer system with a clock driven batch dispatching mechanism |
JPH08212086A (ja) * | 1994-09-30 | 1996-08-20 | Microsoft Corp | オフィスマシンのオペレーティングシステム及び方法 |
WO1996017306A2 (en) * | 1994-11-21 | 1996-06-06 | Oracle Corporation | Media server |
JPH096633A (ja) * | 1995-06-07 | 1997-01-10 | Internatl Business Mach Corp <Ibm> | データ処理システムに於ける高性能多重論理経路の動作用の方法とシステム |
US6769128B1 (en) | 1995-06-07 | 2004-07-27 | United Video Properties, Inc. | Electronic television program guide schedule system and method with data feed access |
US5940612A (en) * | 1995-09-27 | 1999-08-17 | International Business Machines Corporation | System and method for queuing of tasks in a multiprocessing system |
US6078942A (en) * | 1996-04-25 | 2000-06-20 | Microsoft Corporation | Resource management for multimedia devices in a computer |
US5801787A (en) * | 1996-06-14 | 1998-09-01 | Starsight Telecast, Inc. | Television schedule system and method of operation for multiple program occurrences |
US5954792A (en) * | 1996-12-30 | 1999-09-21 | Cadence Design Systems, Inc. | Method for schedule validation of embedded systems |
US6829764B1 (en) * | 1997-06-23 | 2004-12-07 | International Business Machines Corporation | System and method for maximizing usage of computer resources in scheduling of application tasks |
FR2765361B1 (fr) * | 1997-06-26 | 2001-09-21 | Bull Cp8 | Microprocesseur ou microcalculateur imprevisible |
US6408324B1 (en) * | 1997-07-03 | 2002-06-18 | Trw Inc. | Operating system having a non-interrupt cooperative multi-tasking kernel and a method of controlling a plurality of processes with the system |
WO1999004561A1 (en) | 1997-07-21 | 1999-01-28 | E-Guide, Inc. | Systems and methods for displaying and recording control interfaces |
US6182120B1 (en) * | 1997-09-30 | 2001-01-30 | International Business Machines Corporation | Method and system for scheduling queued messages based on queue delay and queue priority |
US5987492A (en) * | 1997-10-31 | 1999-11-16 | Sun Microsystems, Inc. | Method and apparatus for processor sharing |
US5999963A (en) * | 1997-11-07 | 1999-12-07 | Lucent Technologies, Inc. | Move-to-rear list scheduling |
US6510460B1 (en) * | 1997-12-18 | 2003-01-21 | Sun Microsystems, Inc. | Method and apparatus for enforcing locking invariants in multi-threaded systems |
US6678713B1 (en) * | 1998-04-29 | 2004-01-13 | Xerox Corporation | Machine control using a schedulerlock construct |
US6549928B1 (en) * | 1998-04-29 | 2003-04-15 | Xerox Corporation | Machine control integrating event based model with task based model |
CN1867068A (zh) | 1998-07-14 | 2006-11-22 | 联合视频制品公司 | 交互式电视节目导视系统及其方法 |
US6215559B1 (en) * | 1998-07-31 | 2001-04-10 | Eastman Kodak Company | Image queing in photofinishing |
US6061709A (en) * | 1998-07-31 | 2000-05-09 | Integrated Systems Design Center, Inc. | Integrated hardware and software task control executive |
US6898762B2 (en) | 1998-08-21 | 2005-05-24 | United Video Properties, Inc. | Client-server electronic program guide |
US6105050A (en) * | 1998-08-25 | 2000-08-15 | International Business Machines Corporation | System for resource lock/unlock capability in multithreaded computer environment |
US6112222A (en) * | 1998-08-25 | 2000-08-29 | International Business Machines Corporation | Method for resource lock/unlock capability in multithreaded computer environment |
US6105049A (en) * | 1998-08-25 | 2000-08-15 | International Business Machines Corporation | Resource lock/unlock capability in multithreaded computer environment |
US6334159B1 (en) * | 1998-12-22 | 2001-12-25 | Unisys Corporation | Method and apparatus for scheduling requests within a data processing system |
US6633942B1 (en) * | 1999-08-12 | 2003-10-14 | Rockwell Automation Technologies, Inc. | Distributed real-time operating system providing integrated interrupt management |
CN1668104A (zh) | 2000-10-11 | 2005-09-14 | 联合视频制品公司 | 提供数据存储到点播媒体传递系统中服务器上的系统和方法 |
US20020083063A1 (en) * | 2000-12-26 | 2002-06-27 | Bull Hn Information Systems Inc. | Software and data processing system with priority queue dispatching |
DE10065417B4 (de) * | 2000-12-27 | 2011-07-21 | Siemens AG, 80333 | Programmierung von zyklischen Maschinen |
DE10065419B4 (de) * | 2000-12-27 | 2011-01-20 | Siemens Ag | Industrielle Steuerung mit taktsynchronem Ablaufebenenmodell |
US6941175B2 (en) * | 2000-12-27 | 2005-09-06 | Siemens Aktiengesellschaft | Method of operating an industrial controller |
KR100424458B1 (ko) * | 2001-02-07 | 2004-03-26 | 삼성전자주식회사 | 리얼타임 멀티타스킹 오퍼레이팅 시스템에서의 타스크관리 방법 |
KR101548473B1 (ko) * | 2001-02-21 | 2015-08-28 | 로비 가이드스, 인크. | 개인용 비디오 녹화 특징을 갖는 대화식 프로그램 가이드를 위한 시스템 및 방법 |
DE10122422A1 (de) | 2001-05-09 | 2002-11-21 | Siemens Ag | Verfahren und Vorrichtung zum Einstellen der Bandbreite einer Verbindung zwischen mindestens zwei Kommunikationsendpunkten in einem Datennetz |
US20030009508A1 (en) * | 2001-06-26 | 2003-01-09 | Troia Terry A. | Method and system for providing processor task scheduling |
US20030037091A1 (en) * | 2001-08-09 | 2003-02-20 | Kozo Nishimura | Task scheduling device |
JP2003099272A (ja) * | 2001-09-20 | 2003-04-04 | Ricoh Co Ltd | タスク切替システムと方法およびdspとモデム |
US7647591B1 (en) * | 2001-09-26 | 2010-01-12 | Palmsource Inc. | Method for dynamically enabling the expansion of a computer operating system |
US7305675B1 (en) * | 2002-01-11 | 2007-12-04 | Advanced Micro Devices, Inc. | Processing tasks with failure recovery |
US7774816B2 (en) * | 2002-04-23 | 2010-08-10 | Rovi Technologies Corporation | Conflict manager for a video recorder |
US20030206719A1 (en) * | 2002-04-23 | 2003-11-06 | Jim Bumgardner | Storage Management for a Video Recorder |
US20030225817A1 (en) * | 2002-06-04 | 2003-12-04 | Prashanth Ishwar | Concurrent execution of kernel work and non-kernel work in operating systems with single-threaded kernel |
US7577816B2 (en) * | 2003-08-18 | 2009-08-18 | Cray Inc. | Remote translation mechanism for a multinode system |
US7243351B2 (en) * | 2002-12-17 | 2007-07-10 | International Business Machines Corporation | System and method for task scheduling based upon the classification value and probability |
CN100349149C (zh) * | 2003-01-24 | 2007-11-14 | 中兴通讯股份有限公司 | 嵌入式实时操作系统的进程调度方法 |
US7493646B2 (en) | 2003-01-30 | 2009-02-17 | United Video Properties, Inc. | Interactive television systems with digital video recording and adjustable reminders |
US8116611B2 (en) * | 2003-02-10 | 2012-02-14 | Aptiv Digital, Inc. | Tuner sharing video recorder system architecture |
US20040213557A1 (en) * | 2003-04-23 | 2004-10-28 | Pioneer Digital Technologies, Inc. | Non-hierarchical interface screens for use in a video recorder |
US7503048B1 (en) | 2003-08-18 | 2009-03-10 | Cray Incorporated | Scheduling synchronization of programs running as streams on multiple processors |
US7519771B1 (en) | 2003-08-18 | 2009-04-14 | Cray Inc. | System and method for processing memory instructions using a forced order queue |
US7543133B1 (en) | 2003-08-18 | 2009-06-02 | Cray Inc. | Latency tolerant distributed shared memory multiprocessor computer |
US8307194B1 (en) | 2003-08-18 | 2012-11-06 | Cray Inc. | Relaxed memory consistency model |
US7743223B2 (en) * | 2003-08-18 | 2010-06-22 | Cray Inc. | Decoupling of write address from its associated write data in a store to a shared memory in a multiprocessor system |
US7735088B1 (en) * | 2003-08-18 | 2010-06-08 | Cray Inc. | Scheduling synchronization of programs running as streams on multiple processors |
US7421565B1 (en) * | 2003-08-18 | 2008-09-02 | Cray Inc. | Method and apparatus for indirectly addressed vector load-add -store across multi-processors |
JP2005122470A (ja) * | 2003-10-16 | 2005-05-12 | Matsushita Electric Ind Co Ltd | 自律型デバイスドライバ |
CN1310146C (zh) * | 2004-02-09 | 2007-04-11 | 中兴通讯股份有限公司 | 单片机操作系统的模块化实现方法 |
WO2005089241A2 (en) | 2004-03-13 | 2005-09-29 | Cluster Resources, Inc. | System and method for providing object triggers |
US8707317B2 (en) * | 2004-04-30 | 2014-04-22 | Microsoft Corporation | Reserving a fixed amount of hardware resources of a multimedia console for system application and controlling the unreserved resources by the multimedia application |
US20050267792A1 (en) * | 2004-05-28 | 2005-12-01 | Sumit Mehrotra | Method and system for laboratory management |
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
CN1317640C (zh) * | 2004-08-31 | 2007-05-23 | 华为技术有限公司 | 实时操作系统环境下多任务应用软件模块的管理方法 |
US8171474B2 (en) * | 2004-10-01 | 2012-05-01 | Serguei Mankovski | System and method for managing, scheduling, controlling and monitoring execution of jobs by a job scheduler utilizing a publish/subscription interface |
US8806533B1 (en) | 2004-10-08 | 2014-08-12 | United Video Properties, Inc. | System and method for using television information codes |
US7669204B2 (en) * | 2004-10-14 | 2010-02-23 | International Business Machines Corporation | Autonomic SMT System tuning |
US7814490B2 (en) * | 2004-10-14 | 2010-10-12 | International Business Machines Corporation | Apparatus and methods for performing computer system maintenance and notification activities in an opportunistic manner |
CA2586763C (en) | 2004-11-08 | 2013-12-17 | Cluster Resources, Inc. | System and method of providing system jobs within a compute environment |
CN100437495C (zh) * | 2004-12-21 | 2008-11-26 | 鸿富锦精密工业(深圳)有限公司 | 解决资源重复锁定冲突系统及方法 |
US8510737B2 (en) * | 2005-01-07 | 2013-08-13 | Samsung Electronics Co., Ltd. | Method and system for prioritizing tasks made available by devices in a network |
US8229283B2 (en) | 2005-04-01 | 2012-07-24 | Rovi Guides, Inc. | System and method for quality marking of a recording |
US7646962B1 (en) * | 2005-09-30 | 2010-01-12 | Guideworks, Llc | System and methods for recording and playing back programs having desirable recording attributes |
US8214869B2 (en) | 2005-12-29 | 2012-07-03 | Rovi Guides, Inc. | Systems and methods for managing a status change of a multimedia asset in multimedia delivery systems |
US7765235B2 (en) * | 2005-12-29 | 2010-07-27 | Rovi Guides, Inc. | Systems and methods for resolving conflicts and managing system resources in multimedia delivery systems |
US7774341B2 (en) | 2006-03-06 | 2010-08-10 | Veveo, Inc. | Methods and systems for selecting and presenting content based on dynamically identifying microgenres associated with the content |
US8316394B2 (en) | 2006-03-24 | 2012-11-20 | United Video Properties, Inc. | Interactive media guidance application with intelligent navigation and display features |
CN100517236C (zh) * | 2006-04-03 | 2009-07-22 | 北京握奇数据系统有限公司 | 智能卡嵌入式操作系统及其控制方法 |
JP2007287007A (ja) * | 2006-04-19 | 2007-11-01 | Orion Denki Kk | 操作タスク予約機能を備えた情報処理装置及び操作タスク予約処理プログラム及び操作タスクの予約処理方法 |
US20080046935A1 (en) * | 2006-08-18 | 2008-02-21 | Krakirian Haig H | System and method for displaying program guide information |
US8832742B2 (en) | 2006-10-06 | 2014-09-09 | United Video Properties, Inc. | Systems and methods for acquiring, categorizing and delivering media in interactive media guidance applications |
JP5243711B2 (ja) * | 2006-11-10 | 2013-07-24 | セイコーエプソン株式会社 | プロセッサ |
US7801888B2 (en) | 2007-03-09 | 2010-09-21 | Microsoft Corporation | Media content search results ranked by popularity |
US8738606B2 (en) * | 2007-03-30 | 2014-05-27 | Microsoft Corporation | Query generation using environment configuration |
US8141079B2 (en) * | 2007-06-28 | 2012-03-20 | Samsung Electronics Co., Ltd. | Dynamic application scheduler in a polling system |
US8126860B2 (en) * | 2007-07-17 | 2012-02-28 | Ricoh Company, Limited | Method and apparatus for processing data |
US9953282B2 (en) | 2007-09-04 | 2018-04-24 | International Business Machines Corporation | System and method for providing automatic task assignment and notification |
CA2715385A1 (en) * | 2008-02-12 | 2009-08-20 | Pacific Biosciences Of California, Inc. | Compositions and methods for use in analytical reactions |
US8989561B1 (en) | 2008-05-29 | 2015-03-24 | Rovi Guides, Inc. | Systems and methods for alerting users of the postponed recording of programs |
US10063934B2 (en) | 2008-11-25 | 2018-08-28 | Rovi Technologies Corporation | Reducing unicast session duration with restart TV |
JP4709268B2 (ja) * | 2008-11-28 | 2011-06-22 | 日立オートモティブシステムズ株式会社 | 車両制御用マルチコアシステムまたは内燃機関の制御装置 |
US8266477B2 (en) * | 2009-01-09 | 2012-09-11 | Ca, Inc. | System and method for modifying execution of scripts for a job scheduler using deontic logic |
US9166714B2 (en) | 2009-09-11 | 2015-10-20 | Veveo, Inc. | Method of and system for presenting enriched video viewing analytics |
US20110252423A1 (en) | 2010-04-07 | 2011-10-13 | Apple Inc. | Opportunistic Multitasking |
WO2012094564A1 (en) | 2011-01-06 | 2012-07-12 | Veveo, Inc. | Methods of and systems for content search based on environment sampling |
US8805418B2 (en) | 2011-12-23 | 2014-08-12 | United Video Properties, Inc. | Methods and systems for performing actions based on location-based rules |
CN103293967A (zh) * | 2012-02-29 | 2013-09-11 | 陕西省地方电力(集团)有限公司 | 一种用于智能抄表终端的多任务控制方法 |
CN102937915B (zh) * | 2012-11-28 | 2016-02-24 | 中国人民解放军国防科学技术大学 | 用于多核处理器的硬件锁实现方法及装置 |
US9336068B2 (en) | 2013-06-07 | 2016-05-10 | Apple Inc. | Throttling of application access to resources |
JP6318751B2 (ja) * | 2014-03-20 | 2018-05-09 | 富士通株式会社 | 情報処理装置、アクション切替方法、及びアクション切替プログラム |
US10354609B2 (en) * | 2016-03-02 | 2019-07-16 | Samsung Electronics Co., Ltd. | Functional mode aware resource management |
US10051442B2 (en) * | 2016-12-27 | 2018-08-14 | Motorola Solutions, Inc. | System and method for determining timing of response in a group communication using artificial intelligence |
US11593668B2 (en) | 2016-12-27 | 2023-02-28 | Motorola Solutions, Inc. | System and method for varying verbosity of response in a group communication using artificial intelligence |
US11143516B2 (en) * | 2019-12-30 | 2021-10-12 | GM Cruise Holdings, LLC | Task management system for high-definition maps |
US11953921B2 (en) | 2021-06-11 | 2024-04-09 | Rockwell Collins, Inc. | Vehicular system and method for pre-arming actions according to conditional timeline and associated trigger events |
CN116974728B (zh) * | 2023-09-20 | 2024-01-02 | 深圳市德兰明海新能源股份有限公司 | 单片机任务调度方法、单片机产品及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3618045A (en) * | 1969-05-05 | 1971-11-02 | Honeywell Inf Systems | Management control subsystem for multiprogrammed data processing system |
US3643227A (en) * | 1969-09-15 | 1972-02-15 | Fairchild Camera Instr Co | Job flow and multiprocessor operation control system |
FR2253428A5 (ja) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
US4001783A (en) * | 1975-03-26 | 1977-01-04 | Honeywell Information Systems, Inc. | Priority interrupt mechanism |
US4047161A (en) * | 1976-04-30 | 1977-09-06 | International Business Machines Corporation | Task management apparatus |
US4228495A (en) * | 1978-12-19 | 1980-10-14 | Allen-Bradley Company | Multiprocessor numerical control system |
-
1988
- 1988-03-10 US US07/166,334 patent/US5012409A/en not_active Expired - Fee Related
-
1989
- 1989-03-07 EP EP89104020A patent/EP0332148A3/en not_active Withdrawn
- 1989-03-09 CN CN89101252.4A patent/CN1038712A/zh active Pending
- 1989-03-10 JP JP1059489A patent/JPH01316831A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP0332148A3 (en) | 1990-08-08 |
CN1038712A (zh) | 1990-01-10 |
US5012409A (en) | 1991-04-30 |
EP0332148A2 (en) | 1989-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH01316831A (ja) | タスクスケジューラー装置およびタスクをスケジューリングする方法 | |
US9904576B2 (en) | Method and apparatus implemented in processors for real-time scheduling and task organization based on response time order of magnitude | |
US4980824A (en) | Event driven executive | |
US4414624A (en) | Multiple-microcomputer processing | |
US6430593B1 (en) | Method, device and article of manufacture for efficient task scheduling in a multi-tasking preemptive priority-based real-time operating system | |
US5390329A (en) | Responding to service requests using minimal system-side context in a multiprocessor environment | |
US5949994A (en) | Dedicated context-cycling computer with timed context | |
US7565659B2 (en) | Light weight context switching | |
EP0637802A2 (en) | Interrupt vector method and apparatus | |
JPS5833586B2 (ja) | 情報処理システム | |
Lamie | Real-time embedded multithreading: using ThreadX and ARM | |
Furht et al. | Performance of REAL/IX TM-fully preemptive real time UNIX | |
Koroušić-Seljak | Task scheduling policies for real-time systems | |
Wada et al. | Fast interrupt handling scheme by using interrupt wake-up mechanism | |
Caprani et al. | Implementation of real-time scheduling algorithms in a transputer environment | |
JPH03253965A (ja) | コントローラによるマルチタスク処理方式 | |
EP1008054A1 (en) | Real time software system | |
WO1992003784A1 (en) | Scheduling method for a multiprocessing operating system | |
JPH1074150A (ja) | プロセススケジューリング方法ならびにそのためのプロセススケジューリング装置およびプログラム記憶媒体 | |
Schrott | A generalized task concept for multiprocessor real-time systems | |
Colnarič et al. | A hardware supported operating system kernel for embedded hard real-time applications | |
Raxmonova et al. | Analysis of scheduling algorithms in operating systems | |
JPS63163640A (ja) | スケジユ−リング方式 | |
Chattergy | Microprogrammed implementation of a scheduler | |
WO1992003783A1 (en) | Method of implementing kernel functions |