JPH0651999A - Information processing system with resource exclusive control function - Google Patents
Information processing system with resource exclusive control functionInfo
- 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
Description
【0001】[0001]
【産業上の利用分野】本発明は、マルチタスク処理を行
なう情報処理システムに係り、特に、マルチタスクOS
が備える機能を利用した資源の排他制御機能を有する情
報処理システムに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing system for performing multitask processing, and more particularly to a multitask OS.
The present invention relates to an information processing system having a resource exclusive control function using a function provided in the.
【0002】[0002]
【従来の技術】現在のOA(オフィスオートメーショ
ン)分野では、ワークステーション、ファクシミリ等
の、種々の情報処理装置が用いられている。例えば、文
書を即座に配送できるファクシミリは、オフィスにおい
て不可欠な装置となっている。このファクシミリとして
は、一枚の文書を数十秒から一分で送信する電話網用G
3機が、約400万台と広く普及している。2. Description of the Related Art In the current OA (office automation) field, various information processing devices such as workstations and facsimiles are used. For example, facsimiles, which can deliver documents immediately, have become an indispensable device in offices. This facsimile is a telephone network G that sends a document in a few tens of seconds to a minute.
Three aircraft are widespread with about 4 million units.
【0003】また、従来の公衆電話網に代って、データ
をデジタル二値のまま通信可能なサービス統合デジタル
網(ISDN:Integrated Services Digital Network)
が整備されてきた。このISDNは、音声、画像、デー
タ等の各種通信サービスを統一インタフェースにより提
供するもので、基本インタフェースと一次群インタフェ
ースとが実用化されている。このうち、基本インタフェ
ースは、一本の加入者線上に、64Kbps(bits per sec
ond)の情報伝送チャネルを2本と、16Kbpsの制御チ
ャネルを1本備えている。Also, instead of the conventional public telephone network, ISDN (Integrated Services Digital Network) capable of communicating data in digital binary form.
Has been maintained. This ISDN provides various communication services such as voice, image and data by a unified interface, and a basic interface and a primary group interface have been put into practical use. Of these, the basic interface is 64 Kbps (bits per sec) on one subscriber line.
It has two ond) information transmission channels and one 16 Kbps control channel.
【0004】このようなインフラストラクチャ確立の影
響を受けて、ISDNのようなデジタル網に接続可能な
G4機が注目を浴びている。この装置は、一枚のA4原
稿を数秒で送信し、さらに、400×400ppi(pels
per inch)の高精細な画像通信を実現できる。Under the influence of the establishment of such an infrastructure, G4 machines which can be connected to a digital network such as ISDN have attracted attention. This device can send one A4 original in a few seconds, and 400 × 400ppi (pels
Per-inch) high-definition image communication can be realized.
【0005】これらのファクシミリにおいては、スキャ
ナで読取った画像データを一時蓄積するメモリ等の記憶
装置を設け、蓄積した画像データを複数の相手ファクシ
ミリへ順次送信する同報送信機能を備えたものも多い。
また、ファクシミリ機能を、送信原稿のメモリ読込、メ
モリ受信原稿の印刷、メモリ通信等の、記憶装置を介す
るジョブに分割し、前記ジョブを並列実行させるマルチ
アクセス機能を備えた装置もある。このマルチアクセス
機能によると、メモリに蓄積した画像データの送信中や
受信画像データのメモリ蓄積中、またはメモリ蓄積した
画像データの印刷中に、次の送信原稿をスキャナで読込
みメモリ蓄積できるため、ユーザの送信待ち時間を短縮
することが可能となる。また、ISDNの二情報伝送チ
ャネルや複数の回線を用い、複数の相手先ファクシミリ
と同時に通信する多回線通信制御機能を特徴とする装置
もある。Many of these facsimiles are provided with a storage device such as a memory for temporarily storing the image data read by the scanner, and are provided with a broadcast transmission function for sequentially transmitting the stored image data to a plurality of destination facsimiles. .
Further, there is also an apparatus having a multi-access function for dividing a facsimile function into a job of reading a memory of a transmission original document, printing of a memory reception original document, memory communication, and the like, and executing the jobs in parallel. According to this multi-access function, the next transmission original can be read by the scanner and stored in the memory while the image data stored in the memory is being transmitted, the received image data is being stored in the memory, or the image data stored in the memory is being printed. It becomes possible to shorten the transmission waiting time. In addition, there is also an apparatus characterized by a multi-line communication control function of simultaneously communicating with a plurality of destination facsimiles by using two ISDN information transmission channels and a plurality of lines.
【0006】前記した装置においては、ソフトウェアで
実現する各種処理(ジョブ)をタスクという最適な単位
に分割し、実行優先順位を持つ各タスクをマルチタスク
オペレーティングシステム(OS)の環境下で並列動作
させる、マルチタスク処理が行なわれている。マルチタ
スクOSの環境下でマルチアクセス機能や多回線通信制
御機能を実現するには、タスク間で共通に使用するスキ
ャナ、プリンタ、通信制御装置等のハードウェア資源を
排他制御する必要がある。このほか、各種制御テーブル
の排他制御も不可欠である。例えば、予め登録された相
手先ファクシミリへ送信するワンタッチダイヤルまたは
短縮ダイヤル機能を備えた装置によると、既に、送信予
約されているワンタッチまたは短縮ダイヤル番号に対応
して記憶した相手先ファクシミリの電話番号を変更する
と、予約された原稿を異なる宛先へ送信してしまう。こ
のため、各ワンタッチまたは短縮ダイヤル番号に対応す
る登録テーブル毎に相互排除することで、あるタスクが
登録テーブルを使用中の場合、別のタスクが登録テーブ
ルを使用しないように制御しなければならない。In the above apparatus, various processes (jobs) realized by software are divided into optimum units called tasks, and each task having an execution priority is operated in parallel under the environment of a multitasking operating system (OS). , Multi-task processing is being performed. In order to realize the multi-access function and the multi-line communication control function under the environment of the multi-task OS, it is necessary to exclusively control the hardware resources such as the scanner, the printer and the communication control device which are commonly used among the tasks. In addition, exclusive control of various control tables is also essential. For example, according to a device having a one-touch dial or speed dial function for transmitting to a destination facsimile registered in advance, the telephone number of the destination facsimile already stored in correspondence with the one-touch or speed dial number already reserved for transmission is stored. If changed, the reserved document will be sent to a different destination. Therefore, by mutually excluding each registration table corresponding to each one-touch or speed dial number, when one task is using the registration table, another task must be controlled not to use the registration table.
【0007】このような資源の排他制御は、ファクシミ
リに限らず、マルチタスク処理を行なう、その他のOA
機器、例えば、ワークステーション等の情報処理装置に
おいても必要である。Such exclusive control of resources is not limited to facsimiles, and other OA for performing multitask processing is performed.
It is also necessary in equipment such as an information processing device such as a workstation.
【0008】資源の排他制御には、OSが提供するセマ
フォ機能を利用する方式がある。セマフォは、ステータ
ス情報とタスクの待ち行列からなる。資源を占有するタ
スクは、OSに対しセマフォの獲得を要求する。セマフ
ォ獲得要求を受けたOSは、ステータスを参照し、他タ
スクによりセマフォが使用されている場合、セマフォ獲
得要求を発行したタスクを待ち行列につなぎ、他の実行
可能なタスクを起動する。また、資源を解放するタスク
は、OSに対しセマフォの解放を要求する。セマフォ解
放要求を受けたOSは、待ち行列を参照し、セマフォ獲
得待ちのタスクが存在する場合、待ち行列先頭のタスク
を起動する。通常、各種資源を排他制御するために、O
Sは、複数のセマフォを管理可能であり、セマフォ番号
と呼ばれる情報により各セマフォを識別する。For exclusive control of resources, there is a method of utilizing a semaphore function provided by the OS. A semaphore consists of status information and a task queue. The task occupying the resource requests the OS to acquire the semaphore. The OS that has received the semaphore acquisition request refers to the status, and if the semaphore is used by another task, it connects the task that issued the semaphore acquisition request to the queue and starts another executable task. Further, the task for releasing the resource requests the OS to release the semaphore. Upon receiving the semaphore release request, the OS refers to the queue and, if there is a task waiting to acquire the semaphore, activates the task at the head of the queue. Normally, O is used to exclusively control various resources.
S is capable of managing a plurality of semaphores, and identifies each semaphore by information called a semaphore number.
【0009】また、資源の排他制御は、特開昭63-24441
号公報記載のように、フラグの変化によりタスク間の同
期処理を実行するイベントフラグ機能を用いることでも
可能である。The exclusive control of resources is disclosed in Japanese Patent Laid-Open No. 63-24441.
It is also possible to use an event flag function that executes a synchronization process between tasks by changing the flag, as described in the publication.
【0010】図8は、OSが提供するセマフォ機能を利
用した従来の資源排他制御システムを示すタスクシーケ
ンスであり、横軸には時間をとっている。FIG. 8 is a task sequence showing a conventional resource exclusive control system using the semaphore function provided by the OS, and the horizontal axis shows time.
【0011】図8において、タスクAおよびBは同一の
資源を共有し、優先順位はタスクAよりタスクBの方が
高いものとする。まず、タスクAは、資源獲得のためセ
マフォ獲得を要求する()。OSは、セマフォが未使
用であることを確認して、セマフォを獲得し、タスクA
を再開させる()。ある時間の経過後、タスク切換え
の要因が発生し()、OSはタスクAの実行を中断し
た後、優先順位の高いタスクBを起動する。タスクB
は、起動を開始して資源獲得のためセマフォ獲得を要求
する()。OSは、セマフォが他タスクにより使用さ
れていることを確認した後、タスクBをセマフォ待ち行
列につなぎ実行を中断する。そして、処理を中断してい
たタスクAを再開させる()。タスクAは、処理を終
えると、資源解放のためセマフォ解放を要求する
()。OSは、セマフォの獲得を待つタスクBを待ち
行列から外し、タスクBのためにセマフォを獲得した
後、実行を再開させる()。タスクBは処理を終える
と、資源解放のためセマフォ解放を要求する()。O
Sは、セマフォ待ちのタスクが存在しないため、優先順
位の高いタスクBを再開させる()。In FIG. 8, it is assumed that tasks A and B share the same resource, and that task B has a higher priority than task A. First, task A requests semaphore acquisition for resource acquisition (). The OS confirms that the semaphore is unused, acquires the semaphore, and then performs task A
Restart (). After a lapse of a certain time, a factor of task switching occurs (), the OS suspends the execution of the task A, and then activates the task B having a higher priority. Task B
Starts activation and requests semaphore acquisition for resource acquisition (). After confirming that the semaphore is being used by another task, the OS connects task B to the semaphore queue and suspends execution. Then, the task A whose processing has been suspended is restarted (). When the task A completes the processing, it requests the semaphore release to release the resource (). The OS removes the task B waiting for the acquisition of the semaphore from the queue, acquires the semaphore for the task B, and then resumes execution (). When the task B finishes the processing, it requests the semaphore release to release the resource (). O
Since S does not have a task waiting for a semaphore, task B having a higher priority is restarted ().
【0012】[0012]
【発明が解決しようとする課題】一般に、リアルタイム
なマルチタスクOSは、セマフォ機能以外に、タスクの
生成、起動、終了、中断、再開、タイマを用いた周期起
動、指定時刻起動等のタスク管理機能、事象発生の有無
をフラグで管理し、フラグの変化によりタスク間の同期
処理を実行するイベントフラグ機能、タスク間のメッセ
ージ通信を実行するメールボックス機能等を備える。In general, a real-time multitasking OS has a task management function such as task generation, activation, termination, suspension, resumption, periodic activation using a timer, and designated time activation in addition to a semaphore function. The system has an event flag function that manages the occurrence of an event with a flag and executes a synchronization process between tasks according to a change in the flag, a mailbox function that executes message communication between tasks, and the like.
【0013】このような各種機能を実現するために、マ
ルチタスクOSは、実行可能なタスクを管理するCPU
待ち行列と、実行するタスクを決定するディスパッチャ
部を備える。例えば、セマフォ獲得要求が発生した場
合、タスクをセマフォ獲得待ち行列につないだ後、ディ
スパッチャ部に移行して、CPU待ち行列のタスクから
優先順位の高いタスクを選択し、実行する。また、セマ
フォ解放要求が発生した場合、セマフォ獲得待ち行列の
タスクをCPU待ち行列につなぎ換えた後、ディスパッ
チャ部に移行して、CPU待ち行列のタスクから優先順
位の高いタスクを選択し実行する。イベントフラグ、メ
ールボックス機能についても同様に、各機能の待ち行列
を備え、ディスパッチャ部により実際に実行するタスク
を決定する。In order to realize such various functions, the multitask OS is a CPU that manages executable tasks.
It has a queue and a dispatcher unit that determines a task to be executed. For example, when a semaphore acquisition request is issued, the task is connected to the semaphore acquisition queue, then the task is transferred to the dispatcher unit, and a task with a high priority is selected from the tasks in the CPU queue and executed. When a semaphore release request is issued, the task in the semaphore acquisition queue is reconnected to the CPU queue, and then the process proceeds to the dispatcher unit to select and execute a task with a high priority from the tasks in the CPU queue. Similarly, the event flag and the mailbox function have queues for each function, and the dispatcher unit determines the task to be actually executed.
【0014】以上説明したように、セマフォの獲得また
は解放機能は、各セマフォのステータス更新処理、セマ
フォ獲得待ち行列のつなぎ換え処理およびディスパッチ
ャ処理から構成される。As described above, the semaphore acquisition or release function is composed of status update processing for each semaphore, semaphore acquisition queue reconnection processing, and dispatcher processing.
【0015】ディスパッチャ処理は、CPU待ち行列に
存在するタスクのうち、優先順位の最も高いタスクを検
索し、実行に移すため、処理時間が長い。例えば、ある
タスクが、他タスクにより使用されていないセマフォに
対して獲得を要求する場合を考える。このとき、セマフ
ォは、獲得可能であるため、即座に要求したタスクへ制
御が戻るはずであるが、実際には、タスクは一旦CPU
待ち行列につながれ、ディスパッチャ部を介して実行に
移される。このように、セマフォの獲得または解放を要
求すると、必ずディスパッチャ処理を実行するため、タ
スクへ制御が戻るまで、数百マイクロ秒程度の遅延時間
が発生する。The dispatcher process takes a long processing time because it retrieves the task with the highest priority from the tasks existing in the CPU queue and puts it into execution. For example, consider the case where a task requests acquisition for a semaphore that is not used by another task. At this time, since the semaphore can be acquired, control should be immediately returned to the task that requested it.
It is queued and put into execution via the dispatcher section. In this way, when a request for acquisition or release of a semaphore is made, the dispatcher process is always executed, so a delay time of about several hundred microseconds occurs until control is returned to the task.
【0016】この処理の遅延時間は、このようなタスク
が多数ある場合に、全体としてむだな時間が多くなるた
め、最小限に抑える必要がある。例えば、ファクシミリ
においては、処理の遅延時間が通信時間に反映され、ユ
ーザの通信料金負担が増大しかねない。このため、処理
の遅延時間を最小限に抑止しなければならない。The delay time of this processing must be minimized because the dead time becomes large as a whole when there are many such tasks. For example, in a facsimile, the processing delay time is reflected in the communication time, which may increase the communication charge burden on the user. Therefore, the processing delay time must be minimized.
【0017】また、排他制御が必要な資源が多い場合、
排他制御が必要な全ての資源に対して異なるセマフォを
割当てると、セマフォを管理する制御テーブルとして大
容量のメモリ領域を要するという問題がある。例えば、
ファクシミリ装置の場合、装置の仕様によっては、数百
のワンタッチまたは短縮ダイヤルの登録テーブルを備え
るものもあり、セマフォを管理する制御テーブルとして
大容量のメモリ領域を要する。If there are many resources that need exclusive control,
If different semaphores are assigned to all the resources that need exclusive control, there is a problem that a large capacity memory area is required as a control table for managing the semaphores. For example,
Some facsimile machines have several hundred one-touch or speed dial registration tables depending on the specifications of the machines, and require a large-capacity memory area as a control table for managing semaphores.
【0018】本発明の第1の目的は、OSが備える機能
を利用して資源の排他制御を実現する際に、高速で、資
源排他制御を実行することができる情報処理システムを
提供することにある。A first object of the present invention is to provide an information processing system capable of executing resource exclusion control at high speed when implementing the resource exclusion control using the function of the OS. is there.
【0019】また、本発明の第2の目的は、セマフォ管
理に大容量のメモリ領域を要しないで資源排他制御を実
行することができる情報処理システムを提供することに
ある。A second object of the present invention is to provide an information processing system capable of executing resource exclusive control without requiring a large capacity memory area for semaphore management.
【0020】[0020]
【課題を解決するための手段】前記第1の目的を達成す
るため、本発明によれば、マルチタスクOS(オペレー
ティングシステム)と、各タスクによって使用される1
または2以上の資源とを備える情報処理システムにおい
て、マルチタスクOSの環境下で資源を排他制御する資
源排他制御機能を備える情報処理システムが提供され
る。In order to achieve the first object, according to the present invention, a multitasking OS (operating system) and a task used by each task 1
Alternatively, in an information processing system provided with two or more resources, an information processing system provided with a resource exclusion control function for exclusively controlling resources under the environment of a multitasking OS is provided.
【0021】資源排他制御機能は、資源獲得待ち状態を
管理する資源獲得待ち状態管理手段と、タスクから資源
の獲得要求を受け、前記資源獲得待ち状態管理手段が管
理する資源獲得待ち状態に応じて、前記OSに対しタス
クウェイト状態への移行を要求する資源獲得制御部と、
タスクから資源の解放要求を受け、前記資源獲得待ち状
態管理手段が管理する資源獲得待ち状態に応じて、前記
OSに対しウェイト状態タスクの再開を要求する資源解
放制御部とを備えて構成される。The resource exclusive control function receives the resource acquisition waiting state management means for managing the resource acquisition waiting state and the resource acquisition request from the task, and responds to the resource acquisition waiting state managed by the resource acquisition waiting state management means. A resource acquisition control unit that requests the OS to shift to a task wait state,
A resource release control unit that receives a resource release request from a task and requests the OS to restart the wait state task according to the resource acquisition wait state managed by the resource acquisition wait state management unit. .
【0022】前記資源獲得制御部は、各タスクから資源
の獲得要求を受けて、OSに対して、セマフォの獲得を
要求する機能を有するものとすることができる。また、
前記資源解放制御部は、タスクから資源の解放要求を受
けて、OSに対して、セマフォの解放を要求する機能を
有するものとすることができる。The resource acquisition control unit may have a function of receiving a resource acquisition request from each task and requesting the OS to acquire a semaphore. Also,
The resource release control unit may have a function of receiving a resource release request from a task and requesting the OS to release the semaphore.
【0023】前記資源獲得待ち状態管理手段は、排他制
御が必要な資源の数に相当するテーブル要素が配列され
る資源管理テーブルを有する構成とすることができる。
ここで、各テーブル要素は、資源を識別するための識別
子を記憶する資源識別子記憶領域、資源獲得待ち状態の
タスク数を格納するウェイトタスクカウンタを記憶する
ウェイトタスクカウンタ記憶領域、および、資源獲得待
ちに使用するセマフォの識別子を記憶するウェイトセマ
フォ識別子記憶領域を有する構成とすることができる。The resource acquisition waiting state management means may have a resource management table in which table elements corresponding to the number of resources that need exclusive control are arranged.
Here, each table element includes a resource identifier storage area that stores an identifier for identifying a resource, a wait task counter storage area that stores a wait task counter that stores the number of tasks in the resource acquisition wait state, and a resource acquisition wait It can be configured to have a wait semaphore identifier storage area for storing the identifier of the semaphore used for.
【0024】前記資源排他制御機能は、資源獲得制御部
にリンクして設けられ、使用するセマフォを割り当てる
セマフォ割当部と、資源解放制御部にリンクして設けら
れ、使用したセマフォを解除するセマフォ解除部と、セ
マフォの使用状況を管理するセマフォ管理テーブルとを
さらに有することができる。ここで、セマフォ管理テー
ブルは、少なくとも同時に発生する可能性がある資源の
獲得要求毎に設けられ、獲得要求数に相当する数のテー
ブル要素が配列される。各テーブル要素は、セマフォ識
別子を記憶するセマフォ識別子記憶領域と、セマフォス
テータスを記憶するセマフォステータス記憶領域とを有
する構成とすることができる。なお、セマフォ識別子記
憶領域には、OSで管理されるセマフォの識別子が予め
格納される。セマフォの識別子としては、例えば、セマ
フォ番号が用いられる。The resource exclusive control function is provided by linking to the resource acquisition control unit, and is provided by being linked to the semaphore allocation unit for allocating the semaphore to be used and the resource release control unit for releasing the semaphore used. And a semaphore management table that manages the usage status of the semaphore. Here, the semaphore management table is provided at least for each resource acquisition request that may occur at the same time, and as many table elements as the acquisition request number are arranged. Each table element can be configured to have a semaphore identifier storage area for storing a semaphore identifier and a semaphore status storage area for storing a semaphore status. The semaphore identifier storage area stores the semaphore identifier managed by the OS in advance. For example, a semaphore number is used as the semaphore identifier.
【0025】また、前記第2の目的を達成するため、本
発明によれば、マルチタスクOS(オペレーティングシ
ステム)と、各タスクによって使用される1または2以
上の資源とを備え、マルチタスクOSの環境下でセマフ
ォ機能を利用して資源を排他制御する資源排他制御シス
テムを搭載した情報処理システムが提供される。In order to achieve the second object, according to the present invention, a multitask OS (operating system) and one or more resources used by each task are provided, and Provided is an information processing system equipped with a resource exclusion control system that exclusively controls resources using a semaphore function in an environment.
【0026】資源排他制御システムは、資源獲得待ち状
態を管理する資源獲得待ち状態管理手段と、少なくとも
同時に発生する可能性がある資源の獲得要求数に相当す
る数のセマフォを管理する管理手段と、資源の獲得要求
を受け、前記管理手段で管理されているセマフォから、
使用するセマフォを動的に割り当てるセマフォ動的割当
手段と、資源の解放要求を受け、使用したセマフォを解
除するセマフォ解除手段とを備えて構成することができ
る。The resource exclusive control system includes a resource acquisition waiting state management means for managing a resource acquisition waiting state, and a management means for managing a number of semaphores corresponding to the number of resource acquisition requests that may occur at the same time. From the semaphore managed by the management means upon receiving a resource acquisition request,
The semaphore dynamically allocating means for dynamically allocating the semaphore to be used and the semaphore releasing means for releasing the used semaphore in response to the resource release request can be configured.
【0027】セマフォ管理手段は、少なくとも同時に発
生する可能性がある資源の獲得要求毎に設けられ、獲得
要求数に相当する数のテーブル要素が配列されるセマフ
ォ管理テーブルを有する構成とすることができる。ここ
で、各テーブル要素は、セマフォ識別子を記憶するセマ
フォ識別子記憶領域と、セマフォステータスを記憶する
セマフォステータス記憶領域とを有する構成とすること
ができる。セマフォ識別子記憶領域には、OSで管理さ
れるセマフォの識別子が予め格納される。The semaphore management means may be configured to have a semaphore management table which is provided for at least resource acquisition requests that may occur at the same time and in which a number of table elements corresponding to the number of acquisition requests are arranged. . Here, each table element can be configured to have a semaphore identifier storage area for storing a semaphore identifier and a semaphore status storage area for storing a semaphore status. The semaphore identifier storage area stores in advance the semaphore identifier managed by the OS.
【0028】資源獲得待ち状態管理手段は、上述したと
同様に、資源識別子記憶領域と、ウェイトタスクカウン
タ記憶領域と、ウェイトセマフォ識別子記憶領域とを有
するテーブル要素が配列される資源管理テーブルを有す
る構成とすることができる。As described above, the resource acquisition waiting state management means has a resource management table in which table elements having a resource identifier storage area, a wait task counter storage area, and a wait semaphore identifier storage area are arranged. Can be
【0029】セマフォ動的割当手段は、空きセマフォ識
別子を検索して、空きセマフォ識別子が検出されると、
このセマフォ識別子を、当該資源についてのセマフォと
して割り当てる機能と、このセマフォ識別子をウェイト
セマフォ識別子記憶領域に格納して登録する機能とを有
することができる。The semaphore dynamic allocation means searches for an empty semaphore identifier, and when an empty semaphore identifier is detected,
The semaphore identifier can be assigned as a semaphore for the resource, and the semaphore identifier can be stored and registered in the wait semaphore identifier storage area.
【0030】また、本発明によれば、マルチタスクOS
(オペレーティングシステム)と、各タスクによって使
用される1または2以上のファイル資源とを備える情報
処理システムにおいて、マルチタスクOSの環境下でフ
ァイル資源を排他制御する資源排他制御機能と、ファイ
ル資源の管理を行なうファイル管理部とを備える情報処
理システムが提供される。Further, according to the present invention, a multitasking OS
In an information processing system including an (operating system) and one or more file resources used by each task, a resource exclusion control function for exclusively controlling file resources under the environment of a multitasking OS, and management of file resources An information processing system including a file management unit that performs
【0031】資源排他制御機能は、資源獲得待ち状態を
管理する資源獲得待ち状態管理手段と、タスクから資源
の獲得要求を受け、前記資源獲得待ち状態管理手段が管
理する資源獲得待ち状態に応じて、前記OSに対しタス
クウェイト状態への移行を要求する資源獲得制御部と、
タスクから資源の解放要求を受け、前記資源獲得待ち状
態管理手段が管理する資源獲得待ち状態に応じて、前記
OSに対しウェイト状態タスクの再開を要求する資源解
放制御部とを備える。The resource exclusive control function receives the resource acquisition waiting state management means for managing the resource acquisition waiting state and the resource acquisition request from the task, and responds to the resource acquisition waiting state managed by the resource acquisition waiting state management means. A resource acquisition control unit that requests the OS to shift to a task wait state,
A resource release control unit that receives a resource release request from a task and requests the OS to restart the wait state task according to the resource acquisition wait state managed by the resource acquisition wait state management means.
【0032】ファイル管理部は、ファイル非占有状態で
書込または読込処理要求を受けた時、前記資源獲得制御
部に対してファイル資源の獲得を要求し、書込または読
込処理を実行後、前記資源解放制御部に対してファイル
資源の解放を要求する機能を有するものである。このた
め、ファイル管理部は、ファイル非占有状態での書込ま
たは読込処理要求を受ける機能と、ファイル非占有状態
での書込または読込処理要求を受けたとき、前記資源獲
得制御部に対してファイル資源の獲得を要求する機能
と、ファイル資源獲得後、ファイルに対して書込または
読込処理を実行する機能と、書込または読込処理を実行
後、前記資源解放制御部に対してファイル資源の解放を
要求する機能とを有する構成とすることができる。When the file management unit receives a write or read processing request in a file non-occupancy state, it requests the resource acquisition control unit to acquire a file resource, and after executing the write or read processing, It has a function of requesting the resource release control unit to release the file resource. Therefore, the file management unit has a function of receiving a write or read processing request in the file non-occupancy state and a resource acquisition control unit when receiving the write or read processing request in the file non-occupancy state. A function for requesting acquisition of a file resource, a function for executing a writing or reading process for a file after acquiring the file resource, and a function for executing a writing or reading process for the file It can be configured to have a function of requesting release.
【0033】[0033]
【作用】本発明は、マルチタスクOS(オペレーティン
グシステム)と、各タスクによって使用される1または
2以上の資源とを備える情報処理システムにおいて、資
源排他制御機能によって、マルチタスクOSの環境下で
資源の排他制御を行なう。According to the present invention, in an information processing system provided with a multi-task OS (operating system) and one or more resources used by each task, the resource exclusion control function allows resources to be processed under the environment of the multi-task OS. Exclusive control of.
【0034】資源排他制御機能は、資源獲得待ち状態管
理手段によって、資源獲得待ち状態を管理する。管理
は、セマフォを用いて行なわれる。セマフォは、資源対
応に固定的に割り当てるか、または、資源との対応関係
を固定せず、必要に応じて動的に割り当てるか、のいず
れであってもよい。前者によれば、セマフォの割当てお
よび解除の手順を必要とせず、その分、高速化が図れ
る。一方、後者によれば、セマフォを資源数分設ける必
要がないので、記憶容量を抑えることができる。後者
は、実際に必要なセマフォ数は、同時に発生する可能性
がある資源獲得要求の最大数であり、全ての資源毎に異
なるセマフォを割当てても、同時に使用するセマフォは
一部であることに、着眼してなされたものである。な
お、両者を併用することもできる。The resource exclusive control function manages the resource acquisition waiting state by the resource acquisition waiting state management means. Management is done using semaphores. The semaphore may be either fixedly allocated for resource correspondence or dynamically allocated as needed without fixing the correspondence relationship with the resource. According to the former, the procedure for allocating and releasing the semaphore is not required, and the speed can be increased accordingly. On the other hand, according to the latter, it is not necessary to provide as many semaphores as the number of resources, so that the storage capacity can be suppressed. In the latter, the number of semaphores actually required is the maximum number of resource acquisition requests that can occur at the same time, and even if different semaphores are assigned to all resources, some semaphores are used at the same time. , It was made with an eye on it. Both can be used together.
【0035】資源獲得制御部は、タスクから資源の獲得
要求を受け、前記資源獲得待ち状態管理手段が管理する
資源獲得待ち状態に応じて、前記OSに対しタスクウェ
イト状態への移行を要求する。すなわち、資源獲得制御
部は、タスクから資源の獲得要求を受けて、前記資源獲
得待ち状態管理手段のウェイトタスクカウンタを参照
し、他タスクにより資源が使用されている場合に限り、
タスクをウェイト状態へ移行させるために、OSに対し
セマフォの獲得を要求する。一方、獲得を要求された資
源が使用可能状態にある場合、セマフォの獲得を要求し
ない。The resource acquisition control unit receives a resource acquisition request from the task and requests the OS to shift to the task wait state in accordance with the resource acquisition waiting state managed by the resource acquisition waiting state management means. That is, the resource acquisition control unit receives a resource acquisition request from a task, refers to the wait task counter of the resource acquisition waiting state management means, and only when the resource is used by another task,
In order to shift the task to the wait state, the OS is requested to acquire the semaphore. On the other hand, if the resource requested to be acquired is available, the semaphore is not requested to be acquired.
【0036】資源解放制御部は、タスクから資源の解放
要求を受け、前記資源獲得待ち状態管理手段が管理する
資源獲得待ち状態に応じて、前記OSに対しウェイト状
態タスクの再開を要求する。すなわち、資源解放制御部
は、タスクから資源の解放要求を受けて、例えば、前記
資源獲得待ち状態管理手段のウェイトタスクカウンタを
参照し、他タスクが資源獲得を待つ場合に限り、ウェイ
ト状態のタスクを再開させるためにOSに対しセマフォ
の解放を要求する。資源獲得待ちのタスクが存在しない
場合、セマフォの解放を要求しない。このため、OSに
よる処理の遅延時間を最小限に抑止することが可能であ
る。The resource release control unit receives a resource release request from the task and requests the OS to restart the wait state task in accordance with the resource acquisition wait state managed by the resource acquisition wait state management means. That is, the resource release control unit receives a resource release request from a task and, for example, refers to the wait task counter of the resource acquisition waiting state management means, and waits for a task in the wait state only when another task waits for resource acquisition. Request the OS to release the semaphore. If there is no task waiting for resource acquisition, the semaphore release is not requested. Therefore, it is possible to minimize the delay time of the processing by the OS.
【0037】本発明において、セマフォを動的に割り当
てるには、例えば、次のように行なう。資源獲得待ち状
態管理手段において、資源識別子記憶領域に、資源を識
別するための識別子を記憶させ、ウェイトタスクカウン
タ記憶領域に、資源獲得待ち状態のタスク数を格納する
ウェイトタスクカウンタを記憶させ、かつ、ウェイトセ
マフォ識別子記憶領域に、資源獲得待ちに使用するセマ
フォの識別子を記憶させる。また、セマフォ管理手段と
して、少なくとも同時に発生する可能性がある資源の獲
得要求数に相当する数のテーブル要素が配列されるセマ
フォ管理テーブルを設け、このテーブルの、セマフォ識
別子記憶領域に、OSで管理されるセマフォの識別子を
予め記憶させ、かつ、セマフォステータス記憶領域にセ
マフォステータスを記憶させる。また、セマフォ動的割
当手段を設け、この手段により、空きセマフォ識別子を
検索して、空きセマフォ識別子が検出し、この空きセマ
フォ識別子を、当該資源についてのセマフォとして割り
当てると共に、このセマフォ識別子をウェイトセマフォ
識別子記憶領域に格納して登録する。In the present invention, to dynamically assign a semaphore, for example, the following is performed. In the resource acquisition waiting state management means, an identifier for identifying a resource is stored in the resource identifier storage area, a wait task counter for storing the number of tasks in the resource acquisition waiting state is stored in the wait task counter storage area, and , The wait semaphore identifier storage area stores the identifier of the semaphore used for waiting for resource acquisition. Further, as a semaphore management means, a semaphore management table in which a number of table elements corresponding to the number of resource acquisition requests that may occur at the same time are arranged is provided, and the semaphore identifier storage area of this table is managed by the OS. The semaphore identifier to be stored is stored in advance, and the semaphore status is stored in the semaphore status storage area. Further, a semaphore dynamic allocation means is provided, and by this means, a free semaphore identifier is searched for, the free semaphore identifier is detected, and this free semaphore identifier is assigned as a semaphore for the resource, and this semaphore identifier is also used as a wait semaphore identifier. Store and register in the identifier storage area.
【0038】このように、本発明のセマフォの動的割り
当てによると、排他制御が必要な資源数に相当するセマ
フォをOSに用意させる必要がなく、少なくとも同時に
発生する可能性がある資源の獲得要求数に相当するセマ
フォで足りるので、OSがセマフォ制御テーブルとして
使用するメモリ領域を削減できる。As described above, according to the semaphore dynamic allocation of the present invention, it is not necessary for the OS to prepare semaphores corresponding to the number of resources for which exclusive control is required, and at least resource acquisition requests that may occur at the same time. Since a semaphore equivalent to the number is sufficient, the memory area used by the OS as a semaphore control table can be reduced.
【0039】また、本発明により、ファイル資源の排他
制御を行なうことができる。この場合、ファイル管理部
は、ファイル非占有状態で書込または読込処理要求を受
けた時、前記資源獲得制御部に対しファイル資源の獲得
を要求し、書込または読込処理を実行後、前記資源解放
制御部に対しファイル資源の解放を要求する。このた
め、長期にわたりファイルを占有する必要のないタスク
は、ファイル資源の獲得および解放を要求せずに、ファ
イル書込または読込を要求することができる。The present invention also enables exclusive control of file resources. In this case, the file management unit requests the resource acquisition control unit to acquire a file resource when a write or read processing request is received in a file non-occupancy state, and after executing the write or read processing, the resource management unit Requests the release control unit to release the file resource. Therefore, a task that does not need to occupy a file for a long period of time can request writing or reading of a file without requesting acquisition and release of a file resource.
【0040】[0040]
【実施例】以下、本発明の実施例について図面を用いて
説明する。Embodiments of the present invention will be described below with reference to the drawings.
【0041】図1は、本発明の情報処理システムの第1
実施例であるワークステーションの構成の一例を示す。FIG. 1 shows a first information processing system according to the present invention.
1 shows an example of the configuration of a workstation that is an embodiment.
【0042】図1において、本実施例は、主制御部(C
PU)1と、その動作プログラムおよびデータを記憶す
るメインメモリ19と、ディスプレイ20と、キーボー
ド21と、ハードディスクまたはフレキシブルディスク
の読み書きを行なうディスク装置22とを主たる構成要
素として有する。In FIG. 1, the present embodiment shows a main controller (C
PU) 1, a main memory 19 for storing its operation program and data, a display 20, a keyboard 21, and a disk device 22 for reading and writing a hard disk or a flexible disk as main components.
【0043】メインメモリ19には、CPU1により実
行されて各種機能が実現されるソフトウェアと、その実
行の際に用いられるデータが格納される。すなわち、ソ
フトウェアで構成するタスクの動作を管理するマルチタ
スクOS2と、ディスプレイ20を制御し、画像データ
を表示させる表示制御部23と、キーボード21を制御
し、操作指示、データの入力を受け付ける制御を行なう
入力制御部24と、各タスクから資源の獲得要求を受
け、必要に応じてOS2に対しセマフォの獲得を要求す
る資源獲得制御部12と、タスクから資源の解放要求を
受け、必要に応じてOS2に対し、セマフォの解放を要
求する資源解放制御部13と、使用するセマフォを動的
に割当てるセマフォ割当部14と、使用したセマフォを
解除するセマフォ解除部15と、ディスク装置22に対
する書込または読込処理を制御するファイル管理部18
の各機能実現手段を実現するための各種プログラムが記
憶される。また、メインメモリ19には、各資源の管理
情報を記憶し、資源獲得待ち状態を管理する手段として
機能する資源管理テーブル16、および、動的に割当て
るセマフォの使用状況を管理する手段として機能するセ
マフォ管理テーブル17をそれぞれ構成するデータと、
アプリケーションプログラム25,26等とが記憶され
る。The main memory 19 stores software executed by the CPU 1 to realize various functions, and data used in the execution. That is, a multitask OS 2 that manages the operation of a task configured by software, a display control unit 23 that controls the display 20 and displays image data, and a keyboard 21 that controls operation instructions and data input. The input control unit 24 to perform, a resource acquisition request from each task, and a resource acquisition control unit 12 requesting the OS 2 to acquire a semaphore as needed, and a resource release request from the task, and if necessary A resource release controller 13 that requests the OS 2 to release a semaphore, a semaphore allocator 14 that dynamically allocates a semaphore to be used, a semaphore canceler 15 that cancels a used semaphore, and a write or write operation to a disk device 22. File management unit 18 that controls the reading process
Various programs for realizing the respective function realizing means are stored. Further, the main memory 19 stores management information of each resource, and functions as a resource management table 16 that functions as a means for managing a resource acquisition waiting state, and a means that manages the usage status of a dynamically allocated semaphore. Data that respectively configures the semaphore management table 17, and
Application programs 25, 26, etc. are stored.
【0044】資源獲得制御部12および資源解放制御部
13は、各々タスクの延長として動作する再入可能(リ
エントラント)なモジュールである。また、資源獲得制
御部12は、セマフォの割当てを動的に行なう手段とし
て機能する。資源獲得制御部12には、セマフォ割当部
14がリンクされ、資源解放制御部13には、セマフォ
解除部15がリンクされる。The resource acquisition control unit 12 and the resource release control unit 13 are reentrant modules that operate as extensions of tasks. Further, the resource acquisition control unit 12 functions as a means for dynamically allocating a semaphore. A semaphore allocation unit 14 is linked to the resource acquisition control unit 12, and a semaphore cancellation unit 15 is linked to the resource release control unit 13.
【0045】なお、本実施例のワークステーションに
は、この他に、図示していないが、プリンタ、通信制御
装置等を接続することができる。Although not shown, a printer, a communication control device, and the like can be connected to the workstation of this embodiment.
【0046】図2は、資源管理テーブル16の構成を説
明するものである。資源管理テーブル16は、同図に示
すように、排他制御が必要な資源毎に設けられ、資源数
に相当する数のテーブル要素(以下、資源管理テーブル
要素という)160が順次配列されて構成される。ここ
で、本実施例では、資源を識別するための識別子として
資源番号がもちいられる。また、資源獲得待ちに使用す
るセマフォを識別する識別子としてのセマフォ番号が用
いられる。FIG. 2 illustrates the configuration of the resource management table 16. As shown in the figure, the resource management table 16 is provided for each resource for which exclusive control is required, and is constituted by sequentially arranging a number of table elements (hereinafter referred to as resource management table elements) 160 corresponding to the number of resources. It Here, in this embodiment, a resource number is used as an identifier for identifying a resource. Further, a semaphore number is used as an identifier for identifying a semaphore used for waiting for resource acquisition.
【0047】ある資源に関する資源管理テーブル要素1
60は、資源番号を記憶する資源番号記憶領域16a、
資源獲得待ち状態のタスク数を記憶するウェイトタスク
カウンタを構成するウェイトタスクカウンタ記憶領域1
6b、資源獲得待ちに使用するセマフォ番号を記憶する
ウェイトセマフォ番号記憶領域16cの情報格納領域で
構成される。資源番号記憶領域16aには、予め資源毎
に割当てた資源番号を格納する。また、ウェイトタスク
カウンタ記憶領域16bは、“−1”に初期化され、ウ
ェイトセマフォ番号記憶領域16cは、セマフォ番号未
登録を表す“0”に初期化される。Resource management table element 1 for a resource
60 is a resource number storage area 16a for storing resource numbers,
Wait task counter storage area 1 forming a wait task counter that stores the number of tasks in the resource acquisition wait state
6b, an information storage area of a wait semaphore number storage area 16c for storing a semaphore number used for waiting for resource acquisition. The resource number storage area 16a stores a resource number previously assigned to each resource. The wait task counter storage area 16b is initialized to "-1", and the wait semaphore number storage area 16c is initialized to "0" indicating that the semaphore number is not registered.
【0048】図3は、セマフォ管理テーブル17の構成
を説明するものである。セマフォ管理テーブル17は、
少なくとも同時に発生する可能性がある資源の獲得要求
毎に設けられ、獲得要求数に相当する数のテーブル要素
(以下、セマフォ管理テーブル要素という)170が順
次配列されて構成される。1個のセマフォに関するセマ
フォ管理テーブル要素170は、セマフォ番号を記憶す
るセマフォ番号記憶領域17aと、セマフォステータス
を記憶するセマフォステータス記憶領域17bとで構成
される。セマフォ番号記憶領域17aには、OS2で管
理されるセマフォの番号が予め格納される。ステータス
記憶領域17bは、セマフォ未使用を表す“0”に初期
化される。FIG. 3 illustrates the structure of the semaphore management table 17. The semaphore management table 17
A table element (hereinafter referred to as a semaphore management table element) 170, which is provided at least for each resource acquisition request that may occur at the same time and corresponds to the number of acquisition requests, is sequentially arranged. The semaphore management table element 170 for one semaphore is composed of a semaphore number storage area 17a for storing a semaphore number and a semaphore status storage area 17b for storing a semaphore status. The semaphore number storage area 17a stores in advance the semaphore number managed by the OS2. The status storage area 17b is initialized to "0" indicating that the semaphore is unused.
【0049】本実施例において使用するOS2のセマフ
ォ機能は、使用中か否かの二状態を表す論理セマフォ
(または2進セマフォ)とする。本実施例の場合、資源
排他制御を実行する前に、OS2のセマフォステータス
を“使用中”に初期化する。なお、任意数の資源排他制
御を実現可能な計数セマフォ(または整数セマフォ)を
使用することもできる。この場合は、OS2のセマフォ
数の初期値を“0”に設定する。The semaphore function of the OS 2 used in this embodiment is a logical semaphore (or binary semaphore) representing two states of whether it is in use or not. In the case of the present embodiment, the semaphore status of the OS2 is initialized to "in use" before executing the resource exclusive control. It is also possible to use a counting semaphore (or an integer semaphore) capable of realizing an arbitrary number of resource exclusive controls. In this case, the initial value of the semaphore number of OS2 is set to "0".
【0050】本実施例では、資源獲得制御部12と、資
源解放制御部13と、セマフォ割当部14と、セマフォ
解除部15と、資源管理テーブル16と、セマフォ管理
テーブル17とで、資源排他制御機能を実現する。In this embodiment, the resource acquisition control unit 12, the resource release control unit 13, the semaphore allocation unit 14, the semaphore release unit 15, the resource management table 16, and the semaphore management table 17 are used for resource exclusive control. Realize the function.
【0051】資源獲得制御部12は、タスクから資源の
獲得要求を受けると、資源管理テーブル要素160の資
源番号記憶領域16aの資源番号を参照し、獲得要求の
対象資源を探索する機能と、獲得要求の対象資源に相当
する資源管理テーブル要素160を検出したならば、検
出した資源管理テーブル要素160のウェイトタスクカ
ウンタ記憶領域16bに構成されるウェイトタスクカウ
ンタをカウントアップする機能と、そのカウント結果に
基づいて、獲得が要求された資源が使用中であるか否か
を判定する機能と、資源使用中であれば、ウェイトセマ
フォ番号記憶領域16cに、セマフォ番号が登録されて
いるか否か確認する機能と、セマフォ番号未登録の場合
に、セマフォを動的に割り当てるセマフォ動的割当機能
と、セマフォが登録されている場合またはセマフォが登
録された場合に、セマフォ獲得要求を前記OS2に要求
する機能と、セマフォ獲得後、または、資源不使用の場
合、資源獲得完了をタスクに通知する機能とを有する。When the resource acquisition control unit 12 receives a resource acquisition request from a task, the resource acquisition control unit 12 refers to the resource number in the resource number storage area 16a of the resource management table element 160, and searches for the target resource of the acquisition request. When the resource management table element 160 corresponding to the requested resource is detected, the function of counting up the wait task counter configured in the wait task counter storage area 16b of the detected resource management table element 160 and the count result A function of determining whether or not the resource requested to be acquired is in use, and a function of confirming whether or not the semaphore number is registered in the wait semaphore number storage area 16c if the resource is in use When the semaphore number is not registered, the semaphore dynamic allocation function that dynamically assigns the semaphore and the semaphore If it is or if the semaphore register is a a function of requesting a semaphore acquisition request to the OS2, after the semaphore acquisition, or if the resources not used, and a function of notifying a resource acquisition completion to the task.
【0052】セマフォ動的割当機能は、セマフォ割当部
14に、空きセマフォ番号を検索させ、空きセマフォ番
号が検索されると、このセマフォ番号を、当該資源につ
いてのセマフォとして割り当てる機能と、このセマフォ
番号をウェイトセマフォ番号記憶領域16cに格納して
登録する機能とを有する。The semaphore dynamic allocation function causes the semaphore allocation unit 14 to search for an empty semaphore number, and when the empty semaphore number is searched, the function of allocating this semaphore number as a semaphore for the resource and the semaphore number Is stored in the wait semaphore number storage area 16c and registered.
【0053】資源解放制御部13は、タスクから資源の
解放要求を受けると、資源管理テーブル要素160の資
源番号記憶領域16aの資源番号を参照し、解放要求の
対象資源を探索する機能と、解放要求の対象資源に相当
する資源管理テーブル要素160を検出したならば、検
出した資源管理テーブル要素160のウェイトタスクカ
ウンタ記憶領域16bに構成されるウェイトタスクカウ
ンタをカウントダウンする機能と、そのカウント結果に
基づいて、解放する資源を獲得待ちのタスクが存在する
か否か確認する機能と、解放する資源について獲得待ち
のタスクが存在する場合、資源獲得待ちのタスクが複数
存在するか否か確認する機能と、資源獲得待ちのタスク
が1の場合、セマフォ番号解除を行う機能と、資源獲得
待ちのタスクが複数存在する場合またはセマフォ番号が
解除された場合に、セマフォ解放要求を前記OS2に要
求する機能と、セマフォ解放後、または、ウェイトタス
クがない場合、資源解放完了をタスクに通知する機能と
を有する。When the resource release control unit 13 receives a resource release request from a task, the resource release control unit 13 refers to the resource number of the resource number storage area 16a of the resource management table element 160 and searches for the target resource of the release request; When the resource management table element 160 corresponding to the requested resource is detected, the function of counting down the wait task counter configured in the wait task counter storage area 16b of the detected resource management table element 160 and the count result are used. And a function to confirm whether there are tasks waiting to acquire resources to be released, and a function to confirm whether there are multiple tasks waiting to acquire resources when there are tasks waiting to acquire resources to be released. If the number of tasks waiting to acquire resources is 1, the function to release the semaphore number and the task waiting to acquire resources are duplicated. If the case or semaphore number there is released a, a function of requesting a semaphore release request to the OS2, after semaphore release, or, if there is no wait tasks, and a function for notifying the resource release completion to the task.
【0054】図4は、本実施例を構成する資源獲得制御
部12の動作を示すフローチャートである。FIG. 4 is a flow chart showing the operation of the resource acquisition control unit 12 which constitutes this embodiment.
【0055】資源獲得制御部12は、アプリケーション
25,26等のタスクから資源の獲得要求を受けると、
資源管理テーブル要素160の資源番号記憶領域16a
の資源番号を参照し、獲得要求の資源か否か確認する
(ステップ401)。獲得要求の資源と異なる場合、次
配列の資源管理テーブル要素160を参照し(ステップ
402)、ステップ401において、再び獲得要求の資
源か否か確認する。ステップ401において、獲得要求
の資源に相当する資源管理テーブル要素160を検出し
たならば、検出した資源管理テーブル要素160のウェ
イトタスクカウンタ記憶領域16bに構成されるウェイ
トタスクカウンタに“1”を加算する(ステップ40
3)。When the resource acquisition control unit 12 receives a resource acquisition request from a task such as the application 25 or 26,
Resource number storage area 16a of resource management table element 160
Then, it is confirmed whether or not the resource is the resource requested for acquisition (step 401). If the resource is different from the resource of the acquisition request, the resource management table element 160 of the next array is referred to (step 402), and in step 401, it is confirmed again whether the resource is the resource of the acquisition request. When the resource management table element 160 corresponding to the resource of the acquisition request is detected in step 401, "1" is added to the wait task counter configured in the wait task counter storage area 16b of the detected resource management table element 160. (Step 40
3).
【0056】この後、資源獲得制御部12は、獲得する
資源が他タスクにより使用中であるか否か確認する(ス
テップ404)。一般的なCPUによる主制御部1でソ
フトウェアを制御する場合、“−1”に“1”を加算す
ると、桁上がりを表すキャリー信号が発生する。本実施
例の資源排他制御方式では、ウェイトタスクカウンタを
“−1”に初期化しているため、獲得する資源が他タス
クにより使用されていない場合、必ずキャリー信号が発
生する。一方、資源が他タスクにより使用されている場
合、ウェイトタスクカウンタは“0”以上の値を示して
いるため、“1”を加算してもキャリー信号は発生しな
い。そこで、ステップ404における資源の使用状況確
認は、ウェイトタスクカウンタを加算した結果のキャリ
ー信号検出により行う。After that, the resource acquisition control unit 12 confirms whether or not the resource to be acquired is being used by another task (step 404). When software is controlled by the main control unit 1 of a general CPU, if "1" is added to "-1", a carry signal representing a carry is generated. In the resource exclusive control method of this embodiment, the wait task counter is initialized to "-1", so that a carry signal is always generated when the resource to be acquired is not used by another task. On the other hand, when the resource is used by another task, the wait task counter indicates a value of "0" or more, and therefore, a carry signal is not generated even if "1" is added. Therefore, the use status of the resource in step 404 is confirmed by detecting a carry signal as a result of adding the wait task counter.
【0057】ステップ404においてキャリー信号が発
生しない場合、資源獲得制御部12は、獲得する資源が
他タスクにより使用されていると判断して、次に、資源
管理テーブル要素160のウェイトセマフォ番号記憶領
域16cに、セマフォ番号が登録されているか否か確認
する(ステップ405)。ウェイトセマフォ番号記憶領
域16cの値が“0”ならば、セマフォ番号未登録とし
て、セマフォ割当部14へセマフォ割当を指示する(ス
テップ406)。セマフォ割当部14が空きセマフォ番
号を検索すると、資源獲得制御部12は、割当てたセマ
フォ番号をウェイトセマフォ番号記憶領域16cに格納
した後(ステップ407)、ステップ408へ移行す
る。また、ステップ405において、ウェイトセマフォ
番号記憶領域16cの値が“0”以外ならば、既にセマ
フォ番号が登録済みであるため、ステップ406、40
7を実行せずに、ステップ408へ移行する。When the carry signal is not generated in step 404, the resource acquisition control unit 12 determines that the resource to be acquired is used by another task, and next, the wait semaphore number storage area of the resource management table element 160. It is confirmed whether or not the semaphore number is registered in 16c (step 405). If the value of the wait semaphore number storage area 16c is "0", it is determined that the semaphore number is not registered and the semaphore allocating unit 14 is instructed to allocate the semaphore (step 406). When the semaphore assigning unit 14 searches for a free semaphore number, the resource acquisition control unit 12 stores the assigned semaphore number in the wait semaphore number storage area 16c (step 407) and then proceeds to step 408. If the value of the wait semaphore number storage area 16c is other than "0" in step 405, the semaphore number has already been registered, so steps 406, 40.
Without executing 7, the process proceeds to step 408.
【0058】ステップ408において、資源獲得制御部
12は、登録したウェイトセマフォ番号を用いて、OS
2に対しセマフォの獲得を要求し、獲得完了まで待ち状
態を継続した後、ステップ409へ移行する。In step 408, the resource acquisition control unit 12 uses the registered wait semaphore number to update the OS.
2 is requested to acquire the semaphore, the waiting state is continued until the acquisition is completed, and then the process proceeds to step 409.
【0059】一方、ステップ404においてキャリー信
号が発生した場合、資源獲得制御部12は、獲得する資
源が他タスクにより使用されていないと判断して、ステ
ップ405から408を実行せずに、ステップ409へ
移行し、資源獲得を要求したタスクに対し資源の獲得完
了を通知した後、処理を終える。On the other hand, when the carry signal is generated in step 404, the resource acquisition control unit 12 determines that the resource to be acquired is not used by another task, and does not execute steps 405 to 408, but step 409. The process is terminated after the completion of acquisition of resources is notified to the task requesting acquisition of resources.
【0060】図5は、本発明の資源解放制御部13の動
作を示すフローチャートである。FIG. 5 is a flow chart showing the operation of the resource release control unit 13 of the present invention.
【0061】資源解放制御部13は、タスクから資源の
解放要求を受けると、資源管理テーブル要素160の資
源番号記憶領域16aを参照し、解放要求の資源か否か
確認する(ステップ501)。解放要求の資源と異なる
場合、次配列の資源管理テーブル要素160を参照し
(ステップ502)、ステップ501において、再び解
放要求の資源か否か確認する。ステップ501におい
て、解放要求の資源に相当する資源管理テーブル要素1
60を検出したならば、検出した資源管理テーブル要素
160のウェイトタスクカウンタから“1”を減算する
(ステップ503)。Upon receiving the resource release request from the task, the resource release control unit 13 refers to the resource number storage area 16a of the resource management table element 160 and confirms whether or not the resource is the release request resource (step 501). If it is different from the resource of the release request, the resource management table element 160 of the next array is referred to (step 502), and in step 501, it is confirmed again whether the resource is the resource of the release request. In step 501, the resource management table element 1 corresponding to the resource of the release request
If 60 is detected, "1" is subtracted from the wait task counter of the detected resource management table element 160 (step 503).
【0062】この後、資源解放制御部13は、解放する
資源を獲得待ちのタスクが存在するか否か確認する(ス
テップ504)。一般的なCPUによる主制御部1でソ
フトウェアを制御する場合、“0”から“1”を減算す
ると、桁下がりを表すキャリー信号が発生する。資源獲
得待ちのタスクがない場合、ウェイトタスクカウンタは
“0”を示しているため、“1”を減算すると必ずキャ
リー信号が発生する。一方、資源獲得待ちのタスクが存
在する場合、ウェイトタスクカウンタは“1”以上の値
を示しているため、“1”を減算してもキャリー信号は
発生しない。そこで、ステップ504における資源獲得
待ちタスクの確認は、ウェイトタスクカウンタを減算し
た結果のキャリー信号検出により行う。After that, the resource release control unit 13 confirms whether or not there is a task waiting to acquire the resource to be released (step 504). When software is controlled by the main control unit 1 of a general CPU, a carry signal representing a carry is generated when "1" is subtracted from "0". When there is no task waiting for resource acquisition, the wait task counter indicates "0", so that a carry signal is generated whenever "1" is subtracted. On the other hand, when there is a task waiting to acquire a resource, the wait task counter indicates a value of "1" or more, and therefore a carry signal is not generated even if "1" is subtracted. Therefore, the confirmation of the resource acquisition waiting task in step 504 is performed by detecting the carry signal as a result of subtracting the wait task counter.
【0063】ステップ504においてキャリー信号が発
生しない場合、資源解放制御部13は、解放する資源に
ついて獲得待ちのタスクが存在すると判断して、次に資
源獲得待ちのタスクが複数存在するか否か確認する(ス
テップ505)。ステップ505において、ウェイトタ
スクカウンタの値が“0”ならば資源獲得待ちのタスク
は1個と判断して、セマフォ解除部15へセマフォ解除
を指示する(ステップ506)。セマフォ解除部15
が、使用したセマフォ番号を解除すると、資源解放制御
部13は、ウェイトセマフォ番号記憶領域16cに
“0”を格納した後(ステップ507)、ステップ50
8へ移行する。When the carry signal is not generated in step 504, the resource release control unit 13 judges that there are tasks waiting to acquire the resource to be released, and confirms whether or not there are a plurality of tasks waiting to acquire the resource next. (Step 505). If the value of the wait task counter is "0" in step 505, it is determined that there is one task waiting for resource acquisition, and the semaphore canceling unit 15 is instructed to cancel the semaphore (step 506). Semaphore release unit 15
However, when the used semaphore number is released, the resource release control unit 13 stores “0” in the wait semaphore number storage area 16c (step 507), and then the step 50.
Move to 8.
【0064】資源解放制御部13は、ステップ505に
おいて、ウェイトタスクカウンタの値が“1”以上なら
ば、資源獲得待ちのタスクが複数存在するため、ステッ
プ506、507を実行せずに、ステップ508へ移行
する。If the value of the wait task counter is "1" or more in step 505, the resource release control unit 13 does not execute steps 506 and 507 because there are a plurality of tasks waiting for resource acquisition, and the step 508 is executed. Move to.
【0065】ステップ508において、資源解放制御部
13は、登録されていたウェイトセマフォ番号を用い
て、OS2に対しセマフォの解放を要求し、解放完了ま
で待ち状態を継続した後、ステップ509へ移行する。In step 508, the resource release control unit 13 uses the registered wait semaphore number to request the OS 2 to release the semaphore, and waits until the release is completed, and then proceeds to step 509. .
【0066】一方、ステップ504においてキャリー信
号が発生した場合、資源解放制御部13は、解放する資
源を獲得待ちのタスクがないと判断して、ステップ50
5から508を実行せずに、ステップ509へ移行し、
資源解放を要求したタスクに対し資源の解放完了を通知
した後、処理を終える。On the other hand, when the carry signal is generated in step 504, the resource release control unit 13 determines that there is no task waiting to acquire the resource to be released, and then the step 50
5 to 508 without executing, go to step 509,
After notifying the task requesting the resource release that the resource release is completed, the processing is terminated.
【0067】以上説明した資源獲得制御部12のステッ
プ404、資源解放制御部13のステップ504の確認
処理を、演算結果のウェイトタスクカウンタ記憶領域1
6bを参照する処理に変更することも可能である。しか
し、この場合、ウェイトタスクカウンタの演算直後にタ
スク切換えが発生し、他タスクからの同一資源への獲得
要求によりウェイトタスクカウンタの値が更に演算さ
れ、参照するウェイトカウンタが変更されてしまうこと
も考えられる。このため、ウェイトタスクカウンタの演
算と参照中はタスク切換えを禁止する処理(例えば割込
禁止処理)が必要となる。The confirmation processing of step 404 of the resource acquisition control unit 12 and step 504 of the resource release control unit 13 described above is performed by the wait task counter storage area 1 of the calculation result.
It is also possible to change the processing to refer to 6b. However, in this case, task switching may occur immediately after the calculation of the wait task counter, and the value of the wait task counter may be further calculated by the acquisition request for the same resource from another task, and the wait counter to be referenced may be changed. Conceivable. For this reason, processing (for example, interrupt prohibition processing) that prohibits task switching is required during calculation and reference of the wait task counter.
【0068】これに対して、本実施例によると、演算の
結果生じたキャリー信号により、ステップ404、50
4の確認処理を実現している。この場合、ウェイトタス
クカウンタの演算直後にタスク切換えが発生しても、制
御が戻った際、演算の結果生じたキャリー信号は、OS
2により回復されるため、タスク切換えを禁止する特別
な処理は不要である。On the other hand, according to the present embodiment, steps 404 and 50 are executed depending on the carry signal generated as a result of the calculation.
4 confirmation processing is realized. In this case, even if task switching occurs immediately after the calculation of the wait task counter, when the control returns, the carry signal generated as a result of the calculation is
Since it is recovered by 2, there is no need for special processing for prohibiting task switching.
【0069】また、上記ステップ404,504の処理
は、キャリー信号を用いることに限定されない。例え
ば、演算結果が“0”であることを示すゼロ信号、およ
び、演算結果が負であることを示すネガティブ信号でも
よい。ステップ404において、ゼロ信号が発生しない
場合、ステップ405へ移行し、ゼロ信号が発生した場
合は、ステップ405から408を実行せずに、ステッ
プ409へ移行する。また、ステップ504において、
ネガティブ信号が発生しない場合、ステップ505へ移
行し、ネガティブ信号が発生した場合は、ステップ50
5から508を実行せずに、ステップ509へ移行す
る。The processing of steps 404 and 504 is not limited to using the carry signal. For example, a zero signal indicating that the calculation result is “0” and a negative signal indicating that the calculation result is negative may be used. In step 404, if the zero signal is not generated, the process proceeds to step 405, and if the zero signal is generated, the process proceeds to step 409 without executing steps 405 to 408. Also, in step 504,
If a negative signal is not generated, the process proceeds to step 505, and if a negative signal is generated, step 50.
Without executing 5 to 508, the process proceeds to step 509.
【0070】図6は、本発明のセマフォ割当部14の動
作を示すフローチャートである。FIG. 6 is a flow chart showing the operation of the semaphore allocation unit 14 of the present invention.
【0071】資源獲得制御部12からセマフォ割当を指
示されたセマフォ割当部14は、セマフォ管理テーブル
要素170のステータス記憶領域17bを参照して、未
使用のセマフォを検索する(ステップ601)。ステー
タスが“0”ではない場合、次配列のセマフォ管理テー
ブル要素170を参照し(ステップ602)、ステップ
601において、再び未使用のセマフォか否か確認す
る。ステップ601において未使用のセマフォを検出し
たならば、そのセマフォ番号のステータス記憶領域17
bに、使用中のセマフォであることを表す“0”以外の
値を格納し(ステップ603)、セマフォ管理テーブル
要素170のセマフォ番号を資源獲得制御部12へ通知
して処理を終える。The semaphore allocation unit 14 instructed by the resource acquisition control unit 12 to allocate the semaphore refers to the status storage area 17b of the semaphore management table element 170 to search for an unused semaphore (step 601). If the status is not "0", the semaphore management table element 170 of the next array is referred to (step 602), and in step 601, it is again confirmed whether or not it is an unused semaphore. If an unused semaphore is detected in step 601, the status storage area 17 of the semaphore number is detected.
A value other than "0" indicating that the semaphore is being used is stored in b (step 603), the semaphore number of the semaphore management table element 170 is notified to the resource acquisition control unit 12, and the processing is ended.
【0072】図7は、本発明のセマフォ解除部15の動
作を示すフローチャートである。FIG. 7 is a flow chart showing the operation of the semaphore canceling section 15 of the present invention.
【0073】資源解放制御部13からセマフォ解除を指
示されたセマフォ解除部15は、セマフォ管理テーブル
要素170のセマフォ番号記憶領域17aを参照し、解
除要求のセマフォか否か確認する(ステップ701)。
解除要求のセマフォと異なる場合、次配列のセマフォ管
理テーブル要素170を参照し(ステップ702)、ス
テップ701において、再び解除要求のセマフォか否か
確認する。ステップ701において解除要求のセマフォ
を検出したならば、ステータス記憶領域17bに、未使
用のセマフォであることを表す“0”の値を格納し(ス
テップ703)、資源解放制御部13へセマフォ解除完
了を通知して処理を終える。The semaphore cancellation unit 15 instructed by the resource release control unit 13 to cancel the semaphore refers to the semaphore number storage area 17a of the semaphore management table element 170 and confirms whether or not the semaphore is a cancellation request (step 701).
If it is different from the release request semaphore, the semaphore management table element 170 of the next array is referred to (step 702), and in step 701, it is confirmed again whether or not the release request semaphore. If the release request semaphore is detected in step 701, the value “0” indicating that the semaphore is an unused one is stored in the status storage area 17b (step 703), and the resource release control unit 13 completes the semaphore release. Is notified and the process ends.
【0074】次に、本実施例による資源排他制御動作
を、タスクA,Bの間で資源獲得を行なう場合を例とし
て説明する。Next, the resource exclusive control operation according to the present embodiment will be described by taking as an example the case where resources are acquired between the tasks A and B.
【0075】図9は、図8における従来のタスクシーケ
ンスを本実施例の資源排他制御により実行したものであ
る。本実施例では、資源の排他制御を実行する前に、O
Sが管理するセマフォのステータスを全て“使用中”に
初期化する。なお、タスクBがタスクAより優先順位が
高いものとする。FIG. 9 shows the conventional task sequence in FIG. 8 executed by the resource exclusive control of this embodiment. In this embodiment, before executing exclusive control of resources,
All the semaphore statuses managed by S are initialized to "in use". Note that task B has a higher priority than task A.
【0076】まず、タスクAが資源獲得を要求すると
(a)、資源獲得制御部12は、資源管理テーブル16
の対応する資源管理テーブル要素160のウェイトタス
クカウンタ記憶領域16bを参照し、資源が未使用であ
ることを確認して、OSを介さずタスクAに制御を戻す
(b)。ある時間の経過後、タスク切換えの要因が発生
し、OS2は、タスクAの実行を中断した後、優先順位
の高いタスクBを起動する(c)。First, when task A requests resource acquisition (a), the resource acquisition control unit 12 causes the resource management table 16
The wait task counter storage area 16b of the corresponding resource management table element 160 is referred to, it is confirmed that the resource is unused, and control is returned to the task A without going through the OS (b). After a lapse of a certain time, a factor of task switching occurs, and the OS 2 suspends the execution of the task A and then activates the task B having a higher priority (c).
【0077】タスクBは、起動を開始して資源獲得を要
求する(d)。資源獲得制御部12は、対応する資源管
理テーブル要素160のウェイトタスクカウンタ記憶領
域16bを参照し、その資源が他タスクにより使用中で
あることを確認した後、セマフォ獲得を要求する
(e)。OS2は、セマフォが他タスクにより使用され
ていることを確認して、タスクBをセマフォ待ち行列に
つなぎ、処理を中断したタスクAを再開させる(f)。Task B starts activation and requests resource acquisition (d). The resource acquisition control unit 12 refers to the wait task counter storage area 16b of the corresponding resource management table element 160, confirms that the resource is being used by another task, and then requests acquisition of a semaphore (e). The OS 2 confirms that the semaphore is being used by another task, connects the task B to the semaphore queue, and restarts the task A whose processing has been suspended (f).
【0078】タスクAは、処理を終了すると、資源解放
を要求する(g)。資源解放制御部13は、対応する資
源管理テーブル要素160のウェイトタスクカウンタ記
憶領域16bを参照し、資源獲得を待つタスクが存在す
ることを確認して、セマフォ解放を要求する(h)。O
S2は、セマフォの獲得を待つタスクBを待ち行列から
外し、実行を再開させる(i)。When the task A completes the processing, it requests the resource release (g). The resource release control unit 13 refers to the wait task counter storage area 16b of the corresponding resource management table element 160, confirms that there is a task waiting for resource acquisition, and requests semaphore release (h). O
In S2, the task B waiting for the acquisition of the semaphore is dequeued and the execution is resumed (i).
【0079】タスクBは、処理を終えると、資源解放を
要求する(j)。資源解放制御部13は、対応する資源
管理テーブル要素160のウェイトタスクカウンタ記憶
領域16bを参照し、資源獲得を待つタスクが存在しな
いことを確認した上で、OS2を介さず、タスクBに制
御を戻す(k)。When the task B finishes the processing, it requests the resource release (j). The resource release control unit 13 refers to the wait task counter storage area 16b of the corresponding resource management table element 160, confirms that there is no task waiting for the resource acquisition, and then controls the task B without going through the OS2. Return (k).
【0080】このように、本実施例システムにおける資
源排他制御動作によれば、資源獲得制御部12は、タス
クから資源の獲得要求を受けて、対応する資源管理テー
ブル要素160のウェイトタスクカウンタ記憶領域16
bを参照し、他タスクにより資源が使用されている場合
に限り、タスクをウェイト状態へ移行させるために、O
S2に対しセマフォの獲得を要求する。獲得を要求され
た資源が使用可能状態にある場合、セマフォの獲得を要
求しない。また、資源解放制御部13は、タスクから資
源の解放要求を受けて、同様に、ウェイトタスクカウン
タを参照し、他タスクが資源獲得を待つ場合に限り、ウ
ェイト状態のタスクを再開させるために、OS2に対し
セマフォの解放を要求する。資源獲得待ちのタスクが存
在しない場合、セマフォの解放を要求しない。このた
め、本実施例では、OSによる処理の遅延時間を最小限
に抑止することが可能である。As described above, according to the resource exclusive control operation in the system of this embodiment, the resource acquisition control unit 12 receives the resource acquisition request from the task, and wait resource counter storage area of the corresponding resource management table element 160. 16
If the resource is used by another task with reference to b, the task O
Request S2 to acquire a semaphore. If the resource requested for acquisition is available, do not request acquisition of the semaphore. Further, the resource release control unit 13 receives the resource release request from the task, similarly refers to the wait task counter, and restarts the task in the wait state only when another task waits for the resource acquisition. Request OS2 to release the semaphore. If there is no task waiting for resource acquisition, the semaphore release is not requested. Therefore, in this embodiment, it is possible to minimize the delay time of the processing by the OS.
【0081】また、本実施例では、セマフォ割当部14
およびセマフォ解除部15により、セマフォの割り当て
および解放を動的に行なう構成となっている。すなわ
ち、セマフォ割当部14は、資源獲得制御部12からの
セマフォ割当指示を受け、使用するセマフォを動的に割
当て、セマフォ解除部15は、資源解放制御部13から
のセマフォ解除指示を受け、使用したセマフォを解除す
る。ここで、セマフォの動的割り当てとは、セマフォと
資源とを固定的に結合させず、必要に応じて、資源に対
応してセマフォを発行することを意味する。このような
制御方式によると、排他制御が必要な資源数に相当する
セマフォをOSに用意させる必要がなくなる。Further, in the present embodiment, the semaphore allocation unit 14
The semaphore canceling unit 15 dynamically allocates and releases the semaphore. That is, the semaphore allocation unit 14 receives the semaphore allocation instruction from the resource acquisition control unit 12 and dynamically allocates the semaphore to be used, and the semaphore cancellation unit 15 receives the semaphore cancellation instruction from the resource release control unit 13 and uses it. Cancel the semaphore that you did. Here, the dynamic allocation of a semaphore means that the semaphore and the resource are not fixedly coupled, but the semaphore is issued in correspondence with the resource as needed. According to such a control method, it is not necessary for the OS to prepare semaphores corresponding to the number of resources that need exclusive control.
【0082】以上説明したように、本実施例の資源獲得
制御部12は、資源の競合によりタスクを待ち状態に移
行させる必要がある場合に限り、OS2に対しセマフォ
の獲得を要求し、資源解放制御部13は、資源獲得待ち
状態のタスクを起動させる必要がある場合に限り、OS
2に対しセマフォの解放を要求する。複数のタスクを並
列実行させる装置において、資源の排他制御は不可欠な
機能であるが、通常、資源競合が発生する確率はきわめ
て低い。従来の排他制御方式によると、資源を獲得また
は解放する時、必ずOS2による処理の遅延を伴う。し
かし、本実施例の排他制御方式によれば、資源競合が発
生しない獲得または解放の時、OS2の介在は不要であ
り、装置の総合的な処理時間を短縮することが可能とな
る。As described above, the resource acquisition control unit 12 of this embodiment requests the OS 2 to acquire a semaphore and releases the resource only when it is necessary to shift the task to the waiting state due to the competition of resources. The control unit 13 uses the OS only when it is necessary to activate a task in the resource acquisition waiting state.
Request 2 to release the semaphore. Exclusive control of resources is an indispensable function in a device that executes a plurality of tasks in parallel, but the probability of resource competition usually is extremely low. According to the conventional exclusive control method, when the resource is acquired or released, the processing by the OS 2 is always delayed. However, according to the exclusive control method of the present embodiment, at the time of acquisition or release without causing resource competition, the intervention of the OS 2 is unnecessary, and it becomes possible to shorten the overall processing time of the device.
【0083】また、セマフォ割当部14は、必要に応じ
て使用するセマフォを動的に割当てるため、排他制御が
必要な資源数に相当するセマフォをOS2に用意する必
要がなく、少なくとも同時に発生する可能性がある資源
の獲得要求数に相当するセマフォで足りるので、OS2
がセマフォ制御テーブルとして使用するメモリ領域を削
減可能である。Further, since the semaphore allocating unit 14 dynamically allocates the semaphore to be used as needed, it is not necessary to prepare the semaphore corresponding to the number of resources for which the exclusive control is necessary in the OS2, and the semaphore can occur at the same time. OS2 because semaphores equivalent to the number of acquisition requests for resources
It is possible to reduce the memory area used by the semaphore control table.
【0084】また、本実施例においては、必要性に応じ
てセマフォの獲得または解放を要求する方式と、動的な
セマフォ割当方式との組合せにより、処理時間の削減を
実現しているが、個々の方式だけでも限られた範囲で処
理時間を削減することが可能である。例えば、動的なセ
マフォ割当を実施しない場合、排他制御が必要な資源数
に相当するセマフォをOS2に用意し、資源管理テーブ
ル要素160の全てのウェイトセマフォ番号に予め異な
るセマフォ番号を設定して、資源獲得制御部12のステ
ップ405から407、および、資源解放制御部13の
ステップ505から507の処理を取り除けばよい。ま
た、必要性に応じたセマフォの獲得または解放要求を実
施しない場合、資源管理テーブル要素160のウェイト
タスクカウンタ記憶領域を削除し、資源獲得制御部12
のステップ403、404、および、資源解放制御部1
3のステップ503、504の処理を取り除けばよい。Further, in the present embodiment, the processing time is reduced by combining the method of requesting acquisition or release of a semaphore according to need with the dynamic semaphore allocation method. It is possible to reduce the processing time in a limited range only by the method. For example, when dynamic semaphore allocation is not performed, semaphores corresponding to the number of resources for which exclusive control is required are prepared in OS2, and different semaphore numbers are set in advance for all wait semaphore numbers in the resource management table element 160, The processes of steps 405 to 407 of the resource acquisition control unit 12 and steps 505 to 507 of the resource release control unit 13 may be removed. If the semaphore acquisition or release request according to need is not executed, the wait task counter storage area of the resource management table element 160 is deleted, and the resource acquisition control unit 12
Steps 403 and 404, and the resource release control unit 1
It suffices to eliminate the processing of steps 503 and 504 of No. 3.
【0085】上述した本実施例の資源排他制御動作の作
用および効果は、後述する他の実施例においても同様で
ある。また、セマフォの割り当て方式についても、後述
の他の実施例においても同様である。The operation and effect of the resource exclusive control operation of this embodiment described above are the same in other embodiments described later. Also, the semaphore allocation method is the same in other embodiments described later.
【0086】次に、本発明の第2実施例について説明す
る。Next, a second embodiment of the present invention will be described.
【0087】図11は、本発明の情報処理システムの第
2実施例であるファクシミリ装置の構成の一例を示す。
なお、第1実施例と同一の構成要素については同一の符
号を付することとし、重複した説明を省略する。FIG. 11 shows an example of the configuration of a facsimile apparatus which is a second embodiment of the information processing system of the present invention.
The same components as those in the first embodiment are designated by the same reference numerals, and the duplicated description will be omitted.
【0088】図11において、本実施例は、ISDN等
の回線7に接続されて、画像の送受信を行なうファクシ
ミリ装置であって、主制御部(CPU)1と、その動作
プログラムおよびデータを記憶するメインメモリ19
と、送信原稿を読込み二値化するスキャナ3と、画像デ
ータを記録紙に印刷するプリンタ5と、回線7を制御す
る通信制御装置(NCU)8と、画像データを蓄積する
画像メモリ11とを主たる構成要素として有する。Referring to FIG. 11, this embodiment is a facsimile apparatus which is connected to a line 7 such as ISDN to transmit and receive images, and stores a main control unit (CPU) 1 and its operation program and data. Main memory 19
A scanner 3 for reading and binarizing a transmission document, a printer 5 for printing image data on recording paper, a communication control unit (NCU) 8 for controlling the line 7, and an image memory 11 for storing image data. It has as a main component.
【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と
が格納される。The main memory 19 stores software and data executed by the CPU 1 to realize various functions. That is, the same OS as in the first embodiment
2, a resource acquisition control unit 12, a resource release control unit 13, a semaphore allocation unit 14, a semaphore release unit 15, a resource management table 16, a semaphore management table 17, and a file management unit 40 are stored. Further, in the main memory 19, as a program for configuring the function realizing means peculiar to the present embodiment, the reading control unit that controls the scanner 3 and compresses the binarized image data, and then stores the compressed image data in the image memory 11. Four
Then, the printer 5 is controlled to decompress the image data stored in the image memory 11, and then the recording control unit 6 for outputting to the printer 5 and the NCU 8 are controlled to execute the communication procedure (protocol) with the destination facsimile. It stores the transmission of the image data stored in the image memory 11, and the communication control units 9 and 10 that store the received image data in the image memory 11.
【0090】ファイル管理部40は、送信相手先の電話
番号や、画像メモリ11に蓄積した画像データの位置お
よびサイズ等の情報を、タスクごとに記憶する複数の送
信管理テーブルと、各送信管理テーブルを、それぞれの
テーブルアドレス等により読取順に接続する送信キュー
とを有する。なお、メモリやディスク装置等の外部記憶
装置(図示せず)を接続して、その制御を行なう機能を
さらに持つ構成とすることもできる。The file management unit 40 includes a plurality of transmission management tables for storing, for each task, information such as the telephone number of the transmission destination, the position and size of the image data accumulated in the image memory 11, and each transmission management table. , And a transmission queue for connecting in the order of reading by each table address or the like. An external storage device (not shown) such as a memory or a disk device may be connected to the storage device to further control it.
【0091】上記メインメモリ19に格納される各プロ
グラムは、階層的な関係を持っている。図12に、上記
プログラム群の階層構造を示す。同図では、マルチタス
クOS2の上に、資源獲得制御部12および資源開放制
御部13が存在し、それらの階層の上に、さらに、読取
制御部4、記録制御部6、通信制御部9および10、フ
ァイル管理部40が存在する構成となっている。なお、
図示していないが、他の実施例におけるプログラムにつ
いても、ほぼ同様の構成とすることができる。The programs stored in the main memory 19 have a hierarchical relationship. FIG. 12 shows the hierarchical structure of the above program group. In the figure, a resource acquisition control unit 12 and a resource release control unit 13 are present on the multitask OS 2, and a reading control unit 4, a recording control unit 6, a communication control unit 9 and 10, a file management unit 40 is provided. In addition,
Although not shown, the programs of other embodiments can have substantially the same configuration.
【0092】なお、画像メモリ11は、本実施例では、
メインメモリ19とは別に設けられているが、メインメ
モリ19内に、領域として設けることもできる。The image memory 11 in this embodiment is
Although it is provided separately from the main memory 19, it can be provided as an area in the main memory 19.
【0093】次に、本実施例のファクシミリ装置の動作
について、説明する。Next, the operation of the facsimile apparatus of this embodiment will be described.
【0094】本実施例のファクシミリ装置では、送信す
べき原稿をスキャナ3で読取り、読み取った原稿の画像
を画像メモリ11に蓄積する。蓄積された原稿の画像
は、回線7が使用可能になるまで、読取順に、ファイル
管理部40内の待ち行列(送信キュー)に接続される。
このため、当該原稿についての、送信相手先の電話番号
や、画像メモリ11に蓄積した画像データの位置および
サイズ等の情報を、送信管理テーブルに格納する。ま
た、各送信管理テーブルについて、そのテーブルアドレ
ス等を、読取順に、送信キューに接続する。送信キュー
は、読取制御部4、通信制御部9、通信制御部10等の
タスクで共有するが、各送信管理テーブルは、テーブル
アドレス等により接続されているため、あるタスクがテ
ーブルアドレスをアクセスしている間に、他タスクがテ
ーブルアドレスを変更すると誤動作を生じかねない。そ
こで、送信キューには、排他制御が必要である。In the facsimile apparatus of this embodiment, the original to be transmitted is read by the scanner 3 and the image of the read original is stored in the image memory 11. The images of the stored originals are connected to a queue (transmission queue) in the file management unit 40 in the reading order until the line 7 becomes usable.
Therefore, the transmission management table stores the telephone number of the transmission destination, the position and size of the image data accumulated in the image memory 11, and the like for the document. Further, for each transmission management table, the table address and the like are connected to the transmission queue in the reading order. The transmission queue is shared by tasks such as the reading control unit 4, the communication control unit 9, and the communication control unit 10. However, since each transmission management table is connected by a table address or the like, a task accesses the table address. While another task, if another task changes the table address, malfunction may occur. Therefore, exclusive control is required for the transmission queue.
【0095】例えば、通信制御部9または10が送信キ
ューから先頭の送信情報を読出す際、資源獲得制御部1
2に対し、送信キューの占有権獲得を要求する。資源獲
得制御部12は、図4に示すステップ401、402に
おいて、上述したように、送信キューに該当する資源管
理テーブル要素160(図2参照)を検索し、ウェイト
タスクカウンタに“1”を加算する(ステップ40
3)。このとき、演算結果からキャリー信号が発生する
ので(ステップ404)、資源獲得制御部12は、ステ
ップ409へ移行し、通信制御部9または10へ制御を
戻す。通信制御部9または10は、送信キューの占有権
を得て、ファイル管理部40内の送信管理テーブルの情
報にアクセスする。For example, when the communication control unit 9 or 10 reads the first transmission information from the transmission queue, the resource acquisition control unit 1
2 is requested to acquire the exclusive right to the transmission queue. As described above, the resource acquisition control unit 12 searches the resource management table element 160 (see FIG. 2) corresponding to the transmission queue in steps 401 and 402 shown in FIG. 4, and adds “1” to the wait task counter. Yes (Step 40
3). At this time, since a carry signal is generated from the calculation result (step 404), the resource acquisition control unit 12 proceeds to step 409 and returns the control to the communication control unit 9 or 10. The communication control unit 9 or 10 obtains the exclusive right of the transmission queue and accesses the information of the transmission management table in the file management unit 40.
【0096】この間に、ユーザがスキャナ3に原稿をセ
ットすると、読取制御部4は、原稿を読取り、画像メモ
リ11に蓄積した後、送信キューの占有権獲得を要求す
る。資源獲得制御部12は、ステップ401、402に
おいて、送信キューに該当する資源管理テーブル要素1
60を検索し、ウェイトタスクカウンタに“1”を加算
する(ステップ403)。このとき、演算結果からキャ
リー信号は発生しないので(ステップ404)、資源獲
得制御部12は、ステップ405から408の処理を実
行し、OS2により読取制御部4を待ち状態に移行させ
る。During this time, when the user sets an original on the scanner 3, the reading control unit 4 reads the original, stores it in the image memory 11, and then requests acquisition of the exclusive right of the transmission queue. The resource acquisition control unit 12, in steps 401 and 402, the resource management table element 1 corresponding to the transmission queue.
60 is searched, and "1" is added to the wait task counter (step 403). At this time, since the carry signal is not generated from the calculation result (step 404), the resource acquisition control unit 12 executes the processing of steps 405 to 408, and causes the OS 2 to shift the reading control unit 4 to the waiting state.
【0097】一方、通信制御部9または10は、送信キ
ューへのアクセスを終えると、資源解放制御部13に対
し、送信キューの占有権解放を通知する。資源解放制御
部13は、図5に示すように、ステップ501、502
において、送信キューに該当する資源管理テーブル要素
160を検索し、ウェイトタスクカウンタから“1”を
減算する(ステップ503)。このとき、演算結果から
キャリー信号は発生しないので(ステップ504)、資
源解放制御部13は、ステップ505から508の処理
を実行し、OS2により読取制御部4の待ち状態を解除
する。On the other hand, when the communication control unit 9 or 10 finishes the access to the transmission queue, it notifies the resource release control unit 13 of release of the exclusive right to the transmission queue. The resource release control unit 13, as shown in FIG. 5, steps 501 and 502.
In step S503, the resource management table element 160 corresponding to the transmission queue is searched, and "1" is subtracted from the wait task counter (step 503). At this time, since the carry signal is not generated from the calculation result (step 504), the resource release control unit 13 executes the processes of steps 505 to 508, and the OS 2 releases the waiting state of the read control unit 4.
【0098】読取制御部4は、送信キューの占有権を得
て、送信管理テーブルの情報にアクセスし、アクセスを
終えると、資源解放制御部13に対し、送信キューの占
有権解放を通知する。資源解放制御部13は、ステップ
501、502において、送信キューに該当する資源管
理テーブル要素160を検索し、ウェイトタスクカウン
タから“1”を減算する(ステップ503)。The read control unit 4 obtains the exclusive right of the transmission queue, accesses the information of the transmission management table, and when the access is completed, notifies the resource release control unit 13 of the release of the exclusive right of the transmission queue. In steps 501 and 502, the resource release control unit 13 searches the resource management table element 160 corresponding to the transmission queue and subtracts "1" from the wait task counter (step 503).
【0099】このとき、演算結果からキャリー信号が発
生するので(ステップ504)、資源解放制御部13
は、ステップ509へ移行し、読取制御部4へ制御を戻
す。At this time, since a carry signal is generated from the calculation result (step 504), the resource release controller 13
Shifts to step 509 and returns the control to the reading control section 4.
【0100】以上のように、本実施例のファクシミリ装
置によると、通信制御部9または10による送信キュー
への占有権獲得要求時、および、読取制御部4による送
信キューの占有権解放通知時、OS2は未介在であり、
無駄なオーバヘッドを削減することが可能となる。As described above, according to the facsimile apparatus of the present embodiment, when the communication control unit 9 or 10 requests the acquisition of the exclusive right to the transmission queue, and when the reading control unit 4 notifies the exclusive right release of the transmission queue, OS2 is unattended,
It is possible to reduce unnecessary overhead.
【0101】次に、本発明の第3の実施例について説明
する。本実施例は、ファイル資源を排他制御する情報処
理システムの例である。すなわち、本実施例は、例え
ば、図1に示す情報処理システムにおけるディスク装置
22内に格納されるファイル資源の排他制御に適用され
る。もっとも、ファイル資源は、ディスク装置22内に
格納されるものに限らず、メインメモリ19内に格納さ
れるファイル、画像メモリ11等に格納されるファイル
等であってもよい。Next, a third embodiment of the present invention will be described. The present embodiment is an example of an information processing system that exclusively controls file resources. That is, the present embodiment is applied to exclusive control of file resources stored in the disk device 22 in the information processing system shown in FIG. 1, for example. However, the file resource is not limited to the one stored in the disk device 22, and may be a file stored in the main memory 19, a file stored in the image memory 11 or the like.
【0102】本実施例のシステムでは、第1実施例にお
ける資源排他制御機能の構成要素の他に、前記ファイル
管理部18は、ファイル非占有状態での書込または読込
処理要求を受ける機能と、ファイル非占有状態での書込
または読込処理要求を受けたとき、前記資源獲得制御部
12に対してファイル資源の獲得を要求する機能と、フ
ァイル資源獲得後、ファイルに対して書込または読込処
理を実行する機能と、書込または読込処理を実行後、前
記資源解放制御部13に対してファイル資源の解放を要
求する機能とを有するものである。In the system of this embodiment, in addition to the constituent elements of the resource exclusive control function of the first embodiment, the file management unit 18 has a function of receiving a write or read processing request in the file non-occupancy state, A function of requesting the resource acquisition control unit 12 to acquire a file resource when receiving a request for a write or read process in a file non-occupancy state, and a write or read process for a file after acquiring the file resource And a function of requesting the resource release control unit 13 to release the file resource after executing the writing or reading process.
【0103】図10は、本発明の実施例におけるファイ
ル管理部18の排他制御動作を示すフローチャートであ
る。FIG. 10 is a flow chart showing the exclusive control operation of the file management unit 18 in the embodiment of the present invention.
【0104】先ず、図1に示す情報処理システムにおい
て、ファイル管理部18に、上述した機能を持たせない
状態で、ファイル管理制御を実行する場合について説明
する。First, in the information processing system shown in FIG. 1, a case will be described in which the file management control is executed in a state where the file management unit 18 does not have the above-mentioned function.
【0105】この場合、ファイルの占有を希望するタス
クは、まず、資源獲得制御部12に対し、ファイル資源
の獲得を要求する。資源獲得制御部12は、該当ファイ
ル資源の獲得処理を実行した後、ファイルへのアクセス
を許可するユニークなアクセス権番号をタスクへ通知す
る。次に、タスクは、アクセス権番号と共に、ファイル
管理部18に対し、ファイル書込または読込を要求す
る。ファイル管理部18は、入力されたアクセス権番号
を参照し(ステップ1001)、資源の占有状態を確認
した後、該当ファイルに対するデータの書込または読込
処理を実行し(ステップ1002)、タスクへ制御を戻
す。タスクは、ファイルの書込または読込処理の終了を
確認した後、資源解放制御部13に対し、ファイル資源
の解放を要求する。In this case, a task desiring to occupy a file first requests the resource acquisition control unit 12 to acquire a file resource. After executing the acquisition processing of the corresponding file resource, the resource acquisition control unit 12 notifies the task of a unique access right number that permits access to the file. Next, the task requests the file management unit 18 to write or read the file together with the access right number. The file management unit 18 refers to the input access right number (step 1001), confirms the occupancy state of the resource, and then executes the data writing or reading process for the file (step 1002), and controls the task. Bring back. After confirming the end of the file writing or reading process, the task requests the resource release control unit 13 to release the file resource.
【0106】このようなファイル管理制御によると、タ
スクは、ファイルの書込または読込処理を要求する前
に、ファイル資源の獲得を要求し、書込または読込処理
の完了後、ファイル資源の解放を要求する必要がある。According to such file management control, the task requests acquisition of file resources before requesting file writing or reading processing, and releases the file resources after completion of writing or reading processing. Need to request.
【0107】ところで、ファイルに対する書き込みおよ
び読み込みに際しては、同一ファイルに複数回の書込ま
たは読込処理を実行する場合は、ファイルを占有しなけ
ればならないが、一度の書込または読込処理を実行する
場合は、処理中に限りファイルを占有すれば良い。そこ
で、本実施例では、上述したように、ファイル管理部1
8に、資源の占有状態でのファイル管理制御機能を持た
せて、長期にわたりファイルを占有する必要のないタス
クにおけるファイル資源の獲得および解放処理を不要と
する。By the way, when writing or reading a file, if the writing or reading process is executed a plurality of times on the same file, the file must be occupied, but if the writing or reading process is executed once. Occupies the file only during processing. Therefore, in the present embodiment, as described above, the file management unit 1
8 is provided with a file management control function in a resource occupied state, so that it is not necessary to acquire and release file resources in a task that does not need to occupy a file for a long period of time.
【0108】タスクは、資源獲得制御部12に対するフ
ァイル資源の獲得を要求せずに、ファイル管理部18に
対しファイル書込または読込を要求する。この時、ファ
イルが非占有状態であることを表す“0”をアクセス権
番号として通知する。ファイル管理部18は、入力され
たアクセス権番号を参照し(ステップ1001)、資源
の非占有状態を確認した後、資源獲得制御部12に対
し、ファイル資源の獲得を要求する(ステップ100
3)。ここで、資源獲得制御部12は、上述した図4に
示す手順によって、資源獲得制御を行なう。The task does not request the resource acquisition control unit 12 to acquire the file resource, but requests the file management unit 18 to write or read the file. At this time, "0" indicating that the file is not occupied is notified as an access right number. The file management unit 18 refers to the input access right number (step 1001), confirms the unoccupied state of the resource, and then requests the resource acquisition control unit 12 to acquire the file resource (step 100).
3). Here, the resource acquisition control unit 12 performs resource acquisition control according to the procedure shown in FIG. 4 described above.
【0109】資源獲得制御部12が該当ファイル資源を
獲得した後、ファイル管理部18は、該当ファイルに対
するデータの書込または読込処理を実行する(ステップ
1004)。ファイルの書込または読込処理の終了後、
ファイル管理部18は、資源解放制御部13に対して、
ファイル資源の解放を要求し(ステップ1005)、タ
スクへ制御を戻す。ここで、資源解放制御部13は、上
述した図5に示す手順によって、資源解放を行なう。After the resource acquisition control unit 12 acquires the corresponding file resource, the file management unit 18 executes a data writing or reading process for the corresponding file (step 1004). After writing or reading the file,
The file management unit 18 tells the resource release control unit 13 that
A request is made to release the file resource (step 1005), and control is returned to the task. Here, the resource release control unit 13 releases resources according to the procedure shown in FIG. 5 described above.
【0110】本実施例によるファイル管理制御によれ
ば、非占有状態のファイルに対する書込または読込処理
を要求された場合、ファイル管理部18が資源の獲得お
よび解放を実行するため、タスクにおけるファイルの占
有処理を不要とすることが可能となる。According to the file management control according to the present embodiment, when the writing or reading process for the unoccupied file is requested, the file management unit 18 executes the acquisition and release of the resource. It becomes possible to eliminate the occupancy process.
【0111】また、本実施例によれば、例えば、タスク
Aが占有しているファイルに対して、タスクBがファイ
ル資源を獲得せずに書込または読込処理を要求した場合
でも、ファイル管理部18が要求するファイル資源の獲
得要求(ステップ1003)により、タスクAがファイ
ル資源を解放するまで、タスクBの書込または読込処理
は待機させられるため、ファイルを保護することが可能
である。Further, according to the present embodiment, for example, even when the task B requests the writing or reading process for the file occupied by the task A without acquiring the file resource, the file management unit The file can be protected because the writing or reading process of the task B is put on standby until the task A releases the file resource according to the file resource acquisition request (step 1003) requested by the file 18.
【0112】なお、上記第3の実施例では、第1実施例
のシステムにおけるファイル管理に適用したが、第2実
施例のシステムにおけるファイル管理に適用してもよ
い。Although the third embodiment is applied to file management in the system of the first embodiment, it may be applied to file management in the system of the second embodiment.
【0113】上記各実施例において、資源獲得制御部1
2および資源解放制御部13は、各タスクが共有する全
ての資源に対し、一括して競合制御を実行する。このた
め、配列構成の資源管理テーブル16を設け、ステップ
401から402、および、ステップ501から502
で、該当資源の資源管理テーブル要素160を検索して
いる。しかし、各資源毎に、資源獲得制御部12および
資源解放制御部13を設け、各資源の資源獲得制御部1
2および資源解放制御部13がアクセスするウエイトタ
スクカウンタを固定的に割当てることで、ステップ40
1から402、および、ステップ501から502のテ
ーブル検索処理を不要とでき、さらに高速化を図ること
が可能となる。この場合、資源管理テーブル要素160
は、不要となる。In each of the above embodiments, the resource acquisition control unit 1
2 and the resource release control unit 13 collectively execute contention control for all resources shared by each task. Therefore, the resource management table 16 having an array configuration is provided, and steps 401 to 402 and steps 501 to 502 are provided.
Then, the resource management table element 160 of the corresponding resource is searched. However, the resource acquisition control unit 12 and the resource release control unit 13 are provided for each resource, and the resource acquisition control unit 1 for each resource is provided.
2 and the resource release control unit 13 fixedly allocates the wait task counter to access
The table search processing in steps 1 to 402 and steps 501 to 502 can be eliminated, and the speed can be further increased. In this case, the resource management table element 160
Becomes unnecessary.
【0114】次に、各資源ごとに競合制御する資源獲得
制御部および資源解放制御部を備えた情報処理システム
の実施例として、本発明の第4実施例について説明す
る。Next, a fourth embodiment of the present invention will be described as an embodiment of an information processing system including a resource acquisition control unit and a resource release control unit that perform competition control for each resource.
【0115】図13は、各資源毎に競合制御する資源獲
得制御部および資源解放制御部を備えた本実施例が適用
されるワークステーションの構成を示す。FIG. 13 shows the construction of a workstation to which the present embodiment is applied, which is equipped with a resource acquisition control section and a resource release control section for competing control for each resource.
【0116】図13において、本実施例は、主制御部
(CPU)1と、その動作プログラムおよびデータを記
憶するメインメモリ19と、ディスプレイ20と、キー
ボード21と、ハードディスクまたはフレキシブルディ
スクの読み書きを行なうディスク装置(HDD/FD
D)22とを主たる構成要素として有する。In this embodiment, the main control unit (CPU) 1, the main memory 19 for storing its operation program and data, the display 20, the keyboard 21, the hard disk or the flexible disk are read and written in FIG. Disk device (HDD / FD
D) 22 as main components.
【0117】メインメモリ19には、CPU1により実
行されて各種機能が実現されるソフトウェアと、その実
行の際に用いられるデータが格納される。すなわち、ソ
フトウェアで構成するタスクの動作を管理するマルチタ
スクOS2と、ディスプレイ20を制御し、画像データ
を表示させる表示制御部23と、キーボード21を制御
し、操作指示、データの入力を受け付ける制御を行なう
入力制御部24各機能実現手段を実現するための各種プ
ログラム、および、アプリケーションプログラム25,
26等が記憶される。これらは、図1に示す実施例に設
けられる要素と同様に構成される。The main memory 19 stores software which is executed by the CPU 1 to realize various functions and data used when the software is executed. That is, a multitask OS 2 that manages the operation of a task configured by software, a display control unit 23 that controls the display 20 and displays image data, and a keyboard 21 that controls operation instructions and data input. The input control unit 24, various programs for realizing the respective function realizing means, and the application program 25,
26 and the like are stored. These are constructed similarly to the elements provided in the embodiment shown in FIG.
【0118】また、メインメモリ19には、資源獲得制
御部27および資源解放制御部28と、資源獲得制御部
30および資源解放制御部31と、資源獲得制御部33
および資源解放制御部34とを資源対応に有する。さら
に、これらに対応して、ウエイトタスクカウンタ29,
32と、資源管理テーブル35、セマフォ割当部14、
セマフォ管理テーブル17およびセマフォ解除部15と
を有する。In the main memory 19, the resource acquisition control unit 27 and the resource release control unit 28, the resource acquisition control unit 30 and the resource release control unit 31, and the resource acquisition control unit 33.
And a resource release control unit 34 corresponding to resources. Furthermore, in response to these, the wait task counter 29,
32, a resource management table 35, a semaphore allocation unit 14,
It has a semaphore management table 17 and a semaphore canceling unit 15.
【0119】なお、本実施例のワークステーションに
は、この他に、図示していないが、プリンタ、通信制御
装置等を接続することができる。Although not shown, a printer, a communication control device and the like can be connected to the workstation of this embodiment.
【0120】資源獲得制御部27および資源解放制御部
28は、ある一つの資源(例えば資源A)に対応して設
けられ、これについての競合制御を行う。このため、図
2に示す資源管理テーブル16のような配列構成は不要
となる。また、資源を特定できるため、資源管理テーブ
ル16の資源番号も不要となる。さらに、動的なセマフ
ォ割当は行わず、資源Aに対して特定のセマフォ(例え
ばセマフォA)を割当てるため、資源管理テーブル16
のウェイトセマフォ番号も不要となる。従って、資源獲
得制御部27および資源解放制御部28は、図13にお
けるウェイトタスクカウンタ29だけで競合制御を実行
する。The resource acquisition control unit 27 and the resource release control unit 28 are provided corresponding to a certain resource (for example, resource A) and perform competition control for this. Therefore, the array configuration like the resource management table 16 shown in FIG. 2 is unnecessary. Further, since the resource can be specified, the resource number of the resource management table 16 is not necessary. Further, since the dynamic semaphore allocation is not performed and a specific semaphore (for example, semaphore A) is allocated to the resource A, the resource management table 16
The wait semaphore number of is also unnecessary. Therefore, the resource acquisition control unit 27 and the resource release control unit 28 execute the competition control only by the wait task counter 29 in FIG.
【0121】図14のフローチャートに示すように、ア
プリケーションプログラム25また26から資源Aの獲
得要求を受けると(ステップ1401)、資源獲得制御
部27は、ウェイトタスクカウンタ29に“1”を加算
した後、(ステップ1402)、獲得する資源Aがタス
クにより使用中であるか確認する(ステップ140
3)。他タスクにより使用中である場合、OS2に対し
てセマフォAの獲得を要求し(ステップ1404)、獲
得完了まで待ち状態を継続した後、ステップ1405へ
移行する。一方、ステップ1403において、資源Aが
他タスクにより使用されていない場合は、ステップ14
04を実行せずに、ステップ1405へ移行する。As shown in the flowchart of FIG. 14, when the resource A acquisition request is received from the application program 25 or 26 (step 1401), the resource acquisition control unit 27 increments the wait task counter 29 by "1". , (Step 1402), it is confirmed whether the resource A to be acquired is being used by a task (step 140).
3). If it is being used by another task, it requests the OS 2 to acquire the semaphore A (step 1404), and after waiting the completion of the acquisition, the process proceeds to step 1405. On the other hand, in step 1403, if the resource A is not used by another task, step 14
The process proceeds to step 1405 without executing 04.
【0122】また、図15のフローチャートに示すよう
に、アプリケーションプログラム25または26から資
源Aの解放要求を受けると(ステップ1501)、資源
解放制御部28は、ウェイトタスクカウンタ29から
“1”を減算した後(ステップ1502)、解放する資
源Aを獲得待ちのタスクが存在するか確認する(ステッ
プ1503)。獲得待ちのタスクが存在する場合、OS
2に対してセマフォAの解放を要求し(ステップ150
4)、解放完了まで待ち状態を継続した後、ステップ1
505へ移行する。一方、ステップ1503において、
資源Aを獲得待ちのタスクが存在しない場合は、ステッ
プ1504を実行せずに、ステップ1505へ移行す
る。Further, as shown in the flow chart of FIG. 15, when a release request for the resource A is received from the application program 25 or 26 (step 1501), the resource release control unit 28 subtracts "1" from the wait task counter 29. After that (step 1502), it is confirmed whether there is a task waiting to acquire the resource A to be released (step 1503). If there is a task waiting to be acquired, the OS
2 to request release of semaphore A (step 150
4) Step 1 after continuing the waiting state until the release is completed
Move to 505. On the other hand, in step 1503,
If there is no task waiting to acquire the resource A, step 1504 is skipped and step 1505 is entered.
【0123】同様に、資源獲得制御部30および資源解
放制御部31は、ある一つの資源(例えば資源B)に対
して競合制御を行うため、ウェイトタスクカウンタ32
を備え、資源Bに対する特定のセマフォ(例えばセマフ
ォB)を用いてOS2に対しセマフォの獲得または解放
を要求する。アプリケーションプログラム25または2
6は、資源Bの獲得もしくは解放を、資源獲得制御部3
0および資源解放制御部31に要求する。Similarly, the resource acquisition control unit 30 and the resource release control unit 31 perform competition control for a certain resource (for example, resource B), so the wait task counter 32
And uses the specific semaphore for the resource B (for example, semaphore B) to request the OS2 to acquire or release the semaphore. Application program 25 or 2
A resource acquisition control unit 3 acquires or releases the resource B.
0 and request to the resource release control unit 31.
【0124】また、資源獲得制御部33および資源解放
制御部34は、ファイル管理部18が管理するディスク
装置(HDD/FDD)22内の個々のファイルに対し
て、動的にセマフォを割当て競合制御を行うものであ
る。図1または図11に示す実施例と同様に、資源管理
テーブル35、セマフォ割当部14、セマフォ解除部1
5、セマフォ管理テーブル17を用いて、動的にセマフ
ォを割当ておよび解除を行う。Further, the resource acquisition control unit 33 and the resource release control unit 34 dynamically allocate semaphores to individual files in the disk device (HDD / FDD) 22 managed by the file management unit 18 and control the competition. Is to do. Similar to the embodiment shown in FIG. 1 or FIG. 11, the resource management table 35, the semaphore allocation unit 14, and the semaphore release unit 1
5. Using the semaphore management table 17, the semaphore is dynamically assigned and released.
【0125】以上説明したように、図13に示す第4実
施例では、各資源に対して、個別の資源獲得制御部およ
び資源解放制御部を備える。このため、資源Aまたは資
源Bのような単一の資源に対しては予め定義した特定の
セマフォを使用する。このため、資源獲得制御部27お
よび30のステップ401、402、およびステップ4
05から407、そして資源解放制御部28および31
のステップ501、502、およびステップ505から
507の処理は不要であり、さらに競合制御を高速化可
能である。また、本実施例は、動的なセマフォ割当を行
う資源獲得制御部および資源解放制御部を備える。これ
により、資源数の多いファイル管理等においては、セマ
フォ管理のために必要な記憶容量の減少を図っている。As described above, in the fourth embodiment shown in FIG. 13, a resource acquisition control unit and a resource release control unit are provided for each resource. Therefore, a specific semaphore defined in advance is used for a single resource such as resource A or resource B. Therefore, steps 401, 402, and step 4 of the resource acquisition control units 27 and 30.
05 to 407, and resource release control units 28 and 31
The processes of steps 501 and 502 and steps 505 to 507 of are unnecessary, and the contention control can be speeded up. In addition, this embodiment includes a resource acquisition control unit and a resource release control unit that perform dynamic semaphore allocation. As a result, the storage capacity required for semaphore management is reduced in the case of file management with many resources.
【0126】本発明は、以上に説明された実施例に限ら
ず、マルチタスクOSの環境下で資源の排他制御を実現
する全ての情報処理システムに適用可能である。すなわ
ち、本発明の資源排他制御システムは、競合が発生した
とき、タスクを待ち状態に遷移させる各種資源に対して
適用可能である。例えば、上述したように、ファクシミ
リ装置における資源排他制御に適用することができる。
ファクシミリ装置においては、スキャナ、プリンタ、通
信制御装置、回線、メモリ、外部記憶装置(HDD、F
DD、ICカード等)における記憶領域等のハードウェ
アと、送信キューや印刷キュー等、ジョブに関する情報
を登録するジョブ制御テーブル、短縮またはワンタッチ
ダイヤル等の登録テーブル、外部記憶装置における個々
のファイルまたはレコード、その他複数のタスク間で共
有する各種制御テーブル等、データもしくはデータ群を
資源とみなして、本発明の資源排他制御方式により競合
制御することが可能である。The present invention is not limited to the embodiments described above, but can be applied to all information processing systems that realize exclusive control of resources under the environment of a multitasking OS. That is, the resource exclusive control system of the present invention can be applied to various resources that cause a task to transit to a waiting state when contention occurs. For example, as described above, the present invention can be applied to resource exclusive control in a facsimile machine.
In a facsimile machine, a scanner, printer, communication control device, line, memory, external storage device (HDD, F
Hardware such as a storage area in a DD, an IC card, etc., a job control table for registering information about a job such as a transmission queue or a print queue, a registration table such as a shortening or one-touch dial, an individual file or record in an external storage device In addition, it is possible to regard data or a group of data such as various control tables shared among a plurality of tasks as resources, and perform competitive control by the resource exclusive control method of the present invention.
【0127】また、上記実施例では、資源獲得を要求し
たタスクをウェイト状態に移行させる手段としてセマフ
ォ機能を利用したが、OSが備えるイベントフラグ機
能、メールボックス機能、ENQ/DEQ機能等でも代
用可能である。Further, in the above embodiment, the semaphore function is used as a means for shifting the task requesting the resource acquisition to the wait state, but the event flag function, the mailbox function, the ENQ / DEQ function, etc. provided in the OS can be substituted. Is.
【0128】以上説明したように、本発明は、複数のタ
スク間で共有する各種資源の競合制御を高速化すること
ができる。As described above, the present invention can speed up the competition control of various resources shared by a plurality of tasks.
【0129】[0129]
【発明の効果】本発明によれば、タスクの動作状態を変
更させる必要がある場合に限り、OSに対しセマフォの
獲得または解放を要求するため、OSによる処理の遅延
時間を最小限に抑止することが可能である。According to the present invention, the OS delay is minimized because the OS is requested to acquire or release the semaphore only when the task operating state needs to be changed. It is possible.
【0130】また、必要に応じて使用するセマフォを動
的に割当てる場合には、排他制御が必要な資源数に相当
するセマフォをOSに用意する必要がなく、少なくとも
同時に発生する可能性がある資源の獲得要求数に相当す
るセマフォで足りるので、OSがセマフォ制御テーブル
として使用するメモリ領域を削減可能である。Further, when dynamically assigning semaphores to be used as needed, it is not necessary to prepare semaphores corresponding to the number of resources for which exclusive control is required in the OS, and at least resources that may occur at the same time. Since a semaphore equivalent to the number of acquisition requests of the above is sufficient, it is possible to reduce the memory area used by the OS as a semaphore control table.
【図1】本発明の情報処理システムの第1実施例である
ワークステーションの構成を示すロック図。FIG. 1 is a lock diagram showing a configuration of a workstation which is a first embodiment of an information processing system of the present invention.
【図2】本発明の実施例において用いられる資源管理テ
ーブルの情報の説明図。FIG. 2 is an explanatory diagram of information of a resource management table used in the embodiment of the present invention.
【図3】セマフォ管理テーブルの情報の説明図。FIG. 3 is an explanatory diagram of information in a semaphore management table.
【図4】資源獲得制御部の動作フローチャート。FIG. 4 is an operation flowchart of a resource acquisition control unit.
【図5】資源解放制御部の動作フローチャート。FIG. 5 is an operation flowchart of a resource release control unit.
【図6】セマフォ割当部の動作フローチャート。FIG. 6 is an operation flowchart of a semaphore allocation unit.
【図7】セマフォ解除部の動作フローチャート。FIG. 7 is an operation flowchart of a semaphore canceling unit.
【図8】従来の資源排他制御方式によるタスクシーケン
ス。FIG. 8 is a task sequence according to the conventional resource exclusive control method.
【図9】本発明の資源排他制御方式によるタスクシーケ
ンス。FIG. 9 is a task sequence according to the resource exclusive control method of the present invention.
【図10】本発明の第3実施例の情報処理システムにお
けるファイル管理部の動作フローチャート。FIG. 10 is an operation flowchart of the file management unit in the information processing system according to the third embodiment of the present invention.
【図11】本発明の情報処理システムの第2実施例であ
るファクシミリ装置の構成を示すロック図。FIG. 11 is a lock diagram showing a configuration of a facsimile apparatus that is a second embodiment of the information processing system of the present invention.
【図12】本発明の第2実施例のソフトウェアの階層構
造を示す説明図。FIG. 12 is an explanatory diagram showing a hierarchical structure of software according to the second embodiment of this invention.
【図13】本発明の情報処理システムの第4実施例であ
るワークステーションの構成を示すロック図。FIG. 13 is a lock diagram showing a configuration of a workstation which is a fourth embodiment of the information processing system of the present invention.
【図14】第4実施例における、資源対応の資源獲得制
御部の動作フローチャート。FIG. 14 is an operation flowchart of a resource acquisition control unit corresponding to resources in the fourth embodiment.
【図15】第4実施例における、資源対応の資源解放制
御部の動作フローチャート。FIG. 15 is an operation flowchart of a resource release control unit corresponding to resources in the fourth embodiment.
1…主制御部、2…マルチタスクOS、12…資源獲得
制御部、13…資源解放制御部、14…セマフォ割当
部、15…セマフォ解除部、16…資源管理テーブル、
17…セマフォ管理テーブル、18,40…ファイル管
理部。DESCRIPTION OF SYMBOLS 1 ... Main control part, 2 ... Multitask OS, 12 ... Resource acquisition control part, 13 ... Resource release control part, 14 ... Semaphore allocation part, 15 ... Semaphore cancellation part, 16 ... Resource management table,
17 ... Semaphore management table, 18, 40 ... File management unit.
Claims (30)
テム)と、各タスクによって使用される1または2以上
の資源とを備える情報処理システムにおいて、 マルチタスクOSの環境下で資源を排他制御する資源排
他制御機能を備え、 資源排他制御機能は、 資源獲得待ち状態を管理する資源獲得待ち状態管理手段
と、 タスクから資源の獲得要求を受け、前記資源獲得待ち状
態管理手段が管理する資源獲得待ち状態に応じて、前記
OSに対しタスクウェイト状態への移行を要求する資源
獲得制御部と、 タスクから資源の解放要求を受け、前記資源獲得待ち状
態管理手段が管理する資源獲得待ち状態に応じて、前記
OSに対しウェイト状態タスクの再開を要求する資源解
放制御部とを備えることを特徴とする情報処理システ
ム。1. An information processing system comprising a multitasking OS (operating system) and one or more resources used by each task. A resource exclusion control function for exclusively controlling resources under the environment of the multitasking OS. The resource exclusive control function includes a resource acquisition waiting state management unit that manages a resource acquisition waiting state, and a resource acquisition request state that is received from a task, depending on the resource acquisition waiting state managed by the resource acquisition waiting state management unit. , A resource acquisition control unit that requests the OS to shift to a task wait state, and a resource acquisition wait state managed by the resource acquisition wait state management means upon receipt of a resource release request from a task. An information processing system, comprising: a resource release control unit for requesting restart of a wait state task.
て、OSに対して、セマフォの獲得を要求する機能を有
するものであり、 資源解放制御部は、タスクから資源の解放要求を受け
て、OSに対して、セマフォの解放を要求する機能を有
するものである情報処理システム。2. The resource acquisition control unit according to claim 1, which has a function of receiving a resource acquisition request from each task and requesting the OS to acquire a semaphore. , An information processing system having a function of receiving a resource release request from a task and requesting the OS to release a semaphore.
手段は、排他制御が必要な資源の数に相当するテーブル
要素が配列される資源管理テーブルを有し、 各テーブル要素は、資源を識別するための識別子を記憶
する資源識別子記憶領域、資源獲得待ち状態のタスク数
を格納するウェイトタスクカウンタを記憶するウェイト
タスクカウンタ記憶領域、および、資源獲得待ちに使用
するセマフォの識別子を記憶するウェイトセマフォ識別
子記憶領域を有するものである情報処理システム。3. The resource acquisition waiting state management means according to claim 2, comprising a resource management table in which table elements corresponding to the number of resources for which exclusive control is required are arranged, and each table element identifies a resource. Resource identifier storage area for storing an identifier for storing resources, a wait task counter storage area for storing a wait task counter for storing the number of tasks in the resource acquisition waiting state, and a wait semaphore for storing an identifier of a semaphore used for resource acquisition waiting. An information processing system having an identifier storage area.
資源獲得制御部にリンクして設けられ、使用するセマフ
ォを割り当てるセマフォ割当部と、資源解放制御部にリ
ンクして設けられ、使用したセマフォを解除するセマフ
ォ解除部と、セマフォの使用状況を管理するセマフォ管
理テーブルとをさらに有するものである情報処理システ
ム。4. The resource exclusive control function according to claim 3,
A semaphore allocator that is linked to the resource acquisition controller and allocates the semaphore to use, a semaphore canceler that links the resource release controller and releases the used semaphore, and manages the usage status of the semaphore An information processing system further comprising a semaphore management table.
は、少なくとも同時に発生する可能性がある資源の獲得
要求毎に設けられ、獲得要求数に相当する数のテーブル
要素が配列され、 各テーブル要素は、セマフォ識別子を記憶するセマフォ
識別子記憶領域と、セマフォステータスを記憶するセマ
フォステータス記憶領域とを有し、 セマフォ識別子記憶領域には、OSで管理されるセマフ
ォの識別子が予め格納されることを特徴とする情報処理
システム。5. The semaphore management table according to claim 4, wherein the semaphore management table is provided at least for each resource acquisition request that may occur at the same time, and a number of table elements corresponding to the number of acquisition requests are arranged. A semaphore identifier storage area for storing a semaphore identifier, and a semaphore status storage area for storing a semaphore status, wherein the semaphore identifier storage area stores an identifier of a semaphore managed by the OS in advance. Information processing system.
ル要素の資源識別子記憶領域の資源識別子を参照し、獲
得要求の対象資源を探索する機能と、 獲得要求の対象資源に相当する資源管理テーブル要素を
検出したならば、検出した資源管理テーブル要素のウェ
イトタスクカウンタ記憶領域に構成されるウェイトタス
クカウンタをカウントアップする機能と、 そのカウント結果に基づいて、獲得が要求された資源が
使用中であるか否かを判定する機能と、 資源使用中であれば、ウェイトセマフォ識別子記憶領域
に、セマフォ識別子が登録されているか否か確認する機
能と、 セマフォ識別子未登録の場合に、セマフォを動的に割り
当てるセマフォ動的割当機能と、 セマフォが登録されている場合またはセマフォが登録さ
れた場合に、セマフォ獲得要求を前記OSに要求する機
能と、 セマフォ獲得後、または、資源不使用の場合、資源獲得
完了をタスクに通知する機能とを有するものである情報
処理システム。6. The resource acquisition control unit according to claim 5, upon receiving a resource acquisition request from a task, searches the target resource of the acquisition request by referring to the resource identifier in the resource identifier storage area of the resource management table element. Function and function to count up the wait task counter configured in the wait task counter storage area of the detected resource management table element when the resource management table element corresponding to the acquisition request target resource is detected, and the count result. Function that determines whether the resource requested to be acquired is in use based on the above, and if the resource is in use, a function that checks whether the semaphore identifier is registered in the wait semaphore identifier storage area. When the semaphore identifier is not registered, the semaphore dynamic allocation function that dynamically allocates the semaphore and the semaphore is registered. When a semaphore is registered or a semaphore is registered, it has a function of requesting a semaphore acquisition request from the OS and a function of notifying the task of resource acquisition completion after the semaphore is acquired or when the resource is not used. Information processing system.
は、セマフォ割当部に、空きセマフォ識別子を検索さ
せ、空きセマフォ識別子が検索されると、このセマフォ
識別子を、当該資源についてのセマフォとして割り当て
る機能と、このセマフォ識別子をウェイトセマフォ識別
子記憶領域に格納して登録する機能とを有するものであ
る情報処理システム。7. The semaphore dynamic allocation function according to claim 6, causes the semaphore allocation unit to search for a free semaphore identifier, and when the free semaphore identifier is searched, the semaphore identifier is allocated as a semaphore for the resource. An information processing system having a function and a function of storing and registering this semaphore identifier in a wait semaphore identifier storage area.
が使用中であるか否かを判定する機能は、ウェイトタス
クカウンタをカウントアップした際のキャリー信号を検
出することにより行うものである情報処理システム。8. The function according to claim 6, which determines whether or not the resource requested to be acquired is in use, by detecting a carry signal when the wait task counter is counted up. Information processing system.
タ記憶領域のウェイトタスクカウンタは、“−1”に初
期化されるものであり、 ウェイトタスクカウンタをカウントアップする機能は、
“1”を加算するものである情報処理システム。9. The wait task counter in the wait task counter storage area according to claim 8, wherein the wait task counter is initialized to "-1", and the function for counting up the wait task counter is
An information processing system that adds "1".
ル要素の資源識別子記憶領域の資源識別子を参照し、解
放要求の対象資源を探索する機能と、 解放要求の対象資源に相当する資源管理テーブル要素を
検出したならば、検出した資源管理テーブル要素のウェ
イトタスクカウンタ記憶領域に構成されるウェイトタス
クカウンタをカウントダウンする機能と、 そのカウント結果に基づいて、解放する資源を獲得待ち
のタスクが存在するか否か確認する機能と、 解放する資源について獲得待ちのタスクが存在する場
合、資源獲得待ちのタスクが複数存在するか否か確認す
る機能と、 資源獲得待ちのタスクが1の場合、セマフォ識別子解除
を行う機能と、 資源獲得待ちのタスクが複数存在する場合またはセマフ
ォ識別子が解除された場合に、セマフォ解放要求を前記
OSに要求する機能と、 セマフォ解放後、または、ウェイトタスクがない場合、
資源解放完了をタスクに通知する機能とを有するもので
ある情報処理システム。10. The resource release control unit according to claim 6, when the resource release request is received from the task, refers to the resource identifier of the resource identifier storage area of the resource management table element to search for the target resource of the release request. If the function and the resource management table element corresponding to the target resource of the release request are detected, the function that counts down the wait task counter configured in the wait task counter storage area of the detected resource management table element and the count result Based on this, a function to check whether there are tasks waiting to acquire resources to be released, and a function to check whether there are multiple tasks waiting to acquire resources when there are tasks waiting to acquire resources to be released If the number of tasks waiting to acquire resources is 1, there is a function to release the semaphore identifier and there are multiple tasks waiting to acquire resources. If the case or semaphore identifier is released, a function of requesting the semaphore release request to the OS, after semaphore release, or, if there is no wait task,
An information processing system having a function of notifying a task of completion of resource release.
得待ちのタスクが存在するか否か確認する機能は、ウェ
イトタスクカウンタをカウントダウンした際のキャリー
信号検出により行うものである情報処理システム。11. The information processing system according to claim 10, wherein the function of confirming whether or not there is a task waiting to acquire a resource to be released is performed by detecting a carry signal when the wait task counter is counted down.
ウンタ記憶領域のウェイトタスクカウンタは、“−1”
に初期化されるものであり、 ウェイトタスクカウンタをカウントアップする機能は、
“1”を加算するものであり、 ウェイトタスクカウンタをカウントダウンする機能は、
“1”を減算するものである情報処理システム。12. The wait task counter in the wait task counter storage area according to claim 11, wherein the wait task counter is "-1".
The function that counts up the wait task counter is
"1" is added, and the function to count down the wait task counter is
An information processing system that subtracts "1".
は、 資源獲得制御部および資源解放制御部として、複数の資
源に対して共通に設けられるものと、特定の資源ごとに
設けられるものとを有する情報処理システム。13. The resource exclusion control function according to claim 2, wherein a resource acquisition control unit and a resource release control unit are provided commonly for a plurality of resources and those provided for each specific resource. Information processing system that has.
は、 資源獲得待ち状態管理手段として、複数の資源に対して
共通に設けられる資源獲得制御部および資源解放制御部
については、排他制御が必要な資源の数に相当するテー
ブル要素が配列される資源管理テーブルを有するものを
備え、 各テーブル要素は、資源を識別するための識別子を記憶
する資源識別子記憶領域、資源獲得待ち状態のタスク数
を格納するウェイトタスクカウンタを記憶するウェイト
タスクカウンタ記憶領域、および、資源獲得待ちに使用
するセマフォの識別子を記憶するウェイトセマフォ識別
子記憶領域を有するものである情報処理システム。14. The resource exclusive control function according to claim 13, wherein the resource acquisition control section and the resource release control section, which are commonly provided for a plurality of resources, require exclusive control as a resource acquisition waiting state management means. A resource management table in which table elements corresponding to the number of different resources are arranged, each table element stores a resource identifier storage area for storing an identifier for identifying the resource, and the number of tasks in the resource acquisition waiting state. An information processing system having a wait task counter storage area for storing a wait task counter to be stored, and a wait semaphore identifier storage area for storing an identifier of a semaphore used for waiting for resource acquisition.
は、 資源獲得待ち状態管理手段として、特定の資源ごとに設
けられる資源獲得制御部および資源解放制御部について
は、資源獲得待ちのタスク数を計数するウェイトタスク
カウンタを有するものを備える情報処理システム。15. The resource exclusive control function according to claim 14, wherein the resource acquisition waiting state management means is configured to set the number of tasks waiting for resource acquisition for the resource acquisition control unit and the resource release control unit provided for each specific resource. An information processing system including one having a wait task counter for counting.
理手段は、資源獲得待ちのタスク数を計数するウェイト
タスクカウンタである情報処理システム。16. The information processing system according to claim 1, wherein the resource acquisition waiting state management means is a wait task counter for counting the number of tasks waiting for resource acquisition.
よび資源解放制御部と、ウェイトタスクカウンタとは、
排他制御すべき資源対応に設けられるものである情報処
理システム。17. The resource acquisition control unit, the resource release control unit, and the wait task counter according to claim 16,
An information processing system provided for dealing with resources to be exclusively controlled.
は、 タスクから資源獲得要求があると、ウェイトタスクカウ
ンタをカウントアップする機能と、 そのカウント結果に基づいて、獲得が要求された資源が
使用中であるか否かを判定する機能と、 資源使用中であれば、セマフォ獲得要求を前記OSに要
求する機能と、 セマフォ獲得後、または、資源不使用の場合、資源獲得
完了をタスクに通知する機能とを有するものである情報
処理システム。18. The function according to claim 17, wherein the resource acquisition control unit counts up a wait task counter when a resource acquisition request is made by a task, and the resource requested to be acquired is used based on the count result. A function to determine whether or not the resource is in use, a function to request a semaphore acquisition request from the OS if the resource is being used, and a task to notify the task of completion of resource acquisition after the semaphore is acquired or when the resource is not used An information processing system having a function to perform.
は、 タスクから資源解放要求があると、ウェイトタスクカウ
ンタをカウントダウンする機能と、 そのカウント結果に基づいて、解放する資源を獲得待ち
のタスクが存在するか否か確認する機能と、 解放する資源について獲得待ちのタスクが存在する場
合、セマフォ解放要求を前記OSに要求する機能と、 セマフォ解放後、または、ウェイトタスクがない場合、
資源解放完了をタスクに通知する機能とを有するもので
ある情報処理システム。19. The resource release control unit according to claim 18, wherein when a task releases a resource, the resource release control unit counts down the wait task counter, and based on the count result, the task waiting to acquire the resource to release. If there is a task that waits for acquisition of resources to be released, a function that requests a semaphore release request from the OS, and if there are no wait tasks after releasing the semaphore,
An information processing system having a function of notifying a task of completion of resource release.
ともファイル資源を有し、該ファイル資源の管理を行な
うファイル管理部をさらに備え、 前記ファイル管理部は、 ファイル非占有状態での書込または読込処理要求を受け
る機能と、 ファイル非占有状態での書込または読込処理要求を受け
たとき、前記資源獲得制御部に対してファイル資源の獲
得を要求する機能と、 ファイル資源獲得後、ファイルに対して書込または読込
処理を実行する機能と、 書込または読込処理を実行後、前記資源解放制御部に対
してファイル資源の解放を要求する機能とを有するもの
である情報処理システム。20. A file management unit according to claim 1, further comprising a file management unit that has at least a file resource as a resource and manages the file resource, wherein the file management unit writes or reads in a file unoccupied state. A function for receiving a processing request, a function for requesting the resource acquisition control unit to acquire a file resource when receiving a write or read processing request in the unoccupied state of the file, and a function for acquiring a file resource after acquiring the file resource. An information processing system having a function of executing a write or read process according to the above, and a function of requesting the resource release control unit to release a file resource after executing the write or read process.
て、OSに対して、セマフォの獲得を要求する機能を有
するものであり、 資源解放制御部は、タスクから資源の解放要求を受け
て、OSに対して、セマフォの解放を要求する機能を有
するものである情報処理システム。21. The resource acquisition control unit according to claim 20, having a function of receiving a resource acquisition request from each task and requesting the OS to acquire a semaphore. , An information processing system having a function of receiving a resource release request from a task and requesting the OS to release a semaphore.
ステム)と、各タスクによって使用される1または2以
上のファイル資源とを備える情報処理システムにおい
て、 マルチタスクOSの環境下でファイル資源を排他制御す
る資源排他制御機能と、ファイル資源の管理を行なうフ
ァイル管理部とを備え、 資源排他制御機能は、 資源獲得待ち状態を管理する資源獲得待ち状態管理手段
と、 タスクから資源の獲得要求を受け、前記資源獲得待ち状
態管理手段が管理する資源獲得待ち状態に応じて、前記
OSに対しタスクウェイト状態への移行を要求する資源
獲得制御部と、 タスクから資源の解放要求を受け、前記資源獲得待ち状
態管理手段が管理する資源獲得待ち状態に応じて、前記
OSに対しウェイト状態タスクの再開を要求する資源解
放制御部とを備え、 ファイル管理部は、ファイル非占有状態で書込または読
込処理要求を受けた時、前記資源獲得制御部に対してフ
ァイル資源の獲得を要求し、書込または読込処理を実行
後、前記資源解放制御部に対してファイル資源の解放を
要求する機能を有することを特徴とする情報処理システ
ム。22. In an information processing system comprising a multitasking OS (operating system) and one or more file resources used by each task, resource exclusion for exclusively controlling file resources under the environment of the multitasking OS. The resource exclusive control function includes a control function and a file management unit that manages file resources. The resource exclusive control function receives a resource acquisition waiting state management unit that manages a resource acquisition waiting state and receives a resource acquisition request from a task. A resource acquisition control unit that requests the OS to shift to the task wait state according to the resource acquisition waiting state managed by the waiting state management unit, and a resource release waiting state management unit that receives a resource release request from the task A resource solution that requests the OS to restart a wait state task in accordance with a resource acquisition waiting state managed by When a file management unit receives a write or read processing request in a file unoccupied state, the file management unit requests the resource acquisition control unit to acquire a file resource and executes the write or read processing. An information processing system having a function of subsequently requesting the resource release control unit to release a file resource.
ステム)と、各タスクによって使用される1または2以
上の資源とを備える情報処理システムにおける、マルチ
タスクOSの環境下でセマフォ機能を利用して資源を排
他制御する資源排他制御システムであって、 資源獲得待ち状態を管理する資源獲得待ち状態管理手段
と、 タスクから資源の獲得要求を受け、前記資源獲得待ち状
態管理手段が管理する資源獲得待ち状態に応じて、前記
OSに対しタスクウェイト状態への移行を要求する資源
獲得制御部と、 タスクから資源の解放要求を受け、前記資源獲得待ち状
態管理手段が管理する資源獲得待ち状態に応じて、前記
OSに対しウェイト状態タスクの再開を要求する資源解
放制御部とを備えることを特徴とする資源排他制御シス
テム。23. In an information processing system comprising a multitasking OS (operating system) and one or more resources used by each task, resources are excluded by utilizing a semaphore function under the environment of the multitasking OS. A resource exclusive control system for controlling, a resource acquisition waiting state managing means for managing a resource acquisition waiting state, and a resource acquisition waiting state managed by the resource acquisition waiting state managing means for receiving a resource acquisition request from a task. The OS in response to a resource acquisition control unit that requests the OS to shift to the task wait state and a resource release request from a task, and the resource acquisition wait state managed by the resource acquisition wait state management unit. A resource exclusion control system comprising: a resource release control unit for requesting the resumption of a wait state task.
て、OSに対して、セマフォの獲得を要求する機能を有
するものであり、 資源解放制御部は、タスクから資源の解放要求を受け
て、OSに対して、セマフォの解放を要求する機能を有
するものである資源排他制御システム。24. The resource acquisition control unit according to claim 23, having a function of receiving a resource acquisition request from each task and requesting the OS to acquire a semaphore. A resource exclusive control system having a function of receiving a resource release request from a task and requesting the OS to release a semaphore.
管理手段は、排他制御が必要な資源の数に相当するテー
ブル要素が配列される資源管理テーブルを有し、 各テーブル要素は、資源を識別するための識別子を記憶
する資源識別子記憶領域、資源獲得待ち状態のタスク数
を格納するウェイトタスクカウンタを記憶するウェイト
タスクカウンタ記憶領域、および、資源獲得待ちに使用
するセマフォの識別子を記憶するウェイトセマフォ識別
子記憶領域を有するものである資源排他制御システム。25. The resource acquisition waiting state management means according to claim 24, comprising a resource management table in which table elements corresponding to the number of resources for which exclusive control is required are arranged, and each table element identifies a resource. Resource identifier storage area for storing an identifier for storing resources, a wait task counter storage area for storing a wait task counter for storing the number of tasks in the resource acquisition waiting state, and a wait semaphore for storing an identifier of a semaphore used for resource acquisition waiting. A resource exclusive control system having an identifier storage area.
受け、使用するセマフォを動的に割当てるセマフォ割当
部と、資源の解放要求を受け、使用したセマフォを解除
するセマフォ解除部とをさらに備える資源排他制御シス
テム。26. The system according to claim 25, further comprising: a semaphore allocating unit that dynamically allocates a semaphore to be used in response to a resource acquisition request, and a semaphore canceling unit that receives a resource to be released and cancels a used semaphore. Resource exclusion control system.
ステム)と、各タスクによって使用される1または2以
上の資源とを備える情報処理システムにおいて、マルチ
タスクOSの環境下でセマフォ機能を利用して資源を排
他制御する資源排他制御システムであって、 資源獲得待ち状態を管理する資源獲得待ち状態管理手段
と、 少なくとも同時に発生する可能性がある資源の獲得要求
数に相当する数のセマフォを管理する管理手段と、 資源の獲得要求を受け、前記管理手段で管理されている
セマフォから、使用するセマフォを動的に割り当てるセ
マフォ動的割当手段と、 資源の解放要求を受け、使用したセマフォを解除するセ
マフォ解除手段とを備えることを特徴とする資源排他制
御システム。27. In an information processing system comprising a multitasking OS (operating system) and one or more resources used by each task, resources are excluded by utilizing a semaphore function under the environment of the multitasking OS. A resource exclusive control system for controlling, a resource acquisition waiting state management means for managing a resource acquisition waiting state, and a management means for managing a number of semaphores corresponding to the number of resource acquisition requests that may occur at the same time. , A semaphore dynamic allocation means for dynamically allocating a semaphore to be used from a semaphore managed by the management means in response to a resource acquisition request, and a semaphore releasing means for canceling the used semaphore in response to a resource release request A resource exclusion control system comprising:
は、少なくとも同時に発生する可能性がある資源の獲得
要求毎に設けられ、獲得要求数に相当する数のテーブル
要素が配列されるセマフォ管理テーブルを有し、 各テーブル要素は、セマフォ識別子を記憶するセマフォ
識別子記憶領域と、セマフォステータスを記憶するセマ
フォステータス記憶領域とを有し、 セマフォ識別子記憶領域には、OSで管理されるセマフ
ォの識別子が予め格納されることを特徴とする資源排他
制御システム。28. The semaphore management means according to claim 27, wherein the semaphore management means is provided at least for each resource acquisition request that may occur at the same time, and in which a number of table elements corresponding to the acquisition request number are arranged. Each table element has a semaphore identifier storage area for storing a semaphore identifier and a semaphore status storage area for storing a semaphore status. The semaphore identifier storage area previously stores an identifier of a semaphore managed by the OS. A resource exclusive control system characterized by being stored.
管理手段は、排他制御が必要な資源の数に相当するテー
ブル要素が配列される資源管理テーブルを有し、 各テーブル要素は、資源を識別するための識別子を記憶
する資源識別子記憶領域、資源獲得待ち状態のタスク数
を格納するウェイトタスクカウンタを記憶するウェイト
タスクカウンタ記憶領域、および、資源獲得待ちに使用
するセマフォの識別子を記憶するウェイトセマフォ識別
子記憶領域を有するものである資源排他制御システム。29. The resource acquisition waiting state management means according to claim 28, further comprising a resource management table in which table elements corresponding to the number of resources for which exclusive control is required are arranged, and each table element identifies a resource. Resource identifier storage area for storing an identifier for storing resources, a wait task counter storage area for storing a wait task counter for storing the number of tasks in the resource acquisition waiting state, and a wait semaphore for storing an identifier of a semaphore used for resource acquisition waiting. A resource exclusive control system having an identifier storage area.
手段は、空きセマフォ識別子を検索して、空きセマフォ
識別子が検出されると、このセマフォ識別子を、当該資
源についてのセマフォとして割り当てる機能と、このセ
マフォ識別子をウェイトセマフォ識別子記憶領域に格納
して登録する機能とを有するものである資源排他制御シ
ステム。30. In claim 29, the semaphore dynamic allocation means searches for a free semaphore identifier, and when a free semaphore identifier is detected, the semaphore identifier is assigned as a semaphore for the resource, and A resource exclusion control system having a function of storing and registering a semaphore identifier in a wait semaphore identifier storage area.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4208105A JPH0651999A (en) | 1992-08-04 | 1992-08-04 | Information processing system with resource exclusive control function |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4208105A JPH0651999A (en) | 1992-08-04 | 1992-08-04 | Information processing system with resource exclusive control function |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0651999A true JPH0651999A (en) | 1994-02-25 |
Family
ID=16550723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4208105A Pending JPH0651999A (en) | 1992-08-04 | 1992-08-04 | Information processing system with resource exclusive control function |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0651999A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08305589A (en) * | 1995-05-09 | 1996-11-22 | Fuji Xerox Co Ltd | Image processing unit |
JP2007179190A (en) * | 2005-12-27 | 2007-07-12 | Mitsubishi Electric Corp | Semaphore management method and semaphore management program |
JP2009193362A (en) * | 2008-02-14 | 2009-08-27 | Hitachi Ltd | Information processing system, and file exclusive control method between jobs |
JP2010170545A (en) * | 2009-01-20 | 2010-08-05 | Fisher Rosemount Syst Inc | Method to provide distributed equipment arbitration in process control system |
-
1992
- 1992-08-04 JP JP4208105A patent/JPH0651999A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08305589A (en) * | 1995-05-09 | 1996-11-22 | Fuji Xerox Co Ltd | Image processing unit |
JP2007179190A (en) * | 2005-12-27 | 2007-07-12 | Mitsubishi Electric Corp | Semaphore management method and semaphore management program |
JP2009193362A (en) * | 2008-02-14 | 2009-08-27 | Hitachi Ltd | Information processing system, and file exclusive control method between jobs |
JP2010170545A (en) * | 2009-01-20 | 2010-08-05 | Fisher Rosemount Syst Inc | Method to provide distributed equipment arbitration in process control system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0706137B1 (en) | Queued arbitration mechanism for data processing system | |
US6678065B1 (en) | Image forming apparatus and control method thereof | |
JPH10289074A (en) | Job processing management method in multi-function print system | |
JP2561759B2 (en) | Multiprocessor system and message transmission / reception control device thereof | |
JPH0551942B2 (en) | ||
JPH1131055A (en) | Queue management method for multi-function print system | |
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 | |
US5710873A (en) | Apparatus and method for maximizing a rate of image data transfer in a printing system | |
JP4544728B2 (en) | Method and apparatus for optimizing resource transfer from low priority jobs to high priority jobs | |
JP4451562B2 (en) | Method for prioritizing the use of basic resources in a multi-function printing system, method for managing the processing of multiple jobs and apparatus thereof | |
JP2001211280A (en) | Method and device for processing high-priority resource request in system to use one set of shared resources | |
JP2000196607A (en) | Information processing system, its controlling method and information processor | |
JP2001211279A (en) | Method and device for managing job contention for system resource in electrophotographic copying system to divide image into multi-divided bands | |
JP2001228749A (en) | Method and device for enabling implementation of multifunctional processing to sub job in using set of shared resource | |
KR920004771B1 (en) | Bus flow control mechanism | |
JP2001219628A (en) | Method and device for administering job contention with respect to system resources in electrophotographic copying system | |
JPH0651999A (en) | Information processing system with resource exclusive control function | |
JP3230984B2 (en) | Image processing system | |
US6906823B1 (en) | Input interface for a raster object memory in a method, system and program | |
JP7365832B2 (en) | Device management system and its control method | |
JP2754432B2 (en) | Multiple resource access method | |
JPH06197144A (en) | Cmmunication line capture system | |
JP2598020B2 (en) | Time slot allocation method for loop communication system | |
JPH0335865B2 (en) | ||
JP2001320561A (en) | Image processor |