JPH0651999A - 資源排他制御機能を有する情報処理システム - Google Patents
資源排他制御機能を有する情報処理システムInfo
- Publication number
- JPH0651999A JPH0651999A JP4208105A JP20810592A JPH0651999A JP H0651999 A JPH0651999 A JP H0651999A JP 4208105 A JP4208105 A JP 4208105A JP 20810592 A JP20810592 A JP 20810592A JP H0651999 A JPH0651999 A JP H0651999A
- Authority
- JP
- Japan
- Prior art keywords
- resource
- semaphore
- task
- function
- wait
- 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
Abstract
(57)【要約】 (修正有)
【目的】オペレーティングシステムOSが備える機能を
利用して資源の排他制御を実現する際に、高速実行する
ことができる情報処理システムを提供する。 【構成】OS2と各タスクによって使用される1または
2以上の資源とを備える情報処理システムで、マルチタ
スクOS2の環境下で資源を排他制御する資源排他制御
機能を備える。資源獲得待ち管理手段(資源管理テーブ
ル16)と資源獲得制御部12と、タスクから資源の解
放要求を受け、前記資源獲得待ち状態管理手段が管理す
る資源獲得待ち状態に応じて、前記OS2に対しウェイ
ト状態タスクの再開を要求する資源解放制御部13とを
備える。またタスクのウェイトには、セマフォ機能が用
いられる。資源獲得制御部12は、使用するセマフォを
動的に割当てる機能を持つことができる。 【効果】セマフォを動的に割当てるため、最小限のセマ
フォ数で、OSがテーブルとする領域削限可能。
利用して資源の排他制御を実現する際に、高速実行する
ことができる情報処理システムを提供する。 【構成】OS2と各タスクによって使用される1または
2以上の資源とを備える情報処理システムで、マルチタ
スクOS2の環境下で資源を排他制御する資源排他制御
機能を備える。資源獲得待ち管理手段(資源管理テーブ
ル16)と資源獲得制御部12と、タスクから資源の解
放要求を受け、前記資源獲得待ち状態管理手段が管理す
る資源獲得待ち状態に応じて、前記OS2に対しウェイ
ト状態タスクの再開を要求する資源解放制御部13とを
備える。またタスクのウェイトには、セマフォ機能が用
いられる。資源獲得制御部12は、使用するセマフォを
動的に割当てる機能を持つことができる。 【効果】セマフォを動的に割当てるため、最小限のセマ
フォ数で、OSがテーブルとする領域削限可能。
Description
【0001】
【産業上の利用分野】本発明は、マルチタスク処理を行
なう情報処理システムに係り、特に、マルチタスクOS
が備える機能を利用した資源の排他制御機能を有する情
報処理システムに関する。
なう情報処理システムに係り、特に、マルチタスクOS
が備える機能を利用した資源の排他制御機能を有する情
報処理システムに関する。
【0002】
【従来の技術】現在のOA(オフィスオートメーショ
ン)分野では、ワークステーション、ファクシミリ等
の、種々の情報処理装置が用いられている。例えば、文
書を即座に配送できるファクシミリは、オフィスにおい
て不可欠な装置となっている。このファクシミリとして
は、一枚の文書を数十秒から一分で送信する電話網用G
3機が、約400万台と広く普及している。
ン)分野では、ワークステーション、ファクシミリ等
の、種々の情報処理装置が用いられている。例えば、文
書を即座に配送できるファクシミリは、オフィスにおい
て不可欠な装置となっている。このファクシミリとして
は、一枚の文書を数十秒から一分で送信する電話網用G
3機が、約400万台と広く普及している。
【0003】また、従来の公衆電話網に代って、データ
をデジタル二値のまま通信可能なサービス統合デジタル
網(ISDN:Integrated Services Digital Network)
が整備されてきた。このISDNは、音声、画像、デー
タ等の各種通信サービスを統一インタフェースにより提
供するもので、基本インタフェースと一次群インタフェ
ースとが実用化されている。このうち、基本インタフェ
ースは、一本の加入者線上に、64Kbps(bits per sec
ond)の情報伝送チャネルを2本と、16Kbpsの制御チ
ャネルを1本備えている。
をデジタル二値のまま通信可能なサービス統合デジタル
網(ISDN:Integrated Services Digital Network)
が整備されてきた。このISDNは、音声、画像、デー
タ等の各種通信サービスを統一インタフェースにより提
供するもので、基本インタフェースと一次群インタフェ
ースとが実用化されている。このうち、基本インタフェ
ースは、一本の加入者線上に、64Kbps(bits per sec
ond)の情報伝送チャネルを2本と、16Kbpsの制御チ
ャネルを1本備えている。
【0004】このようなインフラストラクチャ確立の影
響を受けて、ISDNのようなデジタル網に接続可能な
G4機が注目を浴びている。この装置は、一枚のA4原
稿を数秒で送信し、さらに、400×400ppi(pels
per inch)の高精細な画像通信を実現できる。
響を受けて、ISDNのようなデジタル網に接続可能な
G4機が注目を浴びている。この装置は、一枚のA4原
稿を数秒で送信し、さらに、400×400ppi(pels
per inch)の高精細な画像通信を実現できる。
【0005】これらのファクシミリにおいては、スキャ
ナで読取った画像データを一時蓄積するメモリ等の記憶
装置を設け、蓄積した画像データを複数の相手ファクシ
ミリへ順次送信する同報送信機能を備えたものも多い。
また、ファクシミリ機能を、送信原稿のメモリ読込、メ
モリ受信原稿の印刷、メモリ通信等の、記憶装置を介す
るジョブに分割し、前記ジョブを並列実行させるマルチ
アクセス機能を備えた装置もある。このマルチアクセス
機能によると、メモリに蓄積した画像データの送信中や
受信画像データのメモリ蓄積中、またはメモリ蓄積した
画像データの印刷中に、次の送信原稿をスキャナで読込
みメモリ蓄積できるため、ユーザの送信待ち時間を短縮
することが可能となる。また、ISDNの二情報伝送チ
ャネルや複数の回線を用い、複数の相手先ファクシミリ
と同時に通信する多回線通信制御機能を特徴とする装置
もある。
ナで読取った画像データを一時蓄積するメモリ等の記憶
装置を設け、蓄積した画像データを複数の相手ファクシ
ミリへ順次送信する同報送信機能を備えたものも多い。
また、ファクシミリ機能を、送信原稿のメモリ読込、メ
モリ受信原稿の印刷、メモリ通信等の、記憶装置を介す
るジョブに分割し、前記ジョブを並列実行させるマルチ
アクセス機能を備えた装置もある。このマルチアクセス
機能によると、メモリに蓄積した画像データの送信中や
受信画像データのメモリ蓄積中、またはメモリ蓄積した
画像データの印刷中に、次の送信原稿をスキャナで読込
みメモリ蓄積できるため、ユーザの送信待ち時間を短縮
することが可能となる。また、ISDNの二情報伝送チ
ャネルや複数の回線を用い、複数の相手先ファクシミリ
と同時に通信する多回線通信制御機能を特徴とする装置
もある。
【0006】前記した装置においては、ソフトウェアで
実現する各種処理(ジョブ)をタスクという最適な単位
に分割し、実行優先順位を持つ各タスクをマルチタスク
オペレーティングシステム(OS)の環境下で並列動作
させる、マルチタスク処理が行なわれている。マルチタ
スクOSの環境下でマルチアクセス機能や多回線通信制
御機能を実現するには、タスク間で共通に使用するスキ
ャナ、プリンタ、通信制御装置等のハードウェア資源を
排他制御する必要がある。このほか、各種制御テーブル
の排他制御も不可欠である。例えば、予め登録された相
手先ファクシミリへ送信するワンタッチダイヤルまたは
短縮ダイヤル機能を備えた装置によると、既に、送信予
約されているワンタッチまたは短縮ダイヤル番号に対応
して記憶した相手先ファクシミリの電話番号を変更する
と、予約された原稿を異なる宛先へ送信してしまう。こ
のため、各ワンタッチまたは短縮ダイヤル番号に対応す
る登録テーブル毎に相互排除することで、あるタスクが
登録テーブルを使用中の場合、別のタスクが登録テーブ
ルを使用しないように制御しなければならない。
実現する各種処理(ジョブ)をタスクという最適な単位
に分割し、実行優先順位を持つ各タスクをマルチタスク
オペレーティングシステム(OS)の環境下で並列動作
させる、マルチタスク処理が行なわれている。マルチタ
スクOSの環境下でマルチアクセス機能や多回線通信制
御機能を実現するには、タスク間で共通に使用するスキ
ャナ、プリンタ、通信制御装置等のハードウェア資源を
排他制御する必要がある。このほか、各種制御テーブル
の排他制御も不可欠である。例えば、予め登録された相
手先ファクシミリへ送信するワンタッチダイヤルまたは
短縮ダイヤル機能を備えた装置によると、既に、送信予
約されているワンタッチまたは短縮ダイヤル番号に対応
して記憶した相手先ファクシミリの電話番号を変更する
と、予約された原稿を異なる宛先へ送信してしまう。こ
のため、各ワンタッチまたは短縮ダイヤル番号に対応す
る登録テーブル毎に相互排除することで、あるタスクが
登録テーブルを使用中の場合、別のタスクが登録テーブ
ルを使用しないように制御しなければならない。
【0007】このような資源の排他制御は、ファクシミ
リに限らず、マルチタスク処理を行なう、その他のOA
機器、例えば、ワークステーション等の情報処理装置に
おいても必要である。
リに限らず、マルチタスク処理を行なう、その他のOA
機器、例えば、ワークステーション等の情報処理装置に
おいても必要である。
【0008】資源の排他制御には、OSが提供するセマ
フォ機能を利用する方式がある。セマフォは、ステータ
ス情報とタスクの待ち行列からなる。資源を占有するタ
スクは、OSに対しセマフォの獲得を要求する。セマフ
ォ獲得要求を受けたOSは、ステータスを参照し、他タ
スクによりセマフォが使用されている場合、セマフォ獲
得要求を発行したタスクを待ち行列につなぎ、他の実行
可能なタスクを起動する。また、資源を解放するタスク
は、OSに対しセマフォの解放を要求する。セマフォ解
放要求を受けたOSは、待ち行列を参照し、セマフォ獲
得待ちのタスクが存在する場合、待ち行列先頭のタスク
を起動する。通常、各種資源を排他制御するために、O
Sは、複数のセマフォを管理可能であり、セマフォ番号
と呼ばれる情報により各セマフォを識別する。
フォ機能を利用する方式がある。セマフォは、ステータ
ス情報とタスクの待ち行列からなる。資源を占有するタ
スクは、OSに対しセマフォの獲得を要求する。セマフ
ォ獲得要求を受けたOSは、ステータスを参照し、他タ
スクによりセマフォが使用されている場合、セマフォ獲
得要求を発行したタスクを待ち行列につなぎ、他の実行
可能なタスクを起動する。また、資源を解放するタスク
は、OSに対しセマフォの解放を要求する。セマフォ解
放要求を受けたOSは、待ち行列を参照し、セマフォ獲
得待ちのタスクが存在する場合、待ち行列先頭のタスク
を起動する。通常、各種資源を排他制御するために、O
Sは、複数のセマフォを管理可能であり、セマフォ番号
と呼ばれる情報により各セマフォを識別する。
【0009】また、資源の排他制御は、特開昭63-24441
号公報記載のように、フラグの変化によりタスク間の同
期処理を実行するイベントフラグ機能を用いることでも
可能である。
号公報記載のように、フラグの変化によりタスク間の同
期処理を実行するイベントフラグ機能を用いることでも
可能である。
【0010】図8は、OSが提供するセマフォ機能を利
用した従来の資源排他制御システムを示すタスクシーケ
ンスであり、横軸には時間をとっている。
用した従来の資源排他制御システムを示すタスクシーケ
ンスであり、横軸には時間をとっている。
【0011】図8において、タスクAおよびBは同一の
資源を共有し、優先順位はタスクAよりタスクBの方が
高いものとする。まず、タスクAは、資源獲得のためセ
マフォ獲得を要求する()。OSは、セマフォが未使
用であることを確認して、セマフォを獲得し、タスクA
を再開させる()。ある時間の経過後、タスク切換え
の要因が発生し()、OSはタスクAの実行を中断し
た後、優先順位の高いタスクBを起動する。タスクB
は、起動を開始して資源獲得のためセマフォ獲得を要求
する()。OSは、セマフォが他タスクにより使用さ
れていることを確認した後、タスクBをセマフォ待ち行
列につなぎ実行を中断する。そして、処理を中断してい
たタスクAを再開させる()。タスクAは、処理を終
えると、資源解放のためセマフォ解放を要求する
()。OSは、セマフォの獲得を待つタスクBを待ち
行列から外し、タスクBのためにセマフォを獲得した
後、実行を再開させる()。タスクBは処理を終える
と、資源解放のためセマフォ解放を要求する()。O
Sは、セマフォ待ちのタスクが存在しないため、優先順
位の高いタスクBを再開させる()。
資源を共有し、優先順位はタスクAよりタスクBの方が
高いものとする。まず、タスクAは、資源獲得のためセ
マフォ獲得を要求する()。OSは、セマフォが未使
用であることを確認して、セマフォを獲得し、タスクA
を再開させる()。ある時間の経過後、タスク切換え
の要因が発生し()、OSはタスクAの実行を中断し
た後、優先順位の高いタスクBを起動する。タスクB
は、起動を開始して資源獲得のためセマフォ獲得を要求
する()。OSは、セマフォが他タスクにより使用さ
れていることを確認した後、タスクBをセマフォ待ち行
列につなぎ実行を中断する。そして、処理を中断してい
たタスクAを再開させる()。タスクAは、処理を終
えると、資源解放のためセマフォ解放を要求する
()。OSは、セマフォの獲得を待つタスクBを待ち
行列から外し、タスクBのためにセマフォを獲得した
後、実行を再開させる()。タスクBは処理を終える
と、資源解放のためセマフォ解放を要求する()。O
Sは、セマフォ待ちのタスクが存在しないため、優先順
位の高いタスクBを再開させる()。
【0012】
【発明が解決しようとする課題】一般に、リアルタイム
なマルチタスクOSは、セマフォ機能以外に、タスクの
生成、起動、終了、中断、再開、タイマを用いた周期起
動、指定時刻起動等のタスク管理機能、事象発生の有無
をフラグで管理し、フラグの変化によりタスク間の同期
処理を実行するイベントフラグ機能、タスク間のメッセ
ージ通信を実行するメールボックス機能等を備える。
なマルチタスクOSは、セマフォ機能以外に、タスクの
生成、起動、終了、中断、再開、タイマを用いた周期起
動、指定時刻起動等のタスク管理機能、事象発生の有無
をフラグで管理し、フラグの変化によりタスク間の同期
処理を実行するイベントフラグ機能、タスク間のメッセ
ージ通信を実行するメールボックス機能等を備える。
【0013】このような各種機能を実現するために、マ
ルチタスクOSは、実行可能なタスクを管理するCPU
待ち行列と、実行するタスクを決定するディスパッチャ
部を備える。例えば、セマフォ獲得要求が発生した場
合、タスクをセマフォ獲得待ち行列につないだ後、ディ
スパッチャ部に移行して、CPU待ち行列のタスクから
優先順位の高いタスクを選択し、実行する。また、セマ
フォ解放要求が発生した場合、セマフォ獲得待ち行列の
タスクをCPU待ち行列につなぎ換えた後、ディスパッ
チャ部に移行して、CPU待ち行列のタスクから優先順
位の高いタスクを選択し実行する。イベントフラグ、メ
ールボックス機能についても同様に、各機能の待ち行列
を備え、ディスパッチャ部により実際に実行するタスク
を決定する。
ルチタスクOSは、実行可能なタスクを管理するCPU
待ち行列と、実行するタスクを決定するディスパッチャ
部を備える。例えば、セマフォ獲得要求が発生した場
合、タスクをセマフォ獲得待ち行列につないだ後、ディ
スパッチャ部に移行して、CPU待ち行列のタスクから
優先順位の高いタスクを選択し、実行する。また、セマ
フォ解放要求が発生した場合、セマフォ獲得待ち行列の
タスクをCPU待ち行列につなぎ換えた後、ディスパッ
チャ部に移行して、CPU待ち行列のタスクから優先順
位の高いタスクを選択し実行する。イベントフラグ、メ
ールボックス機能についても同様に、各機能の待ち行列
を備え、ディスパッチャ部により実際に実行するタスク
を決定する。
【0014】以上説明したように、セマフォの獲得また
は解放機能は、各セマフォのステータス更新処理、セマ
フォ獲得待ち行列のつなぎ換え処理およびディスパッチ
ャ処理から構成される。
は解放機能は、各セマフォのステータス更新処理、セマ
フォ獲得待ち行列のつなぎ換え処理およびディスパッチ
ャ処理から構成される。
【0015】ディスパッチャ処理は、CPU待ち行列に
存在するタスクのうち、優先順位の最も高いタスクを検
索し、実行に移すため、処理時間が長い。例えば、ある
タスクが、他タスクにより使用されていないセマフォに
対して獲得を要求する場合を考える。このとき、セマフ
ォは、獲得可能であるため、即座に要求したタスクへ制
御が戻るはずであるが、実際には、タスクは一旦CPU
待ち行列につながれ、ディスパッチャ部を介して実行に
移される。このように、セマフォの獲得または解放を要
求すると、必ずディスパッチャ処理を実行するため、タ
スクへ制御が戻るまで、数百マイクロ秒程度の遅延時間
が発生する。
存在するタスクのうち、優先順位の最も高いタスクを検
索し、実行に移すため、処理時間が長い。例えば、ある
タスクが、他タスクにより使用されていないセマフォに
対して獲得を要求する場合を考える。このとき、セマフ
ォは、獲得可能であるため、即座に要求したタスクへ制
御が戻るはずであるが、実際には、タスクは一旦CPU
待ち行列につながれ、ディスパッチャ部を介して実行に
移される。このように、セマフォの獲得または解放を要
求すると、必ずディスパッチャ処理を実行するため、タ
スクへ制御が戻るまで、数百マイクロ秒程度の遅延時間
が発生する。
【0016】この処理の遅延時間は、このようなタスク
が多数ある場合に、全体としてむだな時間が多くなるた
め、最小限に抑える必要がある。例えば、ファクシミリ
においては、処理の遅延時間が通信時間に反映され、ユ
ーザの通信料金負担が増大しかねない。このため、処理
の遅延時間を最小限に抑止しなければならない。
が多数ある場合に、全体としてむだな時間が多くなるた
め、最小限に抑える必要がある。例えば、ファクシミリ
においては、処理の遅延時間が通信時間に反映され、ユ
ーザの通信料金負担が増大しかねない。このため、処理
の遅延時間を最小限に抑止しなければならない。
【0017】また、排他制御が必要な資源が多い場合、
排他制御が必要な全ての資源に対して異なるセマフォを
割当てると、セマフォを管理する制御テーブルとして大
容量のメモリ領域を要するという問題がある。例えば、
ファクシミリ装置の場合、装置の仕様によっては、数百
のワンタッチまたは短縮ダイヤルの登録テーブルを備え
るものもあり、セマフォを管理する制御テーブルとして
大容量のメモリ領域を要する。
排他制御が必要な全ての資源に対して異なるセマフォを
割当てると、セマフォを管理する制御テーブルとして大
容量のメモリ領域を要するという問題がある。例えば、
ファクシミリ装置の場合、装置の仕様によっては、数百
のワンタッチまたは短縮ダイヤルの登録テーブルを備え
るものもあり、セマフォを管理する制御テーブルとして
大容量のメモリ領域を要する。
【0018】本発明の第1の目的は、OSが備える機能
を利用して資源の排他制御を実現する際に、高速で、資
源排他制御を実行することができる情報処理システムを
提供することにある。
を利用して資源の排他制御を実現する際に、高速で、資
源排他制御を実行することができる情報処理システムを
提供することにある。
【0019】また、本発明の第2の目的は、セマフォ管
理に大容量のメモリ領域を要しないで資源排他制御を実
行することができる情報処理システムを提供することに
ある。
理に大容量のメモリ領域を要しないで資源排他制御を実
行することができる情報処理システムを提供することに
ある。
【0020】
【課題を解決するための手段】前記第1の目的を達成す
るため、本発明によれば、マルチタスクOS(オペレー
ティングシステム)と、各タスクによって使用される1
または2以上の資源とを備える情報処理システムにおい
て、マルチタスクOSの環境下で資源を排他制御する資
源排他制御機能を備える情報処理システムが提供され
る。
るため、本発明によれば、マルチタスクOS(オペレー
ティングシステム)と、各タスクによって使用される1
または2以上の資源とを備える情報処理システムにおい
て、マルチタスクOSの環境下で資源を排他制御する資
源排他制御機能を備える情報処理システムが提供され
る。
【0021】資源排他制御機能は、資源獲得待ち状態を
管理する資源獲得待ち状態管理手段と、タスクから資源
の獲得要求を受け、前記資源獲得待ち状態管理手段が管
理する資源獲得待ち状態に応じて、前記OSに対しタス
クウェイト状態への移行を要求する資源獲得制御部と、
タスクから資源の解放要求を受け、前記資源獲得待ち状
態管理手段が管理する資源獲得待ち状態に応じて、前記
OSに対しウェイト状態タスクの再開を要求する資源解
放制御部とを備えて構成される。
管理する資源獲得待ち状態管理手段と、タスクから資源
の獲得要求を受け、前記資源獲得待ち状態管理手段が管
理する資源獲得待ち状態に応じて、前記OSに対しタス
クウェイト状態への移行を要求する資源獲得制御部と、
タスクから資源の解放要求を受け、前記資源獲得待ち状
態管理手段が管理する資源獲得待ち状態に応じて、前記
OSに対しウェイト状態タスクの再開を要求する資源解
放制御部とを備えて構成される。
【0022】前記資源獲得制御部は、各タスクから資源
の獲得要求を受けて、OSに対して、セマフォの獲得を
要求する機能を有するものとすることができる。また、
前記資源解放制御部は、タスクから資源の解放要求を受
けて、OSに対して、セマフォの解放を要求する機能を
有するものとすることができる。
の獲得要求を受けて、OSに対して、セマフォの獲得を
要求する機能を有するものとすることができる。また、
前記資源解放制御部は、タスクから資源の解放要求を受
けて、OSに対して、セマフォの解放を要求する機能を
有するものとすることができる。
【0023】前記資源獲得待ち状態管理手段は、排他制
御が必要な資源の数に相当するテーブル要素が配列され
る資源管理テーブルを有する構成とすることができる。
ここで、各テーブル要素は、資源を識別するための識別
子を記憶する資源識別子記憶領域、資源獲得待ち状態の
タスク数を格納するウェイトタスクカウンタを記憶する
ウェイトタスクカウンタ記憶領域、および、資源獲得待
ちに使用するセマフォの識別子を記憶するウェイトセマ
フォ識別子記憶領域を有する構成とすることができる。
御が必要な資源の数に相当するテーブル要素が配列され
る資源管理テーブルを有する構成とすることができる。
ここで、各テーブル要素は、資源を識別するための識別
子を記憶する資源識別子記憶領域、資源獲得待ち状態の
タスク数を格納するウェイトタスクカウンタを記憶する
ウェイトタスクカウンタ記憶領域、および、資源獲得待
ちに使用するセマフォの識別子を記憶するウェイトセマ
フォ識別子記憶領域を有する構成とすることができる。
【0024】前記資源排他制御機能は、資源獲得制御部
にリンクして設けられ、使用するセマフォを割り当てる
セマフォ割当部と、資源解放制御部にリンクして設けら
れ、使用したセマフォを解除するセマフォ解除部と、セ
マフォの使用状況を管理するセマフォ管理テーブルとを
さらに有することができる。ここで、セマフォ管理テー
ブルは、少なくとも同時に発生する可能性がある資源の
獲得要求毎に設けられ、獲得要求数に相当する数のテー
ブル要素が配列される。各テーブル要素は、セマフォ識
別子を記憶するセマフォ識別子記憶領域と、セマフォス
テータスを記憶するセマフォステータス記憶領域とを有
する構成とすることができる。なお、セマフォ識別子記
憶領域には、OSで管理されるセマフォの識別子が予め
格納される。セマフォの識別子としては、例えば、セマ
フォ番号が用いられる。
にリンクして設けられ、使用するセマフォを割り当てる
セマフォ割当部と、資源解放制御部にリンクして設けら
れ、使用したセマフォを解除するセマフォ解除部と、セ
マフォの使用状況を管理するセマフォ管理テーブルとを
さらに有することができる。ここで、セマフォ管理テー
ブルは、少なくとも同時に発生する可能性がある資源の
獲得要求毎に設けられ、獲得要求数に相当する数のテー
ブル要素が配列される。各テーブル要素は、セマフォ識
別子を記憶するセマフォ識別子記憶領域と、セマフォス
テータスを記憶するセマフォステータス記憶領域とを有
する構成とすることができる。なお、セマフォ識別子記
憶領域には、OSで管理されるセマフォの識別子が予め
格納される。セマフォの識別子としては、例えば、セマ
フォ番号が用いられる。
【0025】また、前記第2の目的を達成するため、本
発明によれば、マルチタスクOS(オペレーティングシ
ステム)と、各タスクによって使用される1または2以
上の資源とを備え、マルチタスクOSの環境下でセマフ
ォ機能を利用して資源を排他制御する資源排他制御シス
テムを搭載した情報処理システムが提供される。
発明によれば、マルチタスクOS(オペレーティングシ
ステム)と、各タスクによって使用される1または2以
上の資源とを備え、マルチタスクOSの環境下でセマフ
ォ機能を利用して資源を排他制御する資源排他制御シス
テムを搭載した情報処理システムが提供される。
【0026】資源排他制御システムは、資源獲得待ち状
態を管理する資源獲得待ち状態管理手段と、少なくとも
同時に発生する可能性がある資源の獲得要求数に相当す
る数のセマフォを管理する管理手段と、資源の獲得要求
を受け、前記管理手段で管理されているセマフォから、
使用するセマフォを動的に割り当てるセマフォ動的割当
手段と、資源の解放要求を受け、使用したセマフォを解
除するセマフォ解除手段とを備えて構成することができ
る。
態を管理する資源獲得待ち状態管理手段と、少なくとも
同時に発生する可能性がある資源の獲得要求数に相当す
る数のセマフォを管理する管理手段と、資源の獲得要求
を受け、前記管理手段で管理されているセマフォから、
使用するセマフォを動的に割り当てるセマフォ動的割当
手段と、資源の解放要求を受け、使用したセマフォを解
除するセマフォ解除手段とを備えて構成することができ
る。
【0027】セマフォ管理手段は、少なくとも同時に発
生する可能性がある資源の獲得要求毎に設けられ、獲得
要求数に相当する数のテーブル要素が配列されるセマフ
ォ管理テーブルを有する構成とすることができる。ここ
で、各テーブル要素は、セマフォ識別子を記憶するセマ
フォ識別子記憶領域と、セマフォステータスを記憶する
セマフォステータス記憶領域とを有する構成とすること
ができる。セマフォ識別子記憶領域には、OSで管理さ
れるセマフォの識別子が予め格納される。
生する可能性がある資源の獲得要求毎に設けられ、獲得
要求数に相当する数のテーブル要素が配列されるセマフ
ォ管理テーブルを有する構成とすることができる。ここ
で、各テーブル要素は、セマフォ識別子を記憶するセマ
フォ識別子記憶領域と、セマフォステータスを記憶する
セマフォステータス記憶領域とを有する構成とすること
ができる。セマフォ識別子記憶領域には、OSで管理さ
れるセマフォの識別子が予め格納される。
【0028】資源獲得待ち状態管理手段は、上述したと
同様に、資源識別子記憶領域と、ウェイトタスクカウン
タ記憶領域と、ウェイトセマフォ識別子記憶領域とを有
するテーブル要素が配列される資源管理テーブルを有す
る構成とすることができる。
同様に、資源識別子記憶領域と、ウェイトタスクカウン
タ記憶領域と、ウェイトセマフォ識別子記憶領域とを有
するテーブル要素が配列される資源管理テーブルを有す
る構成とすることができる。
【0029】セマフォ動的割当手段は、空きセマフォ識
別子を検索して、空きセマフォ識別子が検出されると、
このセマフォ識別子を、当該資源についてのセマフォと
して割り当てる機能と、このセマフォ識別子をウェイト
セマフォ識別子記憶領域に格納して登録する機能とを有
することができる。
別子を検索して、空きセマフォ識別子が検出されると、
このセマフォ識別子を、当該資源についてのセマフォと
して割り当てる機能と、このセマフォ識別子をウェイト
セマフォ識別子記憶領域に格納して登録する機能とを有
することができる。
【0030】また、本発明によれば、マルチタスクOS
(オペレーティングシステム)と、各タスクによって使
用される1または2以上のファイル資源とを備える情報
処理システムにおいて、マルチタスクOSの環境下でフ
ァイル資源を排他制御する資源排他制御機能と、ファイ
ル資源の管理を行なうファイル管理部とを備える情報処
理システムが提供される。
(オペレーティングシステム)と、各タスクによって使
用される1または2以上のファイル資源とを備える情報
処理システムにおいて、マルチタスクOSの環境下でフ
ァイル資源を排他制御する資源排他制御機能と、ファイ
ル資源の管理を行なうファイル管理部とを備える情報処
理システムが提供される。
【0031】資源排他制御機能は、資源獲得待ち状態を
管理する資源獲得待ち状態管理手段と、タスクから資源
の獲得要求を受け、前記資源獲得待ち状態管理手段が管
理する資源獲得待ち状態に応じて、前記OSに対しタス
クウェイト状態への移行を要求する資源獲得制御部と、
タスクから資源の解放要求を受け、前記資源獲得待ち状
態管理手段が管理する資源獲得待ち状態に応じて、前記
OSに対しウェイト状態タスクの再開を要求する資源解
放制御部とを備える。
管理する資源獲得待ち状態管理手段と、タスクから資源
の獲得要求を受け、前記資源獲得待ち状態管理手段が管
理する資源獲得待ち状態に応じて、前記OSに対しタス
クウェイト状態への移行を要求する資源獲得制御部と、
タスクから資源の解放要求を受け、前記資源獲得待ち状
態管理手段が管理する資源獲得待ち状態に応じて、前記
OSに対しウェイト状態タスクの再開を要求する資源解
放制御部とを備える。
【0032】ファイル管理部は、ファイル非占有状態で
書込または読込処理要求を受けた時、前記資源獲得制御
部に対してファイル資源の獲得を要求し、書込または読
込処理を実行後、前記資源解放制御部に対してファイル
資源の解放を要求する機能を有するものである。このた
め、ファイル管理部は、ファイル非占有状態での書込ま
たは読込処理要求を受ける機能と、ファイル非占有状態
での書込または読込処理要求を受けたとき、前記資源獲
得制御部に対してファイル資源の獲得を要求する機能
と、ファイル資源獲得後、ファイルに対して書込または
読込処理を実行する機能と、書込または読込処理を実行
後、前記資源解放制御部に対してファイル資源の解放を
要求する機能とを有する構成とすることができる。
書込または読込処理要求を受けた時、前記資源獲得制御
部に対してファイル資源の獲得を要求し、書込または読
込処理を実行後、前記資源解放制御部に対してファイル
資源の解放を要求する機能を有するものである。このた
め、ファイル管理部は、ファイル非占有状態での書込ま
たは読込処理要求を受ける機能と、ファイル非占有状態
での書込または読込処理要求を受けたとき、前記資源獲
得制御部に対してファイル資源の獲得を要求する機能
と、ファイル資源獲得後、ファイルに対して書込または
読込処理を実行する機能と、書込または読込処理を実行
後、前記資源解放制御部に対してファイル資源の解放を
要求する機能とを有する構成とすることができる。
【0033】
【作用】本発明は、マルチタスクOS(オペレーティン
グシステム)と、各タスクによって使用される1または
2以上の資源とを備える情報処理システムにおいて、資
源排他制御機能によって、マルチタスクOSの環境下で
資源の排他制御を行なう。
グシステム)と、各タスクによって使用される1または
2以上の資源とを備える情報処理システムにおいて、資
源排他制御機能によって、マルチタスクOSの環境下で
資源の排他制御を行なう。
【0034】資源排他制御機能は、資源獲得待ち状態管
理手段によって、資源獲得待ち状態を管理する。管理
は、セマフォを用いて行なわれる。セマフォは、資源対
応に固定的に割り当てるか、または、資源との対応関係
を固定せず、必要に応じて動的に割り当てるか、のいず
れであってもよい。前者によれば、セマフォの割当てお
よび解除の手順を必要とせず、その分、高速化が図れ
る。一方、後者によれば、セマフォを資源数分設ける必
要がないので、記憶容量を抑えることができる。後者
は、実際に必要なセマフォ数は、同時に発生する可能性
がある資源獲得要求の最大数であり、全ての資源毎に異
なるセマフォを割当てても、同時に使用するセマフォは
一部であることに、着眼してなされたものである。な
お、両者を併用することもできる。
理手段によって、資源獲得待ち状態を管理する。管理
は、セマフォを用いて行なわれる。セマフォは、資源対
応に固定的に割り当てるか、または、資源との対応関係
を固定せず、必要に応じて動的に割り当てるか、のいず
れであってもよい。前者によれば、セマフォの割当てお
よび解除の手順を必要とせず、その分、高速化が図れ
る。一方、後者によれば、セマフォを資源数分設ける必
要がないので、記憶容量を抑えることができる。後者
は、実際に必要なセマフォ数は、同時に発生する可能性
がある資源獲得要求の最大数であり、全ての資源毎に異
なるセマフォを割当てても、同時に使用するセマフォは
一部であることに、着眼してなされたものである。な
お、両者を併用することもできる。
【0035】資源獲得制御部は、タスクから資源の獲得
要求を受け、前記資源獲得待ち状態管理手段が管理する
資源獲得待ち状態に応じて、前記OSに対しタスクウェ
イト状態への移行を要求する。すなわち、資源獲得制御
部は、タスクから資源の獲得要求を受けて、前記資源獲
得待ち状態管理手段のウェイトタスクカウンタを参照
し、他タスクにより資源が使用されている場合に限り、
タスクをウェイト状態へ移行させるために、OSに対し
セマフォの獲得を要求する。一方、獲得を要求された資
源が使用可能状態にある場合、セマフォの獲得を要求し
ない。
要求を受け、前記資源獲得待ち状態管理手段が管理する
資源獲得待ち状態に応じて、前記OSに対しタスクウェ
イト状態への移行を要求する。すなわち、資源獲得制御
部は、タスクから資源の獲得要求を受けて、前記資源獲
得待ち状態管理手段のウェイトタスクカウンタを参照
し、他タスクにより資源が使用されている場合に限り、
タスクをウェイト状態へ移行させるために、OSに対し
セマフォの獲得を要求する。一方、獲得を要求された資
源が使用可能状態にある場合、セマフォの獲得を要求し
ない。
【0036】資源解放制御部は、タスクから資源の解放
要求を受け、前記資源獲得待ち状態管理手段が管理する
資源獲得待ち状態に応じて、前記OSに対しウェイト状
態タスクの再開を要求する。すなわち、資源解放制御部
は、タスクから資源の解放要求を受けて、例えば、前記
資源獲得待ち状態管理手段のウェイトタスクカウンタを
参照し、他タスクが資源獲得を待つ場合に限り、ウェイ
ト状態のタスクを再開させるためにOSに対しセマフォ
の解放を要求する。資源獲得待ちのタスクが存在しない
場合、セマフォの解放を要求しない。このため、OSに
よる処理の遅延時間を最小限に抑止することが可能であ
る。
要求を受け、前記資源獲得待ち状態管理手段が管理する
資源獲得待ち状態に応じて、前記OSに対しウェイト状
態タスクの再開を要求する。すなわち、資源解放制御部
は、タスクから資源の解放要求を受けて、例えば、前記
資源獲得待ち状態管理手段のウェイトタスクカウンタを
参照し、他タスクが資源獲得を待つ場合に限り、ウェイ
ト状態のタスクを再開させるためにOSに対しセマフォ
の解放を要求する。資源獲得待ちのタスクが存在しない
場合、セマフォの解放を要求しない。このため、OSに
よる処理の遅延時間を最小限に抑止することが可能であ
る。
【0037】本発明において、セマフォを動的に割り当
てるには、例えば、次のように行なう。資源獲得待ち状
態管理手段において、資源識別子記憶領域に、資源を識
別するための識別子を記憶させ、ウェイトタスクカウン
タ記憶領域に、資源獲得待ち状態のタスク数を格納する
ウェイトタスクカウンタを記憶させ、かつ、ウェイトセ
マフォ識別子記憶領域に、資源獲得待ちに使用するセマ
フォの識別子を記憶させる。また、セマフォ管理手段と
して、少なくとも同時に発生する可能性がある資源の獲
得要求数に相当する数のテーブル要素が配列されるセマ
フォ管理テーブルを設け、このテーブルの、セマフォ識
別子記憶領域に、OSで管理されるセマフォの識別子を
予め記憶させ、かつ、セマフォステータス記憶領域にセ
マフォステータスを記憶させる。また、セマフォ動的割
当手段を設け、この手段により、空きセマフォ識別子を
検索して、空きセマフォ識別子が検出し、この空きセマ
フォ識別子を、当該資源についてのセマフォとして割り
当てると共に、このセマフォ識別子をウェイトセマフォ
識別子記憶領域に格納して登録する。
てるには、例えば、次のように行なう。資源獲得待ち状
態管理手段において、資源識別子記憶領域に、資源を識
別するための識別子を記憶させ、ウェイトタスクカウン
タ記憶領域に、資源獲得待ち状態のタスク数を格納する
ウェイトタスクカウンタを記憶させ、かつ、ウェイトセ
マフォ識別子記憶領域に、資源獲得待ちに使用するセマ
フォの識別子を記憶させる。また、セマフォ管理手段と
して、少なくとも同時に発生する可能性がある資源の獲
得要求数に相当する数のテーブル要素が配列されるセマ
フォ管理テーブルを設け、このテーブルの、セマフォ識
別子記憶領域に、OSで管理されるセマフォの識別子を
予め記憶させ、かつ、セマフォステータス記憶領域にセ
マフォステータスを記憶させる。また、セマフォ動的割
当手段を設け、この手段により、空きセマフォ識別子を
検索して、空きセマフォ識別子が検出し、この空きセマ
フォ識別子を、当該資源についてのセマフォとして割り
当てると共に、このセマフォ識別子をウェイトセマフォ
識別子記憶領域に格納して登録する。
【0038】このように、本発明のセマフォの動的割り
当てによると、排他制御が必要な資源数に相当するセマ
フォをOSに用意させる必要がなく、少なくとも同時に
発生する可能性がある資源の獲得要求数に相当するセマ
フォで足りるので、OSがセマフォ制御テーブルとして
使用するメモリ領域を削減できる。
当てによると、排他制御が必要な資源数に相当するセマ
フォをOSに用意させる必要がなく、少なくとも同時に
発生する可能性がある資源の獲得要求数に相当するセマ
フォで足りるので、OSがセマフォ制御テーブルとして
使用するメモリ領域を削減できる。
【0039】また、本発明により、ファイル資源の排他
制御を行なうことができる。この場合、ファイル管理部
は、ファイル非占有状態で書込または読込処理要求を受
けた時、前記資源獲得制御部に対しファイル資源の獲得
を要求し、書込または読込処理を実行後、前記資源解放
制御部に対しファイル資源の解放を要求する。このた
め、長期にわたりファイルを占有する必要のないタスク
は、ファイル資源の獲得および解放を要求せずに、ファ
イル書込または読込を要求することができる。
制御を行なうことができる。この場合、ファイル管理部
は、ファイル非占有状態で書込または読込処理要求を受
けた時、前記資源獲得制御部に対しファイル資源の獲得
を要求し、書込または読込処理を実行後、前記資源解放
制御部に対しファイル資源の解放を要求する。このた
め、長期にわたりファイルを占有する必要のないタスク
は、ファイル資源の獲得および解放を要求せずに、ファ
イル書込または読込を要求することができる。
【0040】
【実施例】以下、本発明の実施例について図面を用いて
説明する。
説明する。
【0041】図1は、本発明の情報処理システムの第1
実施例であるワークステーションの構成の一例を示す。
実施例であるワークステーションの構成の一例を示す。
【0042】図1において、本実施例は、主制御部(C
PU)1と、その動作プログラムおよびデータを記憶す
るメインメモリ19と、ディスプレイ20と、キーボー
ド21と、ハードディスクまたはフレキシブルディスク
の読み書きを行なうディスク装置22とを主たる構成要
素として有する。
PU)1と、その動作プログラムおよびデータを記憶す
るメインメモリ19と、ディスプレイ20と、キーボー
ド21と、ハードディスクまたはフレキシブルディスク
の読み書きを行なうディスク装置22とを主たる構成要
素として有する。
【0043】メインメモリ19には、CPU1により実
行されて各種機能が実現されるソフトウェアと、その実
行の際に用いられるデータが格納される。すなわち、ソ
フトウェアで構成するタスクの動作を管理するマルチタ
スクOS2と、ディスプレイ20を制御し、画像データ
を表示させる表示制御部23と、キーボード21を制御
し、操作指示、データの入力を受け付ける制御を行なう
入力制御部24と、各タスクから資源の獲得要求を受
け、必要に応じてOS2に対しセマフォの獲得を要求す
る資源獲得制御部12と、タスクから資源の解放要求を
受け、必要に応じてOS2に対し、セマフォの解放を要
求する資源解放制御部13と、使用するセマフォを動的
に割当てるセマフォ割当部14と、使用したセマフォを
解除するセマフォ解除部15と、ディスク装置22に対
する書込または読込処理を制御するファイル管理部18
の各機能実現手段を実現するための各種プログラムが記
憶される。また、メインメモリ19には、各資源の管理
情報を記憶し、資源獲得待ち状態を管理する手段として
機能する資源管理テーブル16、および、動的に割当て
るセマフォの使用状況を管理する手段として機能するセ
マフォ管理テーブル17をそれぞれ構成するデータと、
アプリケーションプログラム25,26等とが記憶され
る。
行されて各種機能が実現されるソフトウェアと、その実
行の際に用いられるデータが格納される。すなわち、ソ
フトウェアで構成するタスクの動作を管理するマルチタ
スクOS2と、ディスプレイ20を制御し、画像データ
を表示させる表示制御部23と、キーボード21を制御
し、操作指示、データの入力を受け付ける制御を行なう
入力制御部24と、各タスクから資源の獲得要求を受
け、必要に応じてOS2に対しセマフォの獲得を要求す
る資源獲得制御部12と、タスクから資源の解放要求を
受け、必要に応じてOS2に対し、セマフォの解放を要
求する資源解放制御部13と、使用するセマフォを動的
に割当てるセマフォ割当部14と、使用したセマフォを
解除するセマフォ解除部15と、ディスク装置22に対
する書込または読込処理を制御するファイル管理部18
の各機能実現手段を実現するための各種プログラムが記
憶される。また、メインメモリ19には、各資源の管理
情報を記憶し、資源獲得待ち状態を管理する手段として
機能する資源管理テーブル16、および、動的に割当て
るセマフォの使用状況を管理する手段として機能するセ
マフォ管理テーブル17をそれぞれ構成するデータと、
アプリケーションプログラム25,26等とが記憶され
る。
【0044】資源獲得制御部12および資源解放制御部
13は、各々タスクの延長として動作する再入可能(リ
エントラント)なモジュールである。また、資源獲得制
御部12は、セマフォの割当てを動的に行なう手段とし
て機能する。資源獲得制御部12には、セマフォ割当部
14がリンクされ、資源解放制御部13には、セマフォ
解除部15がリンクされる。
13は、各々タスクの延長として動作する再入可能(リ
エントラント)なモジュールである。また、資源獲得制
御部12は、セマフォの割当てを動的に行なう手段とし
て機能する。資源獲得制御部12には、セマフォ割当部
14がリンクされ、資源解放制御部13には、セマフォ
解除部15がリンクされる。
【0045】なお、本実施例のワークステーションに
は、この他に、図示していないが、プリンタ、通信制御
装置等を接続することができる。
は、この他に、図示していないが、プリンタ、通信制御
装置等を接続することができる。
【0046】図2は、資源管理テーブル16の構成を説
明するものである。資源管理テーブル16は、同図に示
すように、排他制御が必要な資源毎に設けられ、資源数
に相当する数のテーブル要素(以下、資源管理テーブル
要素という)160が順次配列されて構成される。ここ
で、本実施例では、資源を識別するための識別子として
資源番号がもちいられる。また、資源獲得待ちに使用す
るセマフォを識別する識別子としてのセマフォ番号が用
いられる。
明するものである。資源管理テーブル16は、同図に示
すように、排他制御が必要な資源毎に設けられ、資源数
に相当する数のテーブル要素(以下、資源管理テーブル
要素という)160が順次配列されて構成される。ここ
で、本実施例では、資源を識別するための識別子として
資源番号がもちいられる。また、資源獲得待ちに使用す
るセマフォを識別する識別子としてのセマフォ番号が用
いられる。
【0047】ある資源に関する資源管理テーブル要素1
60は、資源番号を記憶する資源番号記憶領域16a、
資源獲得待ち状態のタスク数を記憶するウェイトタスク
カウンタを構成するウェイトタスクカウンタ記憶領域1
6b、資源獲得待ちに使用するセマフォ番号を記憶する
ウェイトセマフォ番号記憶領域16cの情報格納領域で
構成される。資源番号記憶領域16aには、予め資源毎
に割当てた資源番号を格納する。また、ウェイトタスク
カウンタ記憶領域16bは、“−1”に初期化され、ウ
ェイトセマフォ番号記憶領域16cは、セマフォ番号未
登録を表す“0”に初期化される。
60は、資源番号を記憶する資源番号記憶領域16a、
資源獲得待ち状態のタスク数を記憶するウェイトタスク
カウンタを構成するウェイトタスクカウンタ記憶領域1
6b、資源獲得待ちに使用するセマフォ番号を記憶する
ウェイトセマフォ番号記憶領域16cの情報格納領域で
構成される。資源番号記憶領域16aには、予め資源毎
に割当てた資源番号を格納する。また、ウェイトタスク
カウンタ記憶領域16bは、“−1”に初期化され、ウ
ェイトセマフォ番号記憶領域16cは、セマフォ番号未
登録を表す“0”に初期化される。
【0048】図3は、セマフォ管理テーブル17の構成
を説明するものである。セマフォ管理テーブル17は、
少なくとも同時に発生する可能性がある資源の獲得要求
毎に設けられ、獲得要求数に相当する数のテーブル要素
(以下、セマフォ管理テーブル要素という)170が順
次配列されて構成される。1個のセマフォに関するセマ
フォ管理テーブル要素170は、セマフォ番号を記憶す
るセマフォ番号記憶領域17aと、セマフォステータス
を記憶するセマフォステータス記憶領域17bとで構成
される。セマフォ番号記憶領域17aには、OS2で管
理されるセマフォの番号が予め格納される。ステータス
記憶領域17bは、セマフォ未使用を表す“0”に初期
化される。
を説明するものである。セマフォ管理テーブル17は、
少なくとも同時に発生する可能性がある資源の獲得要求
毎に設けられ、獲得要求数に相当する数のテーブル要素
(以下、セマフォ管理テーブル要素という)170が順
次配列されて構成される。1個のセマフォに関するセマ
フォ管理テーブル要素170は、セマフォ番号を記憶す
るセマフォ番号記憶領域17aと、セマフォステータス
を記憶するセマフォステータス記憶領域17bとで構成
される。セマフォ番号記憶領域17aには、OS2で管
理されるセマフォの番号が予め格納される。ステータス
記憶領域17bは、セマフォ未使用を表す“0”に初期
化される。
【0049】本実施例において使用するOS2のセマフ
ォ機能は、使用中か否かの二状態を表す論理セマフォ
(または2進セマフォ)とする。本実施例の場合、資源
排他制御を実行する前に、OS2のセマフォステータス
を“使用中”に初期化する。なお、任意数の資源排他制
御を実現可能な計数セマフォ(または整数セマフォ)を
使用することもできる。この場合は、OS2のセマフォ
数の初期値を“0”に設定する。
ォ機能は、使用中か否かの二状態を表す論理セマフォ
(または2進セマフォ)とする。本実施例の場合、資源
排他制御を実行する前に、OS2のセマフォステータス
を“使用中”に初期化する。なお、任意数の資源排他制
御を実現可能な計数セマフォ(または整数セマフォ)を
使用することもできる。この場合は、OS2のセマフォ
数の初期値を“0”に設定する。
【0050】本実施例では、資源獲得制御部12と、資
源解放制御部13と、セマフォ割当部14と、セマフォ
解除部15と、資源管理テーブル16と、セマフォ管理
テーブル17とで、資源排他制御機能を実現する。
源解放制御部13と、セマフォ割当部14と、セマフォ
解除部15と、資源管理テーブル16と、セマフォ管理
テーブル17とで、資源排他制御機能を実現する。
【0051】資源獲得制御部12は、タスクから資源の
獲得要求を受けると、資源管理テーブル要素160の資
源番号記憶領域16aの資源番号を参照し、獲得要求の
対象資源を探索する機能と、獲得要求の対象資源に相当
する資源管理テーブル要素160を検出したならば、検
出した資源管理テーブル要素160のウェイトタスクカ
ウンタ記憶領域16bに構成されるウェイトタスクカウ
ンタをカウントアップする機能と、そのカウント結果に
基づいて、獲得が要求された資源が使用中であるか否か
を判定する機能と、資源使用中であれば、ウェイトセマ
フォ番号記憶領域16cに、セマフォ番号が登録されて
いるか否か確認する機能と、セマフォ番号未登録の場合
に、セマフォを動的に割り当てるセマフォ動的割当機能
と、セマフォが登録されている場合またはセマフォが登
録された場合に、セマフォ獲得要求を前記OS2に要求
する機能と、セマフォ獲得後、または、資源不使用の場
合、資源獲得完了をタスクに通知する機能とを有する。
獲得要求を受けると、資源管理テーブル要素160の資
源番号記憶領域16aの資源番号を参照し、獲得要求の
対象資源を探索する機能と、獲得要求の対象資源に相当
する資源管理テーブル要素160を検出したならば、検
出した資源管理テーブル要素160のウェイトタスクカ
ウンタ記憶領域16bに構成されるウェイトタスクカウ
ンタをカウントアップする機能と、そのカウント結果に
基づいて、獲得が要求された資源が使用中であるか否か
を判定する機能と、資源使用中であれば、ウェイトセマ
フォ番号記憶領域16cに、セマフォ番号が登録されて
いるか否か確認する機能と、セマフォ番号未登録の場合
に、セマフォを動的に割り当てるセマフォ動的割当機能
と、セマフォが登録されている場合またはセマフォが登
録された場合に、セマフォ獲得要求を前記OS2に要求
する機能と、セマフォ獲得後、または、資源不使用の場
合、資源獲得完了をタスクに通知する機能とを有する。
【0052】セマフォ動的割当機能は、セマフォ割当部
14に、空きセマフォ番号を検索させ、空きセマフォ番
号が検索されると、このセマフォ番号を、当該資源につ
いてのセマフォとして割り当てる機能と、このセマフォ
番号をウェイトセマフォ番号記憶領域16cに格納して
登録する機能とを有する。
14に、空きセマフォ番号を検索させ、空きセマフォ番
号が検索されると、このセマフォ番号を、当該資源につ
いてのセマフォとして割り当てる機能と、このセマフォ
番号をウェイトセマフォ番号記憶領域16cに格納して
登録する機能とを有する。
【0053】資源解放制御部13は、タスクから資源の
解放要求を受けると、資源管理テーブル要素160の資
源番号記憶領域16aの資源番号を参照し、解放要求の
対象資源を探索する機能と、解放要求の対象資源に相当
する資源管理テーブル要素160を検出したならば、検
出した資源管理テーブル要素160のウェイトタスクカ
ウンタ記憶領域16bに構成されるウェイトタスクカウ
ンタをカウントダウンする機能と、そのカウント結果に
基づいて、解放する資源を獲得待ちのタスクが存在する
か否か確認する機能と、解放する資源について獲得待ち
のタスクが存在する場合、資源獲得待ちのタスクが複数
存在するか否か確認する機能と、資源獲得待ちのタスク
が1の場合、セマフォ番号解除を行う機能と、資源獲得
待ちのタスクが複数存在する場合またはセマフォ番号が
解除された場合に、セマフォ解放要求を前記OS2に要
求する機能と、セマフォ解放後、または、ウェイトタス
クがない場合、資源解放完了をタスクに通知する機能と
を有する。
解放要求を受けると、資源管理テーブル要素160の資
源番号記憶領域16aの資源番号を参照し、解放要求の
対象資源を探索する機能と、解放要求の対象資源に相当
する資源管理テーブル要素160を検出したならば、検
出した資源管理テーブル要素160のウェイトタスクカ
ウンタ記憶領域16bに構成されるウェイトタスクカウ
ンタをカウントダウンする機能と、そのカウント結果に
基づいて、解放する資源を獲得待ちのタスクが存在する
か否か確認する機能と、解放する資源について獲得待ち
のタスクが存在する場合、資源獲得待ちのタスクが複数
存在するか否か確認する機能と、資源獲得待ちのタスク
が1の場合、セマフォ番号解除を行う機能と、資源獲得
待ちのタスクが複数存在する場合またはセマフォ番号が
解除された場合に、セマフォ解放要求を前記OS2に要
求する機能と、セマフォ解放後、または、ウェイトタス
クがない場合、資源解放完了をタスクに通知する機能と
を有する。
【0054】図4は、本実施例を構成する資源獲得制御
部12の動作を示すフローチャートである。
部12の動作を示すフローチャートである。
【0055】資源獲得制御部12は、アプリケーション
25,26等のタスクから資源の獲得要求を受けると、
資源管理テーブル要素160の資源番号記憶領域16a
の資源番号を参照し、獲得要求の資源か否か確認する
(ステップ401)。獲得要求の資源と異なる場合、次
配列の資源管理テーブル要素160を参照し(ステップ
402)、ステップ401において、再び獲得要求の資
源か否か確認する。ステップ401において、獲得要求
の資源に相当する資源管理テーブル要素160を検出し
たならば、検出した資源管理テーブル要素160のウェ
イトタスクカウンタ記憶領域16bに構成されるウェイ
トタスクカウンタに“1”を加算する(ステップ40
3)。
25,26等のタスクから資源の獲得要求を受けると、
資源管理テーブル要素160の資源番号記憶領域16a
の資源番号を参照し、獲得要求の資源か否か確認する
(ステップ401)。獲得要求の資源と異なる場合、次
配列の資源管理テーブル要素160を参照し(ステップ
402)、ステップ401において、再び獲得要求の資
源か否か確認する。ステップ401において、獲得要求
の資源に相当する資源管理テーブル要素160を検出し
たならば、検出した資源管理テーブル要素160のウェ
イトタスクカウンタ記憶領域16bに構成されるウェイ
トタスクカウンタに“1”を加算する(ステップ40
3)。
【0056】この後、資源獲得制御部12は、獲得する
資源が他タスクにより使用中であるか否か確認する(ス
テップ404)。一般的なCPUによる主制御部1でソ
フトウェアを制御する場合、“−1”に“1”を加算す
ると、桁上がりを表すキャリー信号が発生する。本実施
例の資源排他制御方式では、ウェイトタスクカウンタを
“−1”に初期化しているため、獲得する資源が他タス
クにより使用されていない場合、必ずキャリー信号が発
生する。一方、資源が他タスクにより使用されている場
合、ウェイトタスクカウンタは“0”以上の値を示して
いるため、“1”を加算してもキャリー信号は発生しな
い。そこで、ステップ404における資源の使用状況確
認は、ウェイトタスクカウンタを加算した結果のキャリ
ー信号検出により行う。
資源が他タスクにより使用中であるか否か確認する(ス
テップ404)。一般的なCPUによる主制御部1でソ
フトウェアを制御する場合、“−1”に“1”を加算す
ると、桁上がりを表すキャリー信号が発生する。本実施
例の資源排他制御方式では、ウェイトタスクカウンタを
“−1”に初期化しているため、獲得する資源が他タス
クにより使用されていない場合、必ずキャリー信号が発
生する。一方、資源が他タスクにより使用されている場
合、ウェイトタスクカウンタは“0”以上の値を示して
いるため、“1”を加算してもキャリー信号は発生しな
い。そこで、ステップ404における資源の使用状況確
認は、ウェイトタスクカウンタを加算した結果のキャリ
ー信号検出により行う。
【0057】ステップ404においてキャリー信号が発
生しない場合、資源獲得制御部12は、獲得する資源が
他タスクにより使用されていると判断して、次に、資源
管理テーブル要素160のウェイトセマフォ番号記憶領
域16cに、セマフォ番号が登録されているか否か確認
する(ステップ405)。ウェイトセマフォ番号記憶領
域16cの値が“0”ならば、セマフォ番号未登録とし
て、セマフォ割当部14へセマフォ割当を指示する(ス
テップ406)。セマフォ割当部14が空きセマフォ番
号を検索すると、資源獲得制御部12は、割当てたセマ
フォ番号をウェイトセマフォ番号記憶領域16cに格納
した後(ステップ407)、ステップ408へ移行す
る。また、ステップ405において、ウェイトセマフォ
番号記憶領域16cの値が“0”以外ならば、既にセマ
フォ番号が登録済みであるため、ステップ406、40
7を実行せずに、ステップ408へ移行する。
生しない場合、資源獲得制御部12は、獲得する資源が
他タスクにより使用されていると判断して、次に、資源
管理テーブル要素160のウェイトセマフォ番号記憶領
域16cに、セマフォ番号が登録されているか否か確認
する(ステップ405)。ウェイトセマフォ番号記憶領
域16cの値が“0”ならば、セマフォ番号未登録とし
て、セマフォ割当部14へセマフォ割当を指示する(ス
テップ406)。セマフォ割当部14が空きセマフォ番
号を検索すると、資源獲得制御部12は、割当てたセマ
フォ番号をウェイトセマフォ番号記憶領域16cに格納
した後(ステップ407)、ステップ408へ移行す
る。また、ステップ405において、ウェイトセマフォ
番号記憶領域16cの値が“0”以外ならば、既にセマ
フォ番号が登録済みであるため、ステップ406、40
7を実行せずに、ステップ408へ移行する。
【0058】ステップ408において、資源獲得制御部
12は、登録したウェイトセマフォ番号を用いて、OS
2に対しセマフォの獲得を要求し、獲得完了まで待ち状
態を継続した後、ステップ409へ移行する。
12は、登録したウェイトセマフォ番号を用いて、OS
2に対しセマフォの獲得を要求し、獲得完了まで待ち状
態を継続した後、ステップ409へ移行する。
【0059】一方、ステップ404においてキャリー信
号が発生した場合、資源獲得制御部12は、獲得する資
源が他タスクにより使用されていないと判断して、ステ
ップ405から408を実行せずに、ステップ409へ
移行し、資源獲得を要求したタスクに対し資源の獲得完
了を通知した後、処理を終える。
号が発生した場合、資源獲得制御部12は、獲得する資
源が他タスクにより使用されていないと判断して、ステ
ップ405から408を実行せずに、ステップ409へ
移行し、資源獲得を要求したタスクに対し資源の獲得完
了を通知した後、処理を終える。
【0060】図5は、本発明の資源解放制御部13の動
作を示すフローチャートである。
作を示すフローチャートである。
【0061】資源解放制御部13は、タスクから資源の
解放要求を受けると、資源管理テーブル要素160の資
源番号記憶領域16aを参照し、解放要求の資源か否か
確認する(ステップ501)。解放要求の資源と異なる
場合、次配列の資源管理テーブル要素160を参照し
(ステップ502)、ステップ501において、再び解
放要求の資源か否か確認する。ステップ501におい
て、解放要求の資源に相当する資源管理テーブル要素1
60を検出したならば、検出した資源管理テーブル要素
160のウェイトタスクカウンタから“1”を減算する
(ステップ503)。
解放要求を受けると、資源管理テーブル要素160の資
源番号記憶領域16aを参照し、解放要求の資源か否か
確認する(ステップ501)。解放要求の資源と異なる
場合、次配列の資源管理テーブル要素160を参照し
(ステップ502)、ステップ501において、再び解
放要求の資源か否か確認する。ステップ501におい
て、解放要求の資源に相当する資源管理テーブル要素1
60を検出したならば、検出した資源管理テーブル要素
160のウェイトタスクカウンタから“1”を減算する
(ステップ503)。
【0062】この後、資源解放制御部13は、解放する
資源を獲得待ちのタスクが存在するか否か確認する(ス
テップ504)。一般的なCPUによる主制御部1でソ
フトウェアを制御する場合、“0”から“1”を減算す
ると、桁下がりを表すキャリー信号が発生する。資源獲
得待ちのタスクがない場合、ウェイトタスクカウンタは
“0”を示しているため、“1”を減算すると必ずキャ
リー信号が発生する。一方、資源獲得待ちのタスクが存
在する場合、ウェイトタスクカウンタは“1”以上の値
を示しているため、“1”を減算してもキャリー信号は
発生しない。そこで、ステップ504における資源獲得
待ちタスクの確認は、ウェイトタスクカウンタを減算し
た結果のキャリー信号検出により行う。
資源を獲得待ちのタスクが存在するか否か確認する(ス
テップ504)。一般的なCPUによる主制御部1でソ
フトウェアを制御する場合、“0”から“1”を減算す
ると、桁下がりを表すキャリー信号が発生する。資源獲
得待ちのタスクがない場合、ウェイトタスクカウンタは
“0”を示しているため、“1”を減算すると必ずキャ
リー信号が発生する。一方、資源獲得待ちのタスクが存
在する場合、ウェイトタスクカウンタは“1”以上の値
を示しているため、“1”を減算してもキャリー信号は
発生しない。そこで、ステップ504における資源獲得
待ちタスクの確認は、ウェイトタスクカウンタを減算し
た結果のキャリー信号検出により行う。
【0063】ステップ504においてキャリー信号が発
生しない場合、資源解放制御部13は、解放する資源に
ついて獲得待ちのタスクが存在すると判断して、次に資
源獲得待ちのタスクが複数存在するか否か確認する(ス
テップ505)。ステップ505において、ウェイトタ
スクカウンタの値が“0”ならば資源獲得待ちのタスク
は1個と判断して、セマフォ解除部15へセマフォ解除
を指示する(ステップ506)。セマフォ解除部15
が、使用したセマフォ番号を解除すると、資源解放制御
部13は、ウェイトセマフォ番号記憶領域16cに
“0”を格納した後(ステップ507)、ステップ50
8へ移行する。
生しない場合、資源解放制御部13は、解放する資源に
ついて獲得待ちのタスクが存在すると判断して、次に資
源獲得待ちのタスクが複数存在するか否か確認する(ス
テップ505)。ステップ505において、ウェイトタ
スクカウンタの値が“0”ならば資源獲得待ちのタスク
は1個と判断して、セマフォ解除部15へセマフォ解除
を指示する(ステップ506)。セマフォ解除部15
が、使用したセマフォ番号を解除すると、資源解放制御
部13は、ウェイトセマフォ番号記憶領域16cに
“0”を格納した後(ステップ507)、ステップ50
8へ移行する。
【0064】資源解放制御部13は、ステップ505に
おいて、ウェイトタスクカウンタの値が“1”以上なら
ば、資源獲得待ちのタスクが複数存在するため、ステッ
プ506、507を実行せずに、ステップ508へ移行
する。
おいて、ウェイトタスクカウンタの値が“1”以上なら
ば、資源獲得待ちのタスクが複数存在するため、ステッ
プ506、507を実行せずに、ステップ508へ移行
する。
【0065】ステップ508において、資源解放制御部
13は、登録されていたウェイトセマフォ番号を用い
て、OS2に対しセマフォの解放を要求し、解放完了ま
で待ち状態を継続した後、ステップ509へ移行する。
13は、登録されていたウェイトセマフォ番号を用い
て、OS2に対しセマフォの解放を要求し、解放完了ま
で待ち状態を継続した後、ステップ509へ移行する。
【0066】一方、ステップ504においてキャリー信
号が発生した場合、資源解放制御部13は、解放する資
源を獲得待ちのタスクがないと判断して、ステップ50
5から508を実行せずに、ステップ509へ移行し、
資源解放を要求したタスクに対し資源の解放完了を通知
した後、処理を終える。
号が発生した場合、資源解放制御部13は、解放する資
源を獲得待ちのタスクがないと判断して、ステップ50
5から508を実行せずに、ステップ509へ移行し、
資源解放を要求したタスクに対し資源の解放完了を通知
した後、処理を終える。
【0067】以上説明した資源獲得制御部12のステッ
プ404、資源解放制御部13のステップ504の確認
処理を、演算結果のウェイトタスクカウンタ記憶領域1
6bを参照する処理に変更することも可能である。しか
し、この場合、ウェイトタスクカウンタの演算直後にタ
スク切換えが発生し、他タスクからの同一資源への獲得
要求によりウェイトタスクカウンタの値が更に演算さ
れ、参照するウェイトカウンタが変更されてしまうこと
も考えられる。このため、ウェイトタスクカウンタの演
算と参照中はタスク切換えを禁止する処理(例えば割込
禁止処理)が必要となる。
プ404、資源解放制御部13のステップ504の確認
処理を、演算結果のウェイトタスクカウンタ記憶領域1
6bを参照する処理に変更することも可能である。しか
し、この場合、ウェイトタスクカウンタの演算直後にタ
スク切換えが発生し、他タスクからの同一資源への獲得
要求によりウェイトタスクカウンタの値が更に演算さ
れ、参照するウェイトカウンタが変更されてしまうこと
も考えられる。このため、ウェイトタスクカウンタの演
算と参照中はタスク切換えを禁止する処理(例えば割込
禁止処理)が必要となる。
【0068】これに対して、本実施例によると、演算の
結果生じたキャリー信号により、ステップ404、50
4の確認処理を実現している。この場合、ウェイトタス
クカウンタの演算直後にタスク切換えが発生しても、制
御が戻った際、演算の結果生じたキャリー信号は、OS
2により回復されるため、タスク切換えを禁止する特別
な処理は不要である。
結果生じたキャリー信号により、ステップ404、50
4の確認処理を実現している。この場合、ウェイトタス
クカウンタの演算直後にタスク切換えが発生しても、制
御が戻った際、演算の結果生じたキャリー信号は、OS
2により回復されるため、タスク切換えを禁止する特別
な処理は不要である。
【0069】また、上記ステップ404,504の処理
は、キャリー信号を用いることに限定されない。例え
ば、演算結果が“0”であることを示すゼロ信号、およ
び、演算結果が負であることを示すネガティブ信号でも
よい。ステップ404において、ゼロ信号が発生しない
場合、ステップ405へ移行し、ゼロ信号が発生した場
合は、ステップ405から408を実行せずに、ステッ
プ409へ移行する。また、ステップ504において、
ネガティブ信号が発生しない場合、ステップ505へ移
行し、ネガティブ信号が発生した場合は、ステップ50
5から508を実行せずに、ステップ509へ移行す
る。
は、キャリー信号を用いることに限定されない。例え
ば、演算結果が“0”であることを示すゼロ信号、およ
び、演算結果が負であることを示すネガティブ信号でも
よい。ステップ404において、ゼロ信号が発生しない
場合、ステップ405へ移行し、ゼロ信号が発生した場
合は、ステップ405から408を実行せずに、ステッ
プ409へ移行する。また、ステップ504において、
ネガティブ信号が発生しない場合、ステップ505へ移
行し、ネガティブ信号が発生した場合は、ステップ50
5から508を実行せずに、ステップ509へ移行す
る。
【0070】図6は、本発明のセマフォ割当部14の動
作を示すフローチャートである。
作を示すフローチャートである。
【0071】資源獲得制御部12からセマフォ割当を指
示されたセマフォ割当部14は、セマフォ管理テーブル
要素170のステータス記憶領域17bを参照して、未
使用のセマフォを検索する(ステップ601)。ステー
タスが“0”ではない場合、次配列のセマフォ管理テー
ブル要素170を参照し(ステップ602)、ステップ
601において、再び未使用のセマフォか否か確認す
る。ステップ601において未使用のセマフォを検出し
たならば、そのセマフォ番号のステータス記憶領域17
bに、使用中のセマフォであることを表す“0”以外の
値を格納し(ステップ603)、セマフォ管理テーブル
要素170のセマフォ番号を資源獲得制御部12へ通知
して処理を終える。
示されたセマフォ割当部14は、セマフォ管理テーブル
要素170のステータス記憶領域17bを参照して、未
使用のセマフォを検索する(ステップ601)。ステー
タスが“0”ではない場合、次配列のセマフォ管理テー
ブル要素170を参照し(ステップ602)、ステップ
601において、再び未使用のセマフォか否か確認す
る。ステップ601において未使用のセマフォを検出し
たならば、そのセマフォ番号のステータス記憶領域17
bに、使用中のセマフォであることを表す“0”以外の
値を格納し(ステップ603)、セマフォ管理テーブル
要素170のセマフォ番号を資源獲得制御部12へ通知
して処理を終える。
【0072】図7は、本発明のセマフォ解除部15の動
作を示すフローチャートである。
作を示すフローチャートである。
【0073】資源解放制御部13からセマフォ解除を指
示されたセマフォ解除部15は、セマフォ管理テーブル
要素170のセマフォ番号記憶領域17aを参照し、解
除要求のセマフォか否か確認する(ステップ701)。
解除要求のセマフォと異なる場合、次配列のセマフォ管
理テーブル要素170を参照し(ステップ702)、ス
テップ701において、再び解除要求のセマフォか否か
確認する。ステップ701において解除要求のセマフォ
を検出したならば、ステータス記憶領域17bに、未使
用のセマフォであることを表す“0”の値を格納し(ス
テップ703)、資源解放制御部13へセマフォ解除完
了を通知して処理を終える。
示されたセマフォ解除部15は、セマフォ管理テーブル
要素170のセマフォ番号記憶領域17aを参照し、解
除要求のセマフォか否か確認する(ステップ701)。
解除要求のセマフォと異なる場合、次配列のセマフォ管
理テーブル要素170を参照し(ステップ702)、ス
テップ701において、再び解除要求のセマフォか否か
確認する。ステップ701において解除要求のセマフォ
を検出したならば、ステータス記憶領域17bに、未使
用のセマフォであることを表す“0”の値を格納し(ス
テップ703)、資源解放制御部13へセマフォ解除完
了を通知して処理を終える。
【0074】次に、本実施例による資源排他制御動作
を、タスクA,Bの間で資源獲得を行なう場合を例とし
て説明する。
を、タスクA,Bの間で資源獲得を行なう場合を例とし
て説明する。
【0075】図9は、図8における従来のタスクシーケ
ンスを本実施例の資源排他制御により実行したものであ
る。本実施例では、資源の排他制御を実行する前に、O
Sが管理するセマフォのステータスを全て“使用中”に
初期化する。なお、タスクBがタスクAより優先順位が
高いものとする。
ンスを本実施例の資源排他制御により実行したものであ
る。本実施例では、資源の排他制御を実行する前に、O
Sが管理するセマフォのステータスを全て“使用中”に
初期化する。なお、タスクBがタスクAより優先順位が
高いものとする。
【0076】まず、タスクAが資源獲得を要求すると
(a)、資源獲得制御部12は、資源管理テーブル16
の対応する資源管理テーブル要素160のウェイトタス
クカウンタ記憶領域16bを参照し、資源が未使用であ
ることを確認して、OSを介さずタスクAに制御を戻す
(b)。ある時間の経過後、タスク切換えの要因が発生
し、OS2は、タスクAの実行を中断した後、優先順位
の高いタスクBを起動する(c)。
(a)、資源獲得制御部12は、資源管理テーブル16
の対応する資源管理テーブル要素160のウェイトタス
クカウンタ記憶領域16bを参照し、資源が未使用であ
ることを確認して、OSを介さずタスクAに制御を戻す
(b)。ある時間の経過後、タスク切換えの要因が発生
し、OS2は、タスクAの実行を中断した後、優先順位
の高いタスクBを起動する(c)。
【0077】タスクBは、起動を開始して資源獲得を要
求する(d)。資源獲得制御部12は、対応する資源管
理テーブル要素160のウェイトタスクカウンタ記憶領
域16bを参照し、その資源が他タスクにより使用中で
あることを確認した後、セマフォ獲得を要求する
(e)。OS2は、セマフォが他タスクにより使用され
ていることを確認して、タスクBをセマフォ待ち行列に
つなぎ、処理を中断したタスクAを再開させる(f)。
求する(d)。資源獲得制御部12は、対応する資源管
理テーブル要素160のウェイトタスクカウンタ記憶領
域16bを参照し、その資源が他タスクにより使用中で
あることを確認した後、セマフォ獲得を要求する
(e)。OS2は、セマフォが他タスクにより使用され
ていることを確認して、タスクBをセマフォ待ち行列に
つなぎ、処理を中断したタスクAを再開させる(f)。
【0078】タスクAは、処理を終了すると、資源解放
を要求する(g)。資源解放制御部13は、対応する資
源管理テーブル要素160のウェイトタスクカウンタ記
憶領域16bを参照し、資源獲得を待つタスクが存在す
ることを確認して、セマフォ解放を要求する(h)。O
S2は、セマフォの獲得を待つタスクBを待ち行列から
外し、実行を再開させる(i)。
を要求する(g)。資源解放制御部13は、対応する資
源管理テーブル要素160のウェイトタスクカウンタ記
憶領域16bを参照し、資源獲得を待つタスクが存在す
ることを確認して、セマフォ解放を要求する(h)。O
S2は、セマフォの獲得を待つタスクBを待ち行列から
外し、実行を再開させる(i)。
【0079】タスクBは、処理を終えると、資源解放を
要求する(j)。資源解放制御部13は、対応する資源
管理テーブル要素160のウェイトタスクカウンタ記憶
領域16bを参照し、資源獲得を待つタスクが存在しな
いことを確認した上で、OS2を介さず、タスクBに制
御を戻す(k)。
要求する(j)。資源解放制御部13は、対応する資源
管理テーブル要素160のウェイトタスクカウンタ記憶
領域16bを参照し、資源獲得を待つタスクが存在しな
いことを確認した上で、OS2を介さず、タスクBに制
御を戻す(k)。
【0080】このように、本実施例システムにおける資
源排他制御動作によれば、資源獲得制御部12は、タス
クから資源の獲得要求を受けて、対応する資源管理テー
ブル要素160のウェイトタスクカウンタ記憶領域16
bを参照し、他タスクにより資源が使用されている場合
に限り、タスクをウェイト状態へ移行させるために、O
S2に対しセマフォの獲得を要求する。獲得を要求され
た資源が使用可能状態にある場合、セマフォの獲得を要
求しない。また、資源解放制御部13は、タスクから資
源の解放要求を受けて、同様に、ウェイトタスクカウン
タを参照し、他タスクが資源獲得を待つ場合に限り、ウ
ェイト状態のタスクを再開させるために、OS2に対し
セマフォの解放を要求する。資源獲得待ちのタスクが存
在しない場合、セマフォの解放を要求しない。このた
め、本実施例では、OSによる処理の遅延時間を最小限
に抑止することが可能である。
源排他制御動作によれば、資源獲得制御部12は、タス
クから資源の獲得要求を受けて、対応する資源管理テー
ブル要素160のウェイトタスクカウンタ記憶領域16
bを参照し、他タスクにより資源が使用されている場合
に限り、タスクをウェイト状態へ移行させるために、O
S2に対しセマフォの獲得を要求する。獲得を要求され
た資源が使用可能状態にある場合、セマフォの獲得を要
求しない。また、資源解放制御部13は、タスクから資
源の解放要求を受けて、同様に、ウェイトタスクカウン
タを参照し、他タスクが資源獲得を待つ場合に限り、ウ
ェイト状態のタスクを再開させるために、OS2に対し
セマフォの解放を要求する。資源獲得待ちのタスクが存
在しない場合、セマフォの解放を要求しない。このた
め、本実施例では、OSによる処理の遅延時間を最小限
に抑止することが可能である。
【0081】また、本実施例では、セマフォ割当部14
およびセマフォ解除部15により、セマフォの割り当て
および解放を動的に行なう構成となっている。すなわ
ち、セマフォ割当部14は、資源獲得制御部12からの
セマフォ割当指示を受け、使用するセマフォを動的に割
当て、セマフォ解除部15は、資源解放制御部13から
のセマフォ解除指示を受け、使用したセマフォを解除す
る。ここで、セマフォの動的割り当てとは、セマフォと
資源とを固定的に結合させず、必要に応じて、資源に対
応してセマフォを発行することを意味する。このような
制御方式によると、排他制御が必要な資源数に相当する
セマフォをOSに用意させる必要がなくなる。
およびセマフォ解除部15により、セマフォの割り当て
および解放を動的に行なう構成となっている。すなわ
ち、セマフォ割当部14は、資源獲得制御部12からの
セマフォ割当指示を受け、使用するセマフォを動的に割
当て、セマフォ解除部15は、資源解放制御部13から
のセマフォ解除指示を受け、使用したセマフォを解除す
る。ここで、セマフォの動的割り当てとは、セマフォと
資源とを固定的に結合させず、必要に応じて、資源に対
応してセマフォを発行することを意味する。このような
制御方式によると、排他制御が必要な資源数に相当する
セマフォをOSに用意させる必要がなくなる。
【0082】以上説明したように、本実施例の資源獲得
制御部12は、資源の競合によりタスクを待ち状態に移
行させる必要がある場合に限り、OS2に対しセマフォ
の獲得を要求し、資源解放制御部13は、資源獲得待ち
状態のタスクを起動させる必要がある場合に限り、OS
2に対しセマフォの解放を要求する。複数のタスクを並
列実行させる装置において、資源の排他制御は不可欠な
機能であるが、通常、資源競合が発生する確率はきわめ
て低い。従来の排他制御方式によると、資源を獲得また
は解放する時、必ずOS2による処理の遅延を伴う。し
かし、本実施例の排他制御方式によれば、資源競合が発
生しない獲得または解放の時、OS2の介在は不要であ
り、装置の総合的な処理時間を短縮することが可能とな
る。
制御部12は、資源の競合によりタスクを待ち状態に移
行させる必要がある場合に限り、OS2に対しセマフォ
の獲得を要求し、資源解放制御部13は、資源獲得待ち
状態のタスクを起動させる必要がある場合に限り、OS
2に対しセマフォの解放を要求する。複数のタスクを並
列実行させる装置において、資源の排他制御は不可欠な
機能であるが、通常、資源競合が発生する確率はきわめ
て低い。従来の排他制御方式によると、資源を獲得また
は解放する時、必ずOS2による処理の遅延を伴う。し
かし、本実施例の排他制御方式によれば、資源競合が発
生しない獲得または解放の時、OS2の介在は不要であ
り、装置の総合的な処理時間を短縮することが可能とな
る。
【0083】また、セマフォ割当部14は、必要に応じ
て使用するセマフォを動的に割当てるため、排他制御が
必要な資源数に相当するセマフォをOS2に用意する必
要がなく、少なくとも同時に発生する可能性がある資源
の獲得要求数に相当するセマフォで足りるので、OS2
がセマフォ制御テーブルとして使用するメモリ領域を削
減可能である。
て使用するセマフォを動的に割当てるため、排他制御が
必要な資源数に相当するセマフォをOS2に用意する必
要がなく、少なくとも同時に発生する可能性がある資源
の獲得要求数に相当するセマフォで足りるので、OS2
がセマフォ制御テーブルとして使用するメモリ領域を削
減可能である。
【0084】また、本実施例においては、必要性に応じ
てセマフォの獲得または解放を要求する方式と、動的な
セマフォ割当方式との組合せにより、処理時間の削減を
実現しているが、個々の方式だけでも限られた範囲で処
理時間を削減することが可能である。例えば、動的なセ
マフォ割当を実施しない場合、排他制御が必要な資源数
に相当するセマフォをOS2に用意し、資源管理テーブ
ル要素160の全てのウェイトセマフォ番号に予め異な
るセマフォ番号を設定して、資源獲得制御部12のステ
ップ405から407、および、資源解放制御部13の
ステップ505から507の処理を取り除けばよい。ま
た、必要性に応じたセマフォの獲得または解放要求を実
施しない場合、資源管理テーブル要素160のウェイト
タスクカウンタ記憶領域を削除し、資源獲得制御部12
のステップ403、404、および、資源解放制御部1
3のステップ503、504の処理を取り除けばよい。
てセマフォの獲得または解放を要求する方式と、動的な
セマフォ割当方式との組合せにより、処理時間の削減を
実現しているが、個々の方式だけでも限られた範囲で処
理時間を削減することが可能である。例えば、動的なセ
マフォ割当を実施しない場合、排他制御が必要な資源数
に相当するセマフォをOS2に用意し、資源管理テーブ
ル要素160の全てのウェイトセマフォ番号に予め異な
るセマフォ番号を設定して、資源獲得制御部12のステ
ップ405から407、および、資源解放制御部13の
ステップ505から507の処理を取り除けばよい。ま
た、必要性に応じたセマフォの獲得または解放要求を実
施しない場合、資源管理テーブル要素160のウェイト
タスクカウンタ記憶領域を削除し、資源獲得制御部12
のステップ403、404、および、資源解放制御部1
3のステップ503、504の処理を取り除けばよい。
【0085】上述した本実施例の資源排他制御動作の作
用および効果は、後述する他の実施例においても同様で
ある。また、セマフォの割り当て方式についても、後述
の他の実施例においても同様である。
用および効果は、後述する他の実施例においても同様で
ある。また、セマフォの割り当て方式についても、後述
の他の実施例においても同様である。
【0086】次に、本発明の第2実施例について説明す
る。
る。
【0087】図11は、本発明の情報処理システムの第
2実施例であるファクシミリ装置の構成の一例を示す。
なお、第1実施例と同一の構成要素については同一の符
号を付することとし、重複した説明を省略する。
2実施例であるファクシミリ装置の構成の一例を示す。
なお、第1実施例と同一の構成要素については同一の符
号を付することとし、重複した説明を省略する。
【0088】図11において、本実施例は、ISDN等
の回線7に接続されて、画像の送受信を行なうファクシ
ミリ装置であって、主制御部(CPU)1と、その動作
プログラムおよびデータを記憶するメインメモリ19
と、送信原稿を読込み二値化するスキャナ3と、画像デ
ータを記録紙に印刷するプリンタ5と、回線7を制御す
る通信制御装置(NCU)8と、画像データを蓄積する
画像メモリ11とを主たる構成要素として有する。
の回線7に接続されて、画像の送受信を行なうファクシ
ミリ装置であって、主制御部(CPU)1と、その動作
プログラムおよびデータを記憶するメインメモリ19
と、送信原稿を読込み二値化するスキャナ3と、画像デ
ータを記録紙に印刷するプリンタ5と、回線7を制御す
る通信制御装置(NCU)8と、画像データを蓄積する
画像メモリ11とを主たる構成要素として有する。
【0089】メインメモリ19には、CPU1により実
行されて各種機能が実現されるソフトウェアおよびデー
タが格納される。すなわち、第1実施例と同様の、OS
2と、資源獲得制御部12、資源解放制御部13、セマ
フォ割当部14、セマフォ解除部15、資源管理テーブ
ル16、セマフォ管理テーブル17およびファイル管理
部40が格納される。また、メインメモリ19には、本
実施例固有の機能実現手段を構成するためのプログラム
として、スキャナ3を制御し、二値化した画像データを
圧縮した後、画像メモリ11へ蓄積する読取制御部4
と、プリンタ5を制御し、画像メモリ11に蓄積された
画像データを伸長した後、プリンタ5へ出力する記録制
御部6と、NCU8を制御して相手先ファクシミリと通
信手順(プロトコル)を実行し、画像メモリ11に蓄積
された画像データの送信、および、受信した画像データ
を画像メモリ11へ蓄積する通信制御部9および10と
が格納される。
行されて各種機能が実現されるソフトウェアおよびデー
タが格納される。すなわち、第1実施例と同様の、OS
2と、資源獲得制御部12、資源解放制御部13、セマ
フォ割当部14、セマフォ解除部15、資源管理テーブ
ル16、セマフォ管理テーブル17およびファイル管理
部40が格納される。また、メインメモリ19には、本
実施例固有の機能実現手段を構成するためのプログラム
として、スキャナ3を制御し、二値化した画像データを
圧縮した後、画像メモリ11へ蓄積する読取制御部4
と、プリンタ5を制御し、画像メモリ11に蓄積された
画像データを伸長した後、プリンタ5へ出力する記録制
御部6と、NCU8を制御して相手先ファクシミリと通
信手順(プロトコル)を実行し、画像メモリ11に蓄積
された画像データの送信、および、受信した画像データ
を画像メモリ11へ蓄積する通信制御部9および10と
が格納される。
【0090】ファイル管理部40は、送信相手先の電話
番号や、画像メモリ11に蓄積した画像データの位置お
よびサイズ等の情報を、タスクごとに記憶する複数の送
信管理テーブルと、各送信管理テーブルを、それぞれの
テーブルアドレス等により読取順に接続する送信キュー
とを有する。なお、メモリやディスク装置等の外部記憶
装置(図示せず)を接続して、その制御を行なう機能を
さらに持つ構成とすることもできる。
番号や、画像メモリ11に蓄積した画像データの位置お
よびサイズ等の情報を、タスクごとに記憶する複数の送
信管理テーブルと、各送信管理テーブルを、それぞれの
テーブルアドレス等により読取順に接続する送信キュー
とを有する。なお、メモリやディスク装置等の外部記憶
装置(図示せず)を接続して、その制御を行なう機能を
さらに持つ構成とすることもできる。
【0091】上記メインメモリ19に格納される各プロ
グラムは、階層的な関係を持っている。図12に、上記
プログラム群の階層構造を示す。同図では、マルチタス
クOS2の上に、資源獲得制御部12および資源開放制
御部13が存在し、それらの階層の上に、さらに、読取
制御部4、記録制御部6、通信制御部9および10、フ
ァイル管理部40が存在する構成となっている。なお、
図示していないが、他の実施例におけるプログラムにつ
いても、ほぼ同様の構成とすることができる。
グラムは、階層的な関係を持っている。図12に、上記
プログラム群の階層構造を示す。同図では、マルチタス
クOS2の上に、資源獲得制御部12および資源開放制
御部13が存在し、それらの階層の上に、さらに、読取
制御部4、記録制御部6、通信制御部9および10、フ
ァイル管理部40が存在する構成となっている。なお、
図示していないが、他の実施例におけるプログラムにつ
いても、ほぼ同様の構成とすることができる。
【0092】なお、画像メモリ11は、本実施例では、
メインメモリ19とは別に設けられているが、メインメ
モリ19内に、領域として設けることもできる。
メインメモリ19とは別に設けられているが、メインメ
モリ19内に、領域として設けることもできる。
【0093】次に、本実施例のファクシミリ装置の動作
について、説明する。
について、説明する。
【0094】本実施例のファクシミリ装置では、送信す
べき原稿をスキャナ3で読取り、読み取った原稿の画像
を画像メモリ11に蓄積する。蓄積された原稿の画像
は、回線7が使用可能になるまで、読取順に、ファイル
管理部40内の待ち行列(送信キュー)に接続される。
このため、当該原稿についての、送信相手先の電話番号
や、画像メモリ11に蓄積した画像データの位置および
サイズ等の情報を、送信管理テーブルに格納する。ま
た、各送信管理テーブルについて、そのテーブルアドレ
ス等を、読取順に、送信キューに接続する。送信キュー
は、読取制御部4、通信制御部9、通信制御部10等の
タスクで共有するが、各送信管理テーブルは、テーブル
アドレス等により接続されているため、あるタスクがテ
ーブルアドレスをアクセスしている間に、他タスクがテ
ーブルアドレスを変更すると誤動作を生じかねない。そ
こで、送信キューには、排他制御が必要である。
べき原稿をスキャナ3で読取り、読み取った原稿の画像
を画像メモリ11に蓄積する。蓄積された原稿の画像
は、回線7が使用可能になるまで、読取順に、ファイル
管理部40内の待ち行列(送信キュー)に接続される。
このため、当該原稿についての、送信相手先の電話番号
や、画像メモリ11に蓄積した画像データの位置および
サイズ等の情報を、送信管理テーブルに格納する。ま
た、各送信管理テーブルについて、そのテーブルアドレ
ス等を、読取順に、送信キューに接続する。送信キュー
は、読取制御部4、通信制御部9、通信制御部10等の
タスクで共有するが、各送信管理テーブルは、テーブル
アドレス等により接続されているため、あるタスクがテ
ーブルアドレスをアクセスしている間に、他タスクがテ
ーブルアドレスを変更すると誤動作を生じかねない。そ
こで、送信キューには、排他制御が必要である。
【0095】例えば、通信制御部9または10が送信キ
ューから先頭の送信情報を読出す際、資源獲得制御部1
2に対し、送信キューの占有権獲得を要求する。資源獲
得制御部12は、図4に示すステップ401、402に
おいて、上述したように、送信キューに該当する資源管
理テーブル要素160(図2参照)を検索し、ウェイト
タスクカウンタに“1”を加算する(ステップ40
3)。このとき、演算結果からキャリー信号が発生する
ので(ステップ404)、資源獲得制御部12は、ステ
ップ409へ移行し、通信制御部9または10へ制御を
戻す。通信制御部9または10は、送信キューの占有権
を得て、ファイル管理部40内の送信管理テーブルの情
報にアクセスする。
ューから先頭の送信情報を読出す際、資源獲得制御部1
2に対し、送信キューの占有権獲得を要求する。資源獲
得制御部12は、図4に示すステップ401、402に
おいて、上述したように、送信キューに該当する資源管
理テーブル要素160(図2参照)を検索し、ウェイト
タスクカウンタに“1”を加算する(ステップ40
3)。このとき、演算結果からキャリー信号が発生する
ので(ステップ404)、資源獲得制御部12は、ステ
ップ409へ移行し、通信制御部9または10へ制御を
戻す。通信制御部9または10は、送信キューの占有権
を得て、ファイル管理部40内の送信管理テーブルの情
報にアクセスする。
【0096】この間に、ユーザがスキャナ3に原稿をセ
ットすると、読取制御部4は、原稿を読取り、画像メモ
リ11に蓄積した後、送信キューの占有権獲得を要求す
る。資源獲得制御部12は、ステップ401、402に
おいて、送信キューに該当する資源管理テーブル要素1
60を検索し、ウェイトタスクカウンタに“1”を加算
する(ステップ403)。このとき、演算結果からキャ
リー信号は発生しないので(ステップ404)、資源獲
得制御部12は、ステップ405から408の処理を実
行し、OS2により読取制御部4を待ち状態に移行させ
る。
ットすると、読取制御部4は、原稿を読取り、画像メモ
リ11に蓄積した後、送信キューの占有権獲得を要求す
る。資源獲得制御部12は、ステップ401、402に
おいて、送信キューに該当する資源管理テーブル要素1
60を検索し、ウェイトタスクカウンタに“1”を加算
する(ステップ403)。このとき、演算結果からキャ
リー信号は発生しないので(ステップ404)、資源獲
得制御部12は、ステップ405から408の処理を実
行し、OS2により読取制御部4を待ち状態に移行させ
る。
【0097】一方、通信制御部9または10は、送信キ
ューへのアクセスを終えると、資源解放制御部13に対
し、送信キューの占有権解放を通知する。資源解放制御
部13は、図5に示すように、ステップ501、502
において、送信キューに該当する資源管理テーブル要素
160を検索し、ウェイトタスクカウンタから“1”を
減算する(ステップ503)。このとき、演算結果から
キャリー信号は発生しないので(ステップ504)、資
源解放制御部13は、ステップ505から508の処理
を実行し、OS2により読取制御部4の待ち状態を解除
する。
ューへのアクセスを終えると、資源解放制御部13に対
し、送信キューの占有権解放を通知する。資源解放制御
部13は、図5に示すように、ステップ501、502
において、送信キューに該当する資源管理テーブル要素
160を検索し、ウェイトタスクカウンタから“1”を
減算する(ステップ503)。このとき、演算結果から
キャリー信号は発生しないので(ステップ504)、資
源解放制御部13は、ステップ505から508の処理
を実行し、OS2により読取制御部4の待ち状態を解除
する。
【0098】読取制御部4は、送信キューの占有権を得
て、送信管理テーブルの情報にアクセスし、アクセスを
終えると、資源解放制御部13に対し、送信キューの占
有権解放を通知する。資源解放制御部13は、ステップ
501、502において、送信キューに該当する資源管
理テーブル要素160を検索し、ウェイトタスクカウン
タから“1”を減算する(ステップ503)。
て、送信管理テーブルの情報にアクセスし、アクセスを
終えると、資源解放制御部13に対し、送信キューの占
有権解放を通知する。資源解放制御部13は、ステップ
501、502において、送信キューに該当する資源管
理テーブル要素160を検索し、ウェイトタスクカウン
タから“1”を減算する(ステップ503)。
【0099】このとき、演算結果からキャリー信号が発
生するので(ステップ504)、資源解放制御部13
は、ステップ509へ移行し、読取制御部4へ制御を戻
す。
生するので(ステップ504)、資源解放制御部13
は、ステップ509へ移行し、読取制御部4へ制御を戻
す。
【0100】以上のように、本実施例のファクシミリ装
置によると、通信制御部9または10による送信キュー
への占有権獲得要求時、および、読取制御部4による送
信キューの占有権解放通知時、OS2は未介在であり、
無駄なオーバヘッドを削減することが可能となる。
置によると、通信制御部9または10による送信キュー
への占有権獲得要求時、および、読取制御部4による送
信キューの占有権解放通知時、OS2は未介在であり、
無駄なオーバヘッドを削減することが可能となる。
【0101】次に、本発明の第3の実施例について説明
する。本実施例は、ファイル資源を排他制御する情報処
理システムの例である。すなわち、本実施例は、例え
ば、図1に示す情報処理システムにおけるディスク装置
22内に格納されるファイル資源の排他制御に適用され
る。もっとも、ファイル資源は、ディスク装置22内に
格納されるものに限らず、メインメモリ19内に格納さ
れるファイル、画像メモリ11等に格納されるファイル
等であってもよい。
する。本実施例は、ファイル資源を排他制御する情報処
理システムの例である。すなわち、本実施例は、例え
ば、図1に示す情報処理システムにおけるディスク装置
22内に格納されるファイル資源の排他制御に適用され
る。もっとも、ファイル資源は、ディスク装置22内に
格納されるものに限らず、メインメモリ19内に格納さ
れるファイル、画像メモリ11等に格納されるファイル
等であってもよい。
【0102】本実施例のシステムでは、第1実施例にお
ける資源排他制御機能の構成要素の他に、前記ファイル
管理部18は、ファイル非占有状態での書込または読込
処理要求を受ける機能と、ファイル非占有状態での書込
または読込処理要求を受けたとき、前記資源獲得制御部
12に対してファイル資源の獲得を要求する機能と、フ
ァイル資源獲得後、ファイルに対して書込または読込処
理を実行する機能と、書込または読込処理を実行後、前
記資源解放制御部13に対してファイル資源の解放を要
求する機能とを有するものである。
ける資源排他制御機能の構成要素の他に、前記ファイル
管理部18は、ファイル非占有状態での書込または読込
処理要求を受ける機能と、ファイル非占有状態での書込
または読込処理要求を受けたとき、前記資源獲得制御部
12に対してファイル資源の獲得を要求する機能と、フ
ァイル資源獲得後、ファイルに対して書込または読込処
理を実行する機能と、書込または読込処理を実行後、前
記資源解放制御部13に対してファイル資源の解放を要
求する機能とを有するものである。
【0103】図10は、本発明の実施例におけるファイ
ル管理部18の排他制御動作を示すフローチャートであ
る。
ル管理部18の排他制御動作を示すフローチャートであ
る。
【0104】先ず、図1に示す情報処理システムにおい
て、ファイル管理部18に、上述した機能を持たせない
状態で、ファイル管理制御を実行する場合について説明
する。
て、ファイル管理部18に、上述した機能を持たせない
状態で、ファイル管理制御を実行する場合について説明
する。
【0105】この場合、ファイルの占有を希望するタス
クは、まず、資源獲得制御部12に対し、ファイル資源
の獲得を要求する。資源獲得制御部12は、該当ファイ
ル資源の獲得処理を実行した後、ファイルへのアクセス
を許可するユニークなアクセス権番号をタスクへ通知す
る。次に、タスクは、アクセス権番号と共に、ファイル
管理部18に対し、ファイル書込または読込を要求す
る。ファイル管理部18は、入力されたアクセス権番号
を参照し(ステップ1001)、資源の占有状態を確認
した後、該当ファイルに対するデータの書込または読込
処理を実行し(ステップ1002)、タスクへ制御を戻
す。タスクは、ファイルの書込または読込処理の終了を
確認した後、資源解放制御部13に対し、ファイル資源
の解放を要求する。
クは、まず、資源獲得制御部12に対し、ファイル資源
の獲得を要求する。資源獲得制御部12は、該当ファイ
ル資源の獲得処理を実行した後、ファイルへのアクセス
を許可するユニークなアクセス権番号をタスクへ通知す
る。次に、タスクは、アクセス権番号と共に、ファイル
管理部18に対し、ファイル書込または読込を要求す
る。ファイル管理部18は、入力されたアクセス権番号
を参照し(ステップ1001)、資源の占有状態を確認
した後、該当ファイルに対するデータの書込または読込
処理を実行し(ステップ1002)、タスクへ制御を戻
す。タスクは、ファイルの書込または読込処理の終了を
確認した後、資源解放制御部13に対し、ファイル資源
の解放を要求する。
【0106】このようなファイル管理制御によると、タ
スクは、ファイルの書込または読込処理を要求する前
に、ファイル資源の獲得を要求し、書込または読込処理
の完了後、ファイル資源の解放を要求する必要がある。
スクは、ファイルの書込または読込処理を要求する前
に、ファイル資源の獲得を要求し、書込または読込処理
の完了後、ファイル資源の解放を要求する必要がある。
【0107】ところで、ファイルに対する書き込みおよ
び読み込みに際しては、同一ファイルに複数回の書込ま
たは読込処理を実行する場合は、ファイルを占有しなけ
ればならないが、一度の書込または読込処理を実行する
場合は、処理中に限りファイルを占有すれば良い。そこ
で、本実施例では、上述したように、ファイル管理部1
8に、資源の占有状態でのファイル管理制御機能を持た
せて、長期にわたりファイルを占有する必要のないタス
クにおけるファイル資源の獲得および解放処理を不要と
する。
び読み込みに際しては、同一ファイルに複数回の書込ま
たは読込処理を実行する場合は、ファイルを占有しなけ
ればならないが、一度の書込または読込処理を実行する
場合は、処理中に限りファイルを占有すれば良い。そこ
で、本実施例では、上述したように、ファイル管理部1
8に、資源の占有状態でのファイル管理制御機能を持た
せて、長期にわたりファイルを占有する必要のないタス
クにおけるファイル資源の獲得および解放処理を不要と
する。
【0108】タスクは、資源獲得制御部12に対するフ
ァイル資源の獲得を要求せずに、ファイル管理部18に
対しファイル書込または読込を要求する。この時、ファ
イルが非占有状態であることを表す“0”をアクセス権
番号として通知する。ファイル管理部18は、入力され
たアクセス権番号を参照し(ステップ1001)、資源
の非占有状態を確認した後、資源獲得制御部12に対
し、ファイル資源の獲得を要求する(ステップ100
3)。ここで、資源獲得制御部12は、上述した図4に
示す手順によって、資源獲得制御を行なう。
ァイル資源の獲得を要求せずに、ファイル管理部18に
対しファイル書込または読込を要求する。この時、ファ
イルが非占有状態であることを表す“0”をアクセス権
番号として通知する。ファイル管理部18は、入力され
たアクセス権番号を参照し(ステップ1001)、資源
の非占有状態を確認した後、資源獲得制御部12に対
し、ファイル資源の獲得を要求する(ステップ100
3)。ここで、資源獲得制御部12は、上述した図4に
示す手順によって、資源獲得制御を行なう。
【0109】資源獲得制御部12が該当ファイル資源を
獲得した後、ファイル管理部18は、該当ファイルに対
するデータの書込または読込処理を実行する(ステップ
1004)。ファイルの書込または読込処理の終了後、
ファイル管理部18は、資源解放制御部13に対して、
ファイル資源の解放を要求し(ステップ1005)、タ
スクへ制御を戻す。ここで、資源解放制御部13は、上
述した図5に示す手順によって、資源解放を行なう。
獲得した後、ファイル管理部18は、該当ファイルに対
するデータの書込または読込処理を実行する(ステップ
1004)。ファイルの書込または読込処理の終了後、
ファイル管理部18は、資源解放制御部13に対して、
ファイル資源の解放を要求し(ステップ1005)、タ
スクへ制御を戻す。ここで、資源解放制御部13は、上
述した図5に示す手順によって、資源解放を行なう。
【0110】本実施例によるファイル管理制御によれ
ば、非占有状態のファイルに対する書込または読込処理
を要求された場合、ファイル管理部18が資源の獲得お
よび解放を実行するため、タスクにおけるファイルの占
有処理を不要とすることが可能となる。
ば、非占有状態のファイルに対する書込または読込処理
を要求された場合、ファイル管理部18が資源の獲得お
よび解放を実行するため、タスクにおけるファイルの占
有処理を不要とすることが可能となる。
【0111】また、本実施例によれば、例えば、タスク
Aが占有しているファイルに対して、タスクBがファイ
ル資源を獲得せずに書込または読込処理を要求した場合
でも、ファイル管理部18が要求するファイル資源の獲
得要求(ステップ1003)により、タスクAがファイ
ル資源を解放するまで、タスクBの書込または読込処理
は待機させられるため、ファイルを保護することが可能
である。
Aが占有しているファイルに対して、タスクBがファイ
ル資源を獲得せずに書込または読込処理を要求した場合
でも、ファイル管理部18が要求するファイル資源の獲
得要求(ステップ1003)により、タスクAがファイ
ル資源を解放するまで、タスクBの書込または読込処理
は待機させられるため、ファイルを保護することが可能
である。
【0112】なお、上記第3の実施例では、第1実施例
のシステムにおけるファイル管理に適用したが、第2実
施例のシステムにおけるファイル管理に適用してもよ
い。
のシステムにおけるファイル管理に適用したが、第2実
施例のシステムにおけるファイル管理に適用してもよ
い。
【0113】上記各実施例において、資源獲得制御部1
2および資源解放制御部13は、各タスクが共有する全
ての資源に対し、一括して競合制御を実行する。このた
め、配列構成の資源管理テーブル16を設け、ステップ
401から402、および、ステップ501から502
で、該当資源の資源管理テーブル要素160を検索して
いる。しかし、各資源毎に、資源獲得制御部12および
資源解放制御部13を設け、各資源の資源獲得制御部1
2および資源解放制御部13がアクセスするウエイトタ
スクカウンタを固定的に割当てることで、ステップ40
1から402、および、ステップ501から502のテ
ーブル検索処理を不要とでき、さらに高速化を図ること
が可能となる。この場合、資源管理テーブル要素160
は、不要となる。
2および資源解放制御部13は、各タスクが共有する全
ての資源に対し、一括して競合制御を実行する。このた
め、配列構成の資源管理テーブル16を設け、ステップ
401から402、および、ステップ501から502
で、該当資源の資源管理テーブル要素160を検索して
いる。しかし、各資源毎に、資源獲得制御部12および
資源解放制御部13を設け、各資源の資源獲得制御部1
2および資源解放制御部13がアクセスするウエイトタ
スクカウンタを固定的に割当てることで、ステップ40
1から402、および、ステップ501から502のテ
ーブル検索処理を不要とでき、さらに高速化を図ること
が可能となる。この場合、資源管理テーブル要素160
は、不要となる。
【0114】次に、各資源ごとに競合制御する資源獲得
制御部および資源解放制御部を備えた情報処理システム
の実施例として、本発明の第4実施例について説明す
る。
制御部および資源解放制御部を備えた情報処理システム
の実施例として、本発明の第4実施例について説明す
る。
【0115】図13は、各資源毎に競合制御する資源獲
得制御部および資源解放制御部を備えた本実施例が適用
されるワークステーションの構成を示す。
得制御部および資源解放制御部を備えた本実施例が適用
されるワークステーションの構成を示す。
【0116】図13において、本実施例は、主制御部
(CPU)1と、その動作プログラムおよびデータを記
憶するメインメモリ19と、ディスプレイ20と、キー
ボード21と、ハードディスクまたはフレキシブルディ
スクの読み書きを行なうディスク装置(HDD/FD
D)22とを主たる構成要素として有する。
(CPU)1と、その動作プログラムおよびデータを記
憶するメインメモリ19と、ディスプレイ20と、キー
ボード21と、ハードディスクまたはフレキシブルディ
スクの読み書きを行なうディスク装置(HDD/FD
D)22とを主たる構成要素として有する。
【0117】メインメモリ19には、CPU1により実
行されて各種機能が実現されるソフトウェアと、その実
行の際に用いられるデータが格納される。すなわち、ソ
フトウェアで構成するタスクの動作を管理するマルチタ
スクOS2と、ディスプレイ20を制御し、画像データ
を表示させる表示制御部23と、キーボード21を制御
し、操作指示、データの入力を受け付ける制御を行なう
入力制御部24各機能実現手段を実現するための各種プ
ログラム、および、アプリケーションプログラム25,
26等が記憶される。これらは、図1に示す実施例に設
けられる要素と同様に構成される。
行されて各種機能が実現されるソフトウェアと、その実
行の際に用いられるデータが格納される。すなわち、ソ
フトウェアで構成するタスクの動作を管理するマルチタ
スクOS2と、ディスプレイ20を制御し、画像データ
を表示させる表示制御部23と、キーボード21を制御
し、操作指示、データの入力を受け付ける制御を行なう
入力制御部24各機能実現手段を実現するための各種プ
ログラム、および、アプリケーションプログラム25,
26等が記憶される。これらは、図1に示す実施例に設
けられる要素と同様に構成される。
【0118】また、メインメモリ19には、資源獲得制
御部27および資源解放制御部28と、資源獲得制御部
30および資源解放制御部31と、資源獲得制御部33
および資源解放制御部34とを資源対応に有する。さら
に、これらに対応して、ウエイトタスクカウンタ29,
32と、資源管理テーブル35、セマフォ割当部14、
セマフォ管理テーブル17およびセマフォ解除部15と
を有する。
御部27および資源解放制御部28と、資源獲得制御部
30および資源解放制御部31と、資源獲得制御部33
および資源解放制御部34とを資源対応に有する。さら
に、これらに対応して、ウエイトタスクカウンタ29,
32と、資源管理テーブル35、セマフォ割当部14、
セマフォ管理テーブル17およびセマフォ解除部15と
を有する。
【0119】なお、本実施例のワークステーションに
は、この他に、図示していないが、プリンタ、通信制御
装置等を接続することができる。
は、この他に、図示していないが、プリンタ、通信制御
装置等を接続することができる。
【0120】資源獲得制御部27および資源解放制御部
28は、ある一つの資源(例えば資源A)に対応して設
けられ、これについての競合制御を行う。このため、図
2に示す資源管理テーブル16のような配列構成は不要
となる。また、資源を特定できるため、資源管理テーブ
ル16の資源番号も不要となる。さらに、動的なセマフ
ォ割当は行わず、資源Aに対して特定のセマフォ(例え
ばセマフォA)を割当てるため、資源管理テーブル16
のウェイトセマフォ番号も不要となる。従って、資源獲
得制御部27および資源解放制御部28は、図13にお
けるウェイトタスクカウンタ29だけで競合制御を実行
する。
28は、ある一つの資源(例えば資源A)に対応して設
けられ、これについての競合制御を行う。このため、図
2に示す資源管理テーブル16のような配列構成は不要
となる。また、資源を特定できるため、資源管理テーブ
ル16の資源番号も不要となる。さらに、動的なセマフ
ォ割当は行わず、資源Aに対して特定のセマフォ(例え
ばセマフォA)を割当てるため、資源管理テーブル16
のウェイトセマフォ番号も不要となる。従って、資源獲
得制御部27および資源解放制御部28は、図13にお
けるウェイトタスクカウンタ29だけで競合制御を実行
する。
【0121】図14のフローチャートに示すように、ア
プリケーションプログラム25また26から資源Aの獲
得要求を受けると(ステップ1401)、資源獲得制御
部27は、ウェイトタスクカウンタ29に“1”を加算
した後、(ステップ1402)、獲得する資源Aがタス
クにより使用中であるか確認する(ステップ140
3)。他タスクにより使用中である場合、OS2に対し
てセマフォAの獲得を要求し(ステップ1404)、獲
得完了まで待ち状態を継続した後、ステップ1405へ
移行する。一方、ステップ1403において、資源Aが
他タスクにより使用されていない場合は、ステップ14
04を実行せずに、ステップ1405へ移行する。
プリケーションプログラム25また26から資源Aの獲
得要求を受けると(ステップ1401)、資源獲得制御
部27は、ウェイトタスクカウンタ29に“1”を加算
した後、(ステップ1402)、獲得する資源Aがタス
クにより使用中であるか確認する(ステップ140
3)。他タスクにより使用中である場合、OS2に対し
てセマフォAの獲得を要求し(ステップ1404)、獲
得完了まで待ち状態を継続した後、ステップ1405へ
移行する。一方、ステップ1403において、資源Aが
他タスクにより使用されていない場合は、ステップ14
04を実行せずに、ステップ1405へ移行する。
【0122】また、図15のフローチャートに示すよう
に、アプリケーションプログラム25または26から資
源Aの解放要求を受けると(ステップ1501)、資源
解放制御部28は、ウェイトタスクカウンタ29から
“1”を減算した後(ステップ1502)、解放する資
源Aを獲得待ちのタスクが存在するか確認する(ステッ
プ1503)。獲得待ちのタスクが存在する場合、OS
2に対してセマフォAの解放を要求し(ステップ150
4)、解放完了まで待ち状態を継続した後、ステップ1
505へ移行する。一方、ステップ1503において、
資源Aを獲得待ちのタスクが存在しない場合は、ステッ
プ1504を実行せずに、ステップ1505へ移行す
る。
に、アプリケーションプログラム25または26から資
源Aの解放要求を受けると(ステップ1501)、資源
解放制御部28は、ウェイトタスクカウンタ29から
“1”を減算した後(ステップ1502)、解放する資
源Aを獲得待ちのタスクが存在するか確認する(ステッ
プ1503)。獲得待ちのタスクが存在する場合、OS
2に対してセマフォAの解放を要求し(ステップ150
4)、解放完了まで待ち状態を継続した後、ステップ1
505へ移行する。一方、ステップ1503において、
資源Aを獲得待ちのタスクが存在しない場合は、ステッ
プ1504を実行せずに、ステップ1505へ移行す
る。
【0123】同様に、資源獲得制御部30および資源解
放制御部31は、ある一つの資源(例えば資源B)に対
して競合制御を行うため、ウェイトタスクカウンタ32
を備え、資源Bに対する特定のセマフォ(例えばセマフ
ォB)を用いてOS2に対しセマフォの獲得または解放
を要求する。アプリケーションプログラム25または2
6は、資源Bの獲得もしくは解放を、資源獲得制御部3
0および資源解放制御部31に要求する。
放制御部31は、ある一つの資源(例えば資源B)に対
して競合制御を行うため、ウェイトタスクカウンタ32
を備え、資源Bに対する特定のセマフォ(例えばセマフ
ォB)を用いてOS2に対しセマフォの獲得または解放
を要求する。アプリケーションプログラム25または2
6は、資源Bの獲得もしくは解放を、資源獲得制御部3
0および資源解放制御部31に要求する。
【0124】また、資源獲得制御部33および資源解放
制御部34は、ファイル管理部18が管理するディスク
装置(HDD/FDD)22内の個々のファイルに対し
て、動的にセマフォを割当て競合制御を行うものであ
る。図1または図11に示す実施例と同様に、資源管理
テーブル35、セマフォ割当部14、セマフォ解除部1
5、セマフォ管理テーブル17を用いて、動的にセマフ
ォを割当ておよび解除を行う。
制御部34は、ファイル管理部18が管理するディスク
装置(HDD/FDD)22内の個々のファイルに対し
て、動的にセマフォを割当て競合制御を行うものであ
る。図1または図11に示す実施例と同様に、資源管理
テーブル35、セマフォ割当部14、セマフォ解除部1
5、セマフォ管理テーブル17を用いて、動的にセマフ
ォを割当ておよび解除を行う。
【0125】以上説明したように、図13に示す第4実
施例では、各資源に対して、個別の資源獲得制御部およ
び資源解放制御部を備える。このため、資源Aまたは資
源Bのような単一の資源に対しては予め定義した特定の
セマフォを使用する。このため、資源獲得制御部27お
よび30のステップ401、402、およびステップ4
05から407、そして資源解放制御部28および31
のステップ501、502、およびステップ505から
507の処理は不要であり、さらに競合制御を高速化可
能である。また、本実施例は、動的なセマフォ割当を行
う資源獲得制御部および資源解放制御部を備える。これ
により、資源数の多いファイル管理等においては、セマ
フォ管理のために必要な記憶容量の減少を図っている。
施例では、各資源に対して、個別の資源獲得制御部およ
び資源解放制御部を備える。このため、資源Aまたは資
源Bのような単一の資源に対しては予め定義した特定の
セマフォを使用する。このため、資源獲得制御部27お
よび30のステップ401、402、およびステップ4
05から407、そして資源解放制御部28および31
のステップ501、502、およびステップ505から
507の処理は不要であり、さらに競合制御を高速化可
能である。また、本実施例は、動的なセマフォ割当を行
う資源獲得制御部および資源解放制御部を備える。これ
により、資源数の多いファイル管理等においては、セマ
フォ管理のために必要な記憶容量の減少を図っている。
【0126】本発明は、以上に説明された実施例に限ら
ず、マルチタスクOSの環境下で資源の排他制御を実現
する全ての情報処理システムに適用可能である。すなわ
ち、本発明の資源排他制御システムは、競合が発生した
とき、タスクを待ち状態に遷移させる各種資源に対して
適用可能である。例えば、上述したように、ファクシミ
リ装置における資源排他制御に適用することができる。
ファクシミリ装置においては、スキャナ、プリンタ、通
信制御装置、回線、メモリ、外部記憶装置(HDD、F
DD、ICカード等)における記憶領域等のハードウェ
アと、送信キューや印刷キュー等、ジョブに関する情報
を登録するジョブ制御テーブル、短縮またはワンタッチ
ダイヤル等の登録テーブル、外部記憶装置における個々
のファイルまたはレコード、その他複数のタスク間で共
有する各種制御テーブル等、データもしくはデータ群を
資源とみなして、本発明の資源排他制御方式により競合
制御することが可能である。
ず、マルチタスクOSの環境下で資源の排他制御を実現
する全ての情報処理システムに適用可能である。すなわ
ち、本発明の資源排他制御システムは、競合が発生した
とき、タスクを待ち状態に遷移させる各種資源に対して
適用可能である。例えば、上述したように、ファクシミ
リ装置における資源排他制御に適用することができる。
ファクシミリ装置においては、スキャナ、プリンタ、通
信制御装置、回線、メモリ、外部記憶装置(HDD、F
DD、ICカード等)における記憶領域等のハードウェ
アと、送信キューや印刷キュー等、ジョブに関する情報
を登録するジョブ制御テーブル、短縮またはワンタッチ
ダイヤル等の登録テーブル、外部記憶装置における個々
のファイルまたはレコード、その他複数のタスク間で共
有する各種制御テーブル等、データもしくはデータ群を
資源とみなして、本発明の資源排他制御方式により競合
制御することが可能である。
【0127】また、上記実施例では、資源獲得を要求し
たタスクをウェイト状態に移行させる手段としてセマフ
ォ機能を利用したが、OSが備えるイベントフラグ機
能、メールボックス機能、ENQ/DEQ機能等でも代
用可能である。
たタスクをウェイト状態に移行させる手段としてセマフ
ォ機能を利用したが、OSが備えるイベントフラグ機
能、メールボックス機能、ENQ/DEQ機能等でも代
用可能である。
【0128】以上説明したように、本発明は、複数のタ
スク間で共有する各種資源の競合制御を高速化すること
ができる。
スク間で共有する各種資源の競合制御を高速化すること
ができる。
【0129】
【発明の効果】本発明によれば、タスクの動作状態を変
更させる必要がある場合に限り、OSに対しセマフォの
獲得または解放を要求するため、OSによる処理の遅延
時間を最小限に抑止することが可能である。
更させる必要がある場合に限り、OSに対しセマフォの
獲得または解放を要求するため、OSによる処理の遅延
時間を最小限に抑止することが可能である。
【0130】また、必要に応じて使用するセマフォを動
的に割当てる場合には、排他制御が必要な資源数に相当
するセマフォをOSに用意する必要がなく、少なくとも
同時に発生する可能性がある資源の獲得要求数に相当す
るセマフォで足りるので、OSがセマフォ制御テーブル
として使用するメモリ領域を削減可能である。
的に割当てる場合には、排他制御が必要な資源数に相当
するセマフォをOSに用意する必要がなく、少なくとも
同時に発生する可能性がある資源の獲得要求数に相当す
るセマフォで足りるので、OSがセマフォ制御テーブル
として使用するメモリ領域を削減可能である。
【図1】本発明の情報処理システムの第1実施例である
ワークステーションの構成を示すロック図。
ワークステーションの構成を示すロック図。
【図2】本発明の実施例において用いられる資源管理テ
ーブルの情報の説明図。
ーブルの情報の説明図。
【図3】セマフォ管理テーブルの情報の説明図。
【図4】資源獲得制御部の動作フローチャート。
【図5】資源解放制御部の動作フローチャート。
【図6】セマフォ割当部の動作フローチャート。
【図7】セマフォ解除部の動作フローチャート。
【図8】従来の資源排他制御方式によるタスクシーケン
ス。
ス。
【図9】本発明の資源排他制御方式によるタスクシーケ
ンス。
ンス。
【図10】本発明の第3実施例の情報処理システムにお
けるファイル管理部の動作フローチャート。
けるファイル管理部の動作フローチャート。
【図11】本発明の情報処理システムの第2実施例であ
るファクシミリ装置の構成を示すロック図。
るファクシミリ装置の構成を示すロック図。
【図12】本発明の第2実施例のソフトウェアの階層構
造を示す説明図。
造を示す説明図。
【図13】本発明の情報処理システムの第4実施例であ
るワークステーションの構成を示すロック図。
るワークステーションの構成を示すロック図。
【図14】第4実施例における、資源対応の資源獲得制
御部の動作フローチャート。
御部の動作フローチャート。
【図15】第4実施例における、資源対応の資源解放制
御部の動作フローチャート。
御部の動作フローチャート。
1…主制御部、2…マルチタスクOS、12…資源獲得
制御部、13…資源解放制御部、14…セマフォ割当
部、15…セマフォ解除部、16…資源管理テーブル、
17…セマフォ管理テーブル、18,40…ファイル管
理部。
制御部、13…資源解放制御部、14…セマフォ割当
部、15…セマフォ解除部、16…資源管理テーブル、
17…セマフォ管理テーブル、18,40…ファイル管
理部。
Claims (30)
- 【請求項1】マルチタスクOS(オペレーティングシス
テム)と、各タスクによって使用される1または2以上
の資源とを備える情報処理システムにおいて、 マルチタスクOSの環境下で資源を排他制御する資源排
他制御機能を備え、 資源排他制御機能は、 資源獲得待ち状態を管理する資源獲得待ち状態管理手段
と、 タスクから資源の獲得要求を受け、前記資源獲得待ち状
態管理手段が管理する資源獲得待ち状態に応じて、前記
OSに対しタスクウェイト状態への移行を要求する資源
獲得制御部と、 タスクから資源の解放要求を受け、前記資源獲得待ち状
態管理手段が管理する資源獲得待ち状態に応じて、前記
OSに対しウェイト状態タスクの再開を要求する資源解
放制御部とを備えることを特徴とする情報処理システ
ム。 - 【請求項2】請求項1において、 資源獲得制御部は、各タスクから資源の獲得要求を受け
て、OSに対して、セマフォの獲得を要求する機能を有
するものであり、 資源解放制御部は、タスクから資源の解放要求を受け
て、OSに対して、セマフォの解放を要求する機能を有
するものである情報処理システム。 - 【請求項3】請求項2において、資源獲得待ち状態管理
手段は、排他制御が必要な資源の数に相当するテーブル
要素が配列される資源管理テーブルを有し、 各テーブル要素は、資源を識別するための識別子を記憶
する資源識別子記憶領域、資源獲得待ち状態のタスク数
を格納するウェイトタスクカウンタを記憶するウェイト
タスクカウンタ記憶領域、および、資源獲得待ちに使用
するセマフォの識別子を記憶するウェイトセマフォ識別
子記憶領域を有するものである情報処理システム。 - 【請求項4】請求項3において、資源排他制御機能は、
資源獲得制御部にリンクして設けられ、使用するセマフ
ォを割り当てるセマフォ割当部と、資源解放制御部にリ
ンクして設けられ、使用したセマフォを解除するセマフ
ォ解除部と、セマフォの使用状況を管理するセマフォ管
理テーブルとをさらに有するものである情報処理システ
ム。 - 【請求項5】請求項4において、セマフォ管理テーブル
は、少なくとも同時に発生する可能性がある資源の獲得
要求毎に設けられ、獲得要求数に相当する数のテーブル
要素が配列され、 各テーブル要素は、セマフォ識別子を記憶するセマフォ
識別子記憶領域と、セマフォステータスを記憶するセマ
フォステータス記憶領域とを有し、 セマフォ識別子記憶領域には、OSで管理されるセマフ
ォの識別子が予め格納されることを特徴とする情報処理
システム。 - 【請求項6】請求項5において、資源獲得制御部は、 タスクから資源の獲得要求を受けると、資源管理テーブ
ル要素の資源識別子記憶領域の資源識別子を参照し、獲
得要求の対象資源を探索する機能と、 獲得要求の対象資源に相当する資源管理テーブル要素を
検出したならば、検出した資源管理テーブル要素のウェ
イトタスクカウンタ記憶領域に構成されるウェイトタス
クカウンタをカウントアップする機能と、 そのカウント結果に基づいて、獲得が要求された資源が
使用中であるか否かを判定する機能と、 資源使用中であれば、ウェイトセマフォ識別子記憶領域
に、セマフォ識別子が登録されているか否か確認する機
能と、 セマフォ識別子未登録の場合に、セマフォを動的に割り
当てるセマフォ動的割当機能と、 セマフォが登録されている場合またはセマフォが登録さ
れた場合に、セマフォ獲得要求を前記OSに要求する機
能と、 セマフォ獲得後、または、資源不使用の場合、資源獲得
完了をタスクに通知する機能とを有するものである情報
処理システム。 - 【請求項7】請求項6において、セマフォ動的割当機能
は、セマフォ割当部に、空きセマフォ識別子を検索さ
せ、空きセマフォ識別子が検索されると、このセマフォ
識別子を、当該資源についてのセマフォとして割り当て
る機能と、このセマフォ識別子をウェイトセマフォ識別
子記憶領域に格納して登録する機能とを有するものであ
る情報処理システム。 - 【請求項8】請求項6において、獲得が要求された資源
が使用中であるか否かを判定する機能は、ウェイトタス
クカウンタをカウントアップした際のキャリー信号を検
出することにより行うものである情報処理システム。 - 【請求項9】請求項8において、ウェイトタスクカウン
タ記憶領域のウェイトタスクカウンタは、“−1”に初
期化されるものであり、 ウェイトタスクカウンタをカウントアップする機能は、
“1”を加算するものである情報処理システム。 - 【請求項10】請求項6において、資源解放制御部は、 タスクから資源の解放要求を受けると、資源管理テーブ
ル要素の資源識別子記憶領域の資源識別子を参照し、解
放要求の対象資源を探索する機能と、 解放要求の対象資源に相当する資源管理テーブル要素を
検出したならば、検出した資源管理テーブル要素のウェ
イトタスクカウンタ記憶領域に構成されるウェイトタス
クカウンタをカウントダウンする機能と、 そのカウント結果に基づいて、解放する資源を獲得待ち
のタスクが存在するか否か確認する機能と、 解放する資源について獲得待ちのタスクが存在する場
合、資源獲得待ちのタスクが複数存在するか否か確認す
る機能と、 資源獲得待ちのタスクが1の場合、セマフォ識別子解除
を行う機能と、 資源獲得待ちのタスクが複数存在する場合またはセマフ
ォ識別子が解除された場合に、セマフォ解放要求を前記
OSに要求する機能と、 セマフォ解放後、または、ウェイトタスクがない場合、
資源解放完了をタスクに通知する機能とを有するもので
ある情報処理システム。 - 【請求項11】請求項10において、解放する資源を獲
得待ちのタスクが存在するか否か確認する機能は、ウェ
イトタスクカウンタをカウントダウンした際のキャリー
信号検出により行うものである情報処理システム。 - 【請求項12】請求項11において、ウェイトタスクカ
ウンタ記憶領域のウェイトタスクカウンタは、“−1”
に初期化されるものであり、 ウェイトタスクカウンタをカウントアップする機能は、
“1”を加算するものであり、 ウェイトタスクカウンタをカウントダウンする機能は、
“1”を減算するものである情報処理システム。 - 【請求項13】請求項2において、資源排他制御機能
は、 資源獲得制御部および資源解放制御部として、複数の資
源に対して共通に設けられるものと、特定の資源ごとに
設けられるものとを有する情報処理システム。 - 【請求項14】請求項13において、資源排他制御機能
は、 資源獲得待ち状態管理手段として、複数の資源に対して
共通に設けられる資源獲得制御部および資源解放制御部
については、排他制御が必要な資源の数に相当するテー
ブル要素が配列される資源管理テーブルを有するものを
備え、 各テーブル要素は、資源を識別するための識別子を記憶
する資源識別子記憶領域、資源獲得待ち状態のタスク数
を格納するウェイトタスクカウンタを記憶するウェイト
タスクカウンタ記憶領域、および、資源獲得待ちに使用
するセマフォの識別子を記憶するウェイトセマフォ識別
子記憶領域を有するものである情報処理システム。 - 【請求項15】請求項14において、資源排他制御機能
は、 資源獲得待ち状態管理手段として、特定の資源ごとに設
けられる資源獲得制御部および資源解放制御部について
は、資源獲得待ちのタスク数を計数するウェイトタスク
カウンタを有するものを備える情報処理システム。 - 【請求項16】請求項1において、資源獲得待ち状態管
理手段は、資源獲得待ちのタスク数を計数するウェイト
タスクカウンタである情報処理システム。 - 【請求項17】請求項16において、資源獲得制御部お
よび資源解放制御部と、ウェイトタスクカウンタとは、
排他制御すべき資源対応に設けられるものである情報処
理システム。 - 【請求項18】請求項17において、資源獲得制御部
は、 タスクから資源獲得要求があると、ウェイトタスクカウ
ンタをカウントアップする機能と、 そのカウント結果に基づいて、獲得が要求された資源が
使用中であるか否かを判定する機能と、 資源使用中であれば、セマフォ獲得要求を前記OSに要
求する機能と、 セマフォ獲得後、または、資源不使用の場合、資源獲得
完了をタスクに通知する機能とを有するものである情報
処理システム。 - 【請求項19】請求項18において、資源解放制御部
は、 タスクから資源解放要求があると、ウェイトタスクカウ
ンタをカウントダウンする機能と、 そのカウント結果に基づいて、解放する資源を獲得待ち
のタスクが存在するか否か確認する機能と、 解放する資源について獲得待ちのタスクが存在する場
合、セマフォ解放要求を前記OSに要求する機能と、 セマフォ解放後、または、ウェイトタスクがない場合、
資源解放完了をタスクに通知する機能とを有するもので
ある情報処理システム。 - 【請求項20】請求項1において、資源として、少なく
ともファイル資源を有し、該ファイル資源の管理を行な
うファイル管理部をさらに備え、 前記ファイル管理部は、 ファイル非占有状態での書込または読込処理要求を受け
る機能と、 ファイル非占有状態での書込または読込処理要求を受け
たとき、前記資源獲得制御部に対してファイル資源の獲
得を要求する機能と、 ファイル資源獲得後、ファイルに対して書込または読込
処理を実行する機能と、 書込または読込処理を実行後、前記資源解放制御部に対
してファイル資源の解放を要求する機能とを有するもの
である情報処理システム。 - 【請求項21】請求項20において、 資源獲得制御部は、各タスクから資源の獲得要求を受け
て、OSに対して、セマフォの獲得を要求する機能を有
するものであり、 資源解放制御部は、タスクから資源の解放要求を受け
て、OSに対して、セマフォの解放を要求する機能を有
するものである情報処理システム。 - 【請求項22】マルチタスクOS(オペレーティングシ
ステム)と、各タスクによって使用される1または2以
上のファイル資源とを備える情報処理システムにおい
て、 マルチタスクOSの環境下でファイル資源を排他制御す
る資源排他制御機能と、ファイル資源の管理を行なうフ
ァイル管理部とを備え、 資源排他制御機能は、 資源獲得待ち状態を管理する資源獲得待ち状態管理手段
と、 タスクから資源の獲得要求を受け、前記資源獲得待ち状
態管理手段が管理する資源獲得待ち状態に応じて、前記
OSに対しタスクウェイト状態への移行を要求する資源
獲得制御部と、 タスクから資源の解放要求を受け、前記資源獲得待ち状
態管理手段が管理する資源獲得待ち状態に応じて、前記
OSに対しウェイト状態タスクの再開を要求する資源解
放制御部とを備え、 ファイル管理部は、ファイル非占有状態で書込または読
込処理要求を受けた時、前記資源獲得制御部に対してフ
ァイル資源の獲得を要求し、書込または読込処理を実行
後、前記資源解放制御部に対してファイル資源の解放を
要求する機能を有することを特徴とする情報処理システ
ム。 - 【請求項23】マルチタスクOS(オペレーティングシ
ステム)と、各タスクによって使用される1または2以
上の資源とを備える情報処理システムにおける、マルチ
タスクOSの環境下でセマフォ機能を利用して資源を排
他制御する資源排他制御システムであって、 資源獲得待ち状態を管理する資源獲得待ち状態管理手段
と、 タスクから資源の獲得要求を受け、前記資源獲得待ち状
態管理手段が管理する資源獲得待ち状態に応じて、前記
OSに対しタスクウェイト状態への移行を要求する資源
獲得制御部と、 タスクから資源の解放要求を受け、前記資源獲得待ち状
態管理手段が管理する資源獲得待ち状態に応じて、前記
OSに対しウェイト状態タスクの再開を要求する資源解
放制御部とを備えることを特徴とする資源排他制御シス
テム。 - 【請求項24】請求項23において、 資源獲得制御部は、各タスクから資源の獲得要求を受け
て、OSに対して、セマフォの獲得を要求する機能を有
するものであり、 資源解放制御部は、タスクから資源の解放要求を受け
て、OSに対して、セマフォの解放を要求する機能を有
するものである資源排他制御システム。 - 【請求項25】請求項24において、資源獲得待ち状態
管理手段は、排他制御が必要な資源の数に相当するテー
ブル要素が配列される資源管理テーブルを有し、 各テーブル要素は、資源を識別するための識別子を記憶
する資源識別子記憶領域、資源獲得待ち状態のタスク数
を格納するウェイトタスクカウンタを記憶するウェイト
タスクカウンタ記憶領域、および、資源獲得待ちに使用
するセマフォの識別子を記憶するウェイトセマフォ識別
子記憶領域を有するものである資源排他制御システム。 - 【請求項26】請求項25において、資源の獲得要求を
受け、使用するセマフォを動的に割当てるセマフォ割当
部と、資源の解放要求を受け、使用したセマフォを解除
するセマフォ解除部とをさらに備える資源排他制御シス
テム。 - 【請求項27】マルチタスクOS(オペレーティングシ
ステム)と、各タスクによって使用される1または2以
上の資源とを備える情報処理システムにおいて、マルチ
タスクOSの環境下でセマフォ機能を利用して資源を排
他制御する資源排他制御システムであって、 資源獲得待ち状態を管理する資源獲得待ち状態管理手段
と、 少なくとも同時に発生する可能性がある資源の獲得要求
数に相当する数のセマフォを管理する管理手段と、 資源の獲得要求を受け、前記管理手段で管理されている
セマフォから、使用するセマフォを動的に割り当てるセ
マフォ動的割当手段と、 資源の解放要求を受け、使用したセマフォを解除するセ
マフォ解除手段とを備えることを特徴とする資源排他制
御システム。 - 【請求項28】請求項27において、セマフォ管理手段
は、少なくとも同時に発生する可能性がある資源の獲得
要求毎に設けられ、獲得要求数に相当する数のテーブル
要素が配列されるセマフォ管理テーブルを有し、 各テーブル要素は、セマフォ識別子を記憶するセマフォ
識別子記憶領域と、セマフォステータスを記憶するセマ
フォステータス記憶領域とを有し、 セマフォ識別子記憶領域には、OSで管理されるセマフ
ォの識別子が予め格納されることを特徴とする資源排他
制御システム。 - 【請求項29】請求項28において、資源獲得待ち状態
管理手段は、排他制御が必要な資源の数に相当するテー
ブル要素が配列される資源管理テーブルを有し、 各テーブル要素は、資源を識別するための識別子を記憶
する資源識別子記憶領域、資源獲得待ち状態のタスク数
を格納するウェイトタスクカウンタを記憶するウェイト
タスクカウンタ記憶領域、および、資源獲得待ちに使用
するセマフォの識別子を記憶するウェイトセマフォ識別
子記憶領域を有するものである資源排他制御システム。 - 【請求項30】請求項29において、セマフォ動的割当
手段は、空きセマフォ識別子を検索して、空きセマフォ
識別子が検出されると、このセマフォ識別子を、当該資
源についてのセマフォとして割り当てる機能と、このセ
マフォ識別子をウェイトセマフォ識別子記憶領域に格納
して登録する機能とを有するものである資源排他制御シ
ステム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4208105A JPH0651999A (ja) | 1992-08-04 | 1992-08-04 | 資源排他制御機能を有する情報処理システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4208105A JPH0651999A (ja) | 1992-08-04 | 1992-08-04 | 資源排他制御機能を有する情報処理システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0651999A true JPH0651999A (ja) | 1994-02-25 |
Family
ID=16550723
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4208105A Pending JPH0651999A (ja) | 1992-08-04 | 1992-08-04 | 資源排他制御機能を有する情報処理システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0651999A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08305589A (ja) * | 1995-05-09 | 1996-11-22 | Fuji Xerox Co Ltd | 画像処理装置 |
| JP2007179190A (ja) * | 2005-12-27 | 2007-07-12 | Mitsubishi Electric Corp | セマフォ管理方法、およびセマフォ管理プログラム |
| JP2009193362A (ja) * | 2008-02-14 | 2009-08-27 | Hitachi Ltd | 情報処理システム及びそのファイルのジョブ間排他制御方法 |
| JP2010170545A (ja) * | 2009-01-20 | 2010-08-05 | Fisher Rosemount Syst Inc | プロセス制御システムにおいて分散型設備調停を提供する方法 |
| JP2018005851A (ja) * | 2016-07-08 | 2018-01-11 | 株式会社デンソー | 電子装置 |
-
1992
- 1992-08-04 JP JP4208105A patent/JPH0651999A/ja active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08305589A (ja) * | 1995-05-09 | 1996-11-22 | Fuji Xerox Co Ltd | 画像処理装置 |
| JP2007179190A (ja) * | 2005-12-27 | 2007-07-12 | Mitsubishi Electric Corp | セマフォ管理方法、およびセマフォ管理プログラム |
| JP2009193362A (ja) * | 2008-02-14 | 2009-08-27 | Hitachi Ltd | 情報処理システム及びそのファイルのジョブ間排他制御方法 |
| JP2010170545A (ja) * | 2009-01-20 | 2010-08-05 | Fisher Rosemount Syst Inc | プロセス制御システムにおいて分散型設備調停を提供する方法 |
| JP2018005851A (ja) * | 2016-07-08 | 2018-01-11 | 株式会社デンソー | 電子装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6678065B1 (en) | Image forming apparatus and control method thereof | |
| EP0706137B1 (en) | Queued arbitration mechanism for data processing system | |
| JP2561759B2 (ja) | マルチプロセッサシステムおよびそのメッセージ送受信制御装置 | |
| JPH0551942B2 (ja) | ||
| JPH1131055A (ja) | 多機能印刷システムにおけるキュー管理方法 | |
| US5606666A (en) | Method and apparatus for distributing control messages between interconnected processing elements by mapping control messages of a shared memory addressable by the receiving processing element | |
| JPH01142963A (ja) | バスに接続されたバス装置及び該バス装置のためのデータ転送制御方法 | |
| US5710873A (en) | Apparatus and method for maximizing a rate of image data transfer in a printing system | |
| JP4612176B2 (ja) | 多機能印刷方法及び多機能印刷システム | |
| JP2001203842A (ja) | 低優先度ジョブから高優先度ジョブへのリソース移転の最適化方法および装置 | |
| KR920004771B1 (ko) | 작업 관련 메세지 흐름 제어방법 및 통신 관리 장치 | |
| JP2000196607A (ja) | 情報処理システム及びその制御方法並びに情報処理装置 | |
| JP2001211279A (ja) | イメージを多分割帯化する電子写真式複写システムにおけるシステムリソースに対するジョブコンテンションの管理方法および管理装置 | |
| JP2001222186A (ja) | 一式の共用リソースに対するジョブストリーミングを実施可能にする方法および装置 | |
| JP2001228749A (ja) | 一式の共用リソースの使用時においてサブジョブに対する多機能処理を実施可能にする方法および装置 | |
| JPH0651999A (ja) | 資源排他制御機能を有する情報処理システム | |
| JP2001219628A (ja) | 電子写真式複写システムにおけるシステムリソースに対するジョブコンテンションの管理方法および管理装置 | |
| JPH11120014A (ja) | マルチプロセッサ装置 | |
| JP3230984B2 (ja) | 画像処理システム | |
| JP7365832B2 (ja) | デバイス管理システム及びその制御方法 | |
| US6906823B1 (en) | Input interface for a raster object memory in a method, system and program | |
| JP2754432B2 (ja) | 複数資源アクセス方法 | |
| JP2598020B2 (ja) | ループ通信システムのタイムスロット割り当て方式 | |
| JP2004088596A (ja) | 情報入出力装置および情報入出力方法 | |
| JP2001320561A (ja) | 画像処理装置 |