Brevet FR3073061A1 — publié le 20190503

La présente invention concerne un procédé de communication entre processus, un programme d'ordinateur et une installation informatique correspondants. L'invention s'applique plus particulièrement à un procédé de communication entre des premier et deuxième processus en cours d'exécution dans une installation informatique comportant une première mémoire allouée au premier processus pour son exécution, le procédé comportant les étapes suivantes : - un système de fichiers de l'installation informatique crée un fichier, le système de fichiers reçoit une demande de lecture de données dans le fichier, et - en réponse à la demande de lecture, le système de fichiers récupère les données pour que le deuxième processus puisse y accéder. Le fichier est enregistré dans une mémoire de masse et mappé à la fois dans la mémoire allouée au premier processus et dans une mémoire allouée au deuxième processus. Ainsi, lorsque le premier processus souhaite communiquer des données au deuxième processus, le premier processus écrit dans son fichier mappé en mémoire, ce qui est répercuté sur le fichier enregistré dans la mémoire de masse. Le deuxième processus tente alors de lire dans son fichier mappé en mémoire, ce qui déclenche, si les données n'ont pas encore été copiées dans le fichier mappé en mémoire, une erreur de page détectée par une unité de gestion de mémoire. Cette dernière demande alors au système de fichiers de lire dans le fichier la page manquante, qui est copiée dans le fichier mappé en mémoire du deuxième processus, afin que ce dernier y accède. Le procédé précédent présente comme inconvénient de nécessiter une mémoire de masse pour stocker le fichier. Il peut ainsi être souhaité de prévoir un procédé qui permette de s'affranchir d'au moins une partie des problèmes et contraintes précités. L'invention a donc pour objet un procédé de communication entre des premier et deuxième processus en cours d'exécution dans une installation informatique comportant une première mémoire allouée au premier processus pour son exécution, le procédé comportant les étapes suivantes : - un système de fichiers de l'installation informatique crée un fichier, - le système de fichiers reçoit une demande de lecture de données dans le fichier, 2 - en réponse à la demande de lecture, le système de fichiers récupère les données pour que le deuxième processus puisse y accéder, le procédé étant caractérisé en ce que le fichier est un fichier virtuel associé à une partie de la première mémoire, et en ce que le système de fichiers récupère les 5 données depuis la partie de la première mémoire. Ainsi, comme le fichier est virtuel et associé à une partie de la mémoire allouée au premier processus, ce fichier ne nécessite pas de mémoire de masse. De façon optionnelle, l'installation informatique comporte au moins des premier et deuxième ordinateurs, sur lesquels s'exécutent respectivement les premier 10 et deuxième processus, et le système de fichiers est un système de fichiers distribué de sorte que le fichier soit accessible à partir de chacun des premier et deuxième ordinateurs. De façon optionnelle également, une deuxième mémoire de l'installation informatique est allouée au deuxième processus pour son exécution, le procédé 15 comportant en outre les étapes suivantes : le fichier est mappé dans la deuxième mémoire de manière à obtenir un fichier mappé en mémoire, le deuxième processus tente d'accéder à des données du fichier mappé en mémoire, ces données n'ayant pas encore été copiées dans le fichier 20 mappé en mémoire, l'étape de réception par le système de fichiers de la demande de lecture étant réalisée en réponse à cette tentative d'accès, - après l'étape de récupération des données par le système de fichiers, les données récupérées sont copiées dans le fichier mappé en mémoire pour que le deuxième processus y accède. 25 De façon optionnelle également, le fichier est associé à des permissions, le procédé comportant en outre, avant l'étape de récupération des données par le système de fichiers : - la vérification que les permissions associées au fichier permettent au deuxième processus d'y accéder en lecture. 30 De façon optionnelle également, le procédé comporte en outre la création d'un chemin de répertoires au bout duquel le fichier est placé. De façon optionnelle également, le premier ordinateur appartient à un groupe d'ordinateurs de l'installation informatique et un des répertoires du chemin correspond à ce groupe. 3 L'invention a également pour objet un programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions pour l'exécution des étapes d'un procédé selon l'invention, lorsque ledit 5 programme est exécuté sur un ordinateur. L'invention a également pour objet une installation informatique dans laquelle des premier et deuxième processus sont destinés à s'exécuter, comportant : - une première mémoire destinée à être allouée au premier processus pour son exécution, 10 - un système de fichiers conçu pour créer un fichier, recevoir une demande de lecture de données dans le fichier, et, en réponse à la demande de lecture, récupérer les données pour que le deuxième processus puisse y accéder, l'installation informatique étant caractérisée en ce que le fichier est un fichier virtuel 15 associé à une partie de la première mémoire, et en ce que le système de fichiers est conçu pour récupérer les données depuis la partie de la première mémoire. L'invention sera mieux comprise à l'aide de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés dans lesquels : 20 la figure 1 représente schématiquement la structure générale d'une installation informatique, selon un mode de réalisation de l'invention, la figure 2 illustre les étapes successives d'un procédé de communication entre processus, selon un mode de réalisation de l'invention, et la figure 3 est un exemple d'arborescence d'un système de fichiers utilisée 25 dans le procédé de la figure 2. En référence à la figure 1, une installation informatique 100 mettant en oeuvre l'invention va à présent être décrite. L'installation électrique 100 comporte plusieurs ordinateurs, dont deux ordinateurs 1021, 1022. L'installation électrique 100 comporte en outre un réseau 104 30 par lequel les ordinateurs, et en particuliers les deux ordinateurs 1021, 1022, sont connectés les uns aux autres. Chaque ordinateur 1021, 1022 comporte une interface réseau 1041, 1042 par laquelle le premier ordinateur 1021, respectivement le deuxième ordinateur 1022, est connecté au réseau 104. 4 En outre, chaque ordinateur 1021, 1022 comporte une unité de traitement centrale 1061, 1062 et une mémoire principale 1081, 1082. L'unité de traitement centrale 1061, 1062 comporte par exemple un processeur et la mémoire principale 1081, 1082 comporte par exemple une mémoire volatile, par exemple de type RAM 5 (de l'anglais « Random Access Memory »). En outre, chaque ordinateur 1021, 1022 comporte une unité de stockage de masse 1101, 1102 non-volatile, telle qu'un disque dur. De manière générale, l'unité de traitement centrale 1061, 1062 de chaque ordinateur 1021, 1022 est destinée à exécuter des instructions de programmes 10 d'ordinateur. Chaque programme d'ordinateur en cours d'exécution, appelé processus, se voit allouer une mémoire pour son exécution. Cette mémoire s'étend au moins sur la mémoire principale 1081,1082 et est composée d'adresses virtuelles, c'est-à-dire ne correspondant pas à des adresses physiques. Cela permet en particulier d'utiliser des morceaux disjoints de mémoire principale 1081, 1082, voire 15 des morceaux de mémoire de masse (comme l'unité de stockage 1101, 1102), tandis que le processus pense avoir accès à un bloc continu de mémoire principale. Généralement, la mémoire virtuelle est formée de zones de même taille, appelées pages. Chaque ordinateur 1021, 1022 comporte en outre une unité de gestion de 20 mémoire 1121, 1122 conçue notamment pour convertir les adresses virtuelles auxquelles les processus tente d'accéder, en adresses physiques. Dans l'exemple décrit, les ordinateurs 1021, 1022 exécutent chacun un système d'exploitation SE1, SE2. Ils exécutent en outre un système de fichiers SF1, SF2 gérant une arborescence A de répertoires et fichiers partant d'un répertoire 25 racine (« roof » en anglais). De manière générale, un système de fichiers regroupe un ensemble de mécanismes et de règles permettant de stocker et de retrouver des données. Dans l'exemple décrit, le système de fichiers SF1, SF2 est un système de fichiers distribué comportant une partie exécutée sur chaque ordinateur de l'installation informatique 100, et en particulier une partie SF1 exécutée par 30 l'ordinateur 1021, et une partie SF2 exécutée par l'ordinateur 1022. Le système de fichiers SF1, SF2 est conçu pour mettre en oeuvre des mécanismes de synchronisation entre ses parties SF1, SF2 au travers du réseau 104, afin de présenter la même arborescence A sur chaque ordinateur 1021, 1022. Dans l'exemple décrit, le système de fichiers SF1, SF2 est représenté comme distinct des systèmes d'exploitation SE1, SE2. Cependant, le système de fichiers peut également être 5 intriqué dans les systèmes d'exploitation SE1, SE2, de sorte qu'il peut être difficile de les distinguer. Dans ce cas, les systèmes d'exploitation SE1, SE2 eux-mêmes peuvent être considérés comme formant le système de fichiers SF1, SF2. Par ailleurs, l'arborescence A peut être placée dans une autre arborescence de système 5 de fichiers (tel qu'un système de fichiers « réels », c'est-à-dire de fichiers stockés dans une mémoire de masse non volatile, telle que les disques durs 1101, 1102), c'est-à-dire que le répertoire racine de l'arborescence A correspond à un répertoire de cette autre arborescence. En outre, dans l'ordinateur 1021, une mémoire M1 est allouée à un processus 10 P1 pour son exécution. Cette mémoire M1 comporte une zone mémoire ZM1 que le processus P1 est conçu pour partager avec d'autres processus. La zone mémoire ZM1 est une partie de la mémoire M1 ayant, sur son étendue, les mêmes caractéristiques (par exemple, dont seul l'accès en lecture seule est autorisé) et/ou comportant des données formant un ou plusieurs objets informatiques (par exemple, 15 une pile (« stack » en anglais), un fichier mappé en mémoire à partir d'un disque dur ou bien un tableau d'informations gérées ensemble). En outre, dans l'ordinateur 1022, une mémoire M2 est allouée à un processus P2 pour son exécution. Afin que le processus P1 puisse partager des données avec le processus P2, 20 l'arborescence A comporte un fichier F1, qui est un fichier virtuel associé à la zone mémoire ZM1, au lieu d'être associé à des données sur une mémoire de masse comme pour un fichier classique. Le fichier F1 est en outre mappé dans la mémoire M2, de manière à obtenir un fichier mappé en mémoire F1*. L'installation informatique 100 comporte en outre un répartiteur de charge 114 25 conçu pour distribuer les processus, tels que les processus P1, P2, entre les différents ordinateurs, tels que les ordinateurs 1021, 1022 de l'installation informatique 100 et pour migrer les processus d'un ordinateur à l'autre en fonction des variations de charge sur les ordinateurs. Dans l'exemple décrit, le répartiteur de charge 114 est un programme d'ordinateur exécuté par l'ordinateur 1021. 30 En référence à la figure 2, un procédé 200 de communication entre les premier et deuxième processus P1, P2 va à présent être décrit. Au cours d'une étape 202, afin de mettre à disposition la zone mémoire ZM1, le processus P1 demande au système de fichiers SF1, SF2 la création d'un fichier F1 virtuel et son association avec la zone mémoire ZM1. 6 Au cours d'une étape 204, le système de fichiers SF1, SF2 crée le fichier F1 virtuel et l'associe à la zone mémoire ZM1. Pour cela, dans l'exemple décrit, un chemin de répertoires débutant par le répertoire racine est créé dans l'arborescence A du système de fichiers SF1, SF2, et 5 le fichier F1 est placé au bout de ce chemin. Bien sûr si tout ou partie des répertoires du chemin existent déjà, ils sont réutilisés. Par exemple, le chemin est le suivant : Répertoire Racine /Groupe de programme /Sous Groupe de Programme /Programme /Groupe de processus /Sous Groupe de Processus /Processus /Instance 10 /Domaine /Sous Domaine, et le fichier virtuel F1 est placé dans le répertoire /Sous Domaine. Bien sûr, les noms des répertoires indiqués ci-dessus sont des noms génériques, qui sont en pratique remplacés par des noms usuels. En outre, dans d'autres modes de réalisation, un ou plusieurs de répertoires précédents peuvent être omis. Par exemple, les répertoires définissant des sous-groupes 15 pourraient être omis, lorsque les processus répertoriés par l'arborescence A sont peu nombreux. Chacun des répertoires du chemin est associé à un identifiant universel unique (UUID, de l'anglais « Universally Unique IDentifier »), le terme unique étant à comprendre dans le sens de « unicité très probable ». 20 Les noms des répertoires /Groupe de_programme /Sous Groupe de Programme /Programme sont par exemple définis par un administrateur. Chaque répertoire /Programme représente un programme, c'est-à-dire un ensemble d'instructions qui n'est pas en cours d'exécution. Les répertoires /Groupe de programme /Sous Groupe de Programme permettent de classer les 25 programmes. Les noms des répertoires /Groupe de_processus et /Sous Groupe de Processus sont par exemple définis par le répartiteur de charge 114 et correspondent respectivement à des groupes d'ordinateurs et des sous-groupes d'ordinateurs auxquels appartient l'ordinateur exécutant le processus 30 considéré. Ainsi, dans l'exemple décrit, le fichier F1 est placé dans les répertoires /Groupe de processus et /Sous Groupe de Processus correspondant respectivement au groupe d'ordinateur et au sous-groupe d'ordinateurs auquel appartient l'ordinateur 1021. De préférence, ces répertoires changent donc à chaque fois que le processus est migré d'un ordinateur à l'autre de l'installation informatique 35 100 par le répartiteur de charge 114. 7 Les noms des répertoires /Processus et /Instance sont par exemple définis par le système d'exploitation SE1 de l'ordinateur 1021 sur lequel le processus P1 s'exécute. Les noms des répertoires /Domaine et /Sous Domaine sont par exemple 5 définis par le processus P1. Le répertoire /Domaine représente une organisation logique des zones mémoire et le répertoire /Sous Domaine est utilisé lorsque les zones mémoire sont nombreuses et doivent donc être classées en plusieurs niveaux de hiérarchie. Ainsi, l'arborescence A permet de regrouper les éléments similaires et de les 10 organiser dans une hiérarchie logique. Le nom du fichier F1, qui représente la zone mémoire ZM1, est par exemple défini par le système d'exploitation SE1 de l'ordinateur 1021 sur lequel le processus P1 s'exécute. Le fichier Fl et les répertoires du chemin sont associés à des permissions 15 respectives, permettant de contrôler quel processus peut y accéder. Ces permissions sont par exemple de type UNIX, c'est-à-dire que chaque fichier/répertoire appartient à un utilisateur (appelé propriétaire) appartenant à un groupe d'utilisateurs et que des permissions en lecture, écriture et exécution sont définies pour le propriétaire, pour les utilisateurs de son groupe et pour les autres utilisateurs. Bien sûr des permissions 20 plus détaillées peuvent être utilisées à la place, par exemple de type liste de contrôle d'accès (« Access Control List » en anglais). En outre, de préférence, les permissions d'un objet (répertoire/fichier) de l'arborescence A sont au moins aussi restrictives que les permissions de l'objet parent. Au cours d'une étape 206, le processus P2 demande au système 25 d'exploitation SE2 de mapper le fichier Fl dans sa mémoire M2. Au cours d'une étape 208, le système de fichiers SF1, SF2 vérifie que les permissions associées au fichier Fl permettent au processus P2 d'y accéder en lecture. Si c'est le cas, au cours d'une étape 210, le système d'exploitation SE2 30 mappe le fichier Fl dans la mémoire M2 de manière à obtenir un fichier mappé en mémoire F1*. Au cours d'une étape 212, le deuxième processus P2 tente d'accéder à des données D du fichier mappé en mémoire F1*. 8 Cette tentative d'accès passe par l'unité de gestion de mémoire 1122 qui détecte, au cours d'une étape 214, si les données D au déjà été copiées dans le fichier mappé en mémoire F1*. Si c'est le cas, au cours d'une étape 216, l'unité de gestion de mémoire 1122 5 fournit l'adresse physique correspondant à l'adresse virtuelle des données D pour que le processus P2 y accède. Sinon, au cours d'une étape 218, l'unité de gestion de mémoire 1122 détecte un défaut de page et demande au système de fichiers SF1, SF2 de lui fournir la page manquante comportant les données D à partir du fichier F1. En outre, le système de fichiers SF1, SF2 reçoit cette demande. 10 En réponse à la demande de lecture, au cours d'une étape 220, le système de fichiers SF1, SF2 récupère les données D (dans l'exemple décrit, la page manquante), dans la partie de mémoire associée à ce fichier F1, c'est-à-dire dans l'exemple décrit à partir de la zone mémoire ZM1, pour que le deuxième processus P2 puisse y accéder. 15 Au cours d'une étape 222, le système de fichiers SF1, SF2 fournit les données D (la page manquante) à l'unité de gestion de mémoire 1122. Au cours d'une étape 224, l'unité de gestion de mémoire 1122 copie les données D (la page manquante) dans le fichier mappé en mémoire F1* et fournit au processus l'adresse physique de ces données D. 20 Au cours d'une étape 226, le deuxième processus P2 accède aux données D dans le fichier mappé en mémoire F1*. Les étapes 202 à 226 sont exécutées à chaque fois que le processus P2 tente d'accéder à des données du fichier mappé en mémoire F1*. Par ailleurs, lorsque le processus P1 est arrêté, le système de fichiers SF1, 25 SF2 est de préférence conçu pour transformer le fichier F1 virtuel en fichier F1 réel réel présent sur un dispositif de stockage de masse, de préférence non volatile, tel que l'un des disques durs 1101, 1102. Le mécanisme d'échange (« swap » en anglais) peut par exemple être utilisé pour transférer les données de la zone mémoire ZM1 dans le fichier F1 réel. Ainsi, les données de la zone mémoire ZM1 restent accessibles 30 par d'autres processus, même lorsque le processus P1 n'existe plus. Le procédé 200 peut être alors à nouveau utilisé, sauf qu'à étape 220, le système de fichiers SF1, SF2 récupère les données D (dans l'exemple décrit, la page manquante), dans le fichier F1 réel présent dans une mémoire de masse. En outre, l'installation informatique 100 comporte de préférence un 35 mécanisme de cohérence conçu pour assurer la cohérence entre les données D 9 présentes dans la zone mémoire ZM1 et leur copie dans le fichier mappé en mémoire F1*. Cette cohérence peut s'effectuer pour la zone mémoire ZM1 dans son ensemble. Alternativement, la zone mémoire ZM1 peut être divisée en unités de cohérence de taille prédéfinie, par exemple 4 ko. Chaque unité de cohérence peut 5 alors être repérée dans la zone mémoire ZM1 par un décalage (« offset » en anglais), par exemple pris par rapport au début de la zone mémoire ZM1. Dans le cas où des unités de cohérence sont utilisées, la cohérence peut s'effectuer sur chaque unité de cohérence. Dans ce cas, un fichier virtuel peut être créé pour chaque unité de cohérence et ces fichiers virtuels sont placés dans un répertoire représentant la zone 10 mémoire à laquelle les unités de cohérence appartiennent. Dans l'exemple décrit, le fichier virtuel F1 serait associé à une des unités de cohérence et placé dans un répertoire /Zone Mémoire placé dans le répertoire /Domaine ou bien le répertoire /Sous Domaine si ce dernier est utilisé. Ainsi, de manière générale, chaque fichier virtuel est associé à une partie de 15 la mémoire M1 du premier processus P1, par exemple la zone mémoire ZM1 ou bien une unité de cohérence de la zone mémoire ZM1. En référence à la figure 3, un exemple d'arborescence A est illustré. Les références utilisées sont les suivantes : 302 : répertoire racine ; 304 - 308: répertoires de groupe d'application ; 310 - 20 312: répertoires de sous-groupe d'application ; 314 - 318 : répertoires d'application ; 320: répertoire de groupe de processus ; 322 : répertoire de sous-groupe de processus ; 324 - 330 : répertoires de processus ; 332 - 336 : répertoires d'instance ; 338 - 340: répertoires de domaine ; 342: répertoire de sous-domaine ; 344 - 348 : fichiers virtuels respectivement associés à des parties de la mémoire virtuelle de 25 l'instance 336 du processus 328. Les répertoires 302, 306, 312, 316, 320, 322, 328, 336, 338, 342 forment le chemin au bout duquel les fichiers virtuels 344, 346, 348 sont placés. Les fichiers virtuels 344, 346, 348 sont par exemple respectivement associés à trois zones mémoire de la mémoire de l'instance 336 du processus 328. 30 II apparaît clairement qu'une installation informatique 100 et un procédé 200 tels que ceux décrits précédemment permettent de transmettre des données du processus P1 vers le processus P2. Bien sûr, un procédé similaire peut être mis en oeuvre pour permettre la transmission de données du processus P2 vers le processus P1, en utilisant un fichier virtuel F2 associé à une partie ZM2 de la mémoire M2 et 35 mappé dans la mémoire M1 du premier processus P1. 10 On notera par ailleurs que l'invention n'est pas limitée aux modes de réalisation décrits précédemment. Il apparaîtra en effet à l'homme de l'art que diverses modifications peuvent être apportées aux modes de réalisation décrits ci-dessus, à la lumière de l'enseignement qui vient de lui être divulgué. 5 En particulier, bien que les systèmes d'exploitation SE1, SE2, le système de fichiers SF1, SF2, et le répartiteur de charge 114 aient été décrits comme étant des programmes d'ordinateur, l'invention n'est pas limitée à ce cas de figure. En effet, les fonctions associées aux instructions de ces programmes d'ordinateur pourraient être au moins en partie micro programmées ou micro câblées dans des circuits intégrés 10 dédiés. Ainsi, en variante, chacun des systèmes d'exploitation SE1, SE2, du système de fichiers SF1, SF2, et du répartiteur de charge 114 pourrait être remplacé par un dispositif électronique composé uniquement de circuits numériques (sans programme d'ordinateur) pour la réalisation des mêmes fonctions. De même, tout ou partie des fonctions des unités de gestion de mémoire 1121, 15 1122 peuvent être réalisées par des programmes d'ordinateur comportant des instructions pour la réalisation de leurs fonctions. Dans les revendications qui suivent, les termes utilisés ne doivent pas être interprétés comme limitant les revendications aux modes de réalisation exposés dans la présente description, mais doivent être interprétés pour y inclure tous les 20 équivalents que les revendications visent à couvrir du fait de leur formulation et dont la prévision est à la portée de l'homme de l'art en appliquant ses connaissances générales à la mise en oeuvre de l'enseignement REVENDICATIONS1. Procédé (200) de communication entre des premier et deuxième processus en cours d'exécution dans une installation informatique (100) comportant une première mémoire (M1) allouée au premier processus pour son exécution, le procédé (200) comportant les étapes suivantes : - un système de fichiers (SF1, SF2) de l'installation informatique (100) crée (204) un fichier (F1), - le système de fichiers (SF1, SF2) reçoit (218) une demande de lecture de données dans le fichier (F1), - en réponse à la demande de lecture, le système de fichiers (SF1, SF2) récupère (220) les données pour que le deuxième processus puisse y accéder, le procédé (200) étant caractérisé en ce que le fichier (F1) est un fichier virtuel associé à une partie (ZM1) de la première mémoire (M1), et en ce que le système de fichiers (SF1, SF2) récupère les données depuis la partie (ZM1) de la première mémoire (M1). 2. Procédé (200) selon la revendication 1, dans lequel l'installation informatique (100) comporte au moins des premier et deuxième ordinateurs (1021, 1022), sur lesquels s'exécutent respectivement les premier et deuxième processus, et dans lequel le système de fichiers (SF1, SF2) est un système de fichiers distribué de sorte que le fichier (F1) soit accessible à partir de chacun des premier et deuxième ordinateurs (1021, 1022). 3. Procédé (200) selon la revendication 1 ou 2, dans lequel une deuxième mémoire (M2) de l'installation informatique (100) est allouée au deuxième processus pour son exécution, le procédé (200) comportant en outre les étapes suivantes : - le fichier (F1) est mappé (210) dans la deuxième mémoire (M2) de manière à obtenir un fichier mappé en mémoire (F1*), - le deuxième processus tente d'accéder (212) à des données du fichier mappé en mémoire (F1*), ces données n'ayant pas encore été copiées dans le fichier mappé en mémoire (F1*), l'étape de réception (218) par le système de fichiers (SF1, SF2) de la demande de lecture étant réalisée en réponse à cette tentative d'accès, - après l'étape de récupération (220) des données par le système de fichiers (SF1, SF2), les données récupérées sont copiées (224) dans 12 le fichier mappé en mémoire (F1*) pour que le deuxième processus y accède. 4. Procédé (200) selon l'une quelconque des revendications 1 à 3, dans lequel le fichier (F1) est associé à des permissions, le procédé (200) comportant en 5 outre, avant l'étape de récupération (220) des données par le système de fichiers (SF1, SF2) : - la vérification que les permissions associées au fichier (F1) permettent au deuxième processus (P2) d'y accéder en lecture. 5. Procédé (200) selon l'une quelconque des revendications 1 à 4, 10 comportant en outre la création d'un chemin de répertoires au bout duquel le fichier (F1) est placé. 6. Procédé (200) selon les revendications 2 et 5 prises ensemble, dans lequel le premier ordinateur (1021) appartient à un groupe d'ordinateurs de l'installation informatique (100) et dans lequel un des répertoires du chemin 15 correspond à ce groupe. 7. Programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions pour l'exécution des étapes d'un procédé (200) selon l'une quelconque des revendications 1 à 6, 20 lorsque ledit programme est exécuté sur un ordinateur. 8. Installation informatique (100) dans laquelle des premier et deuxième processus sont destinés à s'exécuter, comportant : - une première mémoire (M1) destinée à être allouée au premier processus pour son exécution, 25 - un système de fichiers (SF1, SF2) conçu pour créer un fichier (F1), recevoir une demande de lecture de données dans le fichier (F1), et, en réponse à la demande de lecture, récupérer les données pour que le deuxième processus puisse y accéder, l'installation informatique (100) étant caractérisée en ce que le fichier (F1) est un 30 fichier virtuel associé à une partie (ZM1) de la première mémoire (M1), et en ce que le système de fichiers (SF1, SF2) est conçu pour récupérer les données depuis la partie (ZM1) de la première mémoire (M1).