WO2001082074A1 - Systeme informatique et support d'enregistrement pouvant etre lu par ordinateur - Google Patents

Systeme informatique et support d'enregistrement pouvant etre lu par ordinateur Download PDF

Info

Publication number
WO2001082074A1
WO2001082074A1 PCT/JP2001/003419 JP0103419W WO0182074A1 WO 2001082074 A1 WO2001082074 A1 WO 2001082074A1 JP 0103419 W JP0103419 W JP 0103419W WO 0182074 A1 WO0182074 A1 WO 0182074A1
Authority
WO
WIPO (PCT)
Prior art keywords
resource
function
operating system
slave
main
Prior art date
Application number
PCT/JP2001/003419
Other languages
English (en)
French (fr)
Inventor
Yoshiaki Katayama
Original Assignee
Mitsubishi Denki Kabushiki Kaisha
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Denki Kabushiki Kaisha filed Critical Mitsubishi Denki Kabushiki Kaisha
Priority to EP01921967A priority Critical patent/EP1191439A1/en
Publication of WO2001082074A1 publication Critical patent/WO2001082074A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources

Definitions

  • the present invention relates to a computer system and a recording medium for executing a slave operating system program on a master operating system program and further executing an application program on the slave operating system program.
  • the present invention relates to an improvement for solving a problem in a case where both the main operating system program and the subordinate operating system program are executed by multitasking. Background art
  • FIG. 1 is an explanatory diagram for explaining exclusive control of resources in a conventional computer system having a multitasking operating system.
  • 27 and 28 are tasks generated in the operating system program
  • 29 is a resource.
  • the resource 29 When the resource 29 is acquired by one task 27 and the acquisition request of the resource 29 is output in the other task 28, the resource is transmitted from the operating system to the other task 28. 29 will be notified that they have been acquired.
  • the operating system manages the acquisition request, and when the use of the resource 29 by the one task 27 has been completed, the operating system sends a resource acquisition notification to the other task 28, and based on this, The processing of the other task 28 is restarted. Since the conventional computer system is configured as described above, even if a multi-task sub-operating system program is executed on a multi-task main operating system program, this sub-operating system program will not There were problems such as the inability to properly run multitasking of application programs that were executed on the computer.
  • FIG. 2 is a system state diagram showing an example of the execution state.
  • 30 is the main task for executing the slave operating system program
  • 31 is each other main task
  • 32 is the slave task in the slave operating system program.
  • Other symbols are the same as in FIG.
  • the main task 30 for executing the subordinate operating system program is executed while one of the other main tasks 31 has acquired the resource 29, and
  • the resource 29 is already acquired in another main task 31, so that the other main task Until the use by 31 ends, the main operating system program controls the main task 30 to a resource acquisition waiting state. Therefore, the entire operating system program is suspended until the resource 29 can be acquired, and cannot be properly operated as a multitask.
  • the present invention has been made to solve the above-described problem. Even if a multi-operating slave operating system program is executed on a multi-task main operating system program, the slave operating system can be used.
  • the system program is the application that runs on it.
  • An object of the present invention is to provide a computer system and a recording medium capable of appropriately performing a multitasking operation of a case program. Disclosure of the invention
  • a computer system generates a plurality of main tasks by executing a central processing unit, resources accessed by the central processing unit along with execution of a program, and the central processing unit.
  • a main task execution function that causes the central processing unit to execute the tasks sequentially, and when there is a resource acquisition request from each of the main tasks, the resources are assigned to each of the main tasks in order to exclude the use of the resources.
  • Operating system program, application program, and one main task in the main operating system program to implement an exclusive control function for controlling Subtasks and have them executed sequentially by the central processing unit.
  • a storage means for storing a slave operating system program for realizing a slave task execution function, wherein the slave operating system program includes a resource acquisition request from the slave task.
  • the resource acquisition management function determines at the timing that the resource associated with the request cannot be used. Check whether it is released or not, and exclusive control only when release is confirmed Since the resource acquisition request is output to the function, the main operating system program controls the main task executing the subordinate operating system program to a resource acquisition waiting state. This has the effect of not having to do anything.
  • the subtask execution function restarts the execution of the subtask during the resource acquisition request at regular intervals.
  • the computer system realizes, in the main operating system program or the subordinate operating system program, a release notifying function of notifying the subtask execution function that the resources have been released, and The task execution function resumes the execution of the subtask that is requesting resource acquisition in response to the notification.
  • the computer system is characterized in that the subordinate operating system program implements a table generation function for generating a subordinate resource table indicating an acquisition / release state of virtual resources used in the aggregation program, and a subtask execution function.
  • the subtask that could not acquire the resource manages the suspension by putting the virtual resource on the subresource table in a waiting state to acquire the virtual resource, and detects that the virtual resource has been released, and processes the subtask.
  • the release notification function detects that the exclusive control function has released the above resources, it releases the virtual resource and notifies the subtask execution function. Is Umono.
  • the release notification function is periodically implemented in the slave operating system program.
  • the main operating system program has a new function. Since there is no need to add a function, it can be realized on any main operating system program.
  • the release notification function is implemented based on a software interrupt generated in response to release of the resource by the exclusive control function.
  • the slave operating system program is executed even if a large number of these resource acquisition waiting tasks occur. There is an effect that the subtask can be executed more efficiently without shortening the time.
  • the slave operating system program or the main operating system program implements a correspondence table generation function for generating a resource correspondence table indicating the correspondence between each virtual resource and the resource.
  • the release notification function specifies a virtual resource to be released based on this resource correspondence table.
  • a computer-readable recording medium has a main-disk execution function of generating a plurality of main-disks and sequentially executing the plurality of main-disks, when a resource acquisition request is received from each main-task.
  • An exclusive control function for allocating each resource to each main task in turn and exclusively controlling the use of the above resources, generating multiple subtasks based on the application program, and excluding the subtasks in the resource acquisition request
  • the subtask execution function that executes the subtasks in sequence, and when there is a resource acquisition request from the subtask, the exclusive control function
  • the resource acquisition management function releases the resource related to the request at the timing.
  • the main operating system program controls the main task executing the subordinate operating system program to a resource acquisition waiting state. It is possible to obtain a computer-readable recording medium on which a program that does not need to be recorded is recorded.
  • FIG. 1 is an explanatory diagram for explaining exclusive control of resources in a conventional computer system having a multitasking operating system.
  • FIG. 2 is a system state diagram for explaining a conventional problem.
  • FIG. 3 is a block diagram showing a hardware configuration of a computer system according to Embodiment 1 of the present invention.
  • FIG. 4 is an explanatory diagram showing a list of functions realized by master OS and slave OS in the first embodiment of the present invention.
  • FIG. 5 is a flowchart showing a process when a resource acquisition request is output from a subtask in the first embodiment of the present invention.
  • FIG. 6 is an explanatory diagram for explaining an operation in the computer system according to the first embodiment of the present invention.
  • FIG. 7 is an explanatory diagram showing a list of functions realized by master OS and slave OS in Embodiment 2 of the present invention.
  • FIG. 8 is a flowchart showing processing when a resource acquisition request is output from a subtask in the second embodiment of the present invention.
  • FIG. 9 is an explanatory diagram illustrating an operation in a computer system according to Embodiment 2 of the present invention.
  • FIG. 10 is a diagram showing the main 0 S and the sub 0 S in Embodiment 3 of the present invention.
  • FIG. 11 is an explanatory diagram showing a list of functions realized by the embodiment;
  • FIG. 11 is an explanatory diagram showing an example of a resource correspondence table according to the third embodiment of the present invention.
  • FIG. 12 is a flowchart showing processing when a resource acquisition request is output from a subtask in the third embodiment of the present invention.
  • FIG. 13 is an explanatory diagram for describing an operation in a computer system according to Embodiment 3 of the present invention.
  • FIG. 14 is an explanatory diagram showing a list of functions realized by master OS and slave OS in the fourth embodiment of the present invention.
  • FIG. 15 is a flowchart showing processing when a resource acquisition request is output from a subtask in the fourth embodiment of the present invention.
  • FIG. 16 is an explanatory diagram illustrating an operation in a computer system according to Embodiment 4 of the present invention.
  • FIG. 3 is a block diagram showing a hardware structure of the computer system according to the first embodiment of the present invention.
  • 1 is a central processing unit that executes a program
  • 2 is a random access memory in which a work area used by the central processing unit 1 when executing a program is set
  • 3 is a hard-air resource (device driver) file such as a file, etc.
  • 4 is storage means for storing the program executed by the central processing unit 1
  • 5 is the main operating system program (main 0) stored in the storage means 4.
  • S) The application program (AP) stored in the storage means 4 is a slave operating system program (dependency 0 S) stored in the storage means 4, and 8 is a system bus for interconnecting these.
  • FIG. 4 is an explanatory diagram showing a list of functions realized by master OS and slave OS in the first embodiment of the present invention.
  • reference numeral 9 denotes a main task execution function for generating a plurality of main tasks and causing the central processing unit 1 to sequentially execute the main tasks.10 denotes each main resource 3 when each main task requests a resource acquisition.
  • An exclusive control function that assigns tasks sequentially to control the use of the resource 3 exclusively.11.Executes subtasks that generates multiple subtasks based on the AP 6 and causes the central processing unit 1 to execute them sequentially.
  • the functions 1 and 2 check whether or not the exclusive control function 10 has released the resource 3 related to the request when there is a resource acquisition request from the slave task.
  • the subtask execution function 11 described above when a subtask waiting for resource acquisition occurs as a result of the processing of the resource acquisition management function 12 above, executes the execution of the resource acquisition waiting subtask (not shown). The task will be resumed at regular intervals using the evening function, and other subtasks will be executed in the meantime.
  • the state in which the exclusive control function 10 releases the resource 3 means that there is no main task waiting to acquire the resource 3, and the state in which the exclusive control function 10 has acquired the resource 3. Means that there is a main task waiting to acquire the resource 3 or a main task using the resource 3. Next, the operation will be described.
  • a main task execution function 9 and an exclusive control function 10 are generated.
  • the main task execution function 9 When the master 0 S5 is executed by the central processing unit 1, first, a main task execution function 9 and an exclusive control function 10 are generated. In this state, for example, when the slave 0 S7 is executed, the main task execution function 9 generates the main task. This is sequentially executed by the central processing unit 1. At this time, if a certain main task intends to use an arbitrary resource 3, it outputs a resource acquisition request to the exclusive control function 10 and the exclusive control function 10 receives the request and If 3 is released, immediately get the resource 3. As a result, the main task can continue processing using the resource 3. Conversely, if another main task has acquired the resource 3, the exclusion control function 10 notifies the main task execution function 9 that the resource 3 has already been acquired, and executes the main task.
  • Function 9 starts execution of a main task other than the main task. Thereafter, when the use of the resource 3 by the other main task ends, the exclusive control function 10 notifies the main task that the resource 3 can be acquired, and the main task execution function 9 responds accordingly. Wait for resource acquisition Resumes processing of the main task. When the execution of the main task waiting for resource acquisition ends, the execution of another main task starts.
  • the slave dusk execution function 11 and the resource acquisition management function 12 are generated.
  • the sub task execution function 11 When the AP 6 is executed in this state, the sub task execution function 11 generates a sub task based on the AP 6, and causes the central processing unit 1 to sequentially execute the sub tasks. The processing by these series of functions is performed in the evening when the main task for the slave 7 is executed. At this time, when a request to acquire resource 3 is output in a certain subtask, the processing of the resource acquisition management function 12 is started.
  • FIG. 5 is a flowchart showing processing when a resource acquisition request is output from a subtask.
  • ST 1 is a release confirmation step for confirming in the resource acquisition management function 12 whether or not the exclusive control function 10 has released the resource 3 related to the request
  • ST 2 is an operation when the exclusive control function 10 is released.
  • a resource acquisition request is output from the resource acquisition management function 12 to the exclusive control function 10, thereby acquiring the resource 3. This is the acquisition step.
  • the subtask execution function 11 executes the subtask that has output the resource acquisition request.
  • ST 3 is a step executed when the above resource 3 has already been acquired, and is a stop control step in which the sub task execution function 11 controls the sub task to which the resource acquisition request has been output to be in a stopped state for a certain period of time. It is. Then, the subtask execution function 11 starts processing of another subtask.
  • the acquisition step ST2 is performed.
  • the processing of the resource acquisition waiting task is restarted.
  • the subtask execution function 11 starts the processing of another subtask, and the exclusive control function 10 releases the resource 3 to acquire the next resource. It is in a state of waiting for input of a request.
  • FIG. 6 is an explanatory diagram for explaining an operation in the computer system according to the first embodiment of the present invention.
  • 13 is a subtask that outputs a resource acquisition request
  • 14 is another subtask
  • 15 is a main task that executes sub OS 7
  • 16 is another main task.
  • the exclusive control function 10 checks whether resource 3 has been released, and if released, implements the resource acquisition management function 12 that outputs a resource acquisition request to the exclusive control function 10 concerned. Even if a subtask that outputs a resource acquisition request occurs in a subtask that is executed in step 1, the resource acquisition management function 12 checks whether the resource 3 related to the request has been released at that time. Only when release is confirmed, a resource acquisition request is output to the exclusive control function 10. Therefore, the main OS 5 is The main task 15 executing the slave 0 S7 is not controlled to the resource acquisition waiting state.
  • the subtask execution function 1 1 sequentially executes other subtasks. Therefore, the subtask in the main task executing subtask 0 7 Can be implemented.
  • Embodiment 2 As a result, there is an effect that the sub task S7 of the multitask can be appropriately multitasked on the main task S5 of the multitask.
  • Embodiment 2
  • FIG. 7 is an explanatory diagram showing a list of functions realized by master OS 5 and slave OS 7 in the second embodiment of the present invention.
  • reference numeral 17 denotes a template generation function for generating a sub-resource table indicating the acquisition and release status of virtual resources used by AP 6, and 18 denotes generation of a plurality of sub-tasks based on AP 6, and
  • the slave task that failed to acquire 3 enters a waiting state for acquiring the virtual resource on the slave resource table, and assigns the slave task that is not waiting for the acquisition of the virtual resource of the slave resource table to the central processing unit.
  • Subtask execution function to be executed sequentially by 1; 19 is executed based on a software interrupt generated in response to release of resource 3 by exclusive control function 10; interrupt to release virtual resource corresponding to resource 3 Handler function (release notification function).
  • interrupt to release virtual resource corresponding to resource 3 Handler function release notification function.
  • all the virtual resources in the slave resource table have already been acquired.
  • Other configurations are the same as those in the first embodiment, and a description thereof will be omitted.
  • FIG. 8 is a flowchart showing processing when a resource acquisition request is output from a subtask.
  • ST 4 assigns the virtual task on the sub-resource table to the sub-task whose sub-task execution function 18 could not obtain the resource.
  • ST 5 is a transition step to shift to the wait state
  • ST 5 is a resource release step in which the exclusive control function 10 releases the resource 3
  • ST 6 is a main 0 S 5 (exclusive control function 10) in response to this resource release.
  • ST 7 is a virtual resource release step in which the interrupt handler function 19 releases the virtual resource corresponding to the resource 3 .
  • ST 8 is a virtual resource release step in which the virtual task release function 18 releases the virtual resource corresponding to the resource 3.
  • ST 9 is a resource acquisition management function that releases the above resource 3 in response to the resource acquisition request of the resumed sub task. This is a resource acquisition step of outputting a resource acquisition request to the exclusive control function 10 after confirming the above. Then, by acquiring this resource 3, the processing of the restart subtask is executed. Thereafter, when the processing of the restart subtask ends, the subtask execution function 18 starts the processing of another subtask, and the exclusive task is executed. The control function 10 releases the resource 3 concerned. Other operations are the same as those in the first embodiment, and a description thereof will not be repeated.
  • FIG. 9 is an explanatory diagram illustrating an operation in a computer system according to Embodiment 2 of the present invention.
  • reference numeral 20 denotes a slave resource template.
  • the other reference numerals are the same as in FIG. 6, and the description is omitted.
  • an interrupt handler function 19 for notifying the slave task execution function 18 that the resource 3 waiting for the slave has been released is realized.
  • 18 is configured to resume the execution of the sub-task during the resource acquisition request in response to the notification, so that a large number of sub-tasks are not performed since periodic processing does not occur as compared with the first embodiment. Even if it waits for the acquisition of resources, the execution processing time of other slave disks is not reduced, and there is an effect that other slave tasks can be executed efficiently.
  • the first embodiment is very easily implemented on any master 0 S 5 by using the timer function or the like as compared with the second embodiment. There is an effect that can be.
  • the sub OS 7 is provided with a table generation function 17 for generating a sub resource table 20 indicating the acquisition / release state of the virtual resource used by the AP 6, and the sub task is executed.
  • the function 18 manages the suspension by waiting for the acquisition of the virtual resource on the slave resource table 20 for the slave task that could not acquire the resource 3, and detects that the virtual resource has been released. Then, when the interrupt handler function 19 detects that the exclusive control function 10 has released the above resource 3, the interrupt handler function 19 releases the virtual resource to release the subordinate task execution function 18 Is configured to send notifications to the AP6, so when the type of AP6 is changed, it is possible to respond by simply changing the slave resource table 20 without rewriting the program one by one. Virtual resources (final There is an effect that can be flexibly and easily cope with the increase / decrease of the resource 3) of the. Embodiment 3.
  • FIG. 10 is an explanatory diagram showing a list of functions realized by master 0 S 5 and slave 0 S 7 in the third embodiment of the present invention.
  • 21 is a correspondence table generation function for generating a resource correspondence table indicating the correspondence between each virtual resource and resource 3
  • 22 is a software interrupt generated in response to the release of resource 3 by the exclusive control function 10.
  • This is an interrupt handler function (release notification function) that specifies a virtual resource corresponding to the above resource 3 based on the resource correspondence table and releases it.
  • FIG. 11 is an explanatory diagram showing an example of a resource correspondence table according to the third embodiment of the present invention.
  • the left column is a list of resources 3 and the right column is a list of virtual resources. Each row is associated with each virtual resource and the corresponding resource 3.
  • Other configurations are the same as in the second embodiment. Description is omitted.
  • FIG. 12 is a flowchart showing processing when a resource acquisition request is output from a subtask.
  • ST 10 is a registration step for associating a new waiting virtual resource with resource 3 and registering it in the resource correspondence table
  • ST 11 is a resource correspondence table based on the released resource 3.
  • the search step for searching, ST 12, is a deletion step of receiving the resource 3 and deleting the resource 3 and the virtual resource associated therewith from the resource correspondence table.
  • the interrupt handler function 22 releases the virtual resource corresponding to the resource 3 with reference to the resource correspondence table.
  • Other operations are the same as those in the second embodiment, and a description thereof will not be repeated.
  • FIG. 13 is an explanatory diagram for describing an operation in a computer system according to Embodiment 3 of the present invention.
  • reference numeral 23 denotes a resource correspondence table
  • reference numeral 24 denotes an interrupt handler function.
  • the other reference numerals are the same as in FIG. 9 and the description is omitted.
  • the slave OS 7 is provided with a correspondence table generation function 21 for generating a resource correspondence table 23 indicating the correspondence between each virtual resource and the resource 3, and the interrupt handling is performed. Since the drive function 22 specifies the virtual resource to be released based on the resource correspondence template 23, the resource 3 and the virtual resource do not correspond one-to-one, or the resource 3 or the virtual resource. This has the effect of being able to respond flexibly to these sources without changing the program, even if the sources increase or decrease.
  • FIG. 14 is a diagram showing Embodiment 5 and Embodiment 5 of Embodiment 4 of the present invention.
  • FIG. 9 is an explanatory diagram showing a list of functions implemented by 7;
  • reference numeral 25 is periodically executed in the slave 0 S7, and the exclusive control function 10 identifies a virtual resource corresponding to the resource 3 released by the exclusive control function 10 based on the resource correspondence template 23, and identifies this.
  • Release. Cyclic handler function release notification function.
  • the other configuration is the same as that of the third embodiment, and the description is omitted.
  • FIG. 15 is a flowchart showing processing when a resource acquisition request is output from a subtask.
  • ST 13 is a startup step for starting the periodic handler function 25 in the slave OS 7
  • ST 14 is a resource 3 in which the periodic handler function 25 is registered in the resource correspondence template 23.
  • ST 15 is an end determination step for determining whether or not the obtainable resource determination step ST 14 has been performed for all resources 3 registered in the resource correspondence table 23. Then, when it is determined in this end determination step ST15 that the processing is to be ended, the periodic handler function 25 is stopped. Other operations are the same as those in the third embodiment, and a description thereof will not be repeated.
  • FIG. 16 is an explanatory diagram illustrating an operation in a computer system according to Embodiment 4 of the present invention.
  • reference numeral 26 denotes a periodic handler function.
  • the other reference numerals are the same as in FIG. 11, and the description is omitted.
  • the virtual resource corresponding to the resource 3 released by the exclusive control function 10 is released by the periodic handler function 25 periodically executed in the slave 0 7.
  • the effect of the present invention can be obtained without adding any new function to the main S5 side.
  • the computer system and the computer-readable recording medium according to the present invention can be used to execute a multi-task main operating system program on a multi-task main operating system program.
  • the operating system program is suitable for appropriately multitasking an application program executed on the operating system program.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

