FR2648927A1 - Method and arrangement for controlling task management programmes - Google Patents
Method and arrangement for controlling task management programmes Download PDFInfo
- Publication number
- FR2648927A1 FR2648927A1 FR9007949A FR9007949A FR2648927A1 FR 2648927 A1 FR2648927 A1 FR 2648927A1 FR 9007949 A FR9007949 A FR 9007949A FR 9007949 A FR9007949 A FR 9007949A FR 2648927 A1 FR2648927 A1 FR 2648927A1
- Authority
- FR
- France
- Prior art keywords
- tasks
- conditions
- task
- forming part
- recording
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract 6
- 238000007726 management method Methods 0.000 claims 3
- 238000012795 verification Methods 0.000 claims 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
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)
Abstract
Procédé pour contrôler les programmes de gestion des tâches, permettant à une tâche d'attendre une pluralité de conditions (c'est-à-dire des événements externes), dont chacune est générée par une autre tâche, d'où il résulte que si une tâche A doit attendre les résultats de l'exécution des tâches B et C, la tâche A enregistre tout d'abord les conditions qui doivent être comparées avec les conditions saisies par l'exécution des tâches B et C, et entre dans un état d'attente. Dans le cas où les conditions enregistrées au préalable concident avec les conditions obtenues après l'exécution complète des tâches B et C, la tâche A redevient active, la tâche A n'étant pas activée tant que les tâches B et C n'ont pas complètement été exécutées. Application à la gestion des tâches des ordinateurs.A method of controlling task management programs, allowing a task to wait for a plurality of conditions (i.e. external events), each of which is generated by another task, whereby it follows that if a task A must wait for the results of the execution of tasks B and C, task A first registers the conditions which must be compared with the conditions entered by the execution of tasks B and C, and enters a state waiting. If the conditions recorded beforehand match the conditions obtained after the complete execution of tasks B and C, task A becomes active again, task A not being activated until tasks B and C have completely executed. Application to the management of computer tasks.
Description
METHODE ET ARRANGEMENT DE CONTROLE DES PROGRAMMES DE
GESTION DES TACHES
La presente invention se rapporte en grneral å une méthode et à un a r r a ngemen t de contrôle des programmes de gestion des taches, et plus spécifiquement a une méthode et un arrangement conçus pour autoriser une tache à attendre plusieurs conditions Cévénements externes) dont chacune est générée par une autre tache. La présente invention permet une grande simplification du schéma habituel selon lequel les programmes sont gérés, et favori se par consewquent l'accélération de la vitesse d'exécution.METHOD AND ARRANGEMENT FOR CONTROLLING PROGRAMS
TASK MANAGEMENT
The present invention relates generally to a method and an arrangement for controlling task management programs, and more specifically to a method and arrangement designed to allow a task to wait for several conditions External events), each of which is generated by another spot. The present invention allows a great simplification of the usual scheme according to which the programs are managed, and preferred is therefore the acceleration of the execution speed.
Une tache est un ensemble d' instructions et d'informations de données et de contrôle pouvant etre exécutées par l'unité centrale de traitement (UCT) d'un ordinateur numérique, pour effectuer certains objectifs. A task is a set of instructions and data and control information that can be executed by the central processing unit (CPU) of a digital computer, to achieve certain objectives.
Dans un environnement de multiprogrammation, une pluralité de taches se complétant pour contrtler l'unité centrale de traitement.In a multiprogramming environment, a plurality of tasks complementing each other to control the central processing unit.
Selon un procédé connu de gestion des taches, lorsqu'une tache active en cours est transférée vers un état d'attente, et attend une condition ou un événement externe obtenu en provenance d'une autre tache, la tache qui va vers l'état d'attente enregistre uniquement un emplacement selon lequel l'instruction appartenant à la tache en attente est la tache suivante que l'unité centrale de traitement devra exécuter. Par conséquent, l'emplacement enregistré au préalable est l'unique moyen par lequel une tache activante peut démarrer la tache en attente. Ceci signifie que la tache en attente a une relation de un pour un avec la tache activante. Il s'ensuit par conséquent que, si une tâche en attente a besoin d'obtenir une pluralité d'événements externes (conditions) avant d'cotre reprise, il est nécessaire de répéter plusieurs cycles d' exécution-attente-activation- exécution, de manière à obtenir le nombre de conditions voulu. PJr conséquent, le type connu de procédé de gestion des taches mentionné précédemment doit prendre en compte le problème lié au fait que le sous-programme devient long et complexe, et nécessite par là-meme de façon inhérente, un temps d'exécution long. According to a known method of task management, when an active task in progress is transferred to a waiting state, and awaits an external condition or event obtained from another task, the task which goes to the state Waiting registers only a location according to which the instruction belonging to the waiting task is the next task that the central processing unit must execute. Therefore, the previously saved location is the only means by which an activating task can start the waiting task. This means that the waiting task has a one-to-one relationship with the activating task. It therefore follows that, if a waiting task needs to obtain a plurality of external events (conditions) before our resumption, it is necessary to repeat several execution-wait-activation-activation-execution cycles, so as to obtain the desired number of conditions. Therefore, the known type of task management method mentioned above must take into account the problem related to the fact that the subroutine becomes long and complex, and therefore inherently requires a long execution time.
L'un des objets de la présente invention est de fournir une méthode de contrôle d'un programme de gestion des tâches, évitant le type d'approche une à une qui prolonge le temps d'exécution et rend un programme complexe. One of the objects of the present invention is to provide a method of controlling a task management program, avoiding the type of one-to-one approach which prolongs the execution time and makes a program complex.
Griévement, les objets mentionnés ci-dessus sont atteints par un arrangement dans lequel un procédé de contrdle des programmes de gestion des tâches autorise une tache à attendre une pluralité de conditions (c'est-å dire des événements externes), dont chacune est générée par une autre tache, d'ou il résulte que si une tâche A doit attendre les résultats de l'exécution des tâches S et C, la tâche A enregistre tout d'abord les conditions qui doivent entre comparées, avec celles qui ont été acquises par l'exécution des taches C, C, puis active les tâches B et C et entre dans un état d'attente. Dans le cas ou les conditions précédemment enregistrées coincident avec les conditions obtenues après l'achèvement des taches e et C, la tache A redevient active. La tâche A n'est pas activée tant que les tâches
S et C n'ont pas été complètement exécutées.Briefly, the objects mentioned above are achieved by an arrangement in which a process for controlling task management programs allows a task to wait for a plurality of conditions (i.e. external events), each of which is generated by another task, from which it follows that if a task A must wait for the results of the execution of tasks S and C, task A first registers the conditions which must be compared, with those which have been acquired by performing tasks C, C, then activates tasks B and C and enters a waiting state. In the case where the conditions previously recorded coincide with the conditions obtained after the completion of spots e and C, spot A becomes active again. Task A is not activated as long as the tasks
S and C have not been fully executed.
Plus spécifiquement, un premier aspect de la présente invention se présente sous la forme d'un arrangement pour exécuter une pluralité de tâches sous le contrôle d'un procédé de gestion des taches, l'une des tâches de l'ensemble étant activée et transférée dans l'etatd'attente, cette tache faisant partie de l' ensemble étant reprise et complétant son exécution uniquement lorsque l'une des taches faisant partie de l'ensemble de taches satisfait chacune des conditions émises par les autres taches faisant partie de l'ensemble des tâches; l'arrangement comprend: un premier moyen pour gérer indépendamment l'ensemble des tâches étant dans l'état exécutable; un second moyen pour stocker les premières conditions, ces premières conditions étant appliquées à partir de l'une des taches de l'ensemble avant que celle-ci ne passe dans l'état d'attente, les premières conditions ayant une relation de tune à une avec les conditions dérivées des autres tâches de l'ensemble des tâches; un troisième moyen pour stocker les secondes conditions à l'intérieur du premier moyen, les seondes conditions étant produites à partir des autres taches faisant partie de l'ensemble des tâches; un quatrième moyen pour implémenter des comparaisons un pour un entre les premières conditions et les secondes conditions après que chacune des autres taches faisant partie de l'ensemble des tâches a achevé son exécution; un cinquième moyen pour supprimer l'une des premières conditions dans le cas où l'une de ces premières conditions coincide avec une condition correspondante parmi les secondes conditions; un sixième moyen de vérification pour s'assurer que toutes les premières conditions ont été supprimées; et un septième moyen pour reprendre l'une des tâches faisant partie de l'ensemble des tâches, dans le cas où le sixième moyen indique que toutes les premières conditions ont été supprimées par le cinquième moyen. More specifically, a first aspect of the present invention is in the form of an arrangement for performing a plurality of tasks under the control of a task management method, one of the tasks of the set being activated and transferred. in the waiting state, this spot forming part of the set being resumed and completing its execution only when one of the spots forming part of the set of spots satisfies each of the conditions emitted by the other spots forming part of set of tasks; the arrangement comprises: a first means for independently managing all the tasks being in the executable state; a second means for storing the first conditions, these first conditions being applied from one of the spots of the assembly before this passes into the waiting state, the first conditions having a tune relation to one with the conditions derived from the other tasks in the set of tasks; third means for storing the second conditions inside the first means, the second conditions being produced from the other tasks forming part of the set of tasks; fourth means for implementing one-for-one comparisons between the first conditions and the second conditions after each of the other tasks in the set of tasks has completed its execution; fifth means for suppressing one of the first conditions in the event that one of these first conditions coincides with a corresponding condition among the second conditions; a sixth means of verification to ensure that all of the first conditions have been removed; and a seventh means for resuming one of the tasks forming part of the set of tasks, in the case where the sixth means indicates that all the first conditions have been deleted by the fifth means.
Un second aspect de la présente invention se présente sous la forme d'une méthode pour exécuter une pluralité de tâches, selon un procédé de gestion des tâches, dans lequel une des taches de l'ensemble des taches est activée et transférée dans l'état d'attente, cette tache étant reprise et achevant l'exécution de celle-ci uniquement lorsque la tâche faisant partie de l'ensemble des tâches satisfait chacune des conditions émises par les autres taches faisant partie de l'ensemble des tâches; la méthode comprend les etapes de: taj gestion indépendante de l'ensemble des taches se trouvant dans l'état exécutable-; (b) enregistrement des premières conditions à l'intérieur du premier moyen, les premières conditions étant appliquées à partir de celle des taches faisant partie de l'ensemble des taches avant que celleci ne passe à l'état d'attente, les premieres conditions ayant une relation de une à une avec les conditions dérivees des autres taches faisant partie de l'ensemble des tâches; (c) enregistrement des secondes conditions à l'intérieur du premier moyen, les secondes conditions étant produites par les autres tâches faisant partie de l'ensemble des tâches; (d) implémentation de comparai sons une à une des premières conditions avec les secondes conditions après que chacune des autres taches de l'ensemble des taches a effectué son exécution complète; (e) suppression de l'une des premières conditions dans le cas ou l'une des premières conditions coïncide avec une condition correspondante parmi les secondes conditions; (f) contrôle pour vérifier que l'ensemble des premières conditions a éte supprimé; et (g) reprise de L'une des tâche de l'ensemble des tâches dans le cas ou la totalité des premières conditions a été supprimée à l'étape (e). A second aspect of the present invention is in the form of a method for executing a plurality of tasks, according to a task management method, in which one of the tasks of the set of tasks is activated and transferred into the state. waiting, this task being resumed and completing the execution thereof only when the task forming part of the set of tasks satisfies each of the conditions emitted by the other tasks forming part of the set of tasks; the method includes the steps of: taj independent management of all the tasks in the executable state; (b) recording of the first conditions inside the first means, the first conditions being applied on the basis of that of the spots forming part of the set of spots before this enters the waiting state, the first conditions having a one-to-one relationship with the conditions derived from the other tasks forming part of the set of tasks; (c) recording of the second conditions within the first means, the second conditions being produced by the other tasks forming part of the set of tasks; (d) implementing one-to-one comparisons of the first conditions with the second conditions after each of the other tasks in the set of tasks has completed its execution; (e) deletion of one of the first conditions in the case where one of the first conditions coincides with a corresponding condition among the second conditions; (f) check to verify that all of the first conditions have been removed; and (g) resumption of one of the tasks from the set of tasks in the case where all of the first conditions have been deleted in step (e).
Les caractéristiques et avantages de la présente invention pourront etre plus clairement appréciés à la lecture de la description qui Suit prise conjointement avec les dessins annexes, dans lesquels les elements semblables portent les mimes numéros de référence, et dans lesquels:
la Fig. 1 est un schéma synoptique illustrant un programme d'exécution de tâche selon la présente invention; et
la Fig. 2 est un schéma synoptique illustrant schématiquement tes modules du logiciel pour l'implémentation des étapes de la Fig. 1.The characteristics and advantages of the present invention will be more clearly appreciated on reading the following description taken in conjunction with the accompanying drawings, in which similar elements have the same reference numbers, and in which:
Fig. 1 is a block diagram illustrating a task execution program according to the present invention; and
Fig. 2 is a block diagram schematically illustrating your software modules for the implementation of the steps of FIG. 1.
Un mode de réalisation préféré de cette invention va etre décrit en se reportant aux Figs. 1 et 2. A preferred embodiment of this invention will be described with reference to Figs. 1 and 2.
La Fig. 1 est un diagramme de circulation montrant les étapes qui caractérisent le fonctionnement de cette invention. Brièvement, une tache A doit attendre les résuLtats de L'exécution des taches B, C. La tâche A enregistre tout d'abord les conditions qui doivent etre comparées avec les conditions obtenues par L'exécution des tâches B, C. Puis, la tâche A active les tâches 8 et
C et va vers un état d'attente. Dans le cas où les conditions préalablement enregistrées coïncident avec les conditions obtenues par l'exécution complète des tâches 3 et C, la tâche A redevient active. En d'autres termes, la tâche A n'est pas activée tant que l'exécution des tâches
B et C n'est pas achevee. Ces opérations sont contrôlées par une section 10 de gestion des tâches. On se référera de nouveau à la Fig. 1, plus en détail.Fig. 1 is a flow diagram showing the steps which characterize the operation of this invention. Briefly, a task A must wait for the results of the execution of tasks B, C. Task A first registers the conditions which must be compared with the conditions obtained by the execution of tasks B, C. Then, the task A activates tasks 8 and
C and goes to a waiting state. In the case where the previously recorded conditions coincide with the conditions obtained by the complete execution of tasks 3 and C, task A becomes active again. In other words, task A is not activated until task execution
B and C is not complete. These operations are controlled by a task management section 10. We will again refer to FIG. 1, in more detail.
La Fig. 2 est un schéma synoptique qui illustre schématiquement un arrangement de module logiciel, illustrant les opérations implémentées par les diverses étapes, tel qu'illustré à la Fig. 1. La section 10 de gestion des tâches comprend un contrôleur de taches 100, fonctionnellement divise en quatre sous-sections: un contrôleur 100a de génération de bloc de contrôle des tâches (SCT), un contrôleur 100b d'attente de tâche, un contrôleur 100c d'activation de tâche et un contrôleur 10ûd de suppression de bloc de contrôle des tâches. Fig. 2 is a block diagram which schematically illustrates an arrangement of a software module, illustrating the operations implemented by the various steps, as illustrated in FIG. 1. The task management section 10 comprises a task controller 100, functionally divided into four subsections: a task control block generation controller 100a, a task standby controller 100b, a controller 100c of task activation and a controller 10ûd of block of control of the tasks.
Un bloc de contrôle de tâches 200, 'qui est affecté à la tache A, est doté d'une table qui enregistre les informations pour le contrôle de la tache A, tant que celle-ci est en phase d'exécution. Plus spécifique ent, le bloc de contrôle des taches 200 est créé par le contrôleur 100a de génération de bloc de contrôle des tâches, en réponse à une demande qui lui est transmise en provenance de la tâche A et qui est supprimée par le contrôleur 100d de suppression de bloc de contrôle des tâches, en réponse à une demande qui lui est transmise en provenance de la tâche A. A task control block 200, which is assigned to task A, is provided with a table which records the information for the control of task A, as long as the latter is in the execution phase. More specifically, the task control block 200 is created by the task control block generation controller 100a, in response to a request which is transmitted to it from task A and which is deleted by the controller 100d from deletion of task control block, in response to a request sent to it from task A.
Le bloc de contrôle des taches 200 inclut quatre indicateurs V, R, W, et N, dont chacun est un bit. The task control block 200 includes four flags V, R, W, and N, each of which is a bit.
L'indicateur V indique la validité du bloc de contrôle des tâches 200 lorsqu'il est positionné sur (ON) et son invalidité lorsqu'il est remis à l'état initial (OFF), alors que l'indicateur R indique si la tache A est ou n'est pas dans un état activé (ou état de marche).The V indicator indicates the validity of the task control block 200 when it is set to (ON) and its invalidity when it is reset (OFF), while the R indicator indicates whether the task A is or is not in an activated state (or working state).
L'indicateur w indique que la tâche A est dans un étant d'attente en fonction d'un état logique de celle-ci, alors que l'indicateur N indique que la tâche A est dans un état d'attente de redémarrage, dépendant égal-ment d'un état logique de celle-ci. The indicator w indicates that task A is in a waiting state as a function of a logical state thereof, while the indicator N indicates that task A is in a waiting state for restarting, dependent also of a logical state of this one.
Le bloc de contrôle des taches 200 inclut de plus des sections d'enregistrement 200a, 200b et 200c. La section 200a mémorise une identification de bloc de contrôle des tâches, indiquant que ta tâche A saisit le bloc de contrôle des taches 200, alors que la section d'enregistrement 200b enregistre les conditions mentionnées précédemment, nécessitées ou attendues par ta tache A. D'autre part, la section d enregistrement 200c enregistre une indication selon laquelle l'instruction appartenant à la tâche A est celle qui doit cotre exécutée ensuite par L'uni té centrale de traitement, à la reprise de la tache A. En d'autres termes, la section d'enregistrement 200c retient un emplacement pour l'instruction qui doit être exécutée ensuite, lorsque la, tâche A redevientactive. The task control block 200 further includes recording sections 200a, 200b and 200c. Section 200a stores a task control block identification, indicating that your task A enters the task control block 200, while the recording section 200b records the conditions mentioned above, required or expected by your task A. D On the other hand, the recording section 200c records an indication according to which the instruction belonging to task A is the one which must then be executed by the central processing unit, when task A is resumed. terms, the recording section 200c retains a location for the instruction which must be executed next, when the task A becomes active again.
Les références 300 et 40G se rapportent aux blocs de contrôle des tâches respectivement assignés aux tâches B et C. Le bloc de contrôle des tâches 300 est doté de quatre indicateurs V, R, W et N, et de trois sections d'enregistrement 300a, 300b et 300c, qui correspondent respectivement aux parties opposées 200a, 200b et 200c. The references 300 and 40G relate to the task control blocks respectively assigned to tasks B and C. The task control block 300 is provided with four indicators V, R, W and N, and three recording sections 300a, 300b and 300c, which correspond respectively to the opposite parts 200a, 200b and 200c.
De la meme manière, le bloc de contrôle des tâches 400 est doté de quatre indicateurs V, R, W et n, et de trois sections d'enregistrement 400a, 400b et 400c, qui correspondent également aux parties qui leur sont opposées 2O0a, 200b 200c. Chacun des blocs de contrôle des tâches 300 et 400 est identique, en ce qui concerne son arrangement logiciel, au bloc de contrôle des tâches 200, et par conséquent, afin d'être bref, on ne reviendra pas sur la description de ces blocs.In the same way, the task control block 400 is provided with four indicators V, R, W and n, and with three recording sections 400a, 400b and 400c, which also correspond to the parts which are opposed to them 2O0a, 200b 200c. Each of the task control blocks 300 and 400 is identical, as regards its software arrangement, to the task control block 200, and therefore, in order to be brief, the description of these blocks will not be returned to.
Le fonctionnement de la présente invention va être décrit plus en détail en se référant aux Figs. 1 et 2. The operation of the present invention will be described in more detail with reference to Figs. 1 and 2.
La tâche A doit obtenir les conditions qu'elle attend apres L'exécution complete des taches B et C. A L'étape 12, la tâche A est activée et demande ensuite au contrôleur 100a de génération de bloc de contrôle des taches (Fig. 2) de générer un bloc de contrôle des tâches (portant la référence BCT A) pour lui-meme. Il convient de noter que le logiciel d'exécution de la tache A est appelé TACHE A. A ce moment, l'indicateur R dans le BCT A est positionné sur ON. Puis la tâche A active les taches
B et C , respectivement aux étapes 14 et 16. A L'étape suivante, 18, le BCT A enregistre, dans la section d'enregistrement 200b, les conditions qui seront comparées ensuite avec les conditions obtenues à partir des tâches B et C. Pour la simplicite de La description, les conditions enregistrées par la tâche A sont respectivement appelées B' et C', alors que les conditions obtenues à partir des taches B et C sont appeLées B et C.Task A must obtain the conditions it expects after the complete execution of tasks B and C. In step 12, task A is activated and then requests the controller 100a to generate the task control block (FIG. 2) generate a task control block (bearing the reference BCT A) for itself. It should be noted that the software for executing task A is called TASK A. At this time, the indicator R in the BCT A is set to ON. Then task A activates the tasks
B and C, respectively in steps 14 and 16. In the next step, 18, the BCT A records, in the recording section 200b, the conditions which will then be compared with the conditions obtained from tasks B and C. For the simplicity of the description, the conditions recorded by task A are respectively called B 'and C', while the conditions obtained from spots B and C are called B and C.
De plus, à L'étape 18, l'indicateur W du 6CT A est positionné dans son état ON, et indique donc que la tâche
A est en état d'attente. Ensuite, à L'étape 20, la tache
A accède au contrôleur 100b d'attente de tache, et positionne l'indicateur W sur ON, puis va vers l'état d'attente.In addition, in Step 18, the indicator W of the 6CT A is set to its ON state, and therefore indicates that the task
A is in waiting state. Then, in Step 20, the stain
A accesses the task standby controller 100b, and sets the indicator W to ON, then goes to the standby state.
La tâche 8, qui a été activée par la tache A à L'étape 14, demande au contrôleur 100a de génération de bloc de contrôle des taches de saisir un bloc de contrôle des tâches (appelé BCT B) à L'étape 30. Ainsi, Le BCT B est crée, comme cela est illustré à la fig. 2, et une section d'enregistrement 300a (correspondant à la section 200a) mémorise une identification de bloc de contrôle des taches, par laquelle la tache B spécifie le BCT B. De plus, à L'étape 30, les facteurs suivants sont mis en place: (a) un indicateur R est positionné, et (b) une condition, qui est attendue lorsque la tache B a été complètement exécutée, est enregistrée dans une section d'enregistrement 300b qui correspond à La section 20Db du
BCT A. Après L'étape 30, la tâche B exécute une (ou des) instruction(s) prédéterminée(s) à L'étape 32. A L'étape 34, ia tache 6 active la tache A, d'ou il résulte que Le programme entre dans un sous-programme 40 appartenant à la section de gestion des taches 10, et qui est appelé
ACTIVATION.Task 8, which was activated by task A in step 14, requests the task control block generation controller 100a to enter a task control block (called BCT B) in step 30. Thus , BCT B is created, as illustrated in fig. 2, and a recording section 300a (corresponding to section 200a) stores a task control block identification, by which the spot B specifies the BCT B. In addition, in Step 30, the following factors are set in place: (a) an indicator R is positioned, and (b) a condition, which is expected when the task B has been completely executed, is recorded in a recording section 300b which corresponds to Section 20Db of the
BCT A. After Step 30, task B executes a predetermined instruction (s) in Step 32. In Step 34, task 6 activates task A, from where it As a result, the program enters a subroutine 40 belonging to the task management section 10, and which is called
ACTIVATION.
Le sous-programme va vers L'étape 42 et recherche un (ou des) bloc(s) de contrôle des tâches dont l'indicateur
W est positionné sur ON. Dans ce mode de réalisation, seul l'indicateur W du BCT A a été positionné sur (ON), et donc la condition B' dans la section d'enregistrement 2û0b est comparée avec la condition C dans la section d'enre.istrement 300b. ans le cas ou les conditions B' et
B coïncident, la condition Z' est supprimée de la section d'enregistrement 200b à l'étape 44. A la suite de ceci, à L'étape 46, la section 200b est contrôlée pour vérifier que toutes les conditions enregistrées dedans (8' et C' dans le cas présent) ont eté supprimees. A ce moment là, la condition C n'est pas encore supprimée, et donc le sous-programme 40 passe à l1étape 48. Ainsi, le programme passe directement à l'étape 36 ou le BCT B est supprimé par le contrôleur 100d de suppression de bloc de contrôle des tâches, et ainsi s'achève le programme TACHE
B.The subroutine goes to Step 42 and searches for a task control block (s) whose indicator
W is set to ON. In this embodiment, only the indicator W of the BCT A has been set to (ON), and therefore the condition B 'in the recording section 2û0b is compared with the condition C in the recording section 300b . in the case or conditions B 'and
B coincides, condition Z 'is removed from the recording section 200b in step 44. Following this, in Step 46, section 200b is checked to verify that all of the conditions recorded in it (8' and C 'in this case) have been deleted. At this time, the condition C is not yet deleted, and therefore the subroutine 40 goes to step 48. Thus, the program goes directly to step 36 or the BCT B is deleted by the deletion controller 100d control block, and thus ends the TASK program
B.
De la même manière, la tâche B qui a été activée par la tâche A à l'étape 16, demande au contrôleur 100a de génération de bloc de contrôle des tâches de saisir un bloc de contrôle des tâches (appelé BCT C) à l'étape 50. Likewise, task B which has been activated by task A in step 16, requests the task control block generation controller 100a to enter a task control block (called BCT C) at the step 50.
Ainsi, le BCT C est créé tel qu'illustré à la Fig. 2, et une section d'enregistrement 400a (correspondant à la section 200a) mémorise une identification de BCT par laquelle la tache C spécifie le BCT C. En outre, à l'étape 50, les facteurs suivants sont mis en place: (a) un indicateur R du 6CT C est positionne, et (b) une condition, qui est attendue lorsque la tache C a été completement exécutée, est enregistrée dans une section d'enregistrement 400b qui correspond a la section 200b du
BCT A. Apres l'étape 40, la tâche C execute une (ou des) instruction(s) prédéterminée(s) à l'étape 42. A L'étape 44, la tache C active la tache A, d'ou il résulte que le programme entre dans un sous-programme 40.Thus, the BCT C is created as illustrated in FIG. 2, and a recording section 400a (corresponding to section 200a) stores a BCT identification by which the spot C specifies the BCT C. In addition, in step 50, the following factors are set up: (a ) an R indicator of the 6CT C is set, and (b) a condition, which is expected when the task C has been completely executed, is recorded in a recording section 400b which corresponds to section 200b of the
BCT A. After step 40, task C executes a predetermined instruction (s) in step 42. In step 44, task C activates task A, from where it results that the program enters a subroutine 40.
Le sous-programme va vers l'étape 42 et recherche un (ou des) bloc(s) de contrôle des taches dont l'indicateur
W est positionné sur ON. Comme cela a été mentionne précédemment, seul l'indicateur W du BCT A a eté positionné sur (ON), et donc la condition C' dans la section d'enregistrement 200b est comparée avec la condition C dans la section d'enregistrement 300b. Dans le cas où les conditions C et C' coincident, la condition
C' est supprimée de la section d'enregistrement 200b à l'étape 44.The subroutine goes to step 42 and searches for one (or more) block (s) of task control including the indicator
W is set to ON. As mentioned previously, only the WB indicator of BCT A has been set to (ON), and therefore condition C 'in the recording section 200b is compared with condition C in the recording section 300b. In the case where conditions C and C 'coincide, the condition
It is deleted from the recording section 200b in step 44.
A L'étape 46, la section 2OOb est contrôlée pour vérifier que toutes les conditions enregistrées dedans tel et C') ont été supprimées. Dans cet exemple particulier, les conditions B' et C ont déjà été supprimées, et donc le sous-programme 40 passe à L'étape 49, ou la tâche A est activée. De plus, à l'étape 49, les indicateurs W et N du BCT A sont respectivement mis en position OFF et ON. Ceci indique que la tâche A est transférée de l'état d'attente à L'étant d'attente de redémarrage. A la suite de ceci, le programme passe directement à l'étape 22, appartenant au programme TACHE
A, et à ce point, les indicateurs N et R sont respectivement positionnées sur OFF et ON. A l'étape 24, la tache A redevient active. D'autre part, lorsque l'exécution à L'étape 49 est achevée, le sous-programme va vers ltétape 48 ou le programme passe directement à l'étape 56.A ce moment là, le SCT C est supprimé par le contrôleur 100d de suppression de bloc de contrôle des tâches, et ainsi s'achève le programme TACHE C.In step 46, section 2OOb is checked to verify that all the conditions recorded in tel and C ') have been deleted. In this particular example, conditions B 'and C have already been deleted, and therefore the subroutine 40 goes to Step 49, where task A is activated. In addition, in step 49, the indicators W and N of the BCT A are respectively put in the OFF and ON position. This indicates that task A is transferred from the waiting state to the restart waiting state. Following this, the program goes directly to step 22, belonging to the TASK program.
A, and at this point, the indicators N and R are respectively positioned on OFF and ON. In step 24, task A becomes active again. On the other hand, when the execution in Step 49 is completed, the subroutine goes to step 48 or the program goes directly to step 56. At this time, the SCT C is deleted by the controller 100d task block deletion, and ends the TASK C program.
Comme cela a été décrit dans ce qui précède, la tache A enregistre une pluralité des conditions devant etre satisfaites par les résultats des tâches B et C, puis va vers l'état d'attente. La section d'enregistrement 20Db peut être situee de telle sorte que l'accès a ses contenus soit simple. Les conditions, qui sont enregistrées par la tache, sont supprimées une par une, au fur et à mesure que les taches B et C sont exécutées, et jusqu'à ce que toutes les conditions aient éto supprimées. Ensuite, La tache A est å nouveau activée. As described above, task A registers a plurality of conditions to be satisfied by the results of tasks B and C, then goes to the waiting state. The recording section 20Db can be located so that access to its contents is simple. The conditions, which are saved by the task, are deleted one by one, as tasks B and C are executed, and until all the conditions have been deleted. Then, task A is activated again.
Donc, selon la présente invention, une tâche donnée attend une pluralité d'événements externes résultant d'autres taches, qui doivent être satisfaites avant que
Ladite tache donnée ne soit reprise.Thus, according to the present invention, a given task waits for a plurality of external events resulting from other tasks, which must be satisfied before
Said task is not taken up.
Dans ce qui précède, il n'est fait référence qu'a deux tâches B et C, mais il va sans dire que le champ d'application de cette invention n'est en aucun cas limite à ce nombre de tâches. In the foregoing, only two tasks B and C are referred to, but it goes without saying that the scope of this invention is in no way limited to this number of tasks.
Alors que la description qui précède ne décrit qu'un mode de réalisation de la présente invention, les diverses sol ut ions et modifications possibles ne sortant pas du champ d'application de ta présente invention, qui n'est limité que par les revendications annexes, seront apparentes aux personnes de l'art. While the foregoing description describes only one embodiment of the present invention, the various solutions and possible modifications do not depart from the scope of the present invention, which is only limited by the appended claims , will be apparent to those skilled in the art.
Claims (6)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1161560A JP2573875B2 (en) | 1989-06-23 | 1989-06-23 | Program control method |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2648927A1 true FR2648927A1 (en) | 1990-12-28 |
FR2648927B1 FR2648927B1 (en) | 1993-11-12 |
Family
ID=15737431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9007949A Expired - Lifetime FR2648927B1 (en) | 1989-06-23 | 1990-06-25 | METHOD AND ARRANGEMENT FOR THE CONTROL OF TASK MANAGEMENT PROGRAMS |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2573875B2 (en) |
FR (1) | FR2648927B1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3245500B2 (en) * | 1994-04-28 | 2002-01-15 | エヌイーシーマイクロシステム株式会社 | Event management method in multi-programming |
JP2718377B2 (en) * | 1994-10-07 | 1998-02-25 | 日本電気株式会社 | Waiting system for child task completion |
JP4812320B2 (en) * | 2005-04-04 | 2011-11-09 | 三菱電機株式会社 | Blowout device, underfloor mounting structure of blowout device, and indoor temperature control system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4733347A (en) * | 1983-09-30 | 1988-03-22 | Hitachi, Ltd. | Method and apparatus for synchronized concurrent processes |
EP0274339A2 (en) * | 1986-10-29 | 1988-07-13 | United Technologies Corporation | Event driven executive |
-
1989
- 1989-06-23 JP JP1161560A patent/JP2573875B2/en not_active Expired - Lifetime
-
1990
- 1990-06-25 FR FR9007949A patent/FR2648927B1/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4733347A (en) * | 1983-09-30 | 1988-03-22 | Hitachi, Ltd. | Method and apparatus for synchronized concurrent processes |
EP0274339A2 (en) * | 1986-10-29 | 1988-07-13 | United Technologies Corporation | Event driven executive |
Non-Patent Citations (2)
Title |
---|
COMPCON '83, 26 TH IEEE COMPUTER SOCIETY INTERNATIONAL CONFERENCE 28 Février 1983, SAN FRANCISCO, USA pages 460 - 463 J. CUADRADO AND G. R. LINSENMAYER 'Efficient high speed implementation of directed graph signal processing in a distributed processing system' * |
IBM TECHNICAL DISCLOSURE BULLETIN. vol. 23, no. 12, Mai 1981, NEW YORK US pages 5616 - 5617 M. H. SKELTON 'Method of providing prerequisite functions or initial conditions for data processing routines' * |
Also Published As
Publication number | Publication date |
---|---|
JPH0325624A (en) | 1991-02-04 |
FR2648927B1 (en) | 1993-11-12 |
JP2573875B2 (en) | 1997-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6779179B1 (en) | Registry emulation | |
US8533705B2 (en) | Registry emulation | |
EP0872796B1 (en) | Method for managing a shared memory | |
US20050114870A1 (en) | System and method for executing an application on a secured run-time environment | |
WO2002061579A2 (en) | Method and system for managing shared-library executables | |
EP1561164A1 (en) | Method for managing virtual machines | |
FR2648927A1 (en) | Method and arrangement for controlling task management programmes | |
EP0604310B1 (en) | Information system and method for cache memory management | |
US7831959B1 (en) | Method and apparatus to manage configuration for multiple file server appliances | |
EP0969625A1 (en) | Communication agent between a manager and at least one resource of a computer system | |
EP3637266A1 (en) | Method for accessing a memory | |
FR2773241A1 (en) | METHOD FOR ASSISTING THE ADMINISTRATION OF A DISTRIBUTED APPLICATION BASED ON A BINARY CONFIGURATION FILE IN A COMPUTER SYSTEM | |
FR2835629A1 (en) | METHOD AND SYSTEM FOR MANAGING A PERSONAL EVENT LOG FOR AN OPERATING ACTIVITY EXECUTED ON A HARDWARE PERIMETER AND MEMORY IMPLEMENTED IN THIS SYSTEM | |
EP0897153A1 (en) | Method for determining startup time of an information system | |
EP0809830B1 (en) | Method for accessing data received from a server, and terminal using same | |
EP1134657A1 (en) | Computing system and computation process implemented with said system | |
CN113741945A (en) | Application disk hot updating method, device, medium and equipment based on cloud application | |
EP0119886A1 (en) | Method of protecting software recorded by a supplier on a portable magnetic holder | |
CA2397449A1 (en) | Method for automatic generation of symbol tables of a real time computer | |
US20240330797A1 (en) | Intelligent voice recognized task organizer and tracker | |
Hassan | Analyzing digital evidence | |
FR2797968A1 (en) | DEVICE AND METHOD FOR LOADING CONTROLS IN AN INTEGRATED CIRCUIT BOARD | |
FR3076920A1 (en) | METHOD OF REPROGRAMMING DATA OF A SOFTWARE FUNCTION EXECUTED BY AT LEAST ONE COMPUTER PROVIDED WITH AT LEAST ONE HEART OF EXECUTION, AT LEAST ONE HEART OF SAFETY AND AT LEAST ONE NON-VOLATILE MEMORY | |
EP0688124A1 (en) | Method and interface for sharing physical resources | |
JP2752818B2 (en) | Data I / O asynchronous processing method |