Brevet FR2774786A1 — publié le 19990813

La présente invention concerne d'une manière générale les ordinateurs et, d'une manière plus spécifi- que, un système et un procédé pour partitionner et forma- ter un ou plusieurs dispositifs de mémorisation au sein de l'ordinateur. Lorsqu'un ou plusieurs dispositifs de mémorisa- tion, tels qu'un disque dur, sont ajoutés à un système d'ordinateur, les dispositifs de mémorisation nécessitent souvent une préparation spécifique. Une telle préparation peut comprendre, par exemple, simultanément, le parti- tionnement du disque dur en des régions logiques, de sorte que certaines données ou certains programmes puis- sent être mémorisés séparément, et le formatage du disque dur afin de l'adapter à un système d'exploitation parti- culier. Une situation commune se rencontre lorsqu'est fa- briqué un nouvel ordinateur qui utilise un système d'ex- ploitation Microsoft DOS ou WINDOWS (marque déposée), produit par Microsoft Corporation, Redmond, Washington. Durant la fabrication, un ou plusieurs disques durs doi- vent tout d'abord être partitionnés en une ou plusieurs partitions, telles qu'une partition primaire dans laquelle le système d'exploitation de l'ordinateur et d'autres programmes d'application sont mémorisés, une partition utilitaire dans laquelle des programmes du type utilitaire ou maintenance sont mémorisés, et des parti- tions étendues. Des situations similaires se rencontrent lorsqu'un nouveau disque dur est ajouté à un système d'ordinateur ou lorsqu'un disque dur existant est refor- maté. Dans la description qui va suivre, le terme "prépa- ration" sous-entend à la fois les procédures de parti- tionnement et de formatage appropriées. Un grand nombre de variables sont associées à la préparation d'un ou de plusieurs disques durs, ce qui autorise un grand nombre de configurations potentielles pour le ou les disques durs. Ces variables peuvent être déterminées par le ou les disques, tel que par la taille et le nombre de disques durs, déterminées par le système, tel que par le fait que sont supportées des opérations "suspend-to-disk" avec des espaces pré-réservés ou des zones de mémorisation séparées avec des partitions utili- taires, et/ou déterminées par l'utilisateur, tel que par un choix de systèmes d'exploitation ou de partitions mul- tiples. La grande variété des configurations possibles peut s'avérer problématique pour les fabricants d'ordina- teurs, en particulier pour ceux qui personnalisent chaque ordinateur pour un utilisateur particulier. D'une manière typique, une personne doit super- viser le processus de préparation du ou des plusieurs disques durs, en effectuant de nombreux choix sur la base des variables décrites ci- dessus afin de produire une configuration optimale. Cependant, il serait souhaitable de simplifier et/ou d'automatiser cette fonction afin de mieux rationaliser ce processus. En réponse, on fournit un système et un procédé pour préparer une mémoire d'ordinateur. Dans un premier mode de réalisation, l'ordinateur comporte un processeur et la mémoire d'ordinateur, laquelle peut être un disque dur. Le processeur est capable d'exécuter un code de sys- tème d'exploitation, de recevoir des directives externes, et d'accéder au disque dur. En fonctionnement, le proces- seur exécute un ensemble de codes d'exploitation pour préparer le disque dur. L'ensemble de codes comprend des instructions pour recevoir une directive externe, des instructions pour déterminer une configuration du disque dur, des instructions pour créer un descripteur de parti- tion à partir de la directive externe et/ou configura- tion, et des instructions pour préparer le disque dur conformément au descripteur de partition. Dans un premier mode de réalisation, la direc- tive externe est revue à partir d'un fichier de directi- ves, fournissant ainsi une instruction pour gérer le pro- cessus de préparation. Dans un autre mode de réalisation, la directive externe est délivrée au niveau d'une ligne d'instruction, fournissant ainsi une instruction pour gérer le processus de préparation. Un avantage technique obtenu est que la prépa- ration de la mémoire de l'ordinateur est simplifiée et/ou automatisée, rationalisant ainsi ce processus. Un autre avantage technique obtenu est que les directives peuvent être modifiées pour faire face à la configuration spécifique de la mémoire de l'ordinateur. Un autre avantage technique obtenu est que de longues séries de directives peuvent être placées dans un seul fichier de directives, ce qui en simplifie l'entrée. On va maintenant décrire la présente invention, à titre d'exemple uniquement, en se reportant aux dessins annexés sur lesquels: - la figure 1 est un schéma fonctionnel d'un ordinateur destiné à implémenter un mode de réalisation, - la figure 2 est un diagramme d'implantation d'un disque dur de l'ordinateur de la figure 1, et - la figure 3 est un ordinogramme d'une routine à exécuter par l'ordinateur de la figure 1 pour préparer le disque dur de la figure 2. La description qui va suivre incorpore à titre de référence la demande de brevet des Etats-Unis (N DC-1313) intitulée "System and Method for Changing Partition Mappings to Logical Drives in a Computer Memo- ry" déposée le 3 Décembre 1997 et communément cédée. En se reportant à la figure 1, la référence nu- mérique 10 indique un ordinateur comportant plusieurs composants, parmi lesquels un processeur 12, un ensemble de mémoires à accès aléatoire (RAM) 14a et de mémoires à lecture seule (ROM) 14b, un ou plusieurs disques durs re- présentés par un disque dur 16, et une interface-réseau 18. Chaque composant est capable de communiquer avec le processeur 12, comme représenté graphiquement par un bus universel 20. Dans le présent exemple, l'ordinateur 10 est un ordinateur personnel fonctionnant sous Microsoft DOS et/ou WINDOWS (marque déposée). Il va de soi, cepen- dant, que l'ordinateur 10 et les composants illustrés qui lui sont associés ne sont que représentatifs d'un grand nombre de types différents d'ordinateurs et de composants bien connus et compris de l'homme du métier. En se reportant à la figure 2, le disque dur 16 comporte un secteur d'amorçage maître 30, comportant un code d'amorçage 32 et une table de partition maîtresse 34. Il va de soi que le secteur d'amorçage maître 30 com- porte du code classique, tel que pour amorcer l'ordina- teur 10, lequel est bien connu dans la technique. Au dis- que dur 16 sont associés un début 36 et une fin 38, re- présentant ensemble la capacité-mémoire totale de chaque disque dur. Par ailleurs, au disque dur 16 est associée une capacité (non- représentée), telle que pour déterminer si le disque dur supporte des extensions BIOS ou une in- terface-bus requise particulière. Il peut aussi y avoir des disques durs (non-représentés) additionnels qui pos- sèdent des configurations physiques similaires ou diffé- rentes. En se reportant à la figure 3, un procédé 100 est utilisé pour préparer le disque dur 16 de l'ordina- teur 10. A titre d'exemple, le procédé 100 est implémenté par le processeur 12 mais peut, en variante, être implé- menté par un autre dispositif, tel qu'un dispositif con- necté via l'interface-réseau 18. Des exemples spécifiques de mise en oeuvre du procédé 100 sont aussi fournis ci-après. A l'étape 110, le processeur 12 reçoit une ou plusieurs directives. Une directive fournit un guidage et des instructions au procédé 100 pour indiquer comment le disque dur 16 doit être préparé. Le processeur 12 peut recevoir les directives en lisant un fichier de directi- ves 110a. Le fichier de directives 110a est un fichier texte ASCII qui contient des instructions destinées au procédé 100 sous la forme d'un langage descripteur spé- cialisé. Le fichier de directives 110a peut être délivré, par exemple, via l'interface-réseau 18 ou via le disque dur 16. En variante, le processeur 12 peut recevoir les directives sous la forme de paramètres de ligne de com- mande 110b. Les paramètres de ligne de commande sont des instructions envoyées au procédé 100 lorsque le procédé est invoqué. Ces directives permettent à un utilisateur de spécifier pratiquement tous les aspects de la préparation d'un disque dur, parmi lesquels les spécifications fi- chier du secteur d'amorçage (par exemple, un nom de fi- chier qui contiendra le secteur d'amorçage maître 30, un secteur d'amorçage de partition de table d'allocation de fichiers 16 bits ("FAT16"1), et/ou un secteur d'amorçage de partition FAT32), les types de systèmes de fichiers (par exemple, FAT16 et/ou FAT32), les tailles des parti- tions (par exemple, le nombre de Mo), et ainsi de suite. Une fois les directives préparées, plus aucune entrée de l'utilisateur n'est nécessaire. A l'étape 112, le processeur 12 vérifie les di- rectives reçues afin de déterminer si celles-ci sont com- patibles. C'est-à-dire que le processeur 12 vérifie la syntaxe des directives et s'assure qu'il n'existe aucun conflit entre deux directives. Si les directives ne sont pas compatibles, à l'étape 114, le processeur 12 génère un message d'erreur. A l'étape 116, le processeur 12 détermine les caractéristiques du disque dur 16. En poursuivant par l'exemple du système d'exploitation DOS/WINDOWS, le pro- cesseur 12 peut utiliser des appels et des extensions du BIOS pour déterminer les caractéristiques du disque dur 16, parmi lesquelles le nombre de disques réels (le dis- que dur 16 représente un ou plusieurs disques durs), les paramètres de chaque disque, et la capacité de chaque disque. Les paramètres de chaque disque peuvent compren- dre un nombre de cylindres, un nombre de têtes, et un nombre de pistes. La capacité de chaque disque peut com- prendre un niveau de support BIOS. Le processeur 12 mémo- rise la configuration physique dans la RAM 14a. Le procédé 100 agit séquentiellement sur chaque disque représenté par le disque dur 16. A l'étape 118, le processeur 12 détermine si un disque "suivant" est à pré- parer. Si tel est le cas, à l'étape 120, le processeur 12 analyse les caractéristiques du disque et les directives reçues concernant le disque, pour créer un ou plusieurs descripteurs de partition. L'analyse peut avoir des des- cripteurs par défaut, ou des descripteurs de secours, pour faire face aux détails de la préparation non-fournis dans les descripteurs reçus ou non-possibles avec les descripteurs reçus. D'autres impossibilités peuvent être considérées comme une erreur et un utilisateur peut en être notifié. A l'étape 122, le processeur 12 prépare le dis- que dur 16 en traitant les descripteurs de partition créés auparavant. En particulier, le processeur 12 écrit le secteur d'amorçage maître 30 en fournissant le code d'amorçage 32 et en préparant la table de partition maî- tresse 34 conformément aux descripteurs de partition créés à l'étape 120. Le processeur 12 crée aussi un ou plusieurs secteurs d'amorçage de partition (non représen- tés) avec les tables d'allocation de fichiers appro- priées. Après l'exécution de l'étape 122, ou après l'obtention d'un résultat négatif à l'étape 118, l'étape exécutée ensuite est l'étape 124 au niveau de laquelle le processeur 12 détermine si un autre disque doit être pré- paré. Si tel est le cas, l'étape exécutée ensuite est l'étape 118 et le disque suivant est préparé. Dans le cas contraire, l'étape exécutée ensuite est l'étape 126 et le processeur 12 reporte la configuration logique finale du disque dur 16. Dans un but de clarification, on va maintenant décrire plusieurs exemples d'opérations qui peuvent être effectuées via le procédé 100. Il va de soi, cependant, que de nombreuses opérations différentes peuvent être en- visagées et, par conséquent, les présents exemples ne sont nullement destinés à limiter les revendications, de quelque manière que ce soit. On va maintenant décrire un premier exemple. Etapes 110 à 112: Une directive "preparer disque dur et réserve 32 Mo" est reçue. Etapes 116 à 118: Il n'existe qu'un seul disque dur 16 possédant une capacité de 10 Go. Etape 120: La capacité du disque dur est suffi- samment supérieure au volume que l'on souhaite réserver. Un descripteur de partition est créé pour faire face à la directive reçue. Etape 122: Le secteur d'amorçage maître 30 et le secteur d'amorçage de partition sont écrits, réservant les 32 Mo au voisi- nage de la fin 38 du disque dur 16. On va maintenant décrire un deuxième exemple. Etapes 110 à 112: Une directive "préparer disque dur et créer une partition utilitaire de dix Mo sur le second disque dur" est reçue. Etapes 116 à 118: Il existe deux disques durs. Le pre- mier disque dur possède une capacité de 2 Go. Etape 120: La capacité du premier disque dur ex- cède une limite maximale prédéfinie pour une partition primaire. Un des- cripteur de partition est créé pour faire face à la directive reçue. Etape 122: Le secteur d'amorçage maître 30 et un secteur d'amorçage associé à la par- tition primaire sont créés sur le premier disque dur. Un secteur d'amorçage associé à une partition étendue est aussi créé, la partition étendue utilisant la capacité dispo- nible restante. Il est vérifié que la capacité de chaque partition excède une limite minimale prédéfinie. Etape 118: Le second disque dur possède une ca- pacité de 6 Go. Etape 120: La capacité du second disque dur est suffisamment supérieure au volume souhaité nécessaire à la partition utilitaire. Un descripteur de parti- tion est créé pour faire face à la directive reçue. Etape 122: Le secteur d'amorçage maître 30, un secteur d'amorçage de partition pri- maire et un secteur d'amorçage de partition utilitaire sont écrits sur le second disque dur. On va maintenant décrire un troisième exemple. Etapes 110 à 112: Une directive "préparer disque dur en utilisant paramètres par défaut" est reçue. Etapes 116 à 118: Il n'existe qu'un seul disque dur 16 possédant une capacité de 10 Go. Etape 120: La capacité du disque dur dépasse une limite maximale prédéfinie pour une partition primaire. Un descripteur de partition est créé afin de faire face à la directive reçue. Etape 122: Le secteur d'amorçage maître 30 et un secteur d'amorçage associé à la par- tition primaire sont créés. Un sec- teur d'amorçage associé à une parti- tion étendue est aussi créé, la par- tition étendue utilisant la capacité disponible restante. Il est vérifié que la capacité de chaque partition dépasse une limite minimale prédéter- minée. On va maintenant décrire un quatrième exemple. Etapes 110 à 112: Une directive "préparer disque dur et ne pas créer de partition étendue" est reçue. Etapes 116 à 118: Il existe un disque dur 16 possédant une capacité de 2,1 Go. Etape 120: Du fait qu'aucune partition addition- nelle n'est demandée, une partition primaire de 2,0 Go unique sera créée. Un descripteur de partition est créé pour faire face à la directive reçue. Etape 122: Le secteur d'amorçage maître 30 et un secteur d'amorçage associé à la par- tition primaire sont créés. Les Mo restants restent non-formatés. On va maintenant décrire un cinquième exemple. Etapes 110 à 112: Une directive "préparer disque dur et créer une partition étendue" est re- çue. Etapes 116 à 118: Il existe un disque dur 16 possédant une capacité de 2,1 Go. Etape 120: Du fait qu'une partition étendue est demandée, et que la taille minimale d'une partition est de 500 Mo, une partition primaire de 1,6 Go sera créée et une partition étendue de 500 Mo sera créée. Un descripteur de partition est créé pour faire face à la directive reçue. Etape 122: Le secteur d'amorçage maître 30 et deux secteurs d'amorçage additionnels sont créés: un premier pour la par- tition primaire et un autre pour la partition étendue. On va maintenant décrire un sixième exemple. Etapes 110 à 112: Deux directives: "Installer disque comme serveur de réseau" et "créer une partition primaire de 1,6 Go" sont reçues. Etapes 116 à 118: Il existe un disque dur 16 possédant une capacité de 2,0 Go. Etape 120: Du fait qu'un serveur de réseau né- cessite au moins une partition éten- due de 500 Mo, il n'existe pas suffi- samment d'espace disque pour faire face aux deux directives. La parti- tion primaire de 1,6 Go est ramenée à 1,5 Go. Un descripteur de partition est créé pour faire face à la direc- tive reçue. il Etape 122: Le secteur d'amorçage maître 30 et deux secteurs d'amorçage additionnels sont créés: un premier pour la par- tition primaire et un autre pour la partition étendue. La modification est notifiée. On va maintenant décrire un septième exemple. Etapes 110 à 112: Une directive "préparer disque dur avec partition FAT32" est reçue. Etapes 116 à 118: Il existe un disque dur 16 possédant une capacité de 1,8 Go. Etape 120: Du fait qu'une partition FAT32 néces- site au moins 2,0 Go, on ne dispose pas de suffisamment d'espace disque pour faire face aux deux directives. La partition primaire est ramenée à une partition FAT16 de 1,8 Go. Un descripteur de partition est créé pour faire face à la directive reçue. Etape 122: Le secteur d'amorçage maître 30 et un secteur d'amorçage associé à la par- tition primaire FAT16 sont créés. On notera que des caractéristiques additionnel- les, telles que des routines de manipulation des erreurs, peuvent être ajoutées au mode de réalisation illustratif sans modifier la portée du présent mode de réalisation. REVENDICATIONS 1. Ordinateur (10) comportant: au moins un processeur (12) capable d'exécuter un code d'exploitation et de recevoir des directives ex- ternes, au moins une mémorisation à laquelle peut accé- der le processeur (12), un ensemble de codes d'exploitation pour prépa- rer la au moins une mémorisation, caractérisé en ce que l'ensemble comporte des instructions pour déterminer une configuration de la au moins une mémorisation, pour recevoir au moins une direc- tive externe, et pour préparer la au moins une mémorisa- tion en réponse à la directive. 2. Ordinateur (10) selon la revendication 1, caractérisé en ce que la au moins une directive est reçue à partir d'un fichier (110a) contenant une directive ad- ditionnelle. 3. Ordinateur (10) selon la revendication 1, caractérisé en ce que le processeur (12) reçoit la au moins une directive via une ligne de commande (11Ob). 4. Ordinateur (10) selon la revendication 1, caractérisé en ce qu'il comporte en outre une con- nexion-réseau et en ce que la au moins une directive est reçue via la connexion-réseau. 5. Ordinateur (10) selon la revendication 1 ca- ractérisé en ce qu'il comporte en outre une disquette et en ce que la au moins une directive est reçue via la dis- quette. 6. Ordinateur (10) selon la revendication 1 ca- ractérisé en ce que la au moins une directive définit une configuration de partitionnement de la au moins une mémo- risation. 7. Procédé pour préparer un dispositif de mémo- risation dans un ordinateur (10), le procédé étant carac- térisé en ce qu'il comporte les étapes consistant à: recevoir une pluralité de directives, déterminer une configuration du dispositif de mémorisation, comparer la directive avec la configuration, et si la comparaison de la configuration et des directives le permet, créer des descripteurs de partition en réponse aux directives, et préparer le dispositif de mémorisation confor- mément aux descripteurs de partition. 8. Procédé selon la revendication 7 caractérisé en ce qu'il comporte en outre: si la comparaison de la configuration et des directives le permet, la création des descripteurs de partition en réponse à la configuration. 9. Procédé selon la revendication 7 caractérisé en ce que les directives sont reçues à partir d'un fi- chier (110a). 10. Procédé selon la revendication 7 caractéri- sé en ce que les directives sont reçues à partir d'une ligne de commande (110b) du système d'exploitation. 11. Procédé selon la revendication 7 caractéri- sé en ce que l'ordinateur (10) comporte une con- nexion-réseau et en ce que les directives sont reçues via la connexion-réseau. 12. Procédé selon la revendication 7 caractéri- sé en ce que l'ordinateur (10) comporte une disquette et en ce que les directives sont reçues via la disquette. 13. Procédé selon la revendication 7 caractéri- sé en ce que les directives définissent une configuration de partitionnement du dispositif de mémorisation. 14. Procédé pour préparer deux ou plus de deux dispositifs de mémorisation dans un ordinateur (10), le procédé étant caractérisé en ce qu'il comporte les étapes consistant à: recevoir une première directive destinée à un premier dispositif de mémorisation, déterminer une première configuration du pre- mier dispositif de mémorisation, comparer la première directive avec la première configuration, et si la comparaison de la première configuration et de la première directive l'autorise, créer un descrip- teur de partition en réponse à la première directive, si la comparaison de la première configuration et de la première directive ne l'autorise pas, créer le descripteur de partition en réponse à la configuration, préparer le premier dispositif de mémorisation conformément au descripteur de partition, et répéter les étapes ci-dessus pour une seconde directive et un second dispositif de mémorisation. 15. Procédé selon la revendication 14 caracté- risé en ce que les directives sont reçues à partir d'un fichier (110a). 16. Procédé selon la revendication 14, caracté- risé en ce que les directives sont reçues à partir d'une ligne de commande (11Ob) du système d'exploitation. 17. Procédé selon la revendication 14 caracté- risé en ce que l'ordinateur (10) comporte une con- nexion-réseau et les directives sont reçues via la con- nexion-réseau. 18. Procédé selon la revendication 14 caracté- risé en ce que l'ordinateur (10) comporte une disquette et en ce que les directives sont reçues via la disquette. 19. Dispositif informatique pour préparer un ou plusieurs disques durs (16) dans un ordinateur (10), dis- positif caractérisé en ce qu'il comporte: un support de mémorisation lisible par ordina- teur, des instructions enregistrées sur le support pour déterminer une configuration d'un premier disque dur, des instructions enregistrées sur le support pour recevoir une première directive, des instructions enregistrées sur le support pour créer un descripteur de partition conformément à la configuration et à la directive, et des instructions enregistrées sur le support pour préparer le premier disque dur en utilisant le des- cripteur de partition. 20. Dispositif informatique selon la revendica- tion 19 caractérisé en ce qu'il comporte en outre: des instructions enregistrées sur le support pour lire la première directive à partir d'un fichier (110a). 21. Dispositif informatique selon la revendica- tion 20 caractérisé en ce que l'ordinateur (10) comporte un second disque dur et en ce que le fichier contient une seconde directive pour préparer le second disque dur. 22. Dispositif informatique selon la revendica- tion 19, caractérisé en ce qu'il comporte en outre: des instructions enregistrées sur le support pour lire la première directive à partir d'une ligne de commande (11Ob). 23. Dispositif informatique selon la revendica- tion 19 caractérisé en ce qu'il comporte en outre: des instructions enregistrées sur le support pour lire la première directive à partir d'une con- nexion-réseau.