明 細 書 コンピュータシステムおよびコンビュ一夕読み取り可能な記録媒体 技術分野
この発明は、 主ォペレ一ティ ングシステムプログラム上で従オペレー ティ ングシステムプログラムを実行させ、 更にこの従ォペレ一ティ ング システムプログラム上でアプリケーションプログラムを実行させるコン ピュー夕システムおよび記録媒体に係り、 特に、 上記主オペレーティ ン グシステムプログラムおよび従オペレーティ ングシステムプログラムを ともにマルチタスクにて実行させる場合における課題を解決するための 改良に関するものである。 背景技術
第 1図はマルチタスクのオペレーティ ングシステムを備える従来のコ ンピュー夕システムにおける資源の排他制御を説明するための説明図で ある。 図において、 2 7, 2 8はそれそれオペレ一ティ ングシステムプ ログラムにおいて生成されたタスク、 2 9は資源である。
次に動作について説明する。
一方のタスク 2 7によって資源 2 9が獲得された状態で、 他のタスク 2 8において当該資源 2 9の獲得要求が出力されると、 当該他のタスク 2 8に対してはオペレーティ ングシステムから資源 2 9は獲得されてい ることが通知される。 また、 オペレーティ ングシステムはこの獲得要求 を管理し、 上記一方のタスク 2 7による上記資源 2 9の利用が終了した ら、 上記他のタスク 2 8に対して資源獲得通知を行い、 これに基づいて 当該他のタスク 2 8の処理が再開される。 従来のコンピュ一夕システムは以上のように構成されているので、 マ ルチタスクの主オペレーティ ングシステムプログラム上においてマルチ タスクの従オペレーティ ングシステムプログラムを実行したとしても、 この従オペレーティ ングシステムプログラムはその上で実行されるァプ リケーシヨンプログラムを適切にマルチタスク動作させることができな いなどの課題があつた。
課題を具体的に説明する。
第 2図は上記実行状態の一例を示すシステム状態図である。 図におい て、 3 0は従オペレーティ ングシステムプログラムを実行するための主 タスク、 3 1はそれそれ他の主タスク、 3 2はそれそれ従オペレーティ ングシステムプログラム上の従タスクである。 これ以外の符号は第 1 図 と同様である。
そして、 同図に示すように、 他の主タスク 3 1のうちの 1つが資源 2 9 を獲得した状態で、 従ォペレ一ティ ングシステムプログラムを実行す るための主タスク 3 0が実行され、 その主タスク 3 0上で実行された従 タスク 3 2から資源獲得要求が出力されると、.当該資源 2 9は他の主夕 スク 3 1 において既に獲得されているので、 当該他の主タスク 3 1 によ る利用が終了するまで、 主ォペレ一ティ ングシステムプログラムは当該 主タスク 3 0を資源獲得待ち状態に制御してしまう。 従って、 従ォペレ —ティ ングシステムプログラムはその資源 2 9が獲得できるまで、 その 全体の処理が停止されてしまうこととなり、 マルチタスクとして適切に 動作させることができない。
この発明は上記のような課題を解決するためになされたもので、 マル チタスクの主オペレーティ ングシステムプログラム上においてマルチ夕 スクの従オペレーティ ングシステムプログラムを実行したとしても、 こ の従ォペレ一ティ ングシステムプログラムはその上で実行されるアプリ ケ一シヨンプログラムを適切にマルチタスク動作させることができるコ ンピュー夕システムおよび記録媒体を得ることを目的とする。 発明の開示
この発明に係るコンピュータシステムは、 中央処理装置と、 上記中央 処理装置がプログラムの実行に伴ってアクセスする資源と、 上記中央処 理装置によ り実行されることで、 複数の主タスクを生成するとともにそ れを上記中央処理装置に順次実行させる主タスク実行機能、 および当該 各主タスクから資源獲得要求があった場合には各資源を各主タスクに順 番に割り当てて上記資源の利用を排他的に制御する排他制御機能を実現 するための主オペレーティ ングシステムプログラム、 アプリケ一ショ ン プログラム、 並びに、 上記主オペレーティ ングシステムプログラムにお ける 1つの主タスクとして実行され、 当該アプリケーションプログラム に基づいて複数の従タスクを生成するとともにそれを上記中央処理装置 に順次実行させる従タスク実行機能を実現させる従オペレーテイ ングシ ステムプログラムを記憶する記憶手段とを備えるコンピュータシステム において、 上記従ォペレ一ティ ングシステムプログラムには、 従タスク からの資源獲得要求があった場合には、 上記排他制御機能が当該要求に 係る資源を解放しているか否かを確認し、 解放している場合には当該排 他制御機能に対して資源獲得要求を出力する資源獲得管理機能を実現さ せるとともに、 上記従タスク実行機能は資源獲得要求中の従タスクがあ る場合にはそれ以外の従タスクを順次実行するものである。
このことによって、 従ォペレ一ティ ングシステムプログラム上で実行 される従タスクにおいて資源獲得要求を出力する従タスクが生じたとし ても、 資源獲得管理機能がそのタイ ミ ングにおいて当該要求に係る資源 が解放されているか否かを確認し、 解放が確認された場合のみ排他制御 機能に対して資源獲得要求が出力されることになるから、 主オペレ一テ ィ ングシステムプログラムは、 当該従ォペレ一ティ ングシステムプログ ラムを実行する主タスクを資源獲得待ち状態に制御してしまう ことはな いという効果を奏する。
この発明に係るコンピュータシステムは、 従タスク実行機能が資源獲 得要求中の従タスクの実行を一定期間毎に再開するものである。
このことによって、 従ォペレ一ティ ングシステムプログラムを実行す る主タスクにおいて当該他の従タスクを実施することができるから、 マ ルチタスクの主ォペレ一ティ ングシステムプログラム上 おいて、 マル チタスクの従ォペレ一ティ ングシステムプログラムを適切にマルチタス ク動作させることができるという効果を奏する。
この発明に係るコンピュータシステムは、 主ォペレ一ティ ングシステ ムプログラムあるいは従オペレーティ ングシステムプログラムには、 従 タスク実行機能に対して上記資源が解放されたことを通知する解放通知 機能を実現させ、 上記従タスク実行機能が当該通知に応じて資源獲得要 求中の従タスクの実行を再開するものである。
このことによって、 タイマ機能などを用いることで極めて容易に実施 することができるという効果を奏する。
この発明に係るコンピュータシステムは、 従オペレーティ ングシステ ムプログラムには、 アブリケ一ションプログラムで利用する仮想資源の 獲得/解放状態を示す従資源テーブルを生成するテーブル生成機能を実 現させ、 従タスク実行機能が、 資源を獲得できなかった従タスクは当該 従資源テーブル上の仮想資源の獲得待ち状態とすることで停止を管理し 、 当該仮想資源が解放されたことを検知して当該従タスクの処理を再開 し、 解放通知機能が、 排他制御機能が上記資源を解放したことを検出し たら当該仮想資源を解放することで従タスク実行機能に対する通知を行 うものである。
このことによって、 周期的な処理が発生しないので多数の従タスクが 資源獲得待ちとなったとしても他の従タスクの実行処理時間を削減して しまうことはなく効率良く他の従タスクを実行することができるという 効果を奏する。
また、 従資源テーブルを設ければ、 アプリケーションプログラムの種 類などの変更の際に一々プログラムを書き換えることなく従資源テ一ブ ルを変更するだけで対応することができるので、 アプリケーションプロ グラムが利用する資源の増加/減少に柔軟且つ容易に対応することがで きるという効果を奏する。
この発明に係るコンピュータシステムは、 解放通知機能が、 従ォペレ —ティ ングシステムプログラムにおいて周期的に実施されるものである このことによって、 解放通知機能を用いつつも主オペレーティ ングシ ステムプログラム側に何ら新しい機能を追加する必要が無いので如何な る主オペレーティ ングシステムプログラム上においても実現することが できるという効果を奏する。
この発明に係るコンピュータシステムは、 解放通知機能が、 排他制御 機能による資源の解放に応じて発生するソフ トウヱァ割り込みに基づい て実施されるものである。
このことによって、 排他制御機能が資源を解放したら直ちにこれを取 得して資源獲得待ちの従タスクを直に再開することが可能となるので、 効率良く従タスクを実施することができるという効果を奏する。
また、 従オペレーティ ングシステムに係る主タスクの実施期間におい て何ら周期的な実施をする必要が無いので、 この資源獲得待ち従タスク が多数発生したとしても従ォペレ一ティ ングシステムプログラムの実行 時間を逼迫させてしまうこともなく、 更に効率良く従タスクを実施させ ることができるという効果を奏する。
この発明に係るコンピュータシステムは、 従オペレーティ ングシステ ムプログラムあるいは主ォペレ一ティ ングシステムプログラムには、 各 仮想資源と資源との対応関係を示す資源対応テーブルを生成する対応テ 一ブル生成機能を実現させ、 解放通知機能が、 この資源対応テーブルに 基づいて解放すべき仮想資源を特定するものである。
このことによって、 資源と仮想資源とが一対一に対応しなく とも、 あ るいは、 資源あるいは仮想資源に増減があろうとも、 プログラムを変更 することなくこれらに柔軟に対応することができるという効果を奏する この発明に係るコンピュータ読み取り可能な記録媒体は、 複数の主夕 スクを生成するとともにそれを上記中央処理装置に順次実行させる主夕 スク実行機能、 各主タスクから資源獲得要求があつた場合には各資源を 各主タスクに順番に割り当てて上記資源の利用を排他的に制御する排他 制御機能、 アプリケーションプログラムに基づいて複数の従タスクを生 成するとともに資源獲得要求中の従タスク以外の従タスクを順次実行す る従タスク実行機能、 従タスクからの資源獲得要求があった場合には、 上記排他制御機能が当該要求に係る資源を解放しているか否かを確認し 、 解放している場合には当該排他制御機能に対して資源獲得要求を出力 する資源獲得管理機能をコンピュ一夕に実現させるためのプログラムを 記録したものである。
このことによって、 従ォペレ一ティングシステムプログラム上で実行 される従タスクにおいて資源獲得要求を出力する従タスクが生じたとし ても、 資源獲得管理機能がそのタイ ミングにおいて当該要求に係る資源 が解放されているか否かを確認し、 解放が確認された場合のみ排他制御 機能に対して資源獲得要求が出力されることになるから、 主オペレ一テ ィ ングシステムプログラムは、 当該従オペレ一ティ ングシステムプログ ラムを実行する主タスクを資源獲得待ち状態に制御してしまうことはな いプログラムを記録したコンピュー夕読み取り可能な記録媒体を得るこ とができるという効果を奏する。 図面の簡単な説明
第 1図は、 マルチタスクのオペレーティ ングシステムを備える従来の コンピュータシステムにおける資源の排他制御を説明するための説明図 である。
第 2図は、 従来の課題を説明するためのシステム状態図である。
第 3図は、 この発明の実施の形態 1によるコンピュータシステムのハ 一ドウエア構成を示すブロック図である。
第 4図は、 この発明の実施の形態 1において主 0 Sおよび従 0 Sによ り実現される機能の一覧を示す説明図である。
第 5図は、 この発明の実施の形態 1において、 従タスクから資源獲得 要求が出力された場合の処理を示すフ口一チャートである。
第 6図は、 この発明の実施の形態 1によるコンピュータシステムにお ける動作を説明するための説明図である。
第 7図は、 この発明の実施の形態 2において主 0 Sおよび従 0 Sによ り実現される機能の一覧を示す説明図である。
第 8図は、 この発明の実施の形態 2において、 従タスクから資源獲得 要求が出力された場合の処理を示すフローチヤ一トである。
第 9図は、 この発明の実施の形態 2によるコンピュータシステムにお ける動作を説明するための説明図である。
第 1 0図は、 この発明の実施の形態 3において主 0 Sおよび従 0 Sに より実現される機能の一覧を示す説明図である。
第 1 1図は、 この発明の実施の形態 3による資源対応テーブルの一例 を示す説明図である。
第 1 2図は、 この発明の実施の形態 3において、 従タスクから資源獲 得要求が出力された場合の処理を示すフローチヤ一トである。
第 1 3図は、 この発明の実施の形態 3によるコンピュータシステムに おける動作を説明するための説明図である。
第 1 4図は、 この発明の実施の形態 4において主 0 Sおよび従 0 Sに より実現される機能の一覧を示す説明図である。
第 1 5図は、 この発明の実施の形態 4において、 従タスクから資源獲 得要求が出力された場合の処理を示すフローチャートである。
第 1 6図は、 この発明の実施の形態 4によるコンピュータシステムに おける動作を説明するための説明図である。 発明を実施するための最良の形態
以下、 この発明をより詳細に説明するために、 この発明を実施するた めの最良の形態について、 添付の図面に従ってこれを説明する。
実施の形態 1 .
第 3図は、 この発明の実施の形態 1によるコンピュータシステムのハ 一ドゥエァ構成を示すプロック図である。 図において、 1はプログラム を実行する中央処理装置、 2はこの中央処理装置 1がプログラム実行の 際に使用するワークエリァなどが設定されるランダムアクセスメモリ、 3はハードゥエア資源 (デバイス ドライバ) ゃフアイルなどの中央処理 装置 1がプログラムの実行に伴ってアクセスする資源、 4は上記中央処 理装置 1の実行するプログラムを記憶する記憶手段、 5は記憶手段 4に 記憶された主オペレーティ ングシステムプログラム (主 0 S ) 、 6は記 憶手段 4に記憶されたアプリケーションプログラム (A P ) 、 7は記憶 手段 4に記憶された従オペレ一テイ ングシステムプログラム (従 0 S ) 、 8はこれらを相互に接続するシステムバスである。
第 4図は、 この発明の実施の形態 1において主 0 Sおよび従 0 Sによ り実現される機能の一覧を示す説明図である。 図において、 9は複数の 主タスクを生成するとともにそれを中央処理装置 1に順次実行させる主 タスク実行機能、 1 0は各主タスクから資源獲得要求があった場合には 各資源 3を各主タスクに順番に割り当てて上記資源 3の利用を排他的に 制御する排他制御機能、 1 1は A P 6に基づいて複数の従タスクを生成 するとともにそれを中央処理装置 1に順次実行させる従タスク実行機能 、 1 2は従タスクからの資源獲得要求があった場合には、 上記排他制御 機能 1 0が当該要求に係る資源 3を解放しているか否かを確認し、 解放 している場合には当該排他制御機能 1 0に対して資源獲得要求を出力す る資源獲得管理機能である。 そして、 上記従タスク実行機能 1 1は、 上 記資源獲得管理機能 1 2の処理の結果資源獲得待ちとなった従タスクが 生じた場合には、 その資源獲得待ち従タスクの実行を図示外の夕イマ機 能などを用いて一定期間毎に再開するとともに、 その間においてはそれ 以外の従タスクを順次実行する。
なお、 排他制御機能 1 0が資源 3を解放している状態とは、 当該資源 3の獲得待ちの主タスクが存在しない状態を意味し、 排他制御機能 1 0 が資源 3を獲得している状態とは、 当該資源 3の獲得待ちの主タスクあ るいは当該資源 3を利用している主タスクが存在する状態を意味する。 次に動作について説明する。
主 0 S 5が中央処理装置 1によって実行されると、 まず、 主タスク実 行機能 9および排他制御機能 1 0が生成される。 この状態で例えば上記 従 0 S 7などが実行されると、 主タスク実行機能 9は、 主タスクを生成 し、 これを中央処理装置 1にて順次実行させる。 この際、 ある主タスク が任意の資源 3を利用しょうとする場合、 排他制御機能 1 0に対して資 源獲得要求を出力し、 排他制御機能 1 0は当該要求を受け付けるととも に、 その資源 3が解放されていたら即座に当該資源 3を獲得させる。 こ れにより、 当該主タスクは当該資源 3を利用して処理を継続することが できる。 逆に、 他の主タスクが当該資源 3を獲得している場合には、 排 他制御機能 1 0は当該資源 3が既に獲得されていることを主タスク実行 機能 9に通知し、 主タスク実行機能 9は当該主タスク以外の主タスクの 実行を開始する。 その後、 上記他の主タスクによる上記資源 3の利用が 終了すると排他制御機能 1 0は当該資源 3が獲得可能である旨を当該主 タスクに通知し、 これに応じて主タスク実行機能 9は上記資源獲得待ち 主タスクの処理を再開する。 また、 当該資源獲得待ち主タスクの実行が 終了したら他の主タスクの実行を開始する。
また、 従 0 S 7が実行されることで従ダスク実行機能 1 1および資源 獲得管理機能 1 2が生成される。 この状態で上記 A P 6が実行されると 、 従タスク実行機能 1 1は、 A P 6に基づいて従タスクを生成し、 これ を中央処理装置 1にて順次実行させる。 なお、 これら一連の機能による 処理は上記従 0 S 7用の主タスクが実行される夕イ ミングにおいて実施 される。 この際、 ある従タスクにおいて資源 3を獲得する要求が出力さ れると、 資源獲得管理機能 1 2の処理が開始される。
第 5図は、 従タスクから資源獲得要求が出力された場合の処理を示す フローチャー トである。 図において、 S T 1は排他制御機能 1 0が当該 要求に係る資源 3を解放しているか否かを資源獲得管理機能 1 2におい て確認する解放確認ステツプ、 S T 2は解放されている場合において実 行されるステップであって、 資源獲得管理機能 1 2から排他制御機能 1 0に対して資源獲得要求を出力し、 これにより当該資源 3を獲得する獲 得ステップである。 そして、 従タスク実行機能 1 1はこの資源獲得を受 けて上記資源獲得要求を出力した従タスクを実施する。
S T 3は上記資源 3が既に獲得されている場合に実行されるステツプ であって、 従タスク実行機能 1 1が上記資源獲得要求を出力した従タス クを一定期間停止状態に制御する停止制御ステップである。 そして、 従 タスク実行機能 1 1は他の従タスクの処理を開始する。
また、 この停止制御ステップ S T 3の後に再度解放確認ステップ S T 1を実施した際に、 排他制御機能 1 0が当該要求に係る資源 3を解放し ている場合には、 獲得ステップ S T 2が実施され、 これにより資源獲得 待ち従タスクの処理が再開される。 その後、 この資源獲得待ち従タスク の処理が終了すると、 従タスク実行機能 1 1は他の従タスクの処理を開 始すると共に、 排他制御機能 1 0は当該資源 3を解放し、 次の資源獲得 要求の入力待ち状態となる。
第 6図は、 この発明の実施の形態 1によるコンピュータシステムにお ける動作を説明するための説明図である。 図において、 1 3は資源獲得 要求を出力する従タスク、 1 4はそれそれ他の従タスク、 1 5は従 O S 7を実行する主タスク、 1 6は他の主タスクである。
そして、 同図に示すように、 この実施の形態 1によれば、 従 0 S 7に は、 従タスクからの資源獲得要求があった場合には、 上記排他制御機能 1 0が当該要求に係る資源 3を解放しているか否かを確認し、 解放して いる場合には当該排他制御機能 1 0に対して資源獲得要求を出力する資 源獲得管理機能 1 2を実現させるので、 従 O S 7で実行される従タスク において資源獲得要求を出力する従タスクが生じたとしても、 資源獲得 管理機能 1 2がその夕イ ミングにおいて当該要求に係る資源 3が解放さ れているか否かを確認し、 解放が確認された場合のみ排他制御機能 1 0 に対して資源獲得要求が出力されることになる。 従って、 主 O S 5は、 当該従 0 S 7を実行する主タスク 1 5を資源獲得待ち状態に制御してし まうことはない。
しかも、 従タスク実行機能 1 1は資源獲得要求中の従タスクがある場 合にはそれ以外の従タスクを順次実行するので、 上記従 0 S 7を実行す る主タスクにおいて当該他の従タスクを実施することができる。
その結果、 マルチタスクの主 0 S 5上において、 マルチタスクの従 0 S 7を適切にマルチタスク動作させることができる効果がある。 実施の形態 2 .
第 7図は、 この発明の実施の形態 2において主 0 S 5および従 0 S 7 により実現される機能の一覧を示す説明図である。 図において、 1 7は A P 6で利用する仮想資源の獲得 解放状態を示す従資源テーブルを生 成するテ一プル生成機能、 1 8は A P 6に基づいて複数の従タスクを生 成し、 資源 3を獲得できなかった従タスクは当該従資源テ一ブル上の仮 想資源の獲得待ち状態とするとともに、 当該従資源テ一プルの仮想資源 の獲得待ちになつていない従タスクを中央処理装置 1 に順次実行させる 従タスク実行機能、 1 9は排他制御機能 1 0による資源 3の解放に応じ て発生するソフ トウエア割り込みに基づいて実施され、 上記資源 3に対 応する仮想資源を解放する割込みハンドラ機能 (解放通知機能) である 。 なお、 初期状態において上記従資源テーブルの仮想資源は全て獲得済 みとなつている。 これ以外の構成は実施の形態 1 と同様であり説明を省 略する。
次に動作について説明する。
第 8図は、 従タスクから資源獲得要求が出力された場合の処理を示す フローチャートである。 図において、 S T 4は従タスク実行機能 1 8が 資源を獲得できなかった従タスクを従資源テーブル上の仮想資源の獲得 待ち状態に移行させる移行ステツプ、 S T 5は排他制御機能 1 0が資源 3を解放する資源解放ステツプ、 S T 6はこの資源解放に応じて主 0 S 5 (排他制御機能 1 0 ) が全てのプログラムに基づく処理を中断させる ソフ トウェア割込みを発生するステップ、 S T 7は割込みハン ドラ機能 1 9が当該資源 3に対応する仮想資源を解放する仮想資源解放ステツプ 、 S T 8は従タスク実行機能 1 8が当該仮想資源を獲得して仮想資源の 獲得待ち従タスクの処理を再開する再開ステップ、 S T 9は再開された 従タスクの資源獲得要求に応じて、 資源獲得管理機能 1 2が上記資源 3 の解放を確認した上で排他制御機能 1 0に対して資源獲得要求を出力す る資源獲得ステップである。 そして、 この資源 3を獲得することで上記 再開従タスクの処理が実行され、 その後、 当該再開従タスクの処理が終 了すると従タスク実行機能 1 8は他の従タスクの処理を開始し、 排他制 御機能 1 0は当該資源 3を解放する。 これ以外の動作は実施の形態 1 と 同様であり説明を省略する。
第 9図は、 この発明の実施の形態 2によるコンピュータシステムにお ける動作を説明するための説明図である。 図において、 2 0は従資源テ 一プルである。 これ以外の符号は第 6図と同様であり説明を省略する。
そして、 この実施の形態 2では、 従タスク実行機能 1 8に対して従夕 スクが待っている資源 3が解放されたことを通知する割込みハンドラ機 能 1 9を実現させるとともに、 従タスク実行機能 1 8が当該通知に応じ て資源獲得要求中の従タスクの実行を再開するように構成しているので 、 実施の形態 1 と比べた場合、 周期的な処理が発生しないので多数の従 タスクが資源獲得待ちとなったとしても他の従夕スクの実行処理時間を 削 してしまうことはなく効率良く他の従タスクを実行することができ る効果がある。 逆に、 実施の形態 1はこの実施の形態 2に比べ、 夕イマ 機能などを用いることで極めて容易に如何なる主 0 S 5上でも実施する ことができる効果がある。
また、 この実施の形態 2では、 従 O S 7には、 A P 6で利用する仮想 資源の獲得/解放状態を示す従資源テーブル 2 0を生成するテーブル生 成機能 1 7を実現させ、 従タスク実行機能 1 8が、 資源 3を獲得できな かった従タスクは当該従資源テーブル 2 0上の仮想資源の獲得待ち状態 とすることで停止を管理し、 当該仮想資源が解放されたことを検知して 当該従タスクの処理を再開し、 更に、 割込みハン ドラ機能 1 9が、 排他 制御機能 1 0が上記資源 3を解放したことを検出したら当該仮想資源を 解放することで従タスク実行機能 1 8に対する通知を行うように構成し ているので、 A P 6の種類などの変更の際に一々プログラムを書き換え ることなく従資源テーブル 2 0を変更するだけで対応することができる ので、 A P 6が利用する仮想資源 (最終的には資源 3 ) の増加/減少に 柔軟且つ容易に対応することができる効果がある。 実施の形態 3 .
第 1 0図は、 この発明の実施の形態 3において主 0 S 5および従 0 S 7により実現される機能の一覧を示す説明図である。 図において、 2 1 は各仮想資源と資源 3 との対応関係を示す資源対応テーブルを生成する 対応テーブル生成機能、 2 2は排他制御機能 1 0による資源 3の解放に 応じて発生するソフ トウエア割り込みに基づいて実施され、 上記資源 3 に対応する仮想資源を資源対応テーブルに基づいて特定し、 これを解放 する割込みハン ドラ機能 (解放通知機能) である。
第 1 1図は、 この発明の実施の形態 3による資源対応テーブルの一例 を示す説明図である。 図において、 左列は資源 3のリス ト、 右列は仮想 資源のリス トであり、 各行において各仮想資源とそれに対応する資源 3 とが対応付けられている。 これ以外の構成は実施の形態 2 と同様であり 説明を省略する。
次に動作について説明する。
第 1 2図は、 従タスクから資源獲得要求が出力された場合の処理を示 すフローチヤ一トである。 図において、 S T 1 0は資源対応テ一プルへ 新たな獲得待ちの仮想資源と資源 3 とを対応付けて登録する登録ステッ プ、 S T 1 1は解放された資源 3に基づいて資源対応テーブルを検索す る検索ステップ、 S T 1 2は資源 3の獲得を受けて当該資源 3 とそれに 対応付けられた仮想資源とを資源対応テーブルから削除する削除ステツ プである。 なお、 仮想資源解放ステップ S T 7において割込みハンドラ 機能 2 2は上記資源対応テーブルを参照した上で、 当該資源 3に対応す る仮想資源を解放する。 これ以外の動作は実施の形態 2 と同様であり説 明を省略する。
第 1 3図は、 この発明の実施の形態 3によるコンピュータシステムに おける動作を説明するための説明図である。 図において、 2 3は資源対 応テーブル、 2 4は割込みハン ドラ機能である。 これ以外の符号は第 9 図と同様であり説明を省略する。
そして、 この実施の形態 3によれば、 従 O S 7には、 各仮想資源と資 源 3との対応関係を示す資源対応テーブル 2 3を生成する対応テーブル 生成機能 2 1を実現させ、 割込みハン ドラ機能 2 2が、 この資源対応テ —プル 2 3に基づいて解放すべき仮想資源を特定するので、 資源 3と仮 想資源とが一対一に対応しなく とも、 あるいは、 資源 3あるいは仮想資 源に増減があろうとも、 プログラムを変更することなくこれらに柔軟に 対応することができる効果がある。 実施の形態 4 .
第 1 4図は、 この発明の実施の形態 4において主 0 S 5および従 0 S 7により実現される機能の一覧を示す説明図である。 図において、 2 5 は従 0 S 7において周期的に実施され、 排他制御機能 1 0が解放してい る資源 3に対応する仮想資源を資源対応テ一プル 2 3に基づいて特定し 、 これを解放する.周期ハンドラ機能 (解放通知機能) である。 これ以外 の構成は実施の形態 3と同様であり説明を省略する。
次に動作について説明する。
第 1 5図は、 従タスクから資源獲得要求が出力された場合の処理を示 すフローチャートである。 図において、 S T 1 3は従 O S 7において周 期ハン ドラ機能 2 5を起動する起動ステヅプ、 S T 1 4は周期ハン ドラ 機能 2 5が資源対応テ一プル 2 3に登録されている各資源 3について順 番に解放されているか否かを判断する獲得可能資源判断ステツプである 。 そして、 解放されている場合には、 検索ステップ S T 1 1、 仮想資源 解放ステップ S T 7、 再開ステップ S T 8、 資源獲得ステップ S T 9、 削除ステヅプ S T 1 2が実施される。 S T 1 5は資源対応テーブル 2 3 に登録されている全ての資源 3について獲得可能資源判断ステツプ S T 1 4を実施したか否かを判断する終了判断ステップである。 そして、 こ の終了判断ステップ S T 1 5で終了と判断されると上記周期ハン ドラ機 能 2 5は停止される。 これ以外の動作は実施の形態 3 と同様であり説明 を省略する。
第 1 6図は、 この発明の実施の形態 4によるコンピュータシステムに おける動作を説明するための説明図である。 図において、 2 6は周期ハ ンドラ機能である。 これ以外の符号は第 1 1図と同様であり説明を省略 する。
そして、 この実施の形態 4によれば、 従 0 S 7において周期的に実施 される周期ハン ドラ機能 2 5によって、 排他制御機能 1 0が解放してい る資源 3に対応する仮想資源を解放しているので、 実施の形態 3 と比べ て主 0 S 5側に何ら新しい機能を追加することなく本願発明の効果を得 ることができる効果がある。
なお、 実施の形態 3の割込みハン ドラ機能 2 2では、 この実施の形態 4に比べて、 排他制御機能 1 0が資源 3を解放したら直ちにこれを取得 して資源獲得待ちの従タスクを再開することが可能となるので、 効率良 く従タスクを実施することができる効果がある。 また、 従 O S 7に係る 主タスクの実施期間において何ら周期的な処理を実施をする必要が無い ので、 この資源獲得待ち従タスクが多数発生したとしても従 0 Sの実行 時間を逼迫させてしまうこともなく、 更に効率良く従タスクを実施させ ることができる効果がある。 産業上の利用可能性
以上のように、 この発明に係るコンピュータシステムおよびコンビュ —夕読み取り可能な記録媒体は、 マルチタスクの主オペレーティ ングシ ステムプログラム上においてマルチタスクの従ォペレ一ティ ングシステ ムプログラムを実行したい場合でも、 この従ォペレ一ティ ングシステム プログラムはその上で実行されるアプリケーションプログラムを適切に マルチタスク動作させるのに適している。

