FR2658628A1 - Computerised system for managing the real-time execution of tasks in accordance with predetermined priorities and hierarchies - Google Patents

Computerised system for managing the real-time execution of tasks in accordance with predetermined priorities and hierarchies Download PDF

Info

Publication number
FR2658628A1
FR2658628A1 FR9002049A FR9002049A FR2658628A1 FR 2658628 A1 FR2658628 A1 FR 2658628A1 FR 9002049 A FR9002049 A FR 9002049A FR 9002049 A FR9002049 A FR 9002049A FR 2658628 A1 FR2658628 A1 FR 2658628A1
Authority
FR
France
Prior art keywords
task
tasks
priority level
primary
register
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
Application number
FR9002049A
Other languages
French (fr)
Other versions
FR2658628B1 (en
Inventor
Delpierre Gaetan
Marillia Philippe
Roudeau Frederic
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renault SAS
Regie Nationale des Usines Renault
Original Assignee
Renault SAS
Regie Nationale des Usines Renault
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 Renault SAS, Regie Nationale des Usines Renault filed Critical Renault SAS
Priority to FR9002049A priority Critical patent/FR2658628B1/en
Publication of FR2658628A1 publication Critical patent/FR2658628A1/en
Application granted granted Critical
Publication of FR2658628B1 publication Critical patent/FR2658628B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4818Priority circuits therefor

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

The computerised system for the real-time management of a plurality of tasks whose priority levels have been defined, according to the invention, comprises several task registers, a primary register for indicating the presence of the tasks in a priority level and a secondary register for indicating the presence of a task under execution on a given level, and two tests, primary and secondary, which, on the basis of the primary and secondary registers, enable the system to execute only tasks of a higher priority level and to finish an interrupted task before beginning another task situated at a same priority level.

Description

SYSTEME INFORMATIQUE POUR GERER L'EXECUTION EN TEMPS REEL DE TACHES
SELON DES PRIORITES ET HIERARCHIES PREDETERMINEES.
COMPUTER SYSTEM FOR MANAGING REAL-TIME TASK EXECUTION
ACCORDING TO PREDETERMINED PRIORITIES AND HIERARCHIES.

La présente invention concerne un système informatique capable d'exécuter en temps réel une pluralité de tâches. The present invention relates to a computer system capable of performing a plurality of tasks in real time.

L'invention concerne plus particulièrement un système informatique qui gere l'exécution des tâches dont les niveaux de priorité d'exécution ont été définis au préalable. The invention relates more particularly to a computer system which manages the execution of tasks whose execution priority levels have been defined beforehand.

Actuellement, la définition des niveaux de priorité des tâches dans ce genre de système est effectuée à l'aide des moyens d'interruption câblée faisant partie du matériel (Hardware) du système. Une telle définition de priorité n'est pas facile à changer pour s'adapter à de nouvelles tâches à exécuter. Currently, the definition of the priority levels of the tasks in this kind of system is carried out using the wired interrupt means forming part of the hardware of the system. Such a definition of priority is not easy to change to adapt to new tasks to be performed.

Il en résulte une rigidité d'utilisation du système et un temps total plus long pour l'exécution de la tâche interrompue. This results in rigidity in the use of the system and a longer total time for the execution of the interrupted task.

L'objet de la présente invention est de remédier à ces inconvénients en réalisant un système informatique dont le fonctionnement est plus salubre, dont l'utilisation est plus souple, et dont la gestion des tâches à exécuter est plus dynamique. The object of the present invention is to remedy these drawbacks by providing a computer system whose operation is more healthy, whose use is more flexible, and whose management of the tasks to be executed is more dynamic.

Le système selon l'invention permet de définir ou redéfinir, au début de chaque relance du logiciel utilisé, les niveaux de priorité, ainsi que les hiérarchies des tâches à exécuter grâce à une routine d' interruption.  The system according to the invention makes it possible to define or redefine, at the start of each restart of the software used, the priority levels, as well as the hierarchies of the tasks to be executed thanks to an interrupt routine.

Le système informatique, selon l'invention, est capable d'exécuter en temps réel une pluralité de tâches. Ce système comprend plusieurs registres de tâches dans lesquels sont mémorisées les tâches à exécuter dont les niveaux de priorité et les hiérarchies dans un niveau de priorité donné ont été définis au préalable par la routine d'interruption, un registre primaire et un registre secondaire de structure identique et dont chaque bit correspond à un niveau de priorité déterminé des tâches mémorisées dans l'un des registres de taches correspondant, les registres primaire et secondaire étant conçus de telle sorte que pour un niveau de prioriété donné, lorsqu'il y a présence d'au moins une tâche en attente d'exécution sur ce niveau, le bit correspondant du registre primaire vaut 1 (0 dans le cas contraire); lorsqu'il y a une tâche en cours d'exécution ou une tâche dont l'exécution est interrompue sur ce niveau, le bit correspondant du registre secondaire vaut 1 (O dans le cas contraire). The computer system according to the invention is capable of performing a plurality of tasks in real time. This system includes several task registers in which the tasks to be executed are stored, the priority levels and hierarchies in a given priority level having been defined beforehand by the interrupt routine, a primary register and a secondary structure register. identical and each bit of which corresponds to a determined priority level of the tasks stored in one of the corresponding task registers, the primary and secondary registers being designed so that for a given priority level, when there is presence of 'at least one task awaiting execution on this level, the corresponding bit of the primary register is worth 1 (0 otherwise); when there is a task in progress or a task whose execution is interrupted on this level, the corresponding bit of the secondary register is worth 1 (O in the opposite case).

Les registres primaire et secondaire sont comparés, à l'aide de tests appropriés, de façon à pouvoir n'exécuter qu'une tâche située dans un niveau de priorité supérieur ou réactiver une tâche dont l'exécution a été interrompue pour continuer cette exécution lorsqu'vil nty a plus de tâche en attente d'exécution située à un niveau de priorité supérieur. The primary and secondary registers are compared, using appropriate tests, in order to be able to execute only a task located in a higher priority level or reactivate a task whose execution has been interrupted to continue this execution when 'vil nty has no more tasks awaiting execution located at a higher priority level.

L'invention sera mieux comprise à l'étude de la description détaillée d'un mode de réalisation de l'invention pris à titre d'exemple nullement limitatif et illustré par les dessins annexés, sur lesquels
la figure I est un schéma de fonctionnement du système informatique selon l'invention; et
la figure 2 est une schéma d'explication de la détermination de la tâche à exécuter selon l'invention.
The invention will be better understood on studying the detailed description of an embodiment of the invention taken by way of nonlimiting example and illustrated by the appended drawings, in which
Figure I is a block diagram of the computer system according to the invention; and
Figure 2 is a diagram explaining the determination of the task to be performed according to the invention.

Pour faciliter la compréhension de l'invention, seule la partie qui nous intéresse du système de l'invention est exposée ci-dessous. To facilitate understanding of the invention, only the part which interests us of the system of the invention is set out below.

Comme illustré sur la figure 1, le système comprend une unité de base 1 dans laquelle sont mémorisées des tâches de fond générées lors de l'exécution des tâches mémorisées dans des registres de tâches P3i. L'unité de base est reliée par une connexion 2 à une unité de définition 3 qui définit, à l'aide d'une routine d'interruption, les niveaux de priorité et les hiérarchies des tâches mémorisées dans les registres P3i. L'unité de définition 3 est reliée par une connexion 4 à une unité de gestion 5 permettant de mémoriser les niveaux de priorité des tâches dans un registre primaire P1 et un registre secondaire P2 et de différencier les niveaux de priorité et les hiérarchies des tâches mémorisées dans les registres P3i en attente d'exécution et/ou en cours d'exécution.L'unité de gestion 5 gère l'exécution des tâches mémorisées dans les registres P3i jusqu a la dernière tâche, le fonctionnement du système étant assuré ensuite dans l'unité de base qui gère les tâches de fond moins prioritaires que les tâches mémorisées dans les registres P3i
De préférence, les registres primaire P1 et secondaire P2 sont identiques. Le registre primaire P1 mémorise les niveaux de priorité des tâches en attente d'exécution se trouvant sur les registres P3i correspondants. De même, le registre secondaire P2 mémorise les niveaux de priorité des tâches en cours d'exécution ou dont l'exécution a été interrompue.Chaque registre P 3i correspond à un niveau de priorité donné et mémorise des tâches en attente d'exécution selon une hiérarchie bien définie, de façon à ce que la tâche de hiérarchie supérieure soit exécutée en premier pour un même niveau de prioriété de tâche.
As illustrated in FIG. 1, the system comprises a basic unit 1 in which background tasks generated during the execution of the tasks stored in task registers P3i are stored. The base unit is connected by a connection 2 to a definition unit 3 which defines, using an interrupt routine, the priority levels and the hierarchies of the tasks stored in the registers P3i. The definition unit 3 is connected by a connection 4 to a management unit 5 making it possible to store the priority levels of the tasks in a primary register P1 and a secondary register P2 and to differentiate the priority levels and the hierarchies of the stored tasks in the registers P3i awaiting execution and / or being executed. The management unit 5 manages the execution of the tasks stored in the registers P3i until the last task, the operation of the system then being ensured in the base unit which manages the lower priority background tasks than the tasks stored in the P3i registers
Preferably, the primary P1 and secondary P2 registers are identical. The primary register P1 stores the priority levels of the tasks awaiting execution located on the corresponding registers P3i. Likewise, the secondary register P2 stores the priority levels of the tasks in progress or whose execution has been interrupted. Each register P 3i corresponds to a given priority level and stores tasks awaiting execution according to a well-defined hierarchy, so that the higher hierarchy task is executed first for the same level of task priority.

En pratique, on choisira avantageusement les registres primaire
P1 et secondaire P2 ayant le même nombre de bits qui peut être inférieur ou égal au nombre de registres de tâches P3i Etant donné que le registre primaire P1 mémorise les niveaux de tâches en attente d'exécution, pour un niveau de priorité donné, tant qu'il y a des tâches en attente d'exécution, le bit correspondant du registre primaire P1 vaut 1. Autrement dit, le bit est mis à zéro uniquement lorsque toutes les tâches du niveau de priorité correspondant ont été exécutées.
In practice, the primary registers will advantageously be chosen
P1 and secondary P2 having the same number of bits which can be less than or equal to the number of task registers P3i Since the primary register P1 stores the levels of tasks awaiting execution, for a given priority level, as long as 'there are tasks awaiting execution, the corresponding bit of the primary register P1 is equal to 1. In other words, the bit is set to zero only when all the tasks of the corresponding priority level have been executed.

Pour ce qui est du registre secondaire P2, il mémorise le niveau de priorité de tâches en cours d'exécution. Une instruction est donnée au registre secondaire au début de chaque exécution d'une tâche pour mettre à 1 le bit correspondant du registre secondaire signalant ainsi qu'une tâche du niveau de priorité correspondant est en cours d'exécution. Ce bit est remis à zéro lorsque l'exécution de ladite tâche est terminée. As for the secondary register P2, it stores the priority level of tasks in progress. An instruction is given to the secondary register at the start of each execution of a task to set to 1 the corresponding bit of the secondary register signaling that a task of the corresponding priority level is being executed. This bit is reset when the execution of said task is finished.

Le système de l'invention est conçu de telle sorte que pour un niveau de priorité donné, une seule tâche peut être en cours d'exécution ou dont l'exécution a été interrompue pour cause d'une tâche d'un niveau de priorité supérieur. Autrement dit, une tâche ne peut être exécutée que si aucune autre tâche du même niveau de priorité n'est en cours d'exécution ou dont l'exécution a été interrompue. Il faut d'abord terminer l'exécution de la tâche inachevée avant de solliciter une autre tâche en attente d'exécution et située au même niveau de priorité. The system of the invention is designed so that for a given priority level, a single task can be running or whose execution has been interrupted because of a task of a higher priority level . In other words, a task can only be executed if no other task of the same priority level is being executed or whose execution has been interrupted. You must first complete the execution of the unfinished task before requesting another task awaiting execution and located at the same priority level.

Pour déterminer l'ordre d'exécution des tâches mémorisées dans les registres P3i, le système de l'invention prévoit un test primaire
T1 et un test secondaire T2 entre le registre primaire P1 et le registre secondaire P2 (figure 2).
To determine the order of execution of the tasks stored in the registers P3i, the system of the invention provides for a primary test
T1 and a secondary test T2 between the primary register P1 and the secondary register P2 (Figure 2).

Le test primaire T1 consiste à vérifier si le contenu du registre secondaire P2 est supérieur ou égal à celui du registre primaire P1. Dans le cas où le test primaire T1 est positif, ce qui signifie qu'une tâche de niveau supérieur ou égal à celui d'une nouvelle tâche à exécuter a été interrompue et doit être relancée. The primary test T1 consists in checking whether the content of the secondary register P2 is greater than or equal to that of the primary register P1. In the case where the primary test T1 is positive, this means that a task of level higher or equal to that of a new task to be executed has been interrupted and must be restarted.

Sur la figure 2,cette opération est représentée par la liaison 10 et une unité 11 de réactivation de la tâche interrompue. In FIG. 2, this operation is represented by the link 10 and a unit 11 for reactivating the interrupted task.

Si le test primaire T1 est négatif, le système procède alors au test secondaire T2 qui consiste à déterminer si le contenu du OU
EXCLUSIF entre P1 et P2 (P1 0 P2) est supérieur à celui du ET entre P1 et P2 (P1 A ). Si le test secondaire T2 est P1 et (P1 2 2 positif, alors la nouvelle tâche est d'un niveau de priorité supérieur et doit être activée. Dans le cas contraire, la nouvelle tâche est d'un niveau de priorité inférieur ou égal à une tâche interrompue qui doit être réactivée en priorité. Comme illustré sur la figure 2, le test positif du T2 conduit via une liaison 12 à une unité 13 d'activation d'une nouvelle tâche; et le test négatif du T2 implique via la liaison 14 à l'unité 11 de réactivation de la tâche interrompue.
If the primary test T1 is negative, the system then proceeds to the secondary test T2 which consists in determining if the content of the OR
EXCLUSIVE between P1 and P2 (P1 0 P2) is greater than that of AND between P1 and P2 (P1 A). If the secondary test T2 is P1 and (P1 2 2 positive, then the new task is of a higher priority level and must be activated. Otherwise, the new task is of a priority level less than or equal to an interrupted task which must be reactivated as a priority. As illustrated in FIG. 2, the positive T2 test leads via a link 12 to a unit 13 for activating a new task; and the negative T2 test involves via the link 14 to unit 11 for reactivation of the interrupted task.

Pour mieux expliquer le fonctionnement des tests T1 et T2, un exemple concret est donné ci-dessous en choisissant des registres P1 et P2 pourvus chacun de huit bits correspondant à huit niveaux de priorité numérotés de O à 7. To better explain the operation of the T1 and T2 tests, a concrete example is given below by choosing registers P1 and P2 each provided with eight bits corresponding to eight priority levels numbered from 0 to 7.

Soit une tâche du niveau de priorité 6 en cours d'exécution tout en supposant que les autres niveaux de priorité ne comportent aucune tâche en attente de l'exécution, l'état desdits registres primaire et secondaire serait alors
P1 : 0100 0000 (40 en nombre hexadécimal)
P : 0100 0000 (40 en nombre hexadécimal).
Either a task of priority level 6 being executed while supposing that the other priority levels do not include any task awaiting execution, the state of said primary and secondary registers would then be
P1: 0100 0000 (40 in hexadecimal number)
P: 0100 0000 (40 in hexadecimal number).

Si au cours de l'exécution de ladite tâche, une nouvelle tâche du niveau de priorité 3 intervient dans le système, l'état des registres primaire et secondaire devient alors
P1 : 0100 1000 (48 en nombre hexadécimal)
P2 : 0100 0000 (40 en nombre hexadécimal).
If during the execution of said task, a new priority level 3 task intervenes in the system, the state of the primary and secondary registers then becomes
P1: 0100 1000 (48 in hexadecimal number)
P2: 0100 0000 (40 in hexadecimal number).

Le test primaire T1 est alors négatif puisque le contenu du registre secondaire P2 est inférieur à celui du registre primaire P1. The primary test T1 is then negative since the content of the secondary register P2 is less than that of the primary register P1.

Le système effectue alors le test secondaire T2
P1 8 P2 : 0000 1000 (04 en nombre hexadécimal)
P1 A P2 : 0100 0000 (40 en nombre hexadécimal).
The system then performs the secondary test T2
P1 8 P2: 0000 1000 (04 in hexadecimal number)
P1 A P2: 0100 0000 (40 in hexadecimal number).

Il en résulte que le test secondaire T2 est négatif, ce qui signifie qutil faut en premier réactiver la tâche du niveau de priorité 6, ladite tâche ayant été interrompue lors d'intervention de la nouvelle tâche du niveau de priorité 3 dans le système. As a result, the secondary test T2 is negative, which means that the task of priority level 6 must first be reactivated, said task having been interrupted during the intervention of the new task of priority level 3 in the system.

Le système informatique de l'invention pour la gestion de taches peut être avantageusement utilisé sur véhicules pour assurer le contrôle en temps réel de processus de fonctionnement pour lesquels plusieurs niveaux de priorité et/ou hiérarchies de tâches ont été définis. The computer system of the invention for task management can be advantageously used on vehicles to provide real-time control of operating processes for which several priority levels and / or task hierarchies have been defined.

La hiérarchisation des tâches, pour un même niveau de priorité, permet de minimiser les besoins en mémoire de sauvegarde du contexte lorsque l'on doit interrompre une tâche pour aller en exécuter une autre.  The prioritization of tasks, for the same level of priority, makes it possible to minimize the need for backup memory of the context when one has to interrupt one task to go to execute another.

Comme exemple, le système de l'invention associé à un ordinateur permet de gérer des tâches qui sont situées : au niveau de priorité 0, pour l'acquisition de la vitesse de chacune des quatre roues du véhicule et de la vitesse du moteur, soit cinq taches; au niveau de priorité 1, une fréquence fixe générée par une horloge qui déclenche une interruption afin de réaliser des acquisitions analogiques et le déroulement du processus, cette tâche générant des tâches de priorité inférieure ou des tâches de fond pour l'initialisation de routine de bas niveau et l'affichage de points en temps réel sur l'écran par exemple; au niveau de priorité 2, les demandes de modification émises par le biais du clavier par le metteur au point, la tâche générée réveillant une unité d'interprètation qui exécute, après avoir reconnu la commande, les actions demandées de façon non prioritaire par rapport aux niveaux précédents. As an example, the system of the invention associated with a computer makes it possible to manage tasks which are located: at priority level 0, for acquiring the speed of each of the four wheels of the vehicle and the speed of the engine, ie five spots; at priority level 1, a fixed frequency generated by a clock which triggers an interrupt in order to carry out analog acquisitions and the progress of the process, this task generating tasks of lower priority or background tasks for the initialization of routine of low level and display of points in real time on the screen for example; at priority level 2, the modification requests sent via the keyboard by the debugger, the generated task waking up an interpretation unit which performs, after recognizing the command, the actions requested in a non-priority way compared to the previous levels.

Appliqué à un véhicule, le contrôle d'éléments du châssis peut nécessiter un déroulement au moins partiel du logiciel adapté au système de l'invention à une fréquence fixe (50 Hz par exemple) pour tenir compte d'aspects temporels. Cette logique de contrôle peut avoir besoin de mesurer, selon une certaine procédure, les vitesses de quatre roues et celle du moteur, en utilisant des roues dentées par exemple. Ce sont des événements qui vont surgir de façon aléatoire par rapport à la fréquence de base (50 Hz) et qui doivent être traités rapidement, notamment pour les cinq tâches situées au niveau de priorité O et qui seront traitées séquentiellement.  Applied to a vehicle, the control of chassis elements may require at least partial running of the software adapted to the system of the invention at a fixed frequency (50 Hz for example) to take account of temporal aspects. This control logic may need to measure, according to a certain procedure, the speeds of four wheels and that of the motor, using cogwheels for example. These are events which will arise randomly with respect to the base frequency (50 Hz) and which must be dealt with quickly, in particular for the five tasks located at priority level O and which will be processed sequentially.

Dans le c s où la durée d'exécution d'un logiciel est variable en fonction d'événements extérieurs selon la logique de contrôle, il peut être intéressant de décomposer l'ensemble du logiciel en tâches dont on définira une priorité d'exécution et une hiérarchie. Auquel cas, les éléments principaux du logiciel génèreront automatiquement les tâches à exécuter, moins prioritaires que le plus bas niveau de priorité, lorsque le temps sera disponible. In the cs where the duration of execution of a software is variable according to external events according to the control logic, it can be interesting to decompose the whole of the software into tasks which one will define a priority of execution and a hierarchy. In this case, the main elements of the software will automatically generate the tasks to be executed, lower priority than the lowest priority level, when the time is available.

La même approche du problème s'applique lorsque la fréquence d'échantillonnage du logiciel est variable. Par exemple, pour le contrôle du moteur, lorsque les calculs sont séquencés par le point mort haut dont l'occurence varie de 20 à 200 Hz en fonction du régime moteur.  The same approach to the problem applies when the sampling frequency of the software is variable. For example, for engine control, when the calculations are sequenced by top dead center, the occurrence of which varies from 20 to 200 Hz depending on the engine speed.

Claims (4)

REVENDICATIONS 1. Système informatique capable d'exécuter en temps réel une pluralité de tâches, caractérisé par le fait qu'il comprend plusieurs registres de tâches (P3i) dans lesquels sont mémorisées les tâches à exécuter dont les niveaux de priorité et les hiérarchies dans un même niveau de priorité ont été définis au préalable par une routine d'interruption; un registre primaire (P1) et un registre secondaire (P2) de structure identique, et dont chaque bit correspond à un niveau de priorité des tâches mémorisées dans un registre de tâches (P3i) correspondant, et au moins un test entre les registres primaire et secondaire de façon à pouvoir n'exécuter que des tâches d'un niveau de priorité supérieur et pour un niveau de priorité donnée, à pouvoir terminer en priorité une tâche interrompue avant de commencer une autre tâche. 1. Computer system capable of executing a plurality of tasks in real time, characterized in that it comprises several task registers (P3i) in which the tasks to be executed are stored, including the priority levels and the hierarchies in the same priority level have been defined beforehand by an interrupt routine; a primary register (P1) and a secondary register (P2) of identical structure, and each bit of which corresponds to a priority level of the tasks stored in a corresponding task register (P3i), and at least one test between the primary registers and secondary in order to be able to execute only tasks of a higher priority level and for a given priority level, to be able to finish in priority a interrupted task before starting another task. 2. Système selon la revendication 1, caractérisé par le fait qu'un bit du registre primaire (P1) n'est mis à zéro que si toutes les tâches du niveau de priorité correspondant ont été exécutées; un bit du registre secondaire (P2) est mis à zéro tant qu'il nty a pas de tâche en cours d'exécution ou dont l'exécution a été interrompue sur le niveau de priorité correspondant; et que le système comporte un test primaire (T1) et un test secondaire (T2) entre les registres primaire (P1) et secondaire (P2), de façon à ce que si le contenu du registre secondaire est supérieur ou égal à celui du registre primaire, le système réactive l'exécution d'une tâche interrompue d'un niveau depriorité supérieur selon le test primaire; sinon le contenu OU EXCLUSIF entre (P1) et (P2) est comparé, selon le test secondaire, au contenu du ET entre (P1) et (P2), la supériorité du premier terme impliquant l'activation d'une nouvelle tâche, l'infériorité du premier terme impliquant la réactivation de la tâche interrompue d'un niveau de priorité supérieur. 2. System according to claim 1, characterized in that a bit of the primary register (P1) is set to zero only if all the tasks of the corresponding priority level have been executed; a bit of the secondary register (P2) is set to zero as long as there is no task being executed or the execution of which has been interrupted on the corresponding priority level; and that the system comprises a primary test (T1) and a secondary test (T2) between the primary (P1) and secondary (P2) registers, so that if the content of the secondary register is greater than or equal to that of the register primary, the system reactivates the execution of an interrupted task of a higher priority level according to the primary test; otherwise the EXCLUSIVE OR content between (P1) and (P2) is compared, according to the secondary test, with the content of the AND between (P1) and (P2), the superiority of the first term implying the activation of a new task, l of the first term involving the reactivation of the interrupted task of a higher priority level. 3. Système selon l'une des revendications 1 à 2, caractérisé par le fait qu'il génère des tâches de fond pendant l'exécution d'une tâche mémorisée dans un des registres de tâches (P3i). 3. System according to one of claims 1 to 2, characterized in that it generates background tasks during the execution of a task stored in one of the task registers (P3i). 4. Utilisation du système informatique selon l'une des revendications précédente pour le contrôle en temps réel du fonctionnement d'un véhicule.  4. Use of the computer system according to one of the preceding claims for real-time control of the operation of a vehicle.
FR9002049A 1990-02-20 1990-02-20 COMPUTER SYSTEM FOR MANAGING REAL-TIME EXECUTION OF TASKS ACCORDING TO PREDETERMINED PRIORITIES AND HIERARCHIES. Expired - Fee Related FR2658628B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9002049A FR2658628B1 (en) 1990-02-20 1990-02-20 COMPUTER SYSTEM FOR MANAGING REAL-TIME EXECUTION OF TASKS ACCORDING TO PREDETERMINED PRIORITIES AND HIERARCHIES.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9002049A FR2658628B1 (en) 1990-02-20 1990-02-20 COMPUTER SYSTEM FOR MANAGING REAL-TIME EXECUTION OF TASKS ACCORDING TO PREDETERMINED PRIORITIES AND HIERARCHIES.

Publications (2)

Publication Number Publication Date
FR2658628A1 true FR2658628A1 (en) 1991-08-23
FR2658628B1 FR2658628B1 (en) 1992-09-18

Family

ID=9393922

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9002049A Expired - Fee Related FR2658628B1 (en) 1990-02-20 1990-02-20 COMPUTER SYSTEM FOR MANAGING REAL-TIME EXECUTION OF TASKS ACCORDING TO PREDETERMINED PRIORITIES AND HIERARCHIES.

Country Status (1)

Country Link
FR (1) FR2658628B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0706126A1 (en) * 1994-10-07 1996-04-10 International Business Machines Corporation Multi-priority level scheduler
FR2775370A1 (en) * 1998-02-20 1999-08-27 Sgs Thomson Microelectronics Management of double priority order interruptions in microprocessor, able to reduce number of operations required to arrange interruptions in overlapping mode
US7379064B2 (en) * 1998-08-27 2008-05-27 Oracle International Corporation Method and apparatus for displaying network-based deal transactions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1465017A (en) * 1965-01-16 1967-01-06 Philips Nv Priority circuit for a general purpose calculator
US3829839A (en) * 1972-07-24 1974-08-13 California Inst Of Techn Priority interrupt system
GB2058406A (en) * 1979-09-05 1981-04-08 Hitachi Ltd Electronic control method for an internal combustion engine

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1465017A (en) * 1965-01-16 1967-01-06 Philips Nv Priority circuit for a general purpose calculator
US3829839A (en) * 1972-07-24 1974-08-13 California Inst Of Techn Priority interrupt system
GB2058406A (en) * 1979-09-05 1981-04-08 Hitachi Ltd Electronic control method for an internal combustion engine

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NEUES AUS DER TECHNIK, no. 1, 1 février 1972, page 1; "Testen/R}ckstellen von Unterbrechungs-Bits" *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0706126A1 (en) * 1994-10-07 1996-04-10 International Business Machines Corporation Multi-priority level scheduler
FR2775370A1 (en) * 1998-02-20 1999-08-27 Sgs Thomson Microelectronics Management of double priority order interruptions in microprocessor, able to reduce number of operations required to arrange interruptions in overlapping mode
US6356998B2 (en) 1998-02-20 2002-03-12 Stmicroelectronics S.A. Method for the management of interrupts in a microprocessor
US7379064B2 (en) * 1998-08-27 2008-05-27 Oracle International Corporation Method and apparatus for displaying network-based deal transactions
US8296173B2 (en) 1998-08-27 2012-10-23 Siebel Systems, Inc. Method and apparatus for network-based sales force management
US8296174B2 (en) 1998-08-27 2012-10-23 Siebel Systems, Inc. Method and apparatus for network-based sales force

Also Published As

Publication number Publication date
FR2658628B1 (en) 1992-09-18

Similar Documents

Publication Publication Date Title
FR2606903A1 (en) METHOD AND DEVICE FOR MANAGING STOP POINTS IN A SOFTWARE MONITOR
FR2471631A1 (en) DEVICE FOR SYNCHRONIZING AND ASSIGNING PROCESSES BETWEEN SEVERAL PROCESSORS IN AN INFORMATION PROCESSING SYSTEM
EP1418501A1 (en) Method of administration of applications on virtual machines
FR2646254A1 (en) PROGRAMMABLE CONTROL DEVICE
FR2772158A1 (en) MODIFIABLE PARTITION PRIMING SECTOR FOR COMPUTER MEMORY DEVICE
EP0818730A1 (en) Method for planification of distributed transactions
JP2000517077A (en) Computer system software testing methods and systems
EP0637798A1 (en) Deadlock analysis method in an operating system
EP0546882A1 (en) Expert system supporting real time constraints
FR2685106A1 (en) Input/output interrupt control system for a virtual machine
EP2342636A1 (en) Method, dispositive and computer program to perform the calling of an instance of a function
FR2658628A1 (en) Computerised system for managing the real-time execution of tasks in accordance with predetermined priorities and hierarchies
US20230267011A1 (en) Apparatus and method for secondary offloads in graphics processing unit
EP2593872B1 (en) Method for optimizing memory access in a microprocessor including several logic cores upon resumption of executing an application, and computer program implementing such a method
FR3075414B1 (en) METHOD FOR MANAGING A PLURALITY OF TASKS BY A MULTICORE AUTOMOTIVE COMPUTER
EP0407295B1 (en) Method for observing the execution of a program loaded into a computer system and apparatus for implementing said method
EP2545449B1 (en) Method for configuring an it system, corresponding computer program and it system
FR2649508A1 (en) METHOD FOR ASSISTING THE USER OF A COMPUTER SYSTEM AND DEVICE FOR CARRYING OUT SAID METHOD
EP2836913A1 (en) Device for generating a signature during execution of a program task, and method for comparing flows of execution
EP0697638B1 (en) Method of detection of complete sequences and failed sequences in a system for situation recognition
FR3071334B1 (en) METHOD FOR ENSURING DATA STABILITY OF A MULTICOAL PROCESSOR OF A MOTOR VEHICLE
EP2499570A1 (en) Method and device for optimising the execution of software applications in a multiprocessor architecture including a plurality of input/output controllers and secondary processing units
EP0708402A1 (en) Debugging aid for distributed applications
FR2894694A1 (en) Multitask program tuning method for microprocessor or microcontroller type processor, involves sending, from outer emulator to processor, accused reception message containing part of received activation message
US11934819B2 (en) Bare-metal deployment

Legal Events

Date Code Title Description
ST Notification of lapse