FR 2681707 A1 19930326 FR 9207492 A 19920619 * 1 Système de fichiers pour redistribuer sélectivement des fichiers et procédé pour affecter un espace de mémoire dans un système informatique comportant de multiples dispositifs de stockage de données La présente invention concerne, d'une manière générale, la gestion du stockage de données dans des systèmes informatiques comportant plusieurs dispositifs de mémoire, et notamment un dispositif de répertoires de fichiers et un procédé pour permettre une redistribution des fichiers entre les dispositifs de mémoire du système informatique, d'une manière qui soit transparente pour les utilisateurs dudit système. Les systèmes informatiques de gestion importants (parfois appelés centres informatiques) comportent, d'une manière caractéristique, plusieurs types de dispositifs de stockage de données Ces dispositifs de stockage de données comprennent, par exemple, des disques à solide (disques virtuels), des disques magnétiques bon marché et lents, des disques magnétiques chers et rapides, des disques extra-plats (striped disks), des disques cachés (shadowed disks), des disques optiques, et des dispositifs d'entraînement de bandes. Lorsqu'un fichier est créé dans un système informatique comportant plusieurs disques, le système de fichiers de l'ordinateur sélectionne un disque sur lequel stocker le fichier Dans les systèmes de l'art antérieur, une fois qu'un fichier est créé et stocké sur l'un des disques du système de fichiers, il est lié en permanence à ce disque jusqu'à ce qu'il soit effacé Autrement dit, le fichier est dépendant du dispositif de mémoire Ceci empêche une utilisation efficace des disques du système de fichiers Par exemple, certains disques vont se remplir, tandis que d'autres seront presque vides La personne chargée de gérer le système doit prendre des mesures précises et perturbatrices pour redistribuer les fichiers entre les disques du système Ceci peut nécessiter de copier (et de renommer) les fichiers, ou de réinitialiser le système de fichiers. A titre d'exemple d'un autre problème associé aux systèmes de fichiers de l'art antérieur, certains disques peuvent être très actifs, tandis que d'autres n'ont presqu'aucune activité Ceci se produit lorsque les fichiers les plus couramment utilisés sont affectés à un seul disque ou à quelques disques du système de fichiers, tandis que les autres disques contiennent des fichiers anciens ou peu fréquemment utilisés Là encore, la personne chargée de gérer le système doit prendre des mesures précises et perturbatrices pour redistribuer les fichiers entre les disques du système. Les systèmes de fichiers commercialisés sous la marque UNIX actuels ne sont capables de couvrir ou de recevoir qu'un seul volume ou même uniquement une partie d'un volume Un volume peut représenter un ou plusieurs disques physiques, mais le système de fichiers traite un volume de disques multiples comme un seul disque de grosse capacité. Par conséquent, les systèmes de fichiers UNIX ne couvrent techniquement qu'un seul disque, ce qui signifie qu'ils utilisent la mémoire à disques tout aussi mal, sinon plus mal, que les systèmes de fichiers qui couvrent des disques multiples et attribuent des fichiers d'une manière dépendante des dispositifs de mémoire. La présente invention a pour but de résoudre ces problèmes en proposant un système de fichiers capable de redistribuer des fichiers entre ses disques d'une manière facile, transparente (c'est-à-dire que les utilisateurs et les applications n'ont pas connaissance du mouvement de fichiers) et automatique Il s'agit plus précisément de proposer un système de fichiers qui, pour déplacer des fichiers d'une manière transparente entre plusieurs disques, affecte les fichiers d'une manière indépendante des dispositifs de mémoire. Pour atteindre ces buts, la présente invention concerne, dans son aspect général, un système de fichiers pour redistribuer sélectivement des fichiers destinés à être utilisés conjointement avec un système informatique doté d'une unité centrale de traitement et de multiples dispositifs de stockage de données distincts sur lesquels sont stockés les fichiers, comportant de multiples répertoires de fichiers stockés sur différents dispositifs de stockage de données desdits multiples dispositifs de stockage de données, dont chacun contient une série d'entrées de répertoires de fichiers qui indiquent chacune un nom de fichier et une valeur de nom symbolique correspondante, plusieurs noms de fichiers correspondant à un seul fichier pouvant être stockés dans plusieurs desdits répertoires de fichiers; une table de descripteurs de fichiers séparée pour chacun desdits multiples dispositifs de stockage de données, chaque table de descripteurs de fichiers contenant une entrée de descripteur de fichier pour chaque fichier stocké sur le dispositif de stockage de données correspondant; un répertoire de noms symboliques stocké sur un dispositif de stockage de données sélectionné desdits multiples dispositifs de stockage de données, qui contient des entrées de noms symboliques correspondant à une série définie de valeurs de noms symboliques, chaque fichier stocké dans lesdits multiples dispositifs de stockage de données étant représenté par une seule desdites entrées de noms symboliques et chacune desdites entrées de noms symboliques indiquant celui desdits multiples dispositifs de stockage de données sur lequel le fichier correspondant à ladite entrée de nom symbolique est stocké; et des moyens de déplacement de fichiers aptes à être commandés par ladite unité centrale de traitement en vue de déplacer un fichier spécifié d'un premier à un second desdits multiples dispositifs de stockage de données et comprenant des moyens pour copier ledit fichier spécifié dans ledit second desdits multiples dispositifs de stockage de données, pour créer une entrée de descripteur de fichier pour ledit fichier copié sur ladite table de descripteurs de fichiers correspondant audit second desdits multiples dispositifs de stockage de données et pour changer l'entrée de nom symbolique dans ledit répertoire de noms symboliques correspondant audit fichier spécifié, afin que ladite entrée de nom symbolique désigne ledit second desdits multiples dispositifs de stockage de données, moyennant quoi, un fichier peut être déplacé d'un premier à un second desdits multiples dispositifs de stockage de données sans qu'il soit nécessaire de rechercher et de mettre à jour toutes les entrées de répertoires de fichiers correspondantes. L'un des modes de réalisation préférés propose un système de fichiers destiné à un ordinateur doté de multiples dispositifs de mémoire à disques distincts Le système de fichiers comporte plusieurs répertoires de fichiers stockés sur différents disques Chaque répertoire de fichiers sert à traduire des noms de fichiers en valeurs de noms symboliques correspondantes Pour chaque disque, il est prévu une table de descripteurs de fichiers comportant une entrée de descripteur de fichier pour chacun des fichiers stockés sur le disque Un répertoire de noms symboliques unique contient une seule entrée de nom symbolique pour chacun des fichiers stockés dans le système. Un répertoire de noms symboliques est utilisé par le système de fichiers pour trouver un fichier en traduisant une valeur de nom symbolique en un indicateur indiquant le disque sur lequel le fichier est stocké et en un indicateur indiquant l'entrée de descripteur du fichier Pour permettre le déplacement d'un fichier d'un premier disque à un second disque, le fichier est copié sur le second disque, une nouvelle entrée de descripteur de fichier correspondant au fichier copié est élaborée dans la table de descripteurs de fichiers correspondant au second disque, la copie du fichier existant sur le premier disque et son entrée de descripteur de fichier sont désaffectées, et l'entrée de nom symbolique correspondant au fichier est mise à jour pour indiquer le second disque et la nouvelle entrée de descripteur du fichier Un fichier peut ainsi être déplacé d'un premier disque sur un second disque sans qu'il soit nécessaire de rechercher et de mettre à jour toutes les entrées de répertoires de fichiers correspondantes. Dans un autre mode de réalisation préféré, le système de fichiers comporte un sous-programme qui contrôle le chargement des disques et la capacité de disques non utilisée Il détermine si l'utilisation des disques est déséquilibrée et déplace automatiquement des fichiers entre les disques en vue d'une utilisation des disques mieux équilibrée. Les buts, avantages et caractéristiques ci-dessus, et bien d'autres, de la présente invention ressortiront plus clairement de la description détaillée suivante de modes de réalisation préférés de celle-ci, donnée à titre d'exemple nullement limitatif en référence aux dessins annexés dans lesquels: la Figure 1 est un schéma fonctionnel d'un système informatique comportant de multiples dispositifs de stockage de données et un système de gestion de fichiers, la Figure 2 est un schéma fonctionnel conceptuel d'un système de consultation de fichiers à un seul niveau de l'art antérieur, la Figure 3 est un schéma fonctionnel conceptuel d'un système de consultation de fichiers à deux niveaux conforme à un premier mode de réalisation préféré de la présente invention, la Figure 4 est un organigramme illustrant le déplacement d'un fichier d'un premier disque à un second disque conformément à un second mode de réalisation préféré de la présente invention, la Figure 5 est un schéma fonctionnel de la structure de données du répertoire de noms symboliques, et la Figure 6 est un organigramme d'un sous-programme de contrôle et d'équilibrage d'utilisation de disques du système de la présente invention. En se référant à la Figure 1, on peut voir un système informatique 100 doté d'une unité centrale de traitement 102 interconnectée par un bus de système 104 à une mémoire auxiliaire 106 (qui comporte des dispositifs de mémoire à disques magnétiques 108 à 112), une mémoire centrale 120 (c'est-à-dire une mémoire à accès direct, rapide), un organe de gestion de mémoire virtuelle 124, et au moins une interface d'utilisateurs 126 Sont stockés dans la mémoire centrale 120 des programmes d'application d'exécution courante 130 ainsi que le logiciel de système d'exploitation, tel que le système de fichiers d'ordinateur 140 (parfois appelé le programme de gestion de fichiers). Des structures de données 150 concernant la mémoire à disques, gérées par le système de fichiers 140 comportent de nombreuses tables de répertoires de fichiers 152, des tables de descripteurs de fichiers 154 (une par volume de disque logique), et un répertoire de noms symboliques 156 qui constitue une nouvelle structure de données introduite par la présente invention Les structures de données 150 sont stockées dans la mémoire auxiliaire 106 En particulier, le système peut contenir un nombre véritablement illimité de répertoires de fichiers 152 qui ont tendance à être stockés d'une manière plus ou moins aléatoire à travers les disques de la mémoire auxiliaire Les répertoires de fichiers 152 sont créés à leur convenance par les utilisateurs du système en vue de grouper des séries de fichiers sur disques Les utilisateurs accèdent aux fichiers existants en se référant à un nom de fichier dans un répertoire de fichiers 152 spécifié La demande de l'utilisateur est transmise au système de fichiers 140 qui détermine à quel endroit de la mémoire auxiliaire 106 le fichier spécifié est situé, et puis ouvre le fichier ou exécute certaines autres tâches spécifiées, consistant par exemple à faire une copie du fichier, à imprimer le fichier ou à effacer le fichier. Comme cela va être décrit plus loin, chacun des disques 108 à 112 possède une table de descripteurs de fichiers 154 contenant une entrée pour chacun des fichiers stockés sur ce disque Enfin, il existe dans le système un seul répertoire de noms symboliques 156 uniquement qui est habituellement stocké sur un disque unique, bien que, dans l'un des modes de réalisation préférés de la présente invention, une partie "auxiliaire" du répertoire de noms symboliques 156 puisse être séparée et stockée ailleurs. Le système de fichiers 140 comporte une série modifiée de sous- programmes 160 destinés à exécuter des tâches du système de fichiers normales, telles que l'attribution d'un espace de disques à des fichiers et l'ouverture et la fermeture de fichiers existants Le système de fichiers 140 de la présente invention comporte en outre un programme de mouvement de fichiers 162 et un "programme de contrôle et d'équilibrage d'utilisation de disques" 164 Le programme de mouvement de fichiers 162 déplace un fichier spécifié d'un disque à l'autre Le programme de contrôle et d t équilibrage d'utilisation 164 qui sera décrit d'une manière plus détaillée ultérieurement, contrôle le remplissage des dispositifs de mémoire à disques 106 à 110 du système et leurs niveaux relatifs d'activité d'entrée/sortie de disques. Sur la base de l'utilisation des disques observée, des déséquilibres d'utilisation ayant un effet préjudiciable sur le fonctionnement du système, sont automatiquement corrigés par des mouvements de fichiers d'un dispositif de mémoire à disque à un autre, et ce, d'une manière transparente pour les utilisateurs du système 100. Consultation de fichiers à un seul niveau En référence à la Figure 2, la plupart des systèmes de fichiers courants utilisent un mécanisme de consultation de fichiers à un seul niveau pour rechercher des fichiers dans un système de fichiers Ces systèmes de fichiers utilisent les répertoires de fichiers 152 pour traduire des noms de fichiers en un identificateur de fichier ou en une adresse de disque unique pouvant servir à rechercher le descripteur de fichier 170 (également appelé un en-tête de fichier ou une entrée de descripteur de fichier) dans une table appelée la table de descripteurs de fichiers 154. Chaque disque ou volume de disque logique du système contient sa propre table de descripteurs de fichiers 154 qui est stockée sur disque La table de descripteurs de fichiers 154 stocke des entrées de descripteurs de fichiers 170 qui décrivent chacun des fichiers stockés sur ce disque ou ce volume de disque logique particulier Chaque entrée de descripteur de fichier 170 définit les attributs d'un fichier et contient une carte de la mémoire ou son équivalent. Il convient de noter qu'un "volume de disque logique" peut contenir plus d'un disque physique, mais qu'il est, aux fins de stockage en mémoire, traité par le système informatique comme une seule unité de disque Pour les besoins de la présente description, les termes "disque" et "dispositif de mémoire à disques" désignent n'importe quel volume de disque logique, que ce volume logique représente un seul ou plusieurs disques physiques. Comme le montre la Figure 2, au moins deux programmes d'application 172 à 176 qui, d'une manière caractéristique, se déroulent en traitements séparés, peuvent avoir accès à un fichier unique 178 simultanément ou à des moments différents. En outre, chaque programme ou traitement peut utiliser un nom différent pour le même fichier Pour chacun de ces noms de fichier, il existe dans l'un des répertoires de fichiers 152 du système informatique un article de répertoire 180 distinct Il n'existe toutefois qu'un seul descripteur de fichier 170 pour chaque fichier, et deux entrées de répertoire de fichiers ou plus peuvent par conséquent indiquer le même descripteur de fichier 170 Ce partage de fichier est tout à fait courant. Un problème posé par le mécanisme de consultation à un seul niveau, visible sur la Figure 2, réside en ce qu'il rend le déplacement d'un fichier sur un autre disque difficile Il existe deux manières de déplacer un fichier pour un système de fichiers de ce type Selon la première manière, il affecte un nouveau descripteur de fichier sur le nouveau disque et copie le fichier et le contenu de l'ancien descripteur de fichier 170 sur le nouveau disque Puis, le système de fichiers efface l'ancien descripteur de fichier et met à jour le répertoire de fichiers 152 sur l'ancien disque, afin qu'il indique le nouveau descripteur Le problème posé par cette approche consiste en ce que beaucoup de systèmes de fichiers reçoivent, comme illustré sur la Figure 2, plusieurs entrées de répertoires par fichier Cela signifie que le système de fichiers doit faire une recherche exhaustive dans tous les répertoires de fichiers 152 de l'ensemble du système informatique pour trouver toutes les entrées possibles appartenant au fichier déplacé, ce qui n'est tout simplement pas viable dans des systèmes informatiques importants qui comportent des centaines ou des milliers de répertoires de fichiers, ou qu'il doit en quelque sorte conserver une trace de toutes les entrées de répertoires 180 correspondant à chaque fichier, ce qui n'est pas une mince affaire. Une seconde manière de déplacer un fichier sur un autre disque, commence par la même étape initiale, à savoir l'affectation d'un nouveau descripteur de fichier sur le nouveau disque et copie du fichier et du contenu de l'ancien descripteur de fichier 170 sur le nouveau disque Puis, le système de fichiers modifie l'ancien descripteur de fichier afin qu'il indique le nouveau disque Le problème posé par cette approche réside en ce qu'elle encombre les disques du système avec des descripteurs de fichiers à "adresses de transfert" En d'autres termes, la table de descripteurs de fichiers 154 correspondant à un disque unique peut finir par contenir un grand nombre d'entrées 170 comportant des adresses de transfert à d'autres disques Ceci gaspille de l'espace de mémoire à disques et rend presque impossible la suppression d'un disque du système de fichiers, car les entrées de descripteurs de fichiers 170 qui comportent des adresses de transfert sont nécessaires pour rechercher tous les fichiers qui étaient stockés sur le disque auparavant. Ainsi, l'un des défauts majeurs des systèmes de fichiers actuels réside en ce qu'ils lient d'une façon permanente un fichier à un disque particulier jusqu'à ce que le fichier soit effacé. Recherche de fichiers à deux niveaux En référence à la Figure 3, le système de fichiers de la présente invention ajoute un niveau supplémentaire dans le mécanisme de recherche de fichiers afin que le système de fichiers puisse recevoir des fichiers indépendants des dispositifs de mémoire Ce mode de réalisation préféré le permet grâce au fait qu'un Répertoire de Noms Symboliques est ajouté entre le Répertoire de Fichiers et la Table de Descripteurs de Fichiers. Le système de fichiers 140 utilise des répertoires de fichiers modifiés 202-1, 202-2 comportant des entrées de répertoires de fichiers modifiées 204 pour traduire un nom de fichier en un identificateur, appelé ici un nom symbolique, qui indique une entrée de nom symbolique 208 dans le répertoire de noms symboliques 156 En d'autres termes, les entrées de répertoires de fichiers 204 comportent, dans la présente invention, une valeur de nom symbolique au lieu d'un indicateur indiquant une entrée de descripteur de fichier. Il n'existe qu'un seul répertoire de noms symboliques 156 pour la totalité du système de fichiers 140, quel que soit le nombre de disques inclus dans le système de fichiers. L'emplacement du répertoire de noms symboliques 156 dans la mémoire auxiliaire est géré par le système de fichiers 140. Si un fichier possède plusieurs entrées de répertoires 204, toutes les entrées de répertoires contiennent alors la même valeur de nom symbolique Le système de fichiers utilise le répertoire de noms symboliques 156 pour traduire la valeur de nom symbolique (trouvée dans les répertoires de fichiers) en une adresse de disque en vue d'une entrée dans la table de descripteurs 154 d'un disque spécifié Cette traduction s'effectue simplement en trouvant l'entrée de nom symbolique 208 qui correspond à la valeur de nom symbolique spécifiée, et puis en recherchant l'identificateur de disque et la valeur d'index de descripteur de fichier stockée dans cette entrée de nom symbolique 208 Ainsi, chaque entrée de nom symbolique 208 identifie le disque sur lequel le fichier est stocké et, en même temps, indique un descripteur de fichier 170 qui localise spécifiquement le fichier sur ce disque. En référence à la Figure 4, le sous-programme de mouvement de fichiers 162 du système de fichiers déplace un il fichier spécifié sur un autre disque à l'aide du mécanisme de recherche décrit ci-dessus et au moyen des étapes suivantes (qui ne sont pas nécessairement exécutées dans cet ordre): A Affectation d'une nouvelle entrée de descripteur de fichier sur le nouveau disque, c'est-à-dire le disque sur lequel le fichier doit être déplacé (étape 210). B Copie du fichier et de l'entrée de descripteur de fichier de 1 'ancien disque sur le nouveau disque (étape 212). C Désaffectation de l'ancienne entrée de descripteur de fichier et de l'espace de disque du fichier (étape 214). D Mise à jour de l'entrée de nom symbolique du fichier afin qu'elle indique la nouvelle entrée de descripteur de fichier (étape 216). D'une manière caractéristique, comme dans n'importe quel système informatique important, des entrées d'enregistrement de mouvements vont être créées par le système fichiers pendant cette procédure, afin que celui-ci puisse reprendre son fonctionnement, sans perte de données, après une panne de système survenant à n'importe quel moment de la procédure de déplacement de fichiers décrite ci-dessus. Ces techniques de récupération de mouvements ne font pas partie de la présente invention et sont bien connues de l'homme de l'art. Le mécanisme du répertoire de noms symboliques 156 de la présente invention constitue le seul élément qui nécessite d'être mis à jour lorsqu'un fichier est déplacé, contrairement à la mise à jour de multiples entrées de répertoires de fichiers requise par les systèmes de fichiers antérieurs De même, si le disque qui contient le répertoire de noms symboliques 156 doit être supprimé du système de fichier, ou si le répertoire de noms symboliques 156 a besoin d'être transféré pour une quelconque autre raison, ce répertoire de noms symboliques 156 peut être déplacé sur un autre disque Il est simplement copié sur un nouveau disque, et son emplacement (géré par le système de fichiers) est mis à jour en conséquence. En référence à la Figure 5, le répertoire de noms symboliques 156 est organisé sous la forme d'un ensemble 230 de pages 232, dans lequel chaque page 232 contient un en-tête (non représenté) et un ensemble d'indicateurs de noms symboliques Logiquement, le répertoire de noms symboliques 156 consiste simplement en un ensemble d'entrées de noms symboliques dans lequel chaque entrée de nom symbolique représente un nom symbolique, les entrées étant classées dans un ordre croissant, en commençant par le nom symbolique 1. Les noms symboliques sont affectés dans un ordre croissant sans jamais être réutilisés (c'est-à-dire que lorsqu'un fichier est effacé, son nom symbolique n'est pas réutilisé). L'organisation simple du répertoire de noms symboliques facilite une recherche de noms symboliques rapide et efficace Supposons un nom symbolique à rechercher, conformément aux exemples des dessins, il suffit de calculer le numéro de page du nom symbolique et la position du nom symbolique à l'intérieur de la page Les formules suivantes sont utilisées: PAGE DU NOM SYMBOLIQUE = NOMBRE ENTIER { (NOM SYMBOLIQUE- 1)/NOMS SYMBOLIQUES PAR PAGE)} INDEX DU NOM SYMBOLIQUE = (NOM SYMBOLIQUE-1) PAGE DU NOM SYMBOLIQUE x NOMS SYMBOLIQUES PAR PAGE Lorsque des fichiers sont effacés, leurs noms symboliques associés deviennent non valides Etant donné que les noms symboliques ne sont jamais réutilisés, des pages du répertoire de noms symboliques vont, au bout d'un certain temps, contenir un certain pourcentage d'entrées non valides qui ne pourront jamais être réutilisées Finalement, certaines pages du répertoire de noms symboliques 156 contiendront très peu d'entrées de noms symboliques actives. Alors que les pages qui ne comportent aucune entrée de nom symbolique valide peuvent tout simplement être effacées, les pages qui ne comportent que quelques entrées actives gaspillent de l'espace de disque pendant une très longue période de temps, si les entrées de noms symboliques restantes appartiennent à des fichiers qui ne sont pas effacés. Dans l'un des modes de réalisation préférés, à chaque fois qu'une page de répertoire de noms symboliques 230 contient un nombre d'entrées valides inférieur à un nombre spécifié (par exemple, moins de cinq entrées valides pour des pages qui contiennent cent entrées de noms symboliques), les entrées de noms symboliques valides restantes sont copiées dans un répertoire de noms symboliques auxiliaire 240 et la page de répertoire de noms symboliques 230 est désaffectée. Il n'existe qu'un seul répertoire de noms symboliques auxiliaire 240 dans le système de fichiers et il est mis en oeuvre sous la forme d'un ensemble ordonné dense d'entrées de noms symboliques Autrement dit, il n'y a que peu ou pas d'espace non utilisé dans le répertoire de noms symboliques auxiliaire 240, ce qui évite un gaspillage d'espace de disques Ceci peut s'effectuer en stockant les noms symboliques dans le répertoire 240 dans un ordre strict croissant et en utilisant une recherche binaire pour trouver des articles, ou en ayant recours à une table de compilation pour localiser rapidement des articles dans le répertoire de noms symboliques auxiliaire 240 Il n'y a un accès au répertoire de noms symboliques auxiliaire 240 que lorsqu'un nom symbolique n'est pas trouvé dans l'ensemble de répertoire de noms symboliques principal 230. La procédure utilisée par le système de fichiers pour localiser un fichier, lorsque le nom du fichier est donné conformément aux exemples des dessins, est la suivante. Premièrement, il utilise le répertoire de fichiers pour traduire le nom du fichier en un nom symbolique. Deuxièmement, il utilise l'ensemble de répertoire de noms symboliques principal 230 pour traduire le nom symbolique en un identificateur du disque et en un index ou en un indicateur indiquant l'article approprié dans la table de descripteurs de fichiers de ce disque 154 Troisièmement, s'il ne trouve pas le nom symbolique dans l'ensemble de répertoire de noms symboliques principal 230, il accède au répertoire de noms symboliques auxiliaire 240 pour traduire le nom symbolique en un identificateur du disque et en un indicateur indiquant l'article du descripteur de fichier. L'ensemble de répertoire de noms symboliques principal 230 renonce à une efficacité d'utilisation d'espace de disques afin de permettre une recherche de noms symboliques rapide, tandis que le répertoire de noms symboliques auxiliaire 240 renonce à un certain degré de rapidité de recherche de noms symboliques en vue d'une meilleure utilisation de l'espace des disques. Contrôle de disques et mouvement de fichiers automatiques En tirant profit de l'aptitude de la présente invention à déplacer des fichiers d'une manière transparente (c'est-à-dire sans affecter les utilisateurs du système), une personne chargée de gérer le système peut vérifierpériodiquement la capacité restante de chacun des disques du système de fichiers et puis procéder à des mouvements de fichiers pour équilibrer la capacité des disques, en évitant ainsi que l'un quelconque des disques ou que l'une quelconque des séries de disques ne soit à court d'espace La personne chargée de gérer le système peut également faire en sorte de contrôler périodiquement la charge à laquelle chacun des disques du système de fichiers est soumis (c'est-à- dire le taux d'opérations d'entrée/sortie effectuées sur les disques), et de déplacer des fichiers afin d'équilibrer la charge sur les différents disques Un équilibrage de la charge peut être important, car chaque organe d' actionnement de bras de disque d'un dispositif de mémoire à disques ne peut pas traiter plus d'un nombre défini d'opérations d'entrée/sortie (I/0) par secondes, une limite caractéristique pouvant être égale à 25 opérations d'entrée/sortie par seconde et par bras de disque Si un trop grand nombre des fichiers les plus activement utilisés se trouve sur un seul disque, la capacité du système risque de se dégrader du fait d'un embouteillage des entrées/sorties au niveau de ce disque. Cependant, une fois que l'aptitude à déplacer des fichiers d'un disque à l'autre est rendue possible grâce à la présente invention, il devient également possible d'automatiser la procédure de contrôle de charges d'entrée/sortie des disques et de capacité de ceux-ci, et de déplacer automatiquement des fichiers entre les disques, afin d'équilibrer les charges des disques, leur capacité ou les deux. En référence à la Figure 6, le système de fichiers comporte, dans un autre mode de réalisation préféré, un sous- programme de contrôle et d'équilibrage d'utilisation de disques 164 qui non seulement contrôle les capacités des disques et les charges des disques, mais également calcule des valeurs statistiques moyennes dans le temps, telles que les écarts standard de ces deux paramètres d'utilisation des disques (étape 250) Les valeurs d'écart standard correspondant à un pourcentage de capacité disponible et de charge de disques constituent des indicateurs de disparité d'utilisation des disques Il est important que ces valeurs correspondent à des moyennes dans le temps, ou soient soumises à un filtrage passe-bas, afin que de brefs accès d'activité des disques, ou une procédure temporaire qui n'occupe que brièvement un important espace de disque, n'entraînent pas un transfert inutile d'un grand nombre de fichiers. Lorsque l'écart standard de charge des disques dépasse une valeur de seuil présélectionnée correspondante (étape 252), indicative de la limite entre un fonctionnement acceptable et un fonctionnement inacceptable du système, le programme 164 déplace des fichiers du disque le plus lourdement chargé sur un disque comparable (c'est-à- dire en termes de vitesse d'accès, de disponibilité, etc) moins lourdement chargé (étapes 254) De la même manière, lorsque le paramètre de capacité des disques dépasse une valeur de seuil présélectionnée correspondante (étape 256), le programme 164 déplace des fichiers d'un disque disposant d'une capacité résiduelle bien inférieure à la capacité résiduelle moyenne sur un disque comparable possédant la plus grande capacité résiduelle (étape 258) Puis la procédure recommence Si l'utilisation des disques est toujours déséquilibrée, un plus grand nombre de fichiers est déplacé, jusqu'à ce que les statistiques calculées d'utilisation des disques soient conformes aux critères de seuil spécifiés en vue d'un fonctionnement acceptable du système Le nombre de fichiers déplacés pendant une quelconque itération de cette procédure doit, par prudence, être maintenu faible, pour éviter des mouvements de fichiers inutiles. Dans d'autres modes de réalisation, des critères autres qu'un écart standard de capacité des disques et de charge des disques peuvent être utilisés pour déterminer si des fichiers doivent être transférés. Bien que la description précédente ait porté sur des modes de réalisation préférés de la présente invention, il est bien entendu que celle-ci n'est pas limitée aux quelques exemples particuliers décrits et illustrés ici, et l'homme de l'art comprendra aisément qu'il est possible d'y apporter différents changements et variantes, sans pour autant sortir du cadre de l'invention. REVENDICATIONS 1 Système de fichiers pour redistribuer sélectivement des fichiers destinés à être utilisés conjointement avec un système informatique ( 100) doté d'une unité centrale de traitement ( 102) et de multiples dispositifs de stockage de données ( 108-112) distincts sur lesquels sont stockés les fichiers, système de fichiers ( 140) caractérisé en ce qu'il comporte de multiples répertoires de fichiers ( 202-1, 202-2) stockés sur différents dispositifs de stockage de données desdits multiples dispositifs de stockage de données ( 108-112), dont chacun contient une série d'entrées de répertoires de fichiers ( 204) qui indiquent chacune un nom de fichier et une valeur de nom symbolique correspondante, plusieurs noms de fichiers correspondant à un seul fichier pouvant être stockés dans plusieurs desdits répertoires de fichiers; une table de descripteurs de fichiers ( 154) séparée pour chacun desdits multiples dispositifs de stockage de données ( 108-112), chaque table de descripteurs de fichiers contenant une entrée de descripteur de fichier ( 170) pour chaque fichier stocké sur le dispositif de stockage de données correspondant; un répertoire de noms symboliques ( 156) stocké sur un dispositif de stockage de données sélectionné desdits multiples dispositifs de stockage de données ( 108112), qui contient des entrées de noms symboliques ( 208) correspondant à une série définie de valeurs de noms symboliques, chaque fichier stocké dans lesdits multiples dispositifs de stockage de données étant représenté par une seule desdites entrées de noms symboliques ( 208), et chacune desdites entrées de noms symboliques indiquant celui desdits multiples dispositifs de stockage de données sur lequel le fichier correspondant à ladite entrée de nom symbolique est stocké; et des moyens de déplacement de fichiers ( 162) aptes à être commandés par ladite unité centrale de traitement ( 102) en vue de déplacer un fichier spécifié d'un premier à un second desdits multiples dispositifs de stockage de données ( 108-112) et comprenant des moyens pour copier ledit fichier spécifié dans ledit second desdits multiples dispositifs de stockage de données, pour créer une entrée de descripteur de fichier ( 170) pour ledit fichier copié sur ladite table de descripteurs de fichiers ( 154) correspondant audit second desdits multiples dispositifs de stockage de données, et pour changer l'entrée de nom symbolique ( 208) dans ledit répertoire de noms symboliques ( 156) correspondant audit fichier spécifié, afin que ladite entrée de nom symbolique désigne ledit second desdits multiples dispositifs de stockage de données, moyennant quoi, un fichier peut être déplacé d'un premier à un second desdits multiples dispositifs de stockage de données ( 108-112) sans qu'il soit nécessaire de rechercher et de mettre à jour toutes les entrées de répertoires de fichiers ( 204) correspondantes. 2 Système de fichiers selon la revendication 1, caractérisé en ce qu'il comporte également des moyens de contrôle d'utilisation de stockage de données ( 164) aptes à être exécutés par ladite unité centrale de traitement ( 102) pour contrôler une utilisation desdits multiples dispositifs de stockage de données ( 108-112), pour calculer des valeurs statistiques correspondantes indiquant si ladite utilisation est déséquilibrée, pour comparer lesdites valeurs statistiques calculées avec des critères prédéfinis, et pour, lorsque lesdits critères prédéfinis sont satisfaits, déplacer automatiquement des fichiers entre lesdits multiples dispositifs de stockage de données, en vue d'une utilisation mieux équilibrée de ceux-ci. 3 Système de fichiers selon la revendication 1, caractérisé en ce qu'il comporte aussi des moyens de contrôle d'utilisation de stockage de données ( 164) aptes à être exécutés par ladite unité centrale de traitement ( 102) pour contrôler une capacité non utilisée sur chacun desdits multiples dispositifs de stockage de données ( 108-112), pour calculer des valeurs statistiques indiquant si ladite capacité non utilisée est répartie d'une manière non uniforme entre lesdits multiples dispositifs de stockage de données, pour comparer lesdites valeurs statistiques calculées avec des critères prédéfinis, et pour, lorsque lesdits critères prédéfinis sont satisfaits, déplacer automatiquement des fichiers entre lesdits multiples dispositifs de stockage de données, afin de répartir la capacité non utilisée d'une manière plus uniforme entre lesdits multiples dispositifs de stockage de données. 4 Système de fichiers selon la revendication 3, caractérisé en ce que lesdits moyens de contrôle d'utilisation de stockage de données ( 164) comportent en outre des moyens pour contrôler une charge exercée sur chacun desdits multiples dispositifs de stockage de données ( 108- 112), pour calculer des valeurs statistiques moyennes dans le temps, indiquant si ladite charge est répartie d'une manière non uniforme entre lesdits multiples dispositifs de stockage de données, pour comparer lesdites valeurs statistiques calculées avec des critères prédéfinis, et pour, lorsque lesdits critères prédéfinis sont satisfaits, déplacer automatiquement des fichiers entre lesdits multiples dispositifs de stockage de données, afin de répartir la charge d'une manière plus uniforme entre lesdits multiples dispositifs de stockage de données. Procédé pour affecter un espace de mémoire dans un système informatique doté de multiples dispositifs de stockage de données distincts, caractérisé en ce qu'il comporte les étapes qui consistent à stocker sur différents dispositifs de stockage de données desdits multiples dispositifs de stockage de données ( 108-112) de multiples répertoires de fichiers ( 202-1, 202-2) dont chacun contient une série d'entrées de répertoires de fichiers ( 204) qui indiquent chacune un nom de fichier et une valeur de nom symbolique correspondante, plusieurs noms de fichiers correspondant à un seul fichier pouvant être stockés dans plusieurs desdits répertoires de fichiers; à stocker sur chacun desdits multiples dispositifs de stockage de données une table de descripteurs de fichiers séparée ( 154), chaque table de descripteurs de fichiers contenant une entrée de descripteur de fichier ( 170) pour chaque fichier stocké sur le dispositif de stockage de données correspondant; à stocker sur un dispositif de stockage de données sélectionné desdits multiples dispositifs de stockage de données un répertoire de noms symboliques ( 156) qui contient des entrées de noms symboliques ( 208) correspondant à une série définie de valeurs de noms symboliques, chaque fichier stocké dans lesdits multiples dispositifs de stockage de données étant représenté par une seule desdites entrées de noms symboliques ( 208), et chacune desdites entrées de noms symboliques indiquant celui desdits multiples dispositifs de stockage de données sur lequel le fichier correspondant à ladite entrée de nom symbolique est stocké; et à déplacer un fichier spécifié d'un premier à un second desdits multiples dispositifs de stockage de données ( 108-112), cette étape consistant à copier ledit fichier spécifié dans ledit second desdits multiples dispositifs de stockage de données, à créer une entrée de descripteur de fichier ( 170) pour ledit fichier copié sur ladite table de descripteurs de fichiers ( 154) correspondant audit second desdits multiples dispositifs de stockage de données, et à changer l'entrée de nom symbolique ( 208) dans ledit répertoire de noms symboliques ( 156) correspondant audit fichier spécifié, afin que ladite entrée de nom symbolique désigne ledit second desdits multiples dispositifs de stockage de données, moyennant quoi, un fichier peut être déplacé d'un premier à un second desdits multiples dispositifs de stockage de données ( 108-112) sans qu'il soit nécessaire de rechercher et de mettre à jour toutes les entrées de répertoires de fichiers ( 204) correspondantes. 6 Procédé selon la revendication 5, caractérisé en ce qu'il consiste également à contrôler une utilisation desdits multiples dispositifs de stockage de données ( 108- 112), à calculer des valeurs statistiques correspondantes indiquant si ladite utilisation est déséquilibrée, à comparer lesdites valeurs statistiques calculées avec des critères prédéfinis, et, lorsque lesdits critères prédéfinis sont satisfaits, à déplacer automatiquement des fichiers entre lesdits multiples dispositifs de stockage de données, en vue d'une utilisation mieux équilibrée de ceux-ci. 7 Procédé selon la revendication 5, caractérisé en ce qu'il consiste aussi à contrôler une capacité non utilisée sur chacun desdits multiples dispositifs de stockage de données ( 108-112), à calculer des valeurs statistiques indiquant si ladite capacité non utilisée est répartie d'une manière non uniforme entre lesdits multiples dispositifs de stockage de données, à comparer lesdites valeurs statistiques calculées avec des critères prédéfinis, et, lorsque lesdits critères prédéfinis sont satisfaits, à déplacer automatiquement des fichiers entre lesdits multiples dispositifs de stockage de données, afin de répartir la capacité non utilisée d'une manière plus uniforme entre lesdits multiples dispositifs de stockage de données. 8 Procédé selon la revendication 7, caractérisé en ce qu'il consiste en outre à contrôler une charge exercée sur chacun desdits multiples dispositifs de stockage de données ( 108-112), à calculer des valeurs statistiques moyennes dans le temps, indiquant si ladite charge est répartie d'une manière non uniforme entre lesdits multiples dispositifs de stockage de données, à comparer lesdites valeurs statistiques calculées avec des critères prédéfinis, et, lorsque lesdits critères prédéfinis sont satisfaits, à déplacer automatiquement des fichiers entre lesdits multiples dispositifs de stockage de données, afin de répartir la charge d'une manière plus uniforme entre lesdits multiples dispositifs de stockage de données.