FR2765700A1 - Dispositif et procede de traitement de donnees - Google Patents

Dispositif et procede de traitement de donnees Download PDF

Info

Publication number
FR2765700A1
FR2765700A1 FR9808684A FR9808684A FR2765700A1 FR 2765700 A1 FR2765700 A1 FR 2765700A1 FR 9808684 A FR9808684 A FR 9808684A FR 9808684 A FR9808684 A FR 9808684A FR 2765700 A1 FR2765700 A1 FR 2765700A1
Authority
FR
France
Prior art keywords
installation
task
data processing
processor
copy
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
FR9808684A
Other languages
English (en)
Other versions
FR2765700B1 (fr
Inventor
Ole See
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of FR2765700A1 publication Critical patent/FR2765700A1/fr
Application granted granted Critical
Publication of FR2765700B1 publication Critical patent/FR2765700B1/fr
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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • 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/461Saving or restoring of program or task context

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)
  • Hardware Redundancy (AREA)

Abstract

Dispositif et procédé de traitement de données comprenant une première installation pour un premier traitement utilisant une ou plusieurs variables globales avec un processeur et une seconde installation pour un second traitement avec le processeur. Au début on établit une copie locale sous la forme d'une variable globale d'au moins une variable globale utilisée par la première installation et qui peut être interrompue lors de la copie; un affichage d'état lisible par la première installation est mis à l'état par la seconde installation au cours de la copie pour afficher la procédure de copie en cours. La première installation vérifie avant une quelconque interruption de la seconde installation, si l'affichage d'état est mis et, dans l'affirmative, au moins une copie locale en forme de variables globales est mise à la valeur actuelle.

Description