Claims

請 求 の 範 囲
1 . . 中央処理装置と、
上記中央処理装置がプログラムの実行に伴ってアクセスする資源と、 上記中央処理装置により実行されることで、 複数の主タスクを生成す るとともにそれを上記中央処理装置に順次実行させる主タスク実行機能 、 および当該各主タスクから資源獲得要求があった場合には各資源を各 主タスクに順番に割り当てて上記資源の利用を排他的に制御する排他制 御機能を実現するための主オペレーティ ングシステムプログラム、 ァプ リケ一シヨ ンプログラム、 並びに、 上記主オペレーティ ングシステムプ ログラムにおける 1つの主タスクとして実行され、 当該アプリケ一ショ ンプログラムに基づいて複数の従タスクを生成するとともにそれを上記 中央処理装置に順次実行させる従タスク実行機能を実現させる従ォペレ —ティ ングシステムプログラムを記憶する記憶手段とを備えるコンビュ 一夕システムにおいて、
上記従オペレ一ティ ングシステムプログラムには、 従タスクからの資 源獲得要求があった場合には、 上記排他制御機能が当該要求に係る資源 を解放しているか否かを確認し、 解放している場合には当該排他制御機 能に対して資源獲得要求を出力する資源獲得管理機能を実現させるとと もに、 上記従タスク実行機能は資源獲得要求中の従タスクがある場合に はそれ以外の従タスクを順次実行するコンピュー夕システム。
2 . 従タスク実行機能は資源獲得要求中の従タスクの実行を一定期間 毎に再開することを特徴とする請求の範囲第 1項記載のコンピュー夕シ スァ (
3 . 主ォペレ一ティ ングシステムプログラムあるいは従ォペレ一ティ ングシステムプログラムには、 従タスク実行機能に対して上記資源が解 放されたことを通知する解放通知機能を実現させ、
上記従タスク実行機能は当該通知に応じて資源獲得要求中の従タスク の実行を再開することを特徴とする請求の範囲第 1項記載のコンピュー 夕システム。
4 . 従オペレーティ ングシステムプログラムには、 アプリケーション プログラムで利用する仮想資源の獲得 解放状態を示す従資源テーブル を生成するテーブル生成機能を実現させ、
従タスク実行機能は、 資源を獲得できなかった従タスクは当該従資源 テーブル上の仮想資源の獲得待ち状態とすることで停止を管理し、 当該 仮想資源が解放されたことを検知して当該従タスクの処理を再開し、 解放通知機能は、 排他制御機能が上記資源を解放したことを検出した ら当該仮想資源を解放することで従タスク実行機能に対する通知を行う ことを特徴とする請求の範囲第 3項記載のコンピュータシステム。
5 . 解放通知機能は、 従オペレーティ ングシステムプログラムにおい て周期的に実施されることを特徴とする請求の範囲第 3項記載のコンピ ユー夕システム。
6 . 解放通知機能は、 従ォペレ一ティ ングシステムプログラムにおい て周期的に実施されることを特徴とする請求の範囲第 4項記載のコンピ ュ一タシステム。
7 . 解放通知機能は、 排他制御機能による資源の解放に応じて発生す るソフ トウエア割り込みに基づいて実施されることを特徴とする請求の 範囲第 3項記載のコンピュータシステム。
8 . 解放通知機能は、 排他制御機能による資源の解放に応じて発生す るソフ トウエア割り込みに基づいて実施されることを特徴とする請求の 範囲第 4項記載のコンピュータシステム。
9 . 従オペレーティングシステムプログラムあるいは主ォペレ一ティ ングシステムプログラムには、 各仮想資源と資源との対応関係を示す資 源対応テーブルを生成する対応テ一ブル生成機能を実現させ、
解放通知機能は、 この資源対応テーブルに基づいて解放すべき仮想資 源を特定することを特徴とする請求の範囲第 4項記載のコンピュ一夕シ ステム。
1 0 . 従ォペレ一ティ ングシステムプログラムあるいは主オペレ一テ イ ングシステムプログラムには、 各仮想資源と資源との対応関係を示す 資源対応テーブルを生成する対応テーブル生成機能を実現させ、
解放通知機能は、 この資源対応テ一プルに基づいて解放すべき仮想資 源を特定することを特徴とする請求の範囲第 5項記載のコンピュー夕シ ステム。
1 1 . 従オペレーティ ングシステムプログラムあるいは主オペレ一テ ィ ングシステムプログラムには、 各仮想資源と資源との対応関係を示す 資源対応テーブルを生成する対応テーブル生成機能を実現させ、
解放通知機能は、 この資源対応テーブルに基づいて解放すべき仮想資 源を特定することを特徴とする請求の範囲第 6項記載のコンピュータシ ステム
1 2 . 従ォペレ一ティ ングシステムプログラムあるいは主オペレ一テ イ ングシステムプログラムには、 各仮想資源と資源との対応関係を示す 資源対応テーブルを生成する対応テーブル生成機能を実現させ、
解放通知機能は、 この資源対応テーブルに基づいて解放すべき仮想資 源を特定することを特徴とする請求の範囲第 7項記載のコンピュー夕シ ステム。
1 3 . 従ォペレ一ティ ングシステムプログラムあるいは主オペレ一テ イ ングシステムプログラムには、 各仮想資源と資源との対応関係を示す 資源対応テーブルを生成する対応テーブル生成機能を実現させ、
解放通知機能は、 この資源対応テーブルに基づいて解放すべき仮想資 源を特定することを特徴とする請求の範囲第 8項記載のコンピュータシ ステム。
1 . 複数の主タスクを生成するとともにそれを上記中央処理装置に 順次実行させる主タスク実行機能、
各主タスクから資源獲得要求があった場合には各資源を各主タスクに 順番に割り当てて上記資源の利用を排他的に制御する排他制御機能、 アプリケーションプログラムに基づいて複数の従タスクを生成すると ともに資源獲得要求中の従タスク以外の従タスクを順次実行する従タス ク実行機能、
従タスクからの資源獲得要求があつた場合には、 上記排他制御機能が 当該要求に係る資源を解放しているか否かを確認し、 解放している場合 には当該排他制御機能に対して資源獲得要求を出力する資源獲得管理機 能をコンピュータに実現させるためのプログラムを記録したコンビユタ読み取り可能な記録媒体。
PCT/JP2001/003419 2000-04-26 2001-04-20 Systeme informatique et support d'enregistrement pouvant etre lu par ordinateur WO2001082074A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP01921967A EP1191439A1 (en) 2000-04-26 2001-04-20 Computer system and computer-readable record medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000126523A JP2001306341A (ja) 2000-04-26 2000-04-26 コンピュータシステムおよびコンピュータ読み取り可能な記録媒体
JP2000-126523 2000-04-26

Publications (1)

Publication Number Publication Date
WO2001082074A1 true WO2001082074A1 (fr) 2001-11-01

Family

ID=18636291

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2001/003419 WO2001082074A1 (fr) 2000-04-26 2001-04-20 Systeme informatique et support d'enregistrement pouvant etre lu par ordinateur

Country Status (5)

Country Link
US (1) US20030018682A1 (ja)
EP (1) EP1191439A1 (ja)
JP (1) JP2001306341A (ja)
CN (1) CN1366636A (ja)
WO (1) WO2001082074A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3687677B1 (ja) * 2004-10-26 2005-08-24 松下電工株式会社 光造形方法と光造形システム並びに光造形用プログラム
US20060168214A1 (en) * 2004-10-29 2006-07-27 International Business Machines Corporation System for managing logical partition preemption
KR100739743B1 (ko) * 2005-10-19 2007-07-13 삼성전자주식회사 홈 네트워크에서 디바이스를 독점적으로 제어하기 위한방법 및 장치
JP2008108075A (ja) * 2006-10-25 2008-05-08 Matsushita Electric Ind Co Ltd タスク切替え制御方法及びコンピュータシステム
JP2009217388A (ja) * 2008-03-07 2009-09-24 Toshiba Corp 情報処理装置
JP5215779B2 (ja) * 2008-09-01 2013-06-19 キヤノン株式会社 情報処理装置及び情報処理方法
US8370493B2 (en) 2008-12-12 2013-02-05 Amazon Technologies, Inc. Saving program execution state
JP5351853B2 (ja) * 2010-08-05 2013-11-27 株式会社エヌ・ティ・ティ・ドコモ 情報処理端末及びリソース解放方法
CN101963922B (zh) * 2010-09-29 2012-12-05 用友软件股份有限公司 任务处理方法和装置
CN103430151B (zh) * 2012-07-06 2016-11-16 华为终端有限公司 一种资源配置方法及装置
US10248487B1 (en) * 2015-01-27 2019-04-02 Violin Systems Llc Error recovery for multi-stage simultaneously running tasks
CN105138896B (zh) * 2015-08-26 2017-10-20 北京元心科技有限公司 智能终端及其硬件设备访问权限控制方法
US9892024B2 (en) 2015-11-02 2018-02-13 Sony Interactive Entertainment America Llc Backward compatibility testing of software in a mode that disrupts timing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62293436A (ja) * 1986-06-12 1987-12-21 Mitsubishi Electric Corp タスク管理装置
JPS6482136A (en) * 1987-09-24 1989-03-28 Toshiba Corp Computer system
JPH05113893A (ja) * 1991-10-23 1993-05-07 Nec Corp 仮想計算機システムにおけるボリユーム資源管理方式
JPH08129492A (ja) * 1994-11-01 1996-05-21 Nippon Telegr & Teleph Corp <Ntt> 資源排他チェックシステム及び資源排他チェック方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3665487A (en) * 1969-06-05 1972-05-23 Honeywell Inf Systems Storage structure for management control subsystem in multiprogrammed data processing system
JPH02195453A (ja) * 1989-01-25 1990-08-02 Toshiba Corp ファイルアクセス制御方式
US5392433A (en) * 1992-09-25 1995-02-21 International Business Machines Corporation Method and apparatus for intraprocess locking of a shared resource in a computer system
US6148325A (en) * 1994-06-30 2000-11-14 Microsoft Corporation Method and system for protecting shared code and data in a multitasking operating system
US6466962B2 (en) * 1995-06-07 2002-10-15 International Business Machines Corporation System and method for supporting real-time computing within general purpose operating systems
US6647508B2 (en) * 1997-11-04 2003-11-11 Hewlett-Packard Development Company, L.P. Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation
US6260068B1 (en) * 1998-06-10 2001-07-10 Compaq Computer Corporation Method and apparatus for migrating resources in a multi-processor computer system
US6374286B1 (en) * 1998-04-06 2002-04-16 Rockwell Collins, Inc. Real time processor capable of concurrently running multiple independent JAVA machines
US6587937B1 (en) * 2000-03-31 2003-07-01 Rockwell Collins, Inc. Multiple virtual machine system with efficient cache memory design

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62293436A (ja) * 1986-06-12 1987-12-21 Mitsubishi Electric Corp タスク管理装置
JPS6482136A (en) * 1987-09-24 1989-03-28 Toshiba Corp Computer system
JPH05113893A (ja) * 1991-10-23 1993-05-07 Nec Corp 仮想計算機システムにおけるボリユーム資源管理方式
JPH08129492A (ja) * 1994-11-01 1996-05-21 Nippon Telegr & Teleph Corp <Ntt> 資源排他チェックシステム及び資源排他チェック方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
M. BECK ET AL.: "Linux kernel internals", KABUSHIKI KAISHA PEARSON EDUCATION, 25 June 1999 (1999-06-25), TRANSLATED BY KABUSHIKI KAISHA QUICK, pages 119 - 122, XP002942296 *

Also Published As

Publication number Publication date
US20030018682A1 (en) 2003-01-23
EP1191439A1 (en) 2002-03-27
JP2001306341A (ja) 2001-11-02
CN1366636A (zh) 2002-08-28

Similar Documents

Publication Publication Date Title
US11537435B2 (en) System and method of providing system jobs within a compute environment
Prabhakaran et al. A batch system with efficient adaptive scheduling for malleable and evolving applications
JP3557947B2 (ja) 複数のプロセッサで同時にスレッドの実行を開始させる方法及びその装置並びにコンピュータ可読記録媒体
US8112751B2 (en) Executing tasks through multiple processors that process different portions of a replicable task
US7739685B2 (en) Decoupling a central processing unit from its tasks
TW200540705A (en) Methods and apapratus for processor task migration in a multi-processor system
WO2001082074A1 (fr) Systeme informatique et support d&#39;enregistrement pouvant etre lu par ordinateur
JP2011526040A (ja) オペレーションの保護モードスケジューリング
RU2494446C2 (ru) Восстановление управления ресурсом обработки, который исполняет внешний контекст исполнения
CN114816709A (zh) 任务调度方法、装置、服务器及可读存储介质
JPH05233331A (ja) システムを最適に構築するための方法
US7007004B2 (en) Concurrent operation of a state machine family
GB2417580A (en) Method for executing a bag of tasks application on a cluster by loading a slave process onto an idle node in the cluster
JP3893136B2 (ja) 組込みコンピュータ制御プログラム、そのプログラムを記録した記録媒体、及び組込みシステム
CN110737533B (zh) 一种任务调度方法、装置及电子设备和存储介质
US20110185365A1 (en) Data processing system, method for processing data and computer program product
JP5003673B2 (ja) マルチプロセッシング方法及びマルチプロセッサシステム
JP2010026575A (ja) スケジューリング方法およびスケジューリング装置並びにマルチプロセッサシステム
US20230195523A1 (en) Semiconductor device, control method for the same, and program
JP2004234643A (ja) プロセススケジューリング装置、プロセススケジューリング方法、プロセススケジューリングのためのプログラム、及びプロセススケジューリングのためのプログラムを記録した記録媒体
US20130042247A1 (en) Starvationless Kernel-Aware Distributed Scheduling of Software Licenses
JP2017033094A (ja) 情報処置装置、情報処理システム、情報処理方法、及びプログラム
KR20240053913A (ko) 신경망 분산 처리 장치 및 방법
CN116932160A (zh) 一种后台任务调度方法、设备及存储介质
KR101235414B1 (ko) 데이터 방송 수신기에서 스레드 관리 방법

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 01801096.2

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): CN US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

WWE Wipo information: entry into national phase

Ref document number: 2001921967

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10019078

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 2001921967

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2001921967

Country of ref document: EP