Etat de la technique La présente invention concerne un dispositif et un
procédé de traitement de données comprenant:
- une première installation pour exécuter un premier traite-
ment de données en appliquant une ou plusieurs variables globales à l'aide d'un processeur,
- une seconde installation pour l'exécution d'un second trai-
tement de données à l'aide d'un processeur conçu pour qu'au début on établisse au moins une copie locale sous la forme
d'une variable globale d'au moins l'une des variables glo-
bales utilisées par le premier processeur et lors de la co-
pie, le premier processeur peut l'interrompre, - une installation d'affichage d'état mise à l'état par la seconde installation lors de l'opération de copie et qui peut être lue par la première installation, pour afficher
l'opération de copie en cours.
Bien que l'on puisse utiliser n'importe quel dis-
positif de traitement de données, la présente invention et le
problème à la base de l'invention se rapportent à un disposi-
tif de traitement de données embarqué dans un véhicule auto-
mobile servant à mettre en réseau les différents appareils de commande comportant des capteurs et des actionneurs comme par exemple un système de bus travaillant en temps réel ou encore
appelé contrôleur de réseau de zone " Contrôler Area Net-
work " (CAN).
On considère un appareil de commande servant à fixer un paramètre du moteur comme par exemple la quantité de carburant à injecter. Différents programmes ou applications du système de fonctionnement se déroulent dans cet appareil de commande qui utilise le processeur en temps partagé. Le
temps de calcul du processeur est réparti entre les diffé-
rents programmes. A chaque tâche est attribuée de manière cy-
clique ou selon certaines priorités, une partie de la
puissance du calculateur. La commutation entre les différen-
tes tâches se fait en général à une vitesse tellement élevée
que les interruptions et les reprises ne sont pas percepti-
bles de l'extérieur. Toutes les données utilisées par plu-
sieurs tâches sont définies comme des variables globales.
Lorsqu'on calcule dans une tâche A les données qui sont traitées ensuite dans une tâche B, il faut garantir la consistance ou cohérence des données si la tâche B peut être interrompue à tout instant par la tâche A. En d'autres termes, avant la fin de la tâche B, il ne faut pas que son
jeu de données actuel soit modifié, bien que la tâche A four-
nisse déjà de nouvelles données après l'interruption.
Pour expliciter de manière plus précise le pro- blème, on considère le cas suivant de la régulation de la vi-
tesse de rotation (régulation du régime) dans un appareil de
commande du moteur.
L'appareil de commande du moteur calcule la va-
leur de réglage du régulateur de vitesse de rotation.
L'appareil de commande du moteur reçoit la valeur de consigne de la vitesse de rotation à réguler ainsi que le mode de fonctionnement, c'està-dire le comportement de régulation
(comme par exemple la partie proportionnelle, la partie dif-
férentielle ou la partie intégrale, etc...), par le bus CAN, à partir de l'appareil de commande du véhicule à intervalles
de 10 ms. Le calcul des paramètres de régulation (jeu de pa-
ramètres de régulation), c'est-à-dire du jeu de paramètres destiné au module de régulation, est reçu par contre dans l'appareil de commande du moteur toutes les 50 ms. Ainsi, il est clair que l'appareil de commande du moteur n'aura pas à recevoir de nouvelles données de l'appareil de commande du véhicule jusqu'à la fin de sa durée de traitement respective de 50 ms bien que l'appareil de commande du véhicule four- nisse de nouvelles données en principe toutes les 10 ms. Actuellement, selon l'état de la technique, on
dispose de trois jeux garantissant la consistance des don-
nées. Le premier jeu prévoit l'application de copies locales des données qui sont calculées avec la plus grande
priorité, au début de la tâche à priorité la plus faible.
Un inconvénient de cette procédure est de ne plus pouvoir garantir la cohérence des données si la tâche de
priorité plus faible est interrompue, pendant l'opération de copie proprement dite, par une tâche de priorité plus élevée.
En effet, dans ce cas, dans la poursuite de la tâche de prio-
rité plus faible, à la fin de l'interruption, les copies déjà appliquées ne sont plus restaurées mais l'opération de copie reprend à l'endroit de l'interruption. C'est pourquoi, après la fin de l'opération de copie, il y aura incohérence entre les données copiées en premier lieu et celles copiées en en
second lieu.
Le second jeu prévoit l'application de copies lo-
cales de données comme pour le premier jeu. Pendant l'opération de copie, on bloque toutefois toute interruption de sorte que la tâche de priorité la plus élevée ne peut plus
" perturber " la tâche de priorité plus faible.
Cela présente néanmoins l'inconvénient que le temps de blocage pour la copie de quantités importantes de données comme par exemple pour des structures, soit dépassé
ce qui peut conduire à un redémarrage du système de fonction-
nement. Ce comportement n'est pas souhaité car il bloque l'ensemble du système, comme par exemple les appareils de
commande du moteur, pour des ratés à l'injection du carbu-
rant, ou même cela peut conduire à l'arrêt du moteur.
Le troisième jeu prévoit l'application d'une mé-
moire partagée. Cela constitue dans la mémoire active gérée par le système de fonctionnement une zone dans laquelle sont inscrites en principe toutes les données de programme ou dont on peut extraire en principe toutes les données de programme si le système de fonctionnement le permet. Pour garantir la consistance des données dans le cas envisagé, une tâche de priorité élevée ne peut être enregistrée de nouveau dans la mémoire partagée que si la tâche de priorité inférieure a terminé ses copies locales. Cela signifie que, pendant la réalisation des copies locales par la tâche de priorité basse, l'accès à la mémoire partagée est interdit à la tâche
de priorité élevée.
Cela présente l'inconvénient qu'il faut gérer la mémoire partagée par le système de fonctionnement ce qui aboutit à une mise en oeuvre de moyens plus importants,
c'est-à-dire à une intervention plus importante dans le sys-
tème de fonctionnement.
Comme inconvénient des solutions connues évoquées
ci-dessus, on a également le fait que ces solutions ne pré-
sentent pas de sécurité suffisante et/ou nécessitent la mise
en oeuvre de moyens trop importants.
Avantages de l'invention
La présente invention a pour but de remédier à ces inconvé-
nients et concerne à cet effet, un dispositif de traitement de données du type défini ci-dessus caractérisé en ce que la première installation est conçue pour qu'avant la fin d'une
interruption respective de la seconde installation, elle vé-
rifie que l'installation d'affichage d'état soit mise à l'état et que dans l'affirmative, au moins une copie sous
forme de variables globales soit surscrite avec la valeur ac-
tuelle de ces variables.
L'invention concerne également un procédé de traitement de données caractérisé en ce qu': - on exécute un premier traitement de données en utilisant
une ou plusieurs variables globales à l'aide d'une instal-
lation de processeur, - on exécute un second traitement de données à l'aide de l'installation de processeur qui établit initialement au moins une copie locale sous la forme d'une variable globale d'au moins une variable globale utilisée par la première
installation et qui, lors de la copie, peut être interrom-
pue par le premier traitement de données,
- on affiche l'opération de copie en cours du second traite-
ment de données, d'une manière lisible par le premier trai-
tement de données et, - on contrôle dans le premier traitement de données, si
l'affichage est mis à l'état, avant la fin d'une interrup-
tion respective du second traitement de données et dans l'affirmative, le dépassement d'au moins une copie locale
sous la forme de variables locales avec leur valeur ac-
tuelle.
Le dispositif et le procédé de traitement de don-
nées selon l'invention offrent l'avantage de permettre d'assurer une bonne cohérence des données avec des moyens simples, c'est-à-dire sans la mise en oeuvre de matériel de
programme important.
La cohérence des données est également assurée par des données qui sont en relation étroite et ainsi ne peu-
vent être traitées que dans les mêmes conditions, c'est-à- dire des données qui ne doivent pas provenir de deux cycles
différents du premier traitement de données.
Les problèmes liés à l'interdiction d'interruption sont éliminés et l'accès au système est faible et se fait localement et non pas sur le plan du système de fonctionnement.
La caractéristique générale à la base de la pré-
sente invention est celle consistant à ce qu'une première tâ-
che ou une première application de priorité élevée fixe certaines variables globales utilisées dans une seconde tâche de priorité plus faible. Pendant une opération de copie de données, dans la seconde tâche, on pose un drapeau global ou un affichage d'état lisible par une première tâche. En cas d'interruption de cette opération de copie de données par la première tâche, avant la fin de l'interruption, on vérifie l'état du drapeau dans la première tâche et, dans le cas o celui-ci est mis, cette information est considérée comme une
indication d'une modification possible de données déjà lues.
Ainsi, la première tâche ne surscrit que les variables modi-
fiées ou toutes les variables locales déjà utilisées par la
seconde tâche en leur surscrivant la valeur actuelle, varia-
bles qui sont déjà définies comme variables globales à cet effet. La réalisation de copies locales se fait au début de la seconde tâche de priorité faible, c'est-à-dire avant toute poursuite de traitement des données à copier. La surscription
des copies locales se fait le cas échéant à la fin de la pre-
mière tâche de priorité plus élevée, c'est-à-dire au plus tôt après que toutes les modifications des variables globales
utilisées par la seconde tâche aient été terminées.
Suivant d'autres caractéristiques avantageuses de l'invention:
- on attribue une première priorité élevée à la première ins-
tallation pour l'utilisation de l'installation de proces-
seur et,
- on associe une seconde priorité faible à la seconde instal-
lation pour l'utilisation de l'installation de processeur,
- on associe une première durée courte à la première instal-
lation pour l'utilisation de l'installation de processeur et,
- on associe une seconde durée longue à la seconde installa-
tion pour l'utilisation de l'installation de processeur, - on poursuit avec le second traitement de données à la fin
d'une interruption respective à l'endroit de l'inter-
ruption,
- on détermine dans le premier traitement de données les co-
pies locales utilisées par la seconde installation.
Selon un développement préférentiel, la première
installation présente une première priorité élevée et la se-
cond installation une seconde priorité faible pour
l'utilisation du processeur.
Selon un autre développement préférentiel, une première durée courte est associée à la première installation
et une seconde durée longue est associée à la seconde instal- lation pour l'utilisation du processeur. Selon un autre développement préférentiel, la se-
conde installation est conçue pour qu'à la fin d'une inter-
ruption quelconque, elle continue à l'endroit de l'interruption. Cela est avantageux pour perdre le moins de
temps possible pour l'exécution du second traitement de don-
nées.
Selon un autre développement préférentiel, la première installation comporte une installation de détermina-
tion qui sert à déterminer la copie locale ou les copies lo- cales servant à la seconde installation. Cela présente l'avantage de n'avoir à remettre à jour que certaines varia-35 bles modifiées fixées par le premier traitement de données ou utilisées par le second traitement de données.
Dessins Des exemples de réalisation de l'invention sont représentés dans les dessins et seront décrits ci-après de manière plus détaillée. Ainsi:5 - la figure 1 montre un chronogramme d'une première tâche A et d'une seconde tâche B, si la première tâche A interrompt
la seconde tâche B après une copie, selon un premier exem-
ple de réalisation de l'invention, - la figure 2 montre un chronogramme d'une première tâche A
et d'une seconde tâche B lorsque la première tâche A inter-
rompt la seconde tâche B lors d'une copie selon le premier exemple de réalisation de l'invention,
- la figure 3 est une vue schématique des étapes de traite-
ment de données dans une première tâche A selon un exemple de réalisation de l'invention,
- la figure 4 est une vue schématique des étapes de traite-
ment de données dans une seconde tâche selon un second
exemple de réalisation de l'invention.
Description des exemples de réalisation
La figure 1 montre un chronogramme d'une première tâche A et d'une seconde tâche B lorsque la première tâche A
interrompt la seconde tâche B après l'opération de copie, se-
lon un premier exemple de réalisation de l'invention.
A la figure 1, les références tl, t2, t3, t4, t5 désignent cinq instants successifs portés sur l'axe vertical des temps. Les références Al, A2, A3, A4 désignent des blocs
de programme respectifs d'une tâche ou d'une application A, ayant une première priorité élevée. Les références B1, B2, B3, B4, B5 désignent des blocs de programme respectifs d'une30 tâche ou d'un programme d'application B ayant une seconde priorité plus faible. L'expression " bloc de programme " re-
présente une partie de l'ensemble du programme. Les deux tâches A et B sont traitées selon le programme de décalage de temps en tenant compte de leur prio-
rité dans la même installation de processeur ou plus simple- ment processeur. En particulier, la tâche A calcule les variables Vl et V2 nécessaires à la tâche B. Pour cela il faut veiller à ce que la tâche B ne puisse utiliser qu'une paire de données cohérentes pour Vl et V2 pendant l'exécution
pour des raisons de cohérence des données.
Le traitement commence à l'instant t, avec le bloc de programme Ai de la tâche A qui contient entre autres le calcul des données des variables globales Vl et V2. L'expression " variables globales " désigne dans la présente
description le fait qu'au moins également la tâche B accède à
de telles variables.
A l'instant t2, la tranche d'exécution de la tâ-
che A se termine et la tâche B commence par le bloc de pro-
gramme B1; dans celui-ci le drapeau F est mis à l'état logique "1"; ce drapeau F représente l'installation d'affichage d'état selon l'invention. Le drapeau F montre
ainsi le début et le déroulement de l'opération de copie.
Ensuite, dans la tâche B, selon les blocs de pro-
gramme B2 et B3, on effectue les copies locales des variables V1 et V2, à savoir GLK1 comme copie de V1 dans B2 et GLK2
comme copie de V2 dans B3.
Il est expressément indiqué que les variables
GLK1, GLK2 et F sont également des variables globales, c'est-
à-dire des variables auxquelles peut accéder également la tâ-
che A. Dans le bloc de programme B4, le drapeau F est mis à l'état logique " 0 " pour indiquer la fin de
l'opération de copie.
A l'instant t3, la tranche d'exécution de la tâ-
che B est terminée et la tâche A redémarre avec le bloc de programme A2 qui contient entre autres le nouveau calcul des
données des variables globales V1 et V2.
Dans le bloc de programme suivant A3 qui arrive dans l'ordre après tous les nouveaux calculs des variables Vl, V2 nécessaires à la tâche B, la tâche A vérifie si le
drapeau F a été ou non mis à l'état. Comme dans le cas pré-
sent, l'interruption de la tâche s'est produite apres l'opération de copie et le drapeau F est à l'état logique
" 0 ".
Comme la tâche A est informée que la tâche B est en possession des copies correspondantes nécessaires GLK1, GLK2, et que ces copies n'ont pas été utilisées par la tâche
A, aucune autre étape n'est nécessaire et la tâche A se ter-
mine avec le bloc de programme A4 à l'instant t4.
Puis la tâche B se poursuit avec le bloc de pro-
S gramme B5 qui termine la tâche B ou se poursuit jusqu'à
l'interruption suivante par la tâche A. Toutefois, ni la pre-
mière interruption décrite ni quelqu'autres interruptions ne mettent en danger la cohérence des données dans la tâche B.
La figure 2 montre un chronogramme pour une pre-
mière tâche A et une seconde tâche B, lorsque la première tâ-
che A interrompt la seconde tâche B lors de l'opération de copie, selon le premier exemple de réalisation de l'invention. A la figure 2, les références t1, t2, t3', t4', t5 désignent cinq instants successifs représentés sur l'axe vertical des temps. Les références Ai, A2, A3, A4' désignent
des blocs de programme respectifs d'une tâche ou d'un pro-
gramme d'application A; les référence B1, B2, B3, B4, B5 dé-
signent des blocs de programme respectifs des tâches ou
programme d'application B. Les références soulignées corres-
pondent aux parties déjà décrites à la figure 1.
Le traitement commence comme ci-dessus à l'instant tl avec le bloc de programme Ai de la tâche A qui contient entre autres le calcul des données des variables
globales V1, V2.
A l'instant t2, le temps alloué à la tâche A est terminé et la tâche B commence par le bloc de programme B1
dans lequel le drapeau F est mis à l'état logique " 1 "; ce-
la affiche le début et le déroulement de l'opération de co-
pie. Puis, dans la tâche B, par le bloc de programme B2, on effectue une copie locale GLK1 des variables Vl. A
l'instant t3', on interrompt la tranche d'exécution de la tâ-
che B par la tâche A; la tâche A se poursuit par le bloc de programme A2 qui contient entre autres le nouveau calcul des
données des variables globales Vl, V2.
Dans le bloc de programme suivant A3, qui arrive dans l'ordre, après tous les nouveaux calculs des variables VI, V2 utilisés par la tâche B, la tâche A vérifie que le
drapeau F a été ou non mis à l'état. Comme dans le cas pré-
sent l'interruption de la tâche B s'est effectuée pendant l'opération de copie et le drapeau F est à l'état logique
" 1 ".
La tâche A est ainsi informée de ce que la tâche B n'est pas en possession des copies cohérentes nécessaires
GLK1, GLK2 et que d'autres étapes sont nécessaires pour assu-
rer la cohérence des données.
Pour cela, la tâche A poursuit le bloc de pro-
gramme A4' dans lequel s'exécute la copie de la tâche B, c'est-à-dire que dans GLK1 on a une copie de V1 et dans GLK2
une copie de V2.
Il convient de remarquer de manière générale que la tâche A n'aura en principe qu'à renouveler les copies dont la variable correspondante s'est modifiée. Cela peut servir à
des gains de temps pour des quantités importantes de données.
A l'instant t4, la tranche d'exécution de la tâ-
che A est terminée et celle-ci se termine.
Puis la tâche B se poursuit à l'endroit o elle a
été précédemment interrompue, et réalise dans le bloc de pro-
gramme B3 une copie locale GLK2 des variables V2. Puis, dans le bloc de programme B4, on met le drapeau F à l'état logique
" O " pour indiquer la fin de l'opération de copie.
Puis dans la tâche B on poursuit avec le bloc de programme B5 qui termine la tâche B ou se déroule jusqu'à
l'interruption suivante par la tâche A. Ni la première inter-
ruption décrite ni une quelconque interruption ne mettant en
danger la cohérence des données dans la tâche B. En particu-
lier, toute autre interruption de la tâche B par la tâche A
conduit à la situation décrite en relation avec la figure 1.
La figure 3 montre un schéma des étapes de trai-
tement de données dans une première tâche A selon le second
exemple de réalisation de l'invention.
La tâche A occupe une tranche d'exécution ou de temps fixe de 10 ms. Dans les étapes S1 et S2, on calcule
les données utilisées pour les variables globales V1, V2 uti-
lisées. Dans la zone en tirets, il y a n'importe quelle autre
étape de traitement de données.
A la fin de la tâche A dans les étapes S4-S7, si nécessaire, c'est-à- dire si le drapeau F est à l'état logique " 1 ", on répète l'opération de copie de Vl dans GLK1 et de V2 dans GLK2 pour la tâche B. La figure 4 est une vue schématique des étapes de
traitement de données dans une seconde tâche B selon le se-
cond exemple de réalisation de l'invention.
La tâche B occupe une tranche d'exécution fixe de
ms. Dans les étapes S1'-S4', on copie les variables globa-
les V1, V2 utilisées par la tâche B dans les variables globa-
les GLK1, GLK2. Ce n'est que pendant cette opération de
copie, que le drapeau F est à l'état logique " 1 " pour affi-
cher, lors d'une interruption par la tâche A, la nécessité de mesure pour éviter l'incohérence de données. Dans la zone en traits interrompus, il y a n'importe quelle autre étape de
traitement de données.
A la fin de la tâche B, dans l'étape S5', on poursuit le traitement des copies locales GLK1 et/ou GLK2; la présente invention garantit alors que, pour le déroulement de la tâche B, on calcule toujours une seule et même paire de
variables cohérentes.
Bien que la présente invention ait été décrite
ci-dessus dans le cas d'un exemple de réalisation préféren-
tiel, elle n'est pas limitée à cet exemple et peut être modi-
fiée de manière très différente.
En particulier, les deux installations pour ef-
fectuer un traitement des données ainsi que l'installation d'affichage d'état, peuvent être réalisées non seulement sous
la forme de programmes mais également sous la forme de cir-
cuits câblés.
En outre, dans le présent exemple de réalisation, les tâches A et B ont utilisé en commun deux variables V1 et
V2. L'invention est toutefois applicable à un nombre quelcon-
* que de variables utilisées en commun. L'expression " variables " désigne ainsi de manière générale une grandeur variable. En outre, la présente invention n'est pas seule- ment applicable pour accorder entre elles deux tâches avec un drapeau, mais plusieurs tâches qui utilisent chaque fois un drapeau par paire.5 L'association de différents intervalles de temps à différentes tâches n'est pas indispensable. Une tâche de ms est appelée à des intervalles de 50 ms; une tâche de ms est appelée à des intervalles de 10 ms. Cela signifie simplement qu'une tâche de 50 ms ne peut durer au maximum que 50 ms et qu'une tâche de 10 ms peut durer au maximum 10 ms pour que la tâche respective ne se répète pas d'elle même et
déclenche ainsi un redémarrage du système de fonctionnement. Mais cela ne signifie pas que la durée doit être égale à 50 ms ou 10 ms.
NOMENCLATURE
tl, t2, t3, t4, t5, Instants t3', t4' A1 - A4 - A4' Blocs de programme
B1 - B5
Vl, V2 Variables globales GLK1, GLK2 Variables globales pour les copies locales F Drapeau Si - S7 Etapes de programme pour la tâche A Si' - S5' Etapes de programme pour la tâche A

Claims (5)

    R E V E N D I C A T IONS ) Dispositif de traitement de données comprenant: - une première installation pour exécuter un premier traite- ment de données en appliquant une ou plusieurs variables globales à l'aide d'un processeur, - une seconde installation pour l'exécution d'un second trai- tement de données à l'aide d'un processeur conçu pour qu'au début on établisse au moins une copie locale sous la forme d'une variable globale d'au moins l'une des variables glo- bales utilisées par le premier processeur et, lors de la copie, le premier processeur peut l'interrompre, - une installation d'affichage d'état mise à l'état par la seconde installation lors de l'opération de copie et qui peut être lue par la première installation, pour afficher l'opération de copie en cours, caractérisé en ce que la première installation est concue pour qu'avant la fin d'une interruption respective de la seconde installation, elle vérifie que l'installation d'affichage d'état soit mise à l'état et que, dans l'affirmative, au moins une copie sous forme de variables globales soit surscrite avec la valeur ac- tuelle de ces variables.
  1. 2 ) Dispositif selon la revendication 1, caractérisé en ce qu' à la première installation est associée une première priorité élevée et à la seconde installation est associée une seconde
    priorité faible pour l'utilisation de l'installation de pro-
    cesseur. 3 ) Dispositif selon la revendication 1 ou 2, caractérisé en ce qu' à la première installation est associée une première durée courte et à la seconde installation est associée une seconde
    durée longue pour l'utilisation de l'installation de proces-
    seur.
  2. 4 ) Dispositif selon l'une quelconque des revendications pré-
    cédentes, caractérisé en ce que
    la seconde installation est conçue pour qu'à la fin d'une in-
    terruption respective, elle poursuive à l'endroit de l'interruption.
    ) Dispositif selon l'une quelconque des revendications pré-
    cédentes, caractérisé en ce que
    la première installation comporte une installation pour dé-
    terminer la copie locale ou les copies locales utilisées par
    la seconde installation.
  3. 6 ) Procédé de traitement de données pour la mise en oeuvre
    du dispositif selon l'une quelconque des revendications 1 à
    , caractérisé par les étapes suivantes: - on exécute un premier traitement de données en utilisant
    une ou plusieurs variables globales à l'aide d'une instal-
    lation de processeur, - on exécute un second traitement de données à l'aide de l'installation de processeur qui établit initialement au moins une copie locale sous la forme d'une variable globale d'au moins une variable globale utilisée par la première
    installation et qui, lors de la copie, peut être interrom-
    pue par le premier traitement de données,
    - on affiche l'opération de copie en cours du second traite-
    ment de données d'une manière lisible par le premier trai-
    tement de données et, - on contrôle, dans le premier traitement de données, si
    l'affichage est mis à l'état, avant la fin d'une interrup-
    tion respective du second traitement de données et, dans l'affirmative, le dépassement d'au moins une copie locale
    sous la forme de variables locales avec leur valeur ac-
    tuelle. 7 ) Procédé selon la revendication 6, caractérisé par les étapes suivantes: - on attribue une première priorité élevée à une première
    installation pour l'utilisation de l'installation de pro-
    cesseur et, - on associe une seconde priorité faible à la seconde instal-
    lation pour l'utilisation de l'installation de processeur.
  4. 8 ) Procédé selon l'une quelconque des revendications 6 ou 7,
    caractérisé par les étapes suivantes:
    - on associe une première durée courte à la première instal-
    lation pour l'utilisation de l'installation de processeur et,
    - on associe une seconde durée longue à la seconde installa-
    tion pour l'utilisation de l'installation de processeur.
  5. 9 ) Procédé selon l'une quelconque des revendications 6, 7,8,
    caractérisé par l'étape suivante: - on poursuit avec le second traitement de données, à la fin
    d'une interruption respective, à l'endroit de l'inter-
    ruption.
    ) Procédé selon l'une quelconque des revendications 6 à 9,
    caractérisé par l'étape suivante:
    - on détermine dans le premier traitement de données les co-
    pies locales utilisées par la seconde installation.
FR9808684A 1997-07-07 1998-07-07 Dispositif et procede de traitement de donnees Expired - Fee Related FR2765700B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1997128971 DE19728971C2 (de) 1997-07-07 1997-07-07 Datenverarbeitungsvorrichtung und -verfahren

Publications (2)

Publication Number Publication Date
FR2765700A1 true FR2765700A1 (fr) 1999-01-08
FR2765700B1 FR2765700B1 (fr) 2000-10-06

Family

ID=7834902

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9808684A Expired - Fee Related FR2765700B1 (fr) 1997-07-07 1998-07-07 Dispositif et procede de traitement de donnees

Country Status (3)

Country Link
DE (1) DE19728971C2 (fr)
FR (1) FR2765700B1 (fr)
GB (1) GB2328299B (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6519265B1 (en) * 1999-05-28 2003-02-11 Sony Corporation System and method for context switching in an electronic network
DE102004017050A1 (de) 2004-04-07 2005-10-27 Robert Bosch Gmbh Datenkonsistenz in Datenverarbeitungsanlagen
DE102005051673A1 (de) * 2005-10-28 2007-05-03 Vector Informatik Gmbh Messvorrichtung und Messverfahren zur Erfassung von Steuergerät-Variablen
CN103049334B (zh) 2012-12-14 2015-09-30 华为技术有限公司 一种任务处理的方法和虚拟机

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0365728A1 (fr) * 1988-10-28 1990-05-02 International Business Machines Corporation Accès aux ressources pour système à multiprocesseurs
EP0454610A2 (fr) * 1990-04-27 1991-10-30 International Business Machines Corporation Procédé et dispositif pour commande de simultanéité d'interrogations et mises à jour partagées

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4875159A (en) * 1987-12-22 1989-10-17 Amdahl Corporation Version management system using plural control fields for synchronizing two versions of files in a multiprocessor system
US5513349A (en) * 1994-03-24 1996-04-30 International Business Machines Corporation System and method for safing of asynchronous interrupts

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0365728A1 (fr) * 1988-10-28 1990-05-02 International Business Machines Corporation Accès aux ressources pour système à multiprocesseurs
EP0454610A2 (fr) * 1990-04-27 1991-10-30 International Business Machines Corporation Procédé et dispositif pour commande de simultanéité d'interrogations et mises à jour partagées

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FEELEY M J ET AL: "DISTRIBUTED SHARED MEMORY WITH VERSIONED OBJECTS", ACM SIGPLAN NOTICES, vol. 27, no. 10, 1 October 1992 (1992-10-01), pages 247 - 262, XP000327302, ISSN: 0362-1340 *

Also Published As

Publication number Publication date
DE19728971C2 (de) 2003-10-09
GB2328299B (en) 1999-07-07
GB9814645D0 (en) 1998-09-02
GB2328299A (en) 1999-02-17
FR2765700B1 (fr) 2000-10-06
DE19728971A1 (de) 1999-01-14

Similar Documents

Publication Publication Date Title
EP1337919B1 (fr) Procede de securisation rendant deterministe l'execution en temps reel d'applications multitaches du type controle-commande avec confinement d'erreur
CN110209484B (zh) 基于多云和安全映射的可信云任务调度***及方法
EP1418501A1 (fr) Méthode d'administration d'applications sur des machines virtuelles
EP2480969A1 (fr) Systeme et procede de gestion de l'execution entrelacee de fils d'instructions
CN112445615A (zh) 一种线程的调度***、计算机设备和存储介质
FR2872605A1 (fr) Procede de gestion d'un processus logiciel, procede et systeme de redistribution ou de continuite de fonctionnement dans une architecture multi-ordinateurs
CN111478857A (zh) 一种接口限流控制方法、装置以及电子设备
WO2009087317A2 (fr) Procede de gestion des preemptions dans un systeme d'exploitation en temps reel
WO2014072628A1 (fr) Procédé, dispositif et programme d'ordinateur de placement de tâches dans un système multi-coeurs
JP2007257163A (ja) 分散型プログラム実行環境における稼動品質管理方法
FR2765700A1 (fr) Dispositif et procede de traitement de donnees
CA2414523A1 (fr) Procede d'implantation automatique de fonctions logicielles sur un ensemble de processeurs
CA2886466A1 (fr) Systeme multicoeur de traitement de donnees a dispositifs d'entree/sortie locaux et globaux et interface graphique comportant un tel systeme de traitement de donnees
EP2530586B1 (fr) Procédé de génération d'un logiciel
EP2667302B1 (fr) Procédé de gestion du démarrage d'instances d'applications sur des machines virtuelles d'un réseau distribué
US20050050541A1 (en) Method of and apparatus for task control, and computer product
EP3460664B1 (fr) Procédé de gestion de modules logiciels embarqués pour un calculateur électronique d'un appareil électrique de coupure
EP2278466A1 (fr) Dispositif et procédé pour l'exécution distribuée de traitements de données numériques
CN115858114A (zh) 空闲任务的调度方法、装置、电子设备及可读存储介质
CN117149399A (zh) 一种数据处理方法、装置、设备以及可读存储介质
WO2009007620A2 (fr) Systeme de gestion automatique des reseaux sur une grille informatique
JP2002099435A (ja) マルチタスク制御方法および情報処理装置
EP3475847B1 (fr) Serveur de statistiques pour optimisation de requêtes client-serveur
FR3071334B1 (fr) Procede pour assurer la stabilite des donnees d’un processeur multicoeur d’un vehicule automobile
CN112083912A (zh) 服务编排的中间结果处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20080331