FR2792740A1 - Procede et dispositif d'installation logicielle restaurable pour un systeme informatique - Google Patents

Procede et dispositif d'installation logicielle restaurable pour un systeme informatique Download PDF

Info

Publication number
FR2792740A1
FR2792740A1 FR0000881A FR0000881A FR2792740A1 FR 2792740 A1 FR2792740 A1 FR 2792740A1 FR 0000881 A FR0000881 A FR 0000881A FR 0000881 A FR0000881 A FR 0000881A FR 2792740 A1 FR2792740 A1 FR 2792740A1
Authority
FR
France
Prior art keywords
partition
computer system
manufacturing
utility
primary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0000881A
Other languages
English (en)
Other versions
FR2792740B1 (fr
Inventor
Alan E Beelitz
Richard D Amberg
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dell USA LP
Original Assignee
Dell USA LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dell USA LP filed Critical Dell USA LP
Publication of FR2792740A1 publication Critical patent/FR2792740A1/fr
Application granted granted Critical
Publication of FR2792740B1 publication Critical patent/FR2792740B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Ce système informatique comporte un processeur et une mémoire. La mémoire comporte un enregistrement d'amorçage maître (30), une partition utilitaire (32) et une partition primaire (34). La partition utilitaire (32) inclut un code de fabrication spécifique à une séquence de fabrication du système incluant un chargement logiciel sur la partition primaire (34) à partir d'un serveur-réseau. Le code de fabrication est exécuté par le processeur à l'amorçage du système. Le code de fabrication inclut des instructions pour rafraîchir des tables d'allocation de fichiers et un répertoire racine de la partition primaire lors de la survenue d'une interruption du chargement logiciel à partir du serveur-réseau, et des instructions pour reprendre le chargement logiciel sans reformater ni répartitionner la mémoire.

Description

La présente invention concerne d'une manière gé- nérale la fabrication de
systèmes informatiques et, d'une manière plus particulière, la préparation de systèmes in- formatiques fabriqués sur commande. 5 La tendance actuelle, chez un certain nombre de fabricants d'ordinateurs, est de fournir à un client un système informatique personnalisé dans lequel le client a indiqué que certains composants et certaines capacités doivent être intégrés au système commandé. Il est, par 10 conséquent, important de maximiser l'efficacité à chaque stade du processus de fabrication sur commande. Cette ef- ficacité doit commencer d'être maximisée à l'instant o la commande est effectuée et traitée, et doit continuer de l'être pendant tout l'assemblage, le contrôle et l'ex- 15 pédition de l'unité personnalisée. Pendant la production de systèmes informatiques fabriqués sur commande, les composants spécifiques d'un ordinateur sont prélevés en magasin et sont amenés sur un poste d'assemblage au niveau duquel ces composants spéci- 20 fiques sont assemblés sur le châssis de l'ordinateur.
Après l'assemblage, le châssis est envoyé vers une zone de contrôle rapide au niveau de laquelle des contrôles sont effectués afin de déterminer rapidement si les com- posants correspondant bien à la commande ont été instal- 25 lés, et si les composants fonctionnent bien. Après la procédure de contrôle rapide, les châs- sis assemblés sont envoyés vers un banc d'essai au niveau duquel les composants sont "sollicités" et les erreurs de comportement peuvent être détectées. De nombreuses unités 30 sont simultanément contrôlées sur les bancs d'essai et les contrôles peuvent demander un certain nombre d'heu- res. Lorsque de nombreuses unités en cours de production sont en attente d'être contrôlées, il est important que les espaces libérés sur les bancs d'essai soient utilisés 35 d'une manière efficace pour le contrôle. Par conséquent,
il est important que les ordinateurs ou les dispositifs contrôlés ("Devices Under Test" ou "DUT") soient contrô- lés d'une manière qui détermine rapidement et efficace- ment si un DUT fonctionne correctement et, si tel n'est 5 pas le cas, qui détermine rapidement et efficacement les anomalies de fonctionnement de sorte que le DUT puisse être enlevé du banc d'essai de manière à libérer l'espace occupé sur le banc d'essai pour un autre DUT à contrôler. Une évolution récente s'est traduite par un ordi- 10 nateur qui fonctionne comme un client sur un réseau, plu- tôt que comme une unité autonome. Ce type d'ordinateur se distingue des autres par l'absence d'unité de disquette. Le fait qu'il n'y ait pas d'unité de disquette résulte de la volonté de centraliser la gestion du réseau. Le fait 15 qu'il n'y ait pas d'unité de disquette sur l'ordinateur, cependant, a des implications importantes sur le proces- sus de fabrication, qui reposait traditionnellement sur l'utilisation de disquettes pour l'implémentation. Par exemple, un système d'exploitation logiciel 20 est chargé, d'une manière typique, sur le disque dur du système informatique pendant le processus de fabrication. En l'absence d'unité de disquette, si une interruption se produit pendant le chargement du logiciel sur le disque dur du système informatique, il est alors impossible de 25 réamorcer le système informatique à partir d'une disquette de fabrication et de relancer le chargement. Par ailleurs, il est impossible de réamorcer le système in- formatique à partir du serveur-réseau du fait que, à ce stade du processus de fabrication, le système informati- 30 que est relié à un serveur de chargement de logiciel-système sur le banc d'essai, plutôt qu'à un serveur de contrôle-système (serveur LCM) tel que dans la station de contrôle rapide, et que le dispositif d'amorçage du système informatique est initialisé sur "disque dur", 35 plutôt que sur "réseau". Un amorçage à partir du disque
dur ne fonctionnerait pas non plus, du fait que la parti- tion primaire est marquée comme active, c'est-à-dire comme pouvant être amorcée, et se traduirait par une ten- tative de chargement du système d'exploitation cible par- 5 tiellement chargé. Dans cette situation, le seul recours est de re- tirer l'ordinateur du banc d'essai et de le renvoyer au niveau de la zone de contrôle rapide afin d'effectuer un nouveau formatage et un nouveau partitionnement de ma- 10 nière à pouvoir l'attacher au serveur de contrôle-système (serveur LCM) et à pouvoir reprendre tout le processus de fabrication. Cependant, ceci est particulièrement pénible et demande du temps. L'efficacité et le rendement de fa- brication en sont affectés. 15 Selon l'invention, un procédé d'installation lo- gicielle destiné à être utilisé lors de la fabrication d'un système informatique prescrit inclut les étapes con- sistant à produire au moins un processeur, au moins une mémoire et une interface pour relier le système informa- 20 tique à un serveur-réseau. La (les) mémoire(s) inclu(en)t un enregistrement d'amorçage maître, une partition utili- taire et une partition primaire. La partition utilitaire inclut un code de fabrication spécifique à une séquence de fabrication de la fabrication du système informatique. 25 Lors de l'amorçage du système informatique, le code de fabrication est exécuté par le(s) processeur(s), la sé- quence de fabrication incluant au moins un chargement de logiciel à partir du serveur-réseau sur la partition pri- maire. 30 Un avantage technique, lors de la fabrication d'un système informatique, en particulier d'un NetPC (ou PC-Réseau), conformément à la présente invention, est que les modes de réalisation permettent une reprise dans le cas d'une interruption du processus de fabrication, la 35 reprise s'effectuant à proximité d'une séquence ou phase
donnée du processus de fabrication au niveau de laquelle l'interruption est survenue, n'exigeant pas par ailleurs que le processus de fabrication du PC-Réseau reprenne par un partitionnement du disque dur. Un processus de fabri- 5 cation de PC-Réseau plus effectif et plus efficace est obtenu. Les enseignements et les avantages de la présente invention, mentionnés ci-dessus, ainsi que d'autres, ap- paraitront plus clairement à la lecture de la description 10 détaillée qui va suivre du meilleur mode de mise en oeu- vre de la présente invention. Dans la description qui va suivre, on se reportera aux dessins annexés sur les- quels : - la figure 1 illustre un schéma fonctionnel d'un 15 ordinateur destiné à implémenter un mode de réalisation de la présente description, - la figure 2 est un schéma d'organisation d'un disque dur de l'ordinateur de la figure 1, - la figure 3 illustre un exemple de table de 20 partition maîtresse du disque dur de l'ordinateur de la figure 1, - la figure 4 illustre un exemple de partition primaire du disque dur de l'ordinateur de la figure 1, - la figure 5 illustre un processus de fabrica- 25 tion pour la fabrication de l'ordinateur de la figure 1 selon un mode de réalisation de la présente invention, - la figure 6 illustre le montage de systèmes in- formatiques sur un contrôleur de banc d'essai pendant un traitement au banc d'essai selon un mode de réalisation 30 de la présente invention, et - la figure 7 est un ordinogramme du traitement au banc d'essai, incluant des processus de contrôle éten- du et d'installation logicielle conformément à une séquence de fabrication prescrite, lors de la fabrication 35 d'un ordinateur selon la présente invention.
En se reportant brièvement à la figure 1, un schéma fonctionnel d'un système informatique 10 est re- présenté, ses caractéristiques étant configurées confor- mément à la commande par un client du système informati- 5 que configuré tel que décrit ici. Le système informatique 10 inclut une unité centrale de traitement (CPU) 12, des dispositifs d'entrée/sortie (E/S), tels qu'un écran d'af- fichage, un clavier, une souris, et des contrôleurs asso- ciés, désignés collectivement par la référence numérique 10 14, une unité de disque dur 16 et d'autres dispositifs de mémorisation, tels que pouvant inclure une unité de disquette, une unité de cédérom, une mémoire vive (RAM), une mémoire vive non volatile (NVRAM), une mémoire morte (ROM) et autres dispositifs servant de mémoire, désignés 15 collectivement par la référence numérique 18, ainsi que divers autres sous-systèmes, tels qu'une carte d'inter- face-réseau (ou NIC), un modem ou un temporisateur de surveillance, tous désignés collectivement par la réfé- rence numérique 20, tous interconnectés via un ou plu- 20 sieurs bus, représentés collectivement sur la figure 1 par un bus 22. En ce qui concerne un PC-Réseau ("NetPC"), une unité de disquette n'est typiquement pas incorporée. Dans le présent exemple, le système informatique 10 peut inclure un ordinateur personnel fonctionnant sous Micro- 25 soft (marque déposée) DOS et/ou Windows (marque déposée). On comprendra, cependant, que le système informatique 10 et les composants illustrés qu'il contient sont simple- ment représentatifs de nombreux types différents d'ordi- nateurs et composants bien connus et compris de l'homme 30 du métier. En se reportant maintenant à la figure 2, l'unité de disque dur 16 est subdivisée en au moins trois parti- tions différentes, parmi lesquelles un enregistrement d'amorçage maître 30, une partition utilitaire 32 et une 35 partition primaire 34. Un code d'amorçage 40 et une table
de partition maîtresse 42 sont contenus dans l'enregis- trement d'amorçage maître 30. La table de partition maî- tresse 42 inclut un code qui représente un type pour cha- que partition 32, 34. Il faut comprendre que l'enregis- 5 trement d'amorçage maître 30 contient aussi un code classique, tel que pour amorcer le système informatique 10, qui est bien connu dans la technique. La partition utilitaire inclut un enregistrement d'amorçage 50 et des tables d'allocations de fichiers, un 10 répertoire racine et des fichiers, désignés collective- ment par la référence numérique 52. Dans les fichiers 52 est inclus un code de fabrication qui est spécifique au système informatique fabriqué. C'est-à-dire que le code de fabrication inclut des instructions pour implémenter 15 un contrôle étendu et une installation logicielle dans une séquence de fabrication prescrite, l'installation lo-
gicielle, en outre, étant spécifique au système informa- tique particulier fabriqué. Lors d'un fonctionnement nor- mal du système informatique, la partition utilitaire 32 20 ne sera utilisée que dans des circonstances spéciales, tel que pendant une opération de maintenance et de diag- nostic de l'ordinateur. La partition primaire 34 contient également un enregistrement d'amorçage 60 et des tables d'allocation de fichiers, un répertoire racine et des fi- 25 chiers, désignés collectivement par la référence numéri- que 62. Lors d'un fonctionnement normal, la partition primaire 34 sera souvent utilisée et consommera la plus grande partie du disque dur 16. Par conséquent, pendant un fonctionnement normal, lorsqu'un système d'exploita- 30 tion accède au disque dur 16, celui-ci ne verra que la partition primaire 34 et n'accédera qu'à celle-ci et non à la partition utilitaire 32. En se reportant maintenant à la figure 3, un exemple de table de partition maîtresse 42 est représen- 35 té. Dans la table de partition maîtresse 42, une première
ligne ou descripteur 44 concerne la partition utilitaire et une seconde ligne ou descripteur 46 concerne la parti- tion primaire. Les colonnes reflètent un champ 'indica- teur' 47, un champ 'type' 48, ainsi que des paramètres 5 49, respectivement. Le champ 'indicateur' 47a de la partition utilitaire a été marqué comme actif, tandis que le champ 'indicateur' 47b de la partition primaire a été marqué comme inactif. Le champ 'type' de la partition utilitaire est DEh, un type invalide que ne peut recon- 10 naître le DOS et qui rend la partition utilitaire invisible pour le DOS. Le champ 'type' de la partition primaire est 06h (ou tout autre type valide reconnaissable, con- formément au système de fichiers destiné à résider sur la partition primaire). Des paramètres 49a, 49b sont égale- 15 ment prévus, lesquels concernent la partition utilitaire et la partition primaire et leur sont spécifiques, res- pectivement. Enfin, pendant la fabrication du système in- formatique selon les présents modes de réalisation, des mappages prescrits 45 sont exécutés, la partition utili- 20 taire étant mappée comme une unité virtuelle A:, comme indiqué par la référence 45a, et la partition primaire étant mappée comme l'unité logique C:, comme indiqué par la référence 45b, comme décrit plus en détail ci-après. En se reportant maintenant à la figure 4, la partition primaire 34 (telle que représentée sur la figure 2) est en outre illustrée avec plus de détails. La parti- tion primaire 34 inclut un enregistrement d'amorçage de partition 60, des tables d'allocation de fichiers 64, un répertoire racine 66, ainsi que des fichiers 68. L'enre30 gistrement d'amorçage de partition 60 est spécifique au système d'exploitation cible à charger sur la partition primaire. Les fichiers 68 dépendent du type de système de fichiers particulier (par exemple, FAT16, FAT32, etc.) qui est utilisé. La partition primaire est caractérisée,
en outre, par une taille prescrite 69, un début 69a et une fin 69b. Le procédé et le dispositif de la présente inven- tion incluent en outre l'utilisation d'un programme Waf- 5 fle et d'un utilitaire Turnover dans la fabrication d'un système informatique, en particulier d'un système NetPC.
Actuellement, le programme Waffle est utilisé intégré à un processus de fabrication d'ordinateurs fabriqués sur commande. Le programme Waffle est utilisé pour un certain 10 nombre de fonctions de manipulation des unités de mé- moire. S'agissant de la fabrication de NetPC, le pro- gramme Waffle est complété de manière à supporter une nouvelle directive. La nouvelle directive, appelée ici "initial", ordonne au programme Waffle d'initialiser la 15 table de partition maîtresse 42 et certains mappages d'unité 45 dans un état spécifique. Dans cet état "ini- tial", la table de partition maîtresse 42 est initialisée de telle sorte que le type de partition 48a situé dans le premier descripteur 44 (qui fait référence à la partition 20 utilitaire) soit initialisé à DEh (hexadécimal). Dans le second descripteur 46 (qui fait référence à la partition primaire), le type de partition 48b est initialisé à 06h, OBh, ou OCh (suivant le type de système de fichiers uti- lisé dans la partition primaire). La première partition 25 32 est marquée comme "active" 47a (c'est-à-dire que la première partition recevra une commande lorsque le sys- tème s'amorcera) et la seconde partition 34 est marquée comme "inactive" 47b. Les mappages d'unité logique 45 sont alors établis de telle sorte que la partition utili- 30 taire soit mappée comme une unité "virtuelle" A: 45a et la partition primaire soit mappée comme unité logique C: 45b. Le programme Waffle traite la directive "initial" de telle sorte que, aussi longtemps qu'une partition utili- taire et une partition primaire sont présentes, l'état 35 "initial" puisse toujours être obtenu. Ceci est vrai quel
que soit l'état antérieur de la table de partition maî- tresse ou les mappages d'unité susceptibles d'être en vi- gueur. Une fois que le système informatique 10 et, en 5 particulier, le disque dur 16 a été initialisé dans l'état "initial", le processus de fabrication de systèmes informatiques peut être implémenté d'une manière pres- crite. Les fichiers du processus de fabrication sont con- servés dans la partition utilitaire 32 (mappée comme une 10 unité "virtuelle" A:) et le logiciel chargé est mémorisé dans la partition primaire 34 (mappée comme l'unité logi- que C:). Dans des circonstances normales, aucune diffé- rence n'apparaît entre l'état "initial" et l'état "unité virtuelle A:", qui rend possible la fabrication d'un 15 NetPC. Lorsqu'une interruption se produit pendant le pro- cessus de chargement de logiciel, cependant, l'état "ini- tial" entre en jeu. Dans des circonstances normales, la partition primaire 34 serait marquée comme "active" et se verrait octroyer la commande si un réamorçage (délibéré 20 ou involontaire) était effectué. Il est à noter que le DOS essaie toujours de mapper la partition primaire ac- tive, sur le premier disque, comme unité logique C:, une intervention étant en outre nécessaire après le réamor- çcage pour changer ceci. Cependant, lorsque le disque se 25 trouve dans l'état "initial", la partition utilitaire est marquée comme "active" et, par conséquent, se voit oc- troyer la commande lorsque le système redémarre. Ceci permet au code du processus de fabrication (situé dans la partition utilitaire) de retrouver la commande du proces- 30 sus de chargement. La restauration du système dans l'état "initial" est l'une des premières étapes de ce processus. Du fait que le processus d'installation logi- cielle n'est pas conçu pour traiter des chargements "par- tiels" (ce que l'on obtient lorsque le processus de char- 35 gement est interrompu), il est nécessaire de ramener la
partition primaire 34 dans un état "primitif" avant de tenter de relancer le chargement. Ceci est accompli via l'utilitaire Turnover. L'utilitaire Turnover réinitialise les tables d'allocation de fichiers 64 et le répertoire 5 racine 66 de la partition primaire 34 dans un état "vide". Il n'est pas possible d'effectuer cette opération en utilisant un utilitaire tel que la commande "format" du DOS, du fait que, si l'on faisant cela, l'enregistre- ment d'amorçage de partition 60 serait aussi remplacé. Il 10 est à noter que l'enregistrement d'amorçage de partition 60 est associé au système d'exploitation cible et ne peut être remplacé sans relancer l'intégralité du processus de préparation du disque dur de Quick Test. Après que le programme Turnover a achevé ses opérations, le code du 15 processus de fabrication (mémorisé dans la partition uti- litaire 32) peut relancer le chargement de logiciel dans la partition primaire vide 34. Grâce à un code de proces- sus de fabrication prescrit permettant de gérer la re- prise d'un processus d'installation logicielle, la re- 20 prise après un chargement interrompu peut être complète- ment automatisée. En d'autres termes, une reprise n'exige pas que le système informatique 10 soit enlevé de l'em- placement o il se trouve sur le banc d'essai et l'inter- vention d'un opérateur est inutile. 25 D'une manière plus détaillée, s'agissant du pro- gramme Waffle, celui-ci est un programme qui permet de permuter la désignation de l'unité logique c: entre la partition primaire 34 et la partition utilitaire 32. Il accomplit ceci en manipulant le contenu d'un bloc de pa- 30 ramètres d'unité et une table de données d'unité dans les structures du système d'exploitation interne de manière à ce que l'unité C: reflète les paramètres soit de la par- tition primaire 34, soit de la partition utilitaire 32. Le programme Waffle inclut également une possibilité de 35 rafraîchir la représentation interne pour le système
d'exploitation d'une unité de disque dur de manière à ce qu'elle corresponde aux paramètres réels, destinés à être utilisés après le partitionnement et le formatage du dis- que dur. Le dispositif associé à l'unité logique A: peut 5 également être virtualisé pour la partition utilitaire 32 via le programme Waffle. Waffle est également compatible avec une utilisation du disque comme une antémémoire et une utilisation dans un réseau local. Si l'unité de dis- que dur d'amorçage contient une partition primaire au 10 format FAT, mais si le système d'exploitation ne contient pas les structures nécessaires pour accéder à l'unité, le programme Waffle synthétisera ces structures dans, par exemple, une zone de la mémoire haute et rendra accessi- ble une unité logique C:. 15 Dans un mode de réalisation, la partition utili- taire 32 est un type de partition primaire FAT16, d'une manière typique, relativement petite, par exemple, possé- dant une taille de l'ordre de dix méga-octets. La partition utilitaire est en outre caractérisée par un code de 20 type de partition DEh (hexadécimal) qui n'est pas un type de partition généralement reconnu. La partition utili- taire inclut en outre un enregistrement d'amorçage de partition auto-configurable spécial. La partition utili- taire est créée durant le processus de préparation de 25 disque de QT, parallèlement aux types de partition "stan- dard". Sur un disque dur qui a été préparé avec la parti- tion utilitaire, la première entrée de la table de parti- tion maîtresse décrira la partition utilitaire. Le code de type de partition sera DEh et la partition ne sera pas 30 marquée comme étant amorçable. L'entrée suivante, dans la table de partition maîtresse, décrira la partition pri- maire. Si la partition primaire est une partition FAT16, le code du type de partition sera 06h. L'entrée de la partition primaire sera marquée comme amorçable de manière à se voir octroyer la commande lorsque le système
sera démarré. Ceci constitue l'état "fondamental" de la table de partition maîtresse. Un grand nombre des actions qui peuvent être exécutées par le programme Waffle se traduisent par des modifications de cet état fondamental. 5 Dans un mode de réalisation, le programme Waffle inclut la capacité de "synthétiser" une unité logique. Cette capacité est nécessaire pour gérer le cas dans le- quel un système a été amorcé avec une unité de disque dur qui n'était pas partitionnée de manière à inclure des 10 unités logiques, mais dans lequel des unités ont ensuite été créées. Ce cas se produit dans l'environnement inhé- rent à la fabrication dans lequel un système est amorcé avec une unité de disque dur complètement vierge, mais est ensuite soumis à une préparation du disque dur, 15 c'est-à-dire, à un partitionnement et à un formatage. Après la préparation du disque dur (partitionne- ment et formatage), le disque dur contient des unités lo- giques qui ne sont pas accessibles (sans effectuer tout d'abord un réamorçage) du fait que les structures requi- 20 ses n'ont pas été construites. Si le programme Waffle dé- tecte cet état pendant sa phase d'initialisation, il ten- tera de construire les structures dans la HMA ("High Me- mory Area" ou zone de mémoire haute) et établira des liens entre elles et les structures existantes. L'unité 25 logique C: peut alors faire l'objet d'un accès classique, mais sans qu'il soit nécessaire d'effectuer un réamorcage après la préparation du disque. Cette capacité n'affecte pas l'espace mémoire du DOS, cependant elle exige que la HMA soit disponible. Le programme Waffle inclut en outre 30 la capacité de travailler avec des partitions qui ont été formatées en utilisant le système de fichiers FAT32 (tel qu'utilisé avec Windows 95 (marque déposée) et Windows NT (marque déposée)). La fonction "initial" de Waffle remplit une ac- 35 tion prescrite destinée à initialiser les descripteurs de
partition et les mappages d'unité logique dans un état spécifique à utiliser pendant le processus de fabrica- tion, comme décrit en référence à la figure 3. Aussi longtemps que la partition utilitaire et la partition 5 primaire sont présentes sur l'unité de disque dur, l'uti- lisation de la fonction "initial" de Waffle garantit que le premier descripteur de partition du premier enregis- trement de partition maitre fera référence à la partition utilitaire et que le second descripteur de l'enregistrement de partition maître fera référence à la partition primaire. La partition utilitaire est marquée comme ac- tive (de manière à ce qu'elle se voit octroyer la com- mande dans le cas d'un réamorçcage inattendu) et est map- pée comme unité virtuelle A:. La partition primaire mappe 15 l'unité logique C: avec des paramètres qui corresponde à l'organisation de l'unité physique (ce qui équivaut à ef- fectuer une action de "rafraîchissement"). Le programme "virtual" de Waffle remplit une action prescrite pour mapper une unité virtuelle A: sur la 20 partition utilitaire. De plus, l'unité logique C: est mappée sur la partition primaire. Sans les deux actions prescrites, un conflit surviendrait du fait que le C: et
A: feraient tous deux référence à la partition utili- taire. L'unité virtuelle A: peut être utilisée comme une 25 unité physique ; des programmes de diagnostic peuvent même être exécutés avec succès contre l'unité virtuelle. La capacité de mapper l'unité virtuelle A: sur la parti- tion utilitaire et l'unité logique C: sur la partition primaire est très utile au cours du processus de fabrica- 30 tion. En se reportant maintenant aux figures 5 et 6, le processus de fabrication de systèmes informatiques (y compris de NetPC) inclut deux zones fonctionnelles, indiquées par les références numériques 72 et 74, respective- 35 ment. Une première zone fonctionnelle 72 comporte un con-
trôle rapide (QT). Pendant le contrôle rapide, le système informatique 10 (ou NetPC) est connecté à un type spéci- fique de serveur 76, appelé serveur-gestionnaire de com- mande de réseau local (LAN) ou serveur LCM tel que com- 5 mercialisé par la société Intel Corporation, Santa Clara, Californie. A la fin du contrôle rapide, le système NetPC 10 est ensuite transféré sur un banc d'essai 74. Sur le banc d'essai 74, le système NetPC 10 est connecté à un contrôleur de banc d'essai ou serveur-réseau 78. Pendant 10 qu'il se trouve sur le banc d'essai 74, le système NetPC 10 peut être soumis à un ou plusieurs contrôles parmi lesquels un premier contrôle étendu (ET1) 80, un second contrôle étendu (ET2) 82, une installation logicielle (SI) 84, et un contrôle final (FT) 86. L'aspect "restau- 15 rable" des divers modes de réalisation de la présente invention s'applique à la situation du système NetPC tandis que le système NetPC se trouve sur le banc d'essai 74.
Comme représenté sur la figure 6, un nombre quelconque de systèmes informatiques 10, 10a, 10b, 10c peuvent être re- 20 liés au contrôleur de banc d'essai 78 à n'importe quel instant pendant le processus de fabrication, sans dépas- ser un nombre maximal N ou limite du contrôleur de banc d'essai. Pendant le contrôle rapide 72, le système NetPC 25 10 est amorcé par le serveur LCM 76. Ceci est possible étant donné que le système NetPC 10 inclut un sous-système 20 tel qu'un adaptateur LAN, une carte d'in- terface-réseau (NIC), ou autre dispositif adapté pour se connecter au serveur-réseau. L'adaptateur LAN est confi- 30 guré de manière à ce que, pendant un contrôle rapide, lorsque le système NetPC est mis sous tension (c'est-à-dire, mis en marche), le NetPC essaie de s'amorcer à partir du serveur LCM. En d'autres termes, le NetPC recherche sur le serveur LCM les instructions d'amorçage 35 du NetPC. Le serveur LCM effectue une préparation pres-
crite du disque dur sur le système informatique qui est fabriqué (c'est-à-dire, le système-client) et charge éga- lement des informations de fabrication spécifiques au système informatique donné fabriqué (c'est-à-dire, à une 5 commande de système informatique configuré par un client). Les informations de fabrication ou le code de fabrication se constituant d'une série d'instructions (destinées à implémenter une séquence de fabrication prescrite) qui seront exécutées pour implémenter les pha- 10 ses de contrôle et le processus de chargement de logiciel lorsqu'un système informatique donné se trouvera sur le banc d'essai 74. Le banc d'essai 74 permet ainsi un con- trôle prescrit et une installation logicielle pour un système informatique donné conformément à une commande-client particulière et en fonction d'elle. A ce stade du processus de fabrication (après le contrôle rapide QT 72,
mais avant le traitement au banc d'essai 74), le système-client aura un disque dur qui se- ra partitionné et formaté. Dans un système de base, le 20 disque dur est partitionné en première et seconde parti- tions. La première partition correspond à une partition utilitaire. La seconde partition correspond à une parti- tion primaire. Pendant la fabrication d'un NetPC, les in- formations de fabrication (ou instructions) sont mémori- 25 sées dans une zone spécifique du disque dur, d'une ma- nière préférée, la partition utilitaire. La partition primaire est mappée sur l'unité logique C: et est desti- née à recevoir le logiciel du système d'exploitation chargé pendant l'installation logicielle lorsque sur le 30 banc d'essai, ce que l'on décrira plus amplement ci-après. La partition utilitaire peut également inclure des programmes associés au diagnostic auxquels peut accé- der ultérieurement un utilisateur du système, comme pou- vant être nécessaire, par exemple, lors de l'exécution 35 des diagnostics liés au système. A la fin de la fabrica-
tion d'un NetPC donné, les instructions de fabrication peuvent ou peuvent ne pas persister dans la partition utilitaire suivant le processus particulier de fabrica- tion des NetPC. En d'autres termes, les instructions de 5 fabrication peuvent être supprimées de la partition utilitaire à la fin de la fabrication du NetPC ou peuvent rester sur la partition utilitaire suivant les spécifici- tés du processus prescrit de fabrication de NetPC. Comme décrit, pendant le contrôle rapide QT 72, 10 le système informatique s'amorce sur le serveur LCM 76.
Le serveur LCM 76 lit l'unité de disque dur du système informatique pour se préparer aux autres étapes de fabri- cation. Le contrôle rapide QT 72 inclut également certai- nes procédures standards applicables à tous les systèmes 15 fabriqués. Un contrôle de base est réalisé afin de con- trôler le fonctionnement des composants de base, par exemple, afin de contrôler si le système se met en marche lorsque le commutateur de mise en marche est commuté en position MARCHE, etc. Bien que la description ait été 20 faite en relation avec l'utilisation d'un serveur LCM, il faut noter qu'il n'est pas impératif que le système NetPC s'amorce à partir du serveur LCM pendant le contrôle ra- pide QT. Il serait aussi possible d'effectuer l'amorçage à partir d'une disquette amorçable attachée à un serveur 25 normal, le NetPC étant attaché au serveur normal. Pour le reste, le processus décrit ici ne serait pas autrement affecté.
Comme mentionné, pour faciliter la connexion à un réseau, le NetPC inclut un adaptateur-réseau intégré des- 30 tiné à établir une connexion adaptée avec un réseau. Par exemple, pendant la fabrication du NetPC, le composant adaptateur-réseau du NetPC est utilisé pour se connecter à des serveurs-réseau prescrits pendant une phase corres- pondante de la fabrication des systèmes NetPC. Pendant le 35 contrôle rapide QT, le serveur-réseau LCM est relié à un
NetPC donné via l'adaptateur-réseau et peut, d'une ma- nière avantageuse, examiner un indicateur-système (ou nu- méro de série) du NetPC donné afin d'identifier quelles sont les instructions de fabrication à fournir au NetPC. 5 Pendant le processus de préparation de disque dur de contrôle rapide QT, l'assignation de "active" et "in- active" aux partitions respectives est effectué. La par- tition utilitaire est marquée comme "active", ce qui si- gnifie que la partition utilitaire se voit octroyer la 10 commande lorsque le système informatique s'amorce. La partition primaire est marquée comme "inactive", ce qui signifie que la partition ne se voit pas octroyer la com- mande d'une manière automatique. Le processus de prépara- tion de disque dur est en outre implémenté conformément à 15 un programme de Biscotti exécuté par le serveur LCM. Le NetPC s'amorce sur la base de la partition de l'unité de disque dur qui est marquée comme "active" à un moment donné. A la fin du contrôle rapide QT 72, le NetPC est 20 transféré sur un banc d'essai 74. Le banc d'essai 74 in- clut un certain nombre de stations ou de zones d'arrimage destinées à recevoir les systèmes informatiques fabri- qués, un système étant affecté par station (figure 6). Dans le cas o un système NetPC est positionné sur une 25 station du banc d'essai, un ou plusieurs câbles sont con- nectés au système NetPC, tel que requis pour un système donné. Le câblage peut inclure l'alimentation, le cla- vier, l'affichage, etc.. A la fin du branchement du câ- blage nécessaire, le processus inhérent au banc d'essai 30 se poursuit alors par le contrôle étendu et l'installa- tion logicielle. Dans un mode préféré de réalisation, au- cune autre intervention n'est nécessaire pour que le banc d'essai 74 détecte la présence d'un système informatique ou NetPC et procède au contrôle et à l'installation logi- 35 cielle conformément aux informations de fabrication et
aux instructions mémorisées dans la partition utilitaire de l'unité de disque dur du système informatique. Le banc d'essai 74 inclut un contrôleur de banc d'essai ou serveur de fabrication 78 à connecter aux sys- 5 tèmes informatiques en cours de contrôle. Le contrôleur de banc d'essai 78 comporterait, d'une manière préférée, au moins une connexion, via un réseau local, avec l'adap- tateur-réseau de chaque système NetPC. Dans un autre mode de réalisation, le NetPC peut inclure un port infrarouge 10 (IR) qui peut être utilisé pour connecter le système NetPC au contrôleur de banc d'essai via un réseau local, le banc d'essai incluant également un port IR adapté. Un nombre quelconque de systèmes NetPC peuvent être connec- tés au contrôleur de banc d'essai à un moment quelconque, 15 sans dépasser une limite ou nombre d'entrées maximal (N) sur le contrôleur de banc d'essai. Les systèmes NetPC se- ront généralement différents les uns des autres, du fait que chaque système NetPC à fabriquer l'est conformément à une configuration personnalisée commandée par le client. 20 Le contrôleur de banc d'essai, en résumé, facilite l'exé- cution du processus inhérent au banc d'essai en procédant par un contrôle étendu et une installation logicielle pour chaque système informatique qui lui est relié. Pendant le processus inhérent au banc d'essai 74, 25 le lieu de la commande se situe en fait sur le système 10 qui est fabriqué et non sur le contrôleur de banc d'essai 78. Le système 10 qui est fabriqué communique avec le contrôleur de banc d'essai 78 afin d'obtenir un code et des données, conformément aux informations de fabrication 30 et aux instructions mémorisées dans la partition utilitaire 32 de l'unité de disque dur 16. Le système qui est fabriqué indique au contrôleur de banc d'essai quels con- trôles effectuer et quel logiciel installer sur la parti- tion primaire du système de l'unité de disque dur
(c'est-à-dire, ce que doit devenir l'unité logique C: du NetPC). Lors de la connexion d'un système NetPC à un con- trôleur de banc d'essai et compte tenu du fait que la 5 partition utilitaire est marquée comme "active", la par- tition utilitaire se voit conférer la commande du système NetPC au moment de la mise en marche, c'est-à-dire au dé- but du processus du banc d'essai. En d'autres termes, le NetPC essaie de s'amorcer à partir de la partition utili- 10 taire. Lors de l'amorçage à partir de la partition utili- taire, le NetPC exécute ses instructions de fabrication, lesquelles ont été chargées pendant le contrôle rapide. Le NetPC sait quel contrôle et quelle installation logi- cielle sont doivent être effectuées pendant le processus 15 du banc d'essai afin de terminer la fabrication du sys- tème NetPC fabriqué sur commande particulier.
Le code du processus de fabrication de la parti- tion utilitaire de chaque système NetPC inclut un logi- ciel client/réseau. Le logiciel client/réseau est égale- 20 ment chargé d'une manière préférée dans la partition uti- litaire pendant le processus de contrôle rapide. En résultat, chaque système NetPC inclut la capacité de s'at- tacher au contrôleur de banc d'essai via l'adaptateur LAN d'un NetPC respectif. En plus d'un amorçage initial, le 25 logiciel client/réseau permet au système NetPC de dialo- guer avec le serveur de banc d'essai pendant tout le reste du processus du banc d'essai, c'est-à-dire, d'obte- nir en outre des données et des instructions de fabrica- tion détaillées, etc.. 30 Pendant un processus de banc d'essai normal 74, un NetPC peut être soumis à l'un ou plusieurs des contrô- les suivants : un premier contrôle étendu (ET1) 80, un second contrôle étendu (ET2) 82, une installation logi- cielle (SI) 84, et un contrôle final (FT) 86. Comme men- 35 tionné, dans le cas d'un système NetPC, il n'existe au-
cune unité de disquette et, par conséquent, aucune possi- bilité de réamorcer facilement un NetPC à partir de son unité de disque dur si l'installation logicielle n'a été effectuée que partiellement, par exemple, suite à une in- 5 terruption durant le processus du banc d'essai. Si une coupure électrique ou autre interruption vient à se pro- duire pendant une partie quelconque du processus du banc d'essai, les présents modes de réalisation permettent d'une manière avantageuse une reprise du processus du 10 banc d'essai pour n'importe quel système NetPC affecté par une telle interruption. Les présents modes de réali- sation permettent de plus, d'une manière avantageuse, d'éviter d'avoir à revenir au processus de contrôle ra- pide pour réinitialiser ou repartitionner l'unité de dis15 que dur d'un NetPC donné.
Chaque NetPC peut inclure des instructions pour essayer d'effectuer l'amorçage à partir de différentes sources conformément à une installation d'amorçage don- née. Un système pourrait s'amorcer à partir d'une disquette, à partir d'un disque dur, ou à partir d'un ré- seau. Cependant, pour le NetPC, en l'absence d'unité de disquette, le NetPC se voit ordonner d'essayer de s'amor- cer tout d'abord à partir du réseau, tel que pendant le processus de contrôle rapide. Une fois le NetPC amorcé à 25 partir du serveur pendant le contrôle rapide, le NetPC est soumis à une préparation et à un partitionnement de l'unité de disque dur, comme décrit. Le serveur LCM saura quel système NetPC spécifique est fabriqué à tout moment par une identification via un code de service et/ou via 30 d'autres moyens d'identification adaptés d'un système NetPC respectif. Le contrôle rapide, en substance, inclut une initialisation des systèmes NetPC fabriqués. Comme mentionné, le processus implémenté sur le banc d'essai inclut un contrôle étendu et une installa- 35 tion logicielle pour chaque système NetPC fabriqué. Le
contrôle étendu No 1(ET1) 80 et le contrôle étendu N 2 (ET2) 82 peuvent inclure un nombre quelconque de contrô- les fonctionnels afin de contrôler les divers dispositifs du NetPC fabriqué. Par exemple, le contrôle étendu (ET1 5 et/ou ET2) peut inclure le contrôle du disque dur, le contrôle de la mémoire, et/ou le contrôle de dispositifs (le contrôle d'un modem, d'un carte d'interface-réseau (NIC), d'une carte son, ou d'autres unités nécessitant un contrôle, etc.). La partie installation logicielle (SI) 10 84 du processus implémenté sur le banc d'essai 74 inclut l'installation d'un logiciel sur un système NetPC 10 don- né, le logiciel étant chargé à partir du serveur de fa- brication 78 sur le système NetPC 10 conformément aux instructions de fabrication contenues dans la partition 15 utilitaire du système NetPC respectif. De plus, une ins- tallation logicielle peut en outre inclure la copie et l'édition de fichiers à partir du serveur de fabrication.
Le serveur de fabrication connaît l'identifica- tion de n'importe quelle unité fabriquée. Le serveur de 20 fabrication sait de plus, sur la base des informations de fabrication que contient la partition utilitaire d'un système NetPC donné, quel logiciel doit être installé dans la partition primaire du système NetPC donné. De plus, les informations de fabrication peuvent aussi in- 25 clure des instructions pour le chargement d'un logiciel dans la partition utilitaire. Dans un mode de réalisa- tion, la partition utilitaire peut inclure un fichier SDR ou un fichier d'enregistrement descripteur de système. Le fichier SDR inclut une liste de numéros de composants 30 spécifiques au NetPC donné, les numéros de composants correspondant au logiciel particulier à installer. Dans un mode préféré de réalisation, le fichier SDR fait par- tie des informations de fabrication chargées dans la par- tition utilitaire de l'unité de disque dur d'un système 35 NetPC respectif pendant le processus de contrôle rapide.
Dans un autre mode de réalisation, le fichier d'enregis- trement descripteur de système peut être stocké dans une base de données de manière à pouvoir être récupéré con- formément à un code d'identification du NetPC tel qu'exi- 5 gé par le serveur de fabrication pendant les étapes de processus d'installation logicielle d'un NetPC donné.
Par ailleurs, en ce qui concerne le fichier SDR, une liste de numéros de composants peut inclure des numé- ros de composants correspondant à des instructions pour 10 installer sur la partition primaire, par exemple, le lo- giciel du système d'exploitation, des logiciels d'appli- cations, des pilotes de dispositifs, etc. dans la parti- tion primaire d'un système NetPC donné. Un code de déver- rouillage et/ou des diagnostics-client peuvent être in- 15 clus dans un logiciel à installer sur la partition utili- taire de l'unité de disque dur. Le code de processus de fabrication indique au serveur de fabrication quel logi- ciel installer sur le NetPC et o l'installer (par exem- ple, une la partition primaire ou la partition utili- 20 taire). Le code du processus de fabrication est exécuté sur le système cible (c'est-à-dire, sur le NetPC), le code du processus de fabrication incluant en outre le lo- giciel qui copie en fait les fichiers, les données et au- tres instructions exigés à partir du serveur vers le sys- 25 tème cible. Les fichiers logiciels, les données, et au- tres instructions appropriés sont ainsi copiés ou trans- férés à partir du serveur de fabrication vers le système
NetPC particulier conformément aux instructions de fabri- cation du système NetPC respectif. 30 En ce qui concerne le banc d'essai, des diodes électroluminescentes, ou autres indicateurs adaptés, peu- vent être utilisés pour indiquer visuellement à quel mo- ment un processus d'installation logicielle a été implé- menté avec succès. D'autres manières possibles de fournir
une indication peuvent aussi être implémentées, y compris une indication par un signal électronique. A la fin de l'installation logicielle, le proces- sus implémenté sur le banc d'essai se poursuit par un 5 contrôle final optionnel (FT) 86. Le contrôle final est optionnel en ceci qu'il peut ou peut ne pas être exigé durant le processus implémenté sur le banc d'essai pour un NetPC donné. Dans le cas d'un contrôle final 86, le NetPC peut être mis hors tension, mis sous tension, et 10 réamorcé dans le système d'exploitation cible. Les con- trôles restants éventuellement nécessaires sont alors ef- fectués. Par exemple, si un cédérom est présent dans un système NetPC donné, un contrôle-son peut être effectué.
Dans le cas d'une panne pendant la partie 'ins- 15 tallation logicielle' du processus implémenté sur le banc d'essai, les présents modes de réalisation permettent d'effectuer une reprise sans qu'il soit nécessaire de re- formater ni de repartitionner l'unité de disque dur d'un NetPC donné, comme on le décrira en référence à la figure 20 7, par exemple. On rappellera que, pendant un contrôle rapide, la partition utilitaire est identifiée comme étant "active" et que la partition primaire est identifiée comme étant "inactive", de sorte que, lors d'un ré- amorçage, la partition utilitaire hérite de la commande. 25 Quel que soit le cas, la partition active est celle à partir de laquelle le système s'amorce lors d'un réamor- çage. On sait, dans la technique, qu'un disque dur de système informatique personnel (PCS) peut contenir jus- 30 qu'à quatre partitions, comme indiqué dans ce que l'on appelle la table de partition maîtresse. La table de par- tition maîtresse est incluse dans un enregistrement d'amorçage maître, l'enregistrement d'amorçage maître incluant en outre une partie d'amorçage en plus de la table 35 de partition maîtresse. La table de partition maîtresse
inclut plusieurs colonnes. Une colonne inclut une colonne d'indicateurs. La colonne d'indicateurs est utilisée pour indiquer si oui ou non une partition est "active", c'est-à-dire amorçable. Une deuxième colonne inclut une 5 colonne de types. La colonne de types est utilisée pour indiquer l'organisation de la partition ou système de fi- chiers. Une troisième colonne (ou des colonnes addition- nelles) inclut des paramètres spécifiques à la partition respective. Les paramètres peuvent inclure le début, la 10 fin, et la taille, par exemple. Un code d'amorçage examine la table de partition afin de s'assurer que seule l'une et seulement l'une des partitions est marquée comme "active". Si aucune parti- tion n'est marquée comme "active" ou si le nombre de par- 15 titions marquées comme "active" est de plus de un, alors le code d'amorçage rencontre une erreur qui est irrécupé- rable. Supposons que l'une (et seulement l'une) des partitions de la table de partition maîtresse soit marquée comme "active". Chacune des entrées de la partition com- 20 porte certains champs (indicateur, type, paramètres) tels qu'indiqués précédemment en référence aux colonnes de la table de partition maîtresse. Chaque entrée de la parti- tion indique de quelle manière la partition particulière est organisée. Le code d'amorçage examine le champ 'indi- 25 cateur' pour déterminer laquelle des partitions est mar- quée comme "active". Lors de la détermination de la par- tition "active", le code d'amorçage passe alors aux para- mètres de la partition "active" afin de déterminer à partir de quel emplacement doit commencer l'amorçage. 30 Dans l'enregistrement d'amorçage maitre d'un
NetPC conformément aux modes de réalisation de la pré- sente invention, la partition utilitaire de la table de partition maîtresse est initialement indiquée comme "ac- tive" dans le champ 'indicateur'. D'une manière simi35 laire, la partition primaire de la table de partition
maîtresse est initialement indiquée comme "inactive" dans le champ 'indicateur'. Pendant le processus de contrôle rapide, l'amor- çage du système NetPC s'effectue initialement à partir du 5 serveur LCM. Le processus de contrôle rapide inclut le partitionnement du disque dur en partition utilitaire et partition primaire, en plus de l'initialisation des indi- cateurs appropriés dans la table de partition maîtresse, c'est-à-dire, de l'initialisation de la partition utili- 10 taire comme "active" et de la partition primaire comme "inactive". Sur le banc d'essai, lorsque le NetPC est relié au serveur de fabrication, l'amorçage du NetPC se traduit par un amorçage à partir de la partition utilitaire, du 15 fait que l'indicateur, dans la table de partition maî- tresse, pour la partition utilitaire, indique "active". Le code d'amorçage examine alors les paramètres de la partition utilitaire afin de déterminer o commencer l'amorçage dans l'unité de disque dur. Comme décrit, la 20 partition utilitaire inclut le code du processus de fa- brication spécifique au NetPC donné pour l'ET1 80, l'ET2 82, le SI 84, et le FT 86 pendant le processus implémenté sur le banc d'essai pour le NetPC respectif. Bien qu'il serait éventuellement possible d'uti- 25 liser les champs 'indicateur' en association avec la re- prise après une interruption pendant l'installation logi- cielle, les présents modes de réalisation utilisent d'une manière avantageuse une manipulation particulière du champ 'type de partition' afin d'effectuer une reprise 30 lors de la survenue d'une interruption de l'installation logicielle pendant le traitement au banc d'essai. En d'autres termes, l'utilisation des champs 'indicateur' est préférablement évitée. Lorsqu'un système arrive chez le client, la partition utilitaire doit être active. 35 C'est-à-dire qu'un code de déverrouillage est générale-
ment inclus dans la partition utilitaire et est exécuté lorsqu'un client met sous tension le système NetPC pour la première fois. Par conséquent, la partition utilitaire doit être active lors d'un amorçage initial par un client 5 pour que le code de déverrouillage s'exécute et pour que le client rompe les scellés et accepte les termes de la licence associés au logiciel contenu sur le système par- ticulier. Lorsque le client accepte de rompre les scel- lés, le code de déverrouillage marque la partition utili- 10 taire comme "inactive" et la partie primaire comme "ac- tive". Dans ce cas, les amorçages ultérieurs se produi- ront ainsi à partir de la partition primaire, plutôt qu'à partir de la partition utilitaire. Les diverses phases du processus implémenté sur 15 le banc d'essai peuvent chacune modifier la partition primaire à mesure que le contrôle effectué au banc d'es- sai passe par l'ET1 80, l'ET2 82, le SI 84, et le FT 86.
Ainsi, dans le cas o une panne survient pendant le pro- cessus implémenté sur le banc d'essai, il ne suffira pas 20 de relancer simplement le processus implémenté sur le banc d'essai. Il est nécessaire de savoir à quel stade du processus implémenté sur le banc d'essai se trouve le NetPC, pour apporter la correction qui convient. Par exemple, une installation logicielle partielle ne peut 25 être relancée, du fait que certains fichiers résideront déjà sur la partition primaire et que les instructions de fabrication ne sont pas conçues pour faire face à ce type d'installation logicielle partielle. Essayer de charger à nouveau le logiciel système dans la partition primaire 30 contenant une installation logicielle partielle se tra- duira par une défaillance système du processus de fabri- cation. Par conséquent, l'installation logicielle doit être relancée une nouvelle fois comme on le décrira, ce- pendant, conformément aux modes de réalisation de la pré- 35 sente invention, sans qu'il soit nécessaire de préparer
et de repartitionner l'unité de disque dur en réexécutant le processus de contrôle rapide. La partition primaire est affectée pendant le processus implémenté sur le banc d'essai, par conséquent, le processus implémenté sur le 5 banc d'essai pour le système NetPC ne peut être simple- ment lancé en déconnectant et en reconnectant le NetPC au serveur de fabrication et en le réamorcant. La partition primaire partiellement installée et modifiée provoquera une défaillance du processus implémenté sur le banc d'es- 10 sai. En outre, en ce qui concerne le processus implé- menté sur le banc d'essai, les contrôles étendus ET1 et ET2 peuvent demander plusieurs heures. Si une panne se produit pendant une installation logicielle, il est for- 15 tement souhaitable que les NetPC affectés n'aient pas à être soumis une seconde fois aux contrôles étendus ET1 et ET2. Ceci affecterait fortement le rendement de fabrica- tion, le rendement étant très important dans le processus de fabrication. A la place, il est souhaitable que le 20 contrôle au banc d'essai reprenne au début de la phase pendant laquelle une interruption est survenue.
C'est-à-dire que les présents modes de réalisation per- mettent au processus implémenté sur le banc d'essai de reprendre au niveau de la phase ou de l'étape o est sur- 25 venue la panne. En d'autres termes, si la panne est sur- venue pendant la phase d'installation logicielle, alors le processus implémenté sur le banc d'essai sera relancé au niveau de la phase d'installation logicielle, sans avoir à repasser par les précédentes phases du processus 30 implémenté sur le banc d'essai. Lors d'un nouvel amorçage, l'enregistrement d'amorçage maître de l'unité de disque dur a pour rôle de rechercher la partition ayant l'indicateur actif. L'enregistrement d'amorçage maître transfère la commande à la 35 partition active, ce qui fait que la partition active
prend la commande et exécute sa routine d'amorçage. L'en- registrement d'amorçage de partition de la partition ac- tive examine le champ 'type de partition'. Pour fonction- ner correctement, le contenu du champ 'type de partition' 5 doit contenir un code reconnaissable par le système d'exploitation, correspondant en outre au système d'exploita- tion sur le point d'être chargé par la partition active.
Une description supplémentaire peut être consultée dans la demande FR-A-2 772 158 intitulée "Secteur d'amorçage 10 de partition modifiable pour dispositif de mémorisation d'ordinateur", au nom de Dell USA, L.P. Dans le cas de la partition utilitaire, la parti- tion utilitaire inclut une partition d'enregistrement d'amorçage spéciale, comme décrit dans le FR-A-2 772 158 15 précité. A la fin du processus de contrôle rapide QT, l'enregistrement d'amorçage maître inclura un premier en- registrement d'amorçage de partition pour la partition utilitaire. L'enregistrement d'amorçage de la partition utilitaire sera marqué comme "actif" et contiendra, comme 20 un type de fichier, DEh (hexadécimal). Un second enregis- trement d'amorçage de partition est inclus pour l'enregistrement d'amorçage de partition primaire. L'enregis- trement d'amorçage de la partition primaire n'est pas "actif" et comporte, comme type de fichier, par exemple, 25 FAT 16 ou 32 (table d'allocation de fichiers). Étant don- né ce qui précède, l'enregistrement d'amorçage de la partition utilitaire héritera de la commande lors d'un ré- amorçage du système après le processus QT. L'enregistre- ment d'amorçage de la partition utilitaire agit de ma- 30 nière à remplacer le champ 'type' de l'enregistrement d'amorçage primaire par un type que le système d'exploitation à charger peut comprendre (par exemple FAT). A ce stade du processus de fabrication, après le contrôle ra- pide QT, la partition utilitaire est mappée sur l'unité 35 logique C: et la partition primaire est mappée comme uni-
té indéterminée (c'est-à-dire qu'il pourrait s'agir de l'unité D:, de l'unité E:, ou de tout autre unité dési- gnée) . Ceci peut s'avérer provoquer des problèmes, étant donné que, l'intégralité du processus de fabrication des 5 ordinateurs est basé sur l'amorçage d'un système à partir de l'unité A:. Grâce au processus de fabrication de NetPC selon la présente description, la préparation de l'unité de disque dur 16 ne s'effectue préférentiellement qu'une 10 seule fois, sans qu'il soit nécessaire de repartitionner et de reformater, comme cela peut être le cas au cours d'un processus de fabrication de système informatique ty- pique dans lequel le système informatique inclut une uni- té de disquette. Dans le second cas, l'intégralité du 15 code du processus de fabrication et des informations d'état sont mémorisés sur une disquette système. Par conséquent, pendant un processus de fabrication, si une in- terruption devait survenir, alors le disque dur d'un tel système informatique pourrait être modifié manuellement 20 en utilisant les informations mémorisées sur la disquette système sans l'effectuer fortement d'une manière défavo- rable identique. Un tel processus, cependant, est un pro- cessus manuel et souffre de limitations du fait de l'uti- lisation d'une unité de disquette.
Lors de la fabrication d'un NetPC, aucune dis- quette n'est utilisée pour la mémorisation du code du processus de fabrication ni des informations d'état. Le NetPC qui est fabriqué est relié au serveur de fabrica- tionpour que le NetPC obtienne les logiciels requis con- 30 formément à une commande client donnée. Pendant la fabri- cation d'un NetPC conformément à la présente invention, le partitionnement du disque dur ne s'effectue d'une ma- nière préférée qu'une seule fois et n'est ensuite pas mo- difié. Le processus de fabrication de NetPC résultant se- 35 lon la présente invention est, par conséquent, extrême-
ment excellent et efficace. L'aspect restaurable du pro- cessus de fabrication de systèmes informatiques, tel que décrit ici, rend le processus de fabrication beaucoup plus rapide et plus fiable que les processus auparavant 5 connus. Comme décrit, suite à la création de l'enregis- trement d'amorçage maître pendant le contrôle rapide QT, la partition utilitaire est marquée comme "active" et in- clut un type de fichier qui n'est pas reconnaissable par 10 le système d'exploitation à charger sur le système NetPC.
Lors de l'amorçage du système NetPC pendant le processus implémenté sur le banc d'essai (conformément au FR-A- 2 772 158 précité), le type DEh (hexadécimal) est rempla- cé de manière à être rendu reconnaissable par le DOS qui 15 se trouve sur la partition utilitaire. Le système peut alors continuer de s'amorcer. Malheureusement, il ne s'a- git pas là d'une situation satisfaisante, du fait que le DOS mappe toujours la partition "active" sur l'unité C:. A ce stade, la partition utilitaire a été mappée sur 20 l'unité C: et le mappage de la partition primaire est indéterminé. Sans fortement modifier le processus, il est souhaitable que le code et les données du processus de fabrication résident sur l'unité A: (c'est-à-dire, sur la partition utilitaire) et que la cible du chargement ré- 25 side sur l'unité C: (c'est-à-dire, sur la partition pri- maire). En utilisant le programme Waffle tel que décrit précédemment, la partition utilitaire est remappée sur l'unité virtuelle A: et la partition primaire est remap- pée sur l'unité C:, comme décrit plus amplement dans la 30 demande FR-A-2 772 491 intitulée "Système et procédé pour simuler un dispositif de mémorisation d'ordinateur", au nom de Dell USA, L.P. Au niveau d'un point prescrit du processus implémenté sur le banc d'essai, le programme Waffle est exécuté et le code et les données du processus 35 de fabrication sont résidents sur l'unité virtuelle A:,
correspondant à la partition utilitaire de l'unité de disque dur. En outre, les informations d'état (c'est-à- dire l'état de la séquence) générées pendant le processus implémenté sur le banc d'essai peuvent maintenant être 5 facilement mémorisées sur le NetPC en utilisant la parti- tion utilitaire de l'unité de disque dur. Une différence importante des présents modes de réalisation par rapport aux processus antérieurs est que l'unité virtuelle A: oc- cupe maintenant environ dix mégaoctets de l'espace de mé- 10 morisation du disque dur, auquel il est beaucoup plus ra- pide d'accéder que lorsque l'on utilise une mémorisation par disquette. La partition primaire est essentiellement définie comme à l'origine pendant le contrôle rapide QT. I1 fait rappeler que, lorsque le processus QT est 15 fini, l'enregistrement d'amorçage maître est établi. Dans l'enregistrement d'amorçage maître, la partition utili- taire est du type DEh (hexadécimal) et est marquée comme active, alors que la partition primaire peut être d'un type quelconque (par exemple, FAT 16) et est marquée 20 comme inactive. Les mappages ne sont en eux-mêmes d'aucun intérêt pendant le processus QT. De plus, un code de pro- gramme destiné à effectuer la conversion de type et un code de programme destiné à mapper la partition utili- taire sur l'unité virtuelle A: et la partition primaire 25 en l'unité C: (appelé "Waffle virtualization", un compo- sant du programme Waffle) sont chacun chargés sur la par- tition utilitaire pendant le traitement QT. A la fin du processus QT, le système NetPC est transféré de la sta- tion QT sur le banc d'essai. Pendant l'établissement des 30 connexions nécessaires avec le serveur de fabrication, le NetPC est sous tension. Au démarrage, l'enregistrement d'amorçage maître est exécuté et reconnaît qu'il contient un enregistrement d'amorçage actif. Un code de programme situé dans l'enregistrement d'amorçage actif (c'est-à- 35 dire l'enregistrement d'amorçage de la partition utili-
taire) est alors exécuté pour se convertir en quelque chose que reconnaît le DOS, en modifiant le champ 'type' de la partition utilitaire dans la table de partition maîtresse ("initial" de Waffle conformément au FR-A-2 772 5 158 précité). A ce stade, le DOS est lancé et s'exécute, la partition utilitaire est l'unité C:, et la partition primaire est une unité indéterminée. Ensuite, un code de programme est exécuté ("virtual" Waffle conformément au FR-A-2 772 491 précité) pour mapper la partition utili- 10 taire sur l'unité virtuelle A: et la partition primaire sur l'unité logique C:. Dans le cas o l'utilisateur de l'ordinateur est un utilisateur typique, la partition utilitaire n'est normalement pas accessible au client sans tout d'abord 15 exécuter certaines instructions-clavier spéciales du
BIOS, par exemple. La partition utilitaire a été affectée du type DEh (hexadécimal) du fait qu'il s'agit d'un type invalide et non reconnaissable par les systèmes d'exploi- tation. La partition utilitaire ne fait par conséquent 20 d'une manière typique l'objet d'aucun accès pendant une utilisation normale de l'ordinateur. Un code de programme de déverrouillage peut être stocké dans la partition uti- litaire, cependant, après une exécution initiale, le pro- gramme de déverrouillage devient inaccessible à l'utili- 25 sateur du système en remplaçant le type de partition de la partition utilitaire par un type invalide ou non reconnaissable. Conformément à la présente invention, pendant le traitement au banc d'essai, le programme "initial" de 30 Waffle amène le champ 'type' de la partition utilitaire à passer d'un type non reconnaissable ou invalide à un type reconnaissable ou valide pendant une durée prescrite, tel que nécessaire. Le type de partition valide est un type qui est reconnaissable par le système d'exploitation 35 chargé. En d'autres termes, le champ 'type' est converti
du type invalide DEh (hexadécimal) en un type reconnais- sable ou valide (par exemple, FAT) afin de permettre à la partition utilitaire d'être utilisée pour exécuter les diverses instructions de fabrication, le code, la mémori- 5 sation des données, etc., tel que nécessaire pendant le traitement au banc d'essai pour la fabrication d'un NetPC. Lorsque la partition utilitaire a fini d'être uti- lisée dans le traitement au banc d'essai, le champ 'type' de la partition utilitaire est remplacé par un type non 10 reconnaissable ou invalide (par exemple, DEh (hexadéci- mal)).
Lors d'une virtualisation de la partition utili- taire sur l'unité A: et de la partition primaire sur l'unité C: au début du traitement au banc d'essai, le 15 système NetPC est alors prêt à être soumis à un contrôle étendu et à une installation logicielle dans ce qui reste du traitement au banc d'essai. En supposant qu'il n'y ait aucun problème, le traitement au banc d'essai suit alors l'ET1 80, l'ET2 82, le SI 84, et le FT 86, conformément 20 aux exigences imposées par un système NetPC prescrit fabriqué. Pendant le SI 84, le traitement au banc d'essai charge le code prescrit du système d'exploitation, ainsi que d'autres logiciels, conformément à la commande confi- gurée personnalisée à partir du serveur de fabrication 25 sur la partition primaire.
Les présents modes de réalisation s'adressent, d'une manière avantageuse, à une situation dans laquelle survient une anomalie pendant le traitement au banc d'es- sai. Par exemple, une coupure électrique pourrait se produire pendant un chargement logiciel ou une installation logicielle. Normalement, l'unité C: devrait être mappée sur la partition primaire active. Cependant, le mappage de l'unité C: sur la partition active à ce stade du pro- cessus de fabrication n'est pas souhaité, du fait que, 35 dans le cas d'une interruption, un réamorçage du système
NetPC essaierait alors de se faire à partir d'une instal- lation logicielle partielle. Un système désactivé en ré- sulterait alors. Dans le cas d'une interruption, les pré- sents modes de réalisation permettent au système NetPC de 5 revenir au code de la partition utilitaire pour la correction d'une erreur système pendant le traitement au banc d'essai. Globalement, le système NetPC est temporai- rement configuré de manière à exécuter une procédure qui semble tout sauf naturelle et habituelle, comme plus am- 10 plement décrit ici. Un état est défini, appelé ici état "initial" Waffle, qui correspond à une table de partition maîtresse modifiée particulière et à un ensemble de mappages d'uni- tés. En d'autres termes, en ce qui concerne la table de 15 partition maîtresse modifiée, même si l'unité logique C: est mappée sur la partition primaire et si l'unité vir- tuelle A: est mappée sur la partition utilitaire, la partition utilitaire est marquée comme "active". L'état ini- tial de Waffle peut par conséquent être défini par le 20 fait que l'unité logique C: est mappée sur la partition primaire, l'unité virtuelle A: étant mappée sur la parti- tion utilitaire et, en outre, la partition utilitaire étant désignée comme active. Le code de programme est stocké sur la partition utilitaire, appelé ici programme 25 initial Waffle, pour modifier la table de partition mai- tresse et la placer dans l'état initial Waffle prescrit, tel que noté ci-dessus. Lors d'un amorçage, le système s'amorcera toujours sur l'unité virtuelle A:, du fait que l'exécution du programme initial Waffle renvoie la table 30 de partition maîtresse à l'état initial Waffle. En d'au- tres termes, la table de partition maîtresse peut tou- jours être renvoyée à l'état initial Waffle pendant le traitement au banc d'essai dans le cas d'une interruption du traitement effectué au banc d'essai. On rappellera que 35 le type de partition n'est référencé que lorsque le sys-
tème d'exploitation est amorcé pour la première fois. Lors de l'amorçage, le système NetPC s'amorce sur le DOS que contient la partition utilitaire. Le programme ini- tial Waffle s'exécute après que le système d'exploitation 5 a initialement été amorcé, ainsi, le type de partition utilitaire n'est pas important par rapport à l'exécution des instructions du système d'exploitation DOS pendant l'exécution, lors du traitement au banc d'essai, du code du processus de fabrication après que le NetPC a été 10 amorcé. La capacité d'obtenir l'état initial Waffle ne fait partie que de la restauration (reprise). Un code de programme est également stocké dans la partition utilitaire, appelé ici programme "virtual" Waf- file. Grâce à "virtual" Waffle, la partition utilitaire 15 est désignée comme étant l'unité virtuelle A: et est mar- quée comme inactive et la partition primaire est désignée comme étant l'unité C: et est marquée comme active. Grâce à "initial" Waffle, l'unité A: est marquée comme étant une partition active de l'unité de disque dur et l'unité 20 C: est marquée comme inactive. Avec tous les systèmes d'exploitation connus, l'unité C: est toujours mappée sur la première partition primaire active du disque dur. Lors de la mise en marche, le système NetPC est amorcé sur le DOS qui fait partie de la partition utili- 25 taire. Le DOS que contient la partition utilitaire exé- cute le code du processus de fabrication. Le système NetPC examine par conséquent la partition utilitaire pen- dant l'amorçage du système. Le type de la partition uti- litaire doit être reconnaissable par le système d'exploi- 30 tation (encore à charger) lorsque le système est amorcé pour la première fois. La partition est rendue tout d'abord reconnaissable par le système d'exploitation, conformément au procédé du FR-A-2 772 158 précité, comme unité C: et continue de charger le DOS, du fait que le 35 DOS ne mappe pas les choses de manière à ce que continue
le processus de fabrication. Le programme initial Waffle est alors exécuté, ce qui fait que les configurations souhaitées sont établies. Pour le programme initial Waf- fle, il n'existe aucune manière classique d'obtenir qu'un 5 système d'exploitation désigne normalement la partition utilitaire mappée comme l'unité A:, en outre, comme une partition du disque dur et une partition active. Avec tous les systèmes d'exploitation de PC connus, l'unité C: est toujours mappée sur la première partition active pri- 10 maire du disque dur. En d'autres termes, la partition utilitaire est mappée comme l'unité A: et l'unité A: est marquée comme étant une partition active du disque dur, rendant ainsi possible un amorçage à partir de l'unité A:, et non à partir de l'unité C:. Cependant, la parti- 15 tion utilitaire n'est pas l'unité A: tant que initial Waffle n'a pas été exécuté ou lancé. Le DOS standard et autres systèmes d'exploitation de Microsoft (marque dépo- sée) mappent tous l'unité C: sur la première partition primaire active du disque dur, contrairement aux modes de 20 réalisation de la présente invention. Grâce à la capacité "initial" de Waffle, les map- pages d'unité sont garantis conformes à un mappage sou- haité, c'est-à-dire que le code du processus de fabrica- tion se situe sur l'unité A: (la partition utilitaire) ; 25 et l'unité cible est l'unité C: (la partition primaire). Lors de la survenue d'un réamorçage inattendu, d'une cou- pure électrique, ou autre interruption pendant le proces- sus implémenté sur le banc d'essai, le code processus de la partition utilitaire héritera à nouveau toujours de la 30 commande. Le code processus peut déterminer à quel en- droit il se trouvait pendant le processus implémenté sur le banc d'essai et tenter de relancer le processus à par- tir du point qui précède tout juste la survenue de l'interruption. Le code du processus de fabrication hérite à 35 nouveau de la commande du fait qu'il est résident sur la
partition active (c'est-à-dire, la partition utilitaire). Lorsque le système s'amorcera, le code d'amorçage de l'enregistrement d'amorçage maître recherchera la pre- mière partition active du disque dur. Le code d'amorçage 5 examine la table de partition maîtresse, dans laquelle il voit que la partition utilitaire est la première parti- tion active de l'unité de disque dur (en cet instant, les mappages de l'unité A: sur la partition utilitaire et de l'unité C: sur la partition primaire n'ont pas encore été 10 effectués). Une séquence typique pour le processus implémenté sur le banc d'essai, est telle que décrite ci-après. Lorsque le NetPC est mis en marche, le système s'amorce. Lors de l'amorçage du système, l'enregistrement d'amor- 15 çage maître (MBR) est chargé à partir de l'unité de dis- que dur. On rappellera que la MBR inclut deux parties, un programme d'amorçage dans la première partie et une table de partition maîtresse dans la seconde partie. Le pro- gramme d'amorçage recherche dans la table de partition 20 maîtresse la partition active et procède au chargement et à l'exécution de la partition active (dans le cas présent la partition utilitaire). L'enregistrement d'amorçage de partition charge ensuite le système d'exploitation rési- dant sur la partition (dans le cas présent la partition 25 utilitaire) et (conformément au FR-A-2 772 158 précité) remplace le type de partition (c'est-à-dire, DEh) par un type qui est reconnaissable par le système d'exploitation (résidant sur la partition utilitaire) chargé de manière à permettre au système d'exploitation de reconnaître le 30 type de partition. Le système d'exploitation, lorsqu'il s'établit, détermine quelles sont les unités matérielles qui se situent sur le système NetPC et procède à l'assignation d'unités logiques (à cet instant, l'unité C: cor- respondant à la partition utilitaire et une unité indé- 35 terminée correspondant à la partition primaire). L'utili-
taire/programme initial de Waffle est exécuté pour modi- fier les assignations d'unités (la partition utilitaire est mappée sur l'unité virtuelle A: et la partition pri- maire est mappée sur l'unité logique C:). De plus, la 5 partition utilitaire est marquée comme active et la par- tition primaire est marquée comme inactive (initial de Waffle). Le programme Waffle peut aussi à nouveau rempla- cer le type de partition de la partition utilitaire par un type non reconnaissable, tel que DEh. les raisons pour 10 lesquelles la partition utilitaire peut avoir à se faire affecter à nouveau un type non reconnaissable sont sans aucun lien avec le reste du processus de fabrication ici décrit, cependant, celle-ci est rendue non reconnaissable principalement pour éviter toute modification acciden- 15 telle de la partition utilitaire à un moment ultérieur par un utilisateur du système. Une fois les unités réas- signées du fait du programme initial Waffle, la partition utilitaire est alors l'unité A: et est marquée comme ac- tive. De plus, il est inutile de s'occuper de ce que le 20 système d'exploitation s'amorce et ne reconnaisse pas le type de partition de la partition utilitaire, du fait que le type de partition est traité comme décrit précédemment en référence au programme initial Waffle (FR-A-2 772 158 précité). De plus, une fois que le système d'exploitation 25 s'exécute, alors le type de partition de la partition ac- tive n'a plus besoin d'être reconnu par le système d'ex- ploitation. Un utilitaire ou programme "Turnover", décrit plus amplement ici, est également prévu et peut être exé- cuté pour rafraîchir le contenu de la partition primaire 30 (c'est-à-dire, de l'unité C:) tel que nécessaire, confor- mément en outre à une implémentation particulière du traitement inhérent au banc d'essai. En se souvenant maintenant des partitions de l'u- nité de disque dur, une partition possède certains champs 35 de paramètres parmi lesquels les champs 'début', 'fin' et
'taille' Après les étapes de préparation et de parti- tionnement du disque, lors du contrôle rapide QT, l'enre- gistrement d'amorçage de partition de la partition pri- maire est rendu spécifique au système d'exploitation ci- 5 ble (par exemple Windows 95, Windows 98, Windows NT (mar- ques déposées), etc.) qui est chargé sur la partition primaire du client du système NetPC, conformément à la commande spécifique du client. Pour un système de fi- chiers du type FAT, la partition peut aussi inclure des 10 tables d'allocation de fichiers, un répertoire racine, et des fichiers. Au début du traitement inhérent au banc d'essai, la partition primaire contient un enregistrement d'amor- çage de partition. Une fois l'enregistrement d'amorçage 15 de partition de la partition primaire établi pendant le processus QT, alors, conformément aux présents modes de réalisation, lors de la survenue d'une interruption pen- dant le traitement implémenté sur le banc d'essai, un processus de reprise peut être exécuté, lequel consiste à 20 laisser inchangé l'enregistrement d'amorçage de partition de la partition primaire, tout en réinitialisant les ta- bles d'allocation de fichiers et le répertoire racine (c'est-à-dire, les structures du système de fichiers). Les fichiers de la partition primaire peuvent aussi être 25 rafraîchis. Conformément aux modes de réalisation de la pré- sente invention, un programme ou utilitaire "turnover" est inclus dans le code du processus de fabrication, l'utilitaire turnover incluant un code adapté pour loca- 30 liser et rafraîchir d'une manière spécifique les tables d'allocation de fichiers et le répertoire racine de la partition primaire, sans affecter l'enregistrement d'a- morçage de la partition primaire. En d'autres termes, lors de l'exécution du programme turnover, l'enregistre- 35 ment d'amorçage de la partition primaire reste inchangé,
tandis que le reste de la partition primaire est converti en zone vierge ou est rafraîchi. Le programme turnover rafraîchit d'une manière effective le contenu de l'unité logique C:, à l'exception de l'enregistrement d'amorçage 5 de la partition primaire qui est spécifique au système d'exploitation cible, ce qui élimine essentiellement le besoin de relancer le processus QT pour repartitionner l'unité de disque dur.
Le contenu de l'enregistrement d'amorçage de la 10 partition primaire n'a pas besoin d'être connu pendant le processus QT, du fait que le contenu n'est chargé sur le disque dur que pendant la préparation du disque dur lors du processus QT. Cependant, pendant le traitement au banc d'essai, le contenu de l'enregistrement d'amorçage de la 15 partition primaire est important. Le contenu de l'enre- gistrement d'amorçage de la partition primaire est laissé seul et inchangé par le programme turnover pendant une reprise du traitement inhérent au banc d'essai dans le cas d'une interruption. 20 Les paramètres de la partition primaire incluent aussi un enregistrement d'amorçage de partition d'une longueur donnée, des tables d'allocation de fichiers d'une longueur donnée, un répertoire racine d'une lon- gueur donnée et des fichiers de la partition. On notera 25 que la dimension et la structure des tables d'allocation de fichiers, du répertoire racine, et des fichiers de la partition sont dépendantes du type de système de fichiers particulier (par exemple, FAT16, FAT32, etc.). Comme men- tionné, grâce au programme turnover, les tables d'allocation de fichiers et le répertoire racine sont spécifique- ment recherchés et rafraîchis. Le programme turnover identifie un type particulier de système de fichiers des tables d'allocation de fichiers et du répertoire racine et, en outre, le rafraîchit en fonction du type de sys- 35 tème de fichiers particulier. L'utilitaire turnover peut ..DTD; ainsi être considéré comme un utilitaire intelligent. Les fichiers de la partition primaire peuvent aussi être re- cherchés et rafraîchis, si souhaité, pour une implémenta- tion particulière, cependant, il ne s'agit pas d'une ab- 5 solue nécessité. L'enregistrement d'amorcage de la parti- tion primaire, qui a été établi pendant le processus QT et qui, de plus, est spécifique au système d'exploitation cible particulier, est laissé inchangé après l'exécution de l'utilitaire turnover. Par conséquent, l'intégrité de 10 l'enregistrement d'amorçage de la partition primaire est avantageusement préservée. Le traitement inhérent au banc d'essai peut alors être relancé exactement là o l'inter- ruption est survenue. Par exemple, chaque contrôle ou chargement logiciel peut être relancé après l'exécution 15 de l'utilitaire turnover. De cette manière, le contrôle ou chargement logiciel peut commencer en sachant que la partition primaire a été rafraîchie (par exemple, parti- tion vierge ou vide sur l'unité C:) à l'exception de l'enregistrement d'amorçage de la partition primaire.
L'utilitaire turnover peut également être exécuté tel que nécessaire pour rafraîchir le contenu de la par- tition primaire (c'est-à-dire, de l'unité C:) conformé- ment à une implémentation particulière du traitement inhérent au banc d'essai. En fonction du code du processus 25 de fabrication, il peut être souhaitable de conserver la trace du moment o chaque partie du traitement inhérent au banc d'essai a commencé et s'est terminée (c'est-à-dire, son début et sa fin). L'état d'une étape de traitement donnée peut être mémorisé temporairement. 30 Si un problème ou une interruption est détecté pendant le traitement inhérent au banc d'essai, par exemple, un in- dicateur adapté peut être activé. Lors de la détection d'un indicateur activé, le programme turnover peut être exécuté avant de relancer la partie particulière du trai- 35 tement inhérent au banc d'essai o est survenu le pro-
blême ou l'interruption. Le programme turnover peut être exécuté ou lancé autant de fois qu'il le faut pour un traitement particulier au banc d'essai sur un NetPC don- né, sans dépasser un nombre maximal de fois prescrit et 5 souhaité, ou pendant une durée ne dépassant pas une durée limite maximale donnée. Une durée limite maximale peut être établie de manière à empêcher qu'un NetPC ne réside sur le banc d'essai pendant une durée indéterminée, par exemple, par l'utilisation d'un temporisateur de sur- 10 veillance. Divers procédés peuvent être utilisés pour déterminer à quel moment survient une interruption lors du traitement au banc d'essai. Considérons, par exemple, ce qui va suivre. Pendant l'exécution des diverses parties 15 du traitement inhérent au banc d'essai ET1, ET2, SI, et FT, un certain nombre d'amorçages s'effectueront au cours du processus implémenté sur le banc d'essai. Des amorça- ges initiaux s'effectueront pendant l'ET1 et l'ET2. Dans un mode de réalisation, un code de séquencement peut être 20 utilisé de manière à déterminer o va la commande dans le code du processus de fabrication, le code de séquencement pouvant être écrit en utilisant des techniques de pro- grammation connues dans la technique. Les réamorçages qui sont implémentés peuvent être enregistrés ou mémorisés, 25 par exemple, parallèlement à l'émission d'un indicateur d'amorçage respectif qui peut être mémorisé dans un fi- chier d'indicateurs d'amorçage du code du processus de fabrication. Si un indicateur d'amorçage apparaît en de- hors de la séquence, alors celui-ci peut indiquer qu'une 30 interruption est survenue lors du traitement implémenté sur le banc d'essai, et une action corrective peut être entreprise en conséquence. Une action corrective inclut le rafraîchissement de la partition primaire tel que dé- crit ici par l'utilisation du programme ou de l'utili- 35 taire turnover. A l'inverse, un code de surveillance de
processus peut être inclus dans le code du processus de fabrication et utilisé pour surveiller ou rechercher un début/fin de l'ET1, l'ET2, du SI, et du FT. Si ni début ni fin n'est détecté, alors une indication d'une inter- 5 ruption ou problème lors du traitement au banc d'essai peut être délivrée et une action corrective appropriée entreprise. En se reportant maintenant à la figure 7, un or- dinogramme du traitement implémenté sur le banc d'essai 10 lors de la fabrication d'un ordinateur conformément à la présente invention est représenté. Le traitement au banc d'essai peut inclure un contrôle étendu et une installa- tion logicielle conformément à une séquence de fabrica- tion prescrite commençant à l'étape 80. La séquence de 15 contrôle étendu et d'installation logicielle peuvent inclure l'ET1, l'ET2, le SI, et le FT. A l'étape 82, le système informatique est amorcé. Comme décrit, la parti- tion utilitaire est marquée comme active, et, par consé- quent, l'enregistrement d'amorçage maître recherche la 20 première partition active pour s'amorcer. L'étape 82 in- clut en outre l'exécution du programme initial Waffle et le mappage de la partition utilitaire sur l'unité vir- tuelle A: et de la partition primaire sur l'unité logique C:. A l'étape 84, l'état de la séquence implémentée sur 25 le banc d'essai est contrôlé de manière à déterminer quelle étape, parmi le contrôle étendu et l'installation de logiciel, le code de fabrication doit exécuter. L'état de la séquence implémentée sur le banc d'essai peut être mémorisé, par exemple, dans la partition utilitaire de 30 l'unité de disque dur. A l'étape 86, l'état de l'étape courante est vérifié de manière à déterminer si l'étape est prête à être exécutée (c'est-à-dire si l'on se trouve à son début) ou si l'étape a été précédemment exécutée, mais interrompue (c'est-à-dire si une panne est surve- 35 nue). Si l'état est OK, alors le processus se poursuit à l'étape 88. A l'étape 88, le contrôle étendu particulier ou l'installation
logicielle particulière est exécuté. A l'étape 90, l'état de la séquence est actualisé. L'actua- lisation de l'état de la séquence peut consister, par 5 exemple, à faire passer l'état de la séquence à l'étape suivante de la séquence compensée du contrôle étendu et de l'installation logicielle à exécuter, à condition que le contrôle étendu ou l'installation logicielle juste exécuté l'ait été avec succès. L'actualisation de l'état 10 de la séquence peut aussi consister à fournir une indica- tion de ce que le contrôle étendu donné ou l'installation logicielle donnée a été interrompu ou a échoué et à main- tenir l'état de la séquence au niveau de la même étape afin qu'elle soit à nouveau exécutée. A l'étape 92, il 15 est déterminé si oui ou non l'intégralité du contrôle ou de l'installation logicielle a été effectuée avec succès, c'est-à-dire, si oui ou non la séquence prescrite est terminée. Si celle-ci n'est pas terminée, le processus se poursuit avec la routine d'amorçage à l'étape 82. Si 20 celle-ci est terminée, le processus s'achève à l'étape 94. Si, à l'étape 86, l'état de l'étape courante de la séquence n'est pas OK, alors le processus se poursuit à l'étape 96. L'étape 96 inclut l'exécution de l'utili- 25 taire Turnover pour rafraîchir les tables d'allocation de fichiers, le répertoire racine, et les fichiers de la partition primaire et, par conséquent, permettre à l'éta- pe de la séquence qui a échoué ou qui a été interrompue d'être à nouveau exécutée. Après l'étape 96, le processus 30 se poursuit à l'étape 90, pendant laquelle l'état de séquence est actualisé. L'exécution de l'utilitaire Turno- ver influence l'actualisation de l'état de la séquence a- fin de réinitialiser l'état de la séquence à l'étape cou- rante du contrôle étendu et de l'installation logicielle 35 de manière à permettre à l'étape particulière de la sé-
quence d'être à nouveau exécutée. Le processus se pour- suit alors à l'étape 92, telle que décrite. Les présents modes de réalisation permettent ain- si de fabriquer d'une manière avantageuse un système in- 5 formatique-réseau, en particulier ne comportant pas d'u- nité de disquette, et d'entreprendre une action correc- tive sans qu'il soit nécessaire de relancer depuis le dé- but le processus de fabrication du système informatique, par exemple, avec le contrôle rapide (QT). A la place, 10 les présents modes de réalisation permettent au processus de fabrication du système informatique de reprendre au niveau de la partie particulière du traitement inhérent au banc d'essai o est survenu un problème ou une inter- ruption. 15 Grâce au présent processus de reprise, il est ga- ranti que, même si s'effectue un mappage qui n'est pas naturel ou qui n'est pas classique pour l'unité de disque dur, la partition utilitaire héritera de la commande, ce qui fait que le code du processus de fabrication sera 20 toujours accessible. La partition primaire peut être réi- nitialisée dans un état vide (via l'utilitaire turnover), sans affecter l'enregistrement d'amorçage de partition de la partition primaire. De plus, aucune intervention ma- nuelle n'est nécessaire par exemple, dans le cas d'une 25 interruption de l'alimentation électrique. Lors de la dé- tection d'une interruption pendant le traitement implémenté sur le banc d'essai, une action corrective appro- priée peut être entreprise sans qu'il faille d'interven- tion manuelle. Une action corrective peut être programmée 30 ou codée conformément à une séquence de correction parti- culière pour une implémentation donnée du processus de fabrication, l'action corrective étant codée en utilisant des techniques de programmation connues dans l'art. Les présents modes de réalisation offrent un 35 avantage technique, lors de la fabrication d'un NetPC,
qui permet une reprise dans le cas d'une interruption du processus de fabrication, la reprise se faisant au niveau de la séquence ou phase donnée du processus de fabrica- tion o est survenue l'interruption, ce qui fait qu'il 5 n'est pas nécessaire que le processus de fabrication du NetPC recommence avec un partitionnement du disque dur. Il en résulte un processus de fabrication de NetPC à la fois plus pratique et efficace.

Claims (30)

REVENDICATIONS
1. Procédé d'installation de logiciel destiné à être utilisé dans la fabrication d'un système informati- 5 que (10) prescrit, ledit procédé étant caractérisé en ce qu'il comporte les étapes consistant à : produire au moins un processeur, produire au moins une mémoire, la (les) mémoire(s) comportant un enregistrement d'amorçage maître 10 (30), une partition utilitaire (32) et une partition pri- maire (34), la partition utilitaire (32) incluant un code de fabrication spécifique à une séquence de fabrication lors de la fabrication du système informatique (10), et produire une interface pour relier le système in- 15 formatique (10) à un serveur-réseau de telle sorte que, lors de l'amorçage du système informatique, le code de fabrication soit exécuté par le(s) processeur(s), la sé- quence de fabrication incluant au moins un chargement lo- giciel à partir du serveur-réseau sur la partition pri- 20 maire (34).
2. Procédé selon la revendication 1, caractérisé en ce que l'enregistrement d'amorçage maître (30) inclut une table de partition maîtresse (42) comportant un pre- 25 mier descripteur (44) correspondant à la partition utili- taire (32) et un second descripteur (46) correspondant à la partition primaire (34), le premier descripteur (44) incluant un champ 'indicateur de partition active' (47a) et un champ 'type de partition invalide' (48a) et le se- 30 cond descripteur (46) incluant un champ 'indicateur de partition inactive' (47b) et un champ 'type de partition valide' (48b), la partition primaire (34) incluant un enregistrement d'amorçage de partition spécifique à un sys- tème d'exploitation cible du système informatique (10).
3. Procédé selon la revendication 2, caractérisé en ce que le code de fabrication inclut en outre des ins- tructions pour modifier le champ 'type de partition inva- lide' du premier descripteur (44) en un champ 'type vali- 5 de' et mapper la partition utilitaire (32) sur une unité virtuelle A: (45a) et la partition primaire (34) sur une unité logique C: (45b).
4. Procédé selon la revendication 3, caractérisé 10 en ce que le code de fabrication inclut en outre des ins- tructions pour remplacer le champ 'type de partition va- lide' du premier descripteur (44) par un champ 'type in- valide' après le mappage de la partition utilitaire (32) sur l'unité virtuelle A: (45a) et de la partition primai- 15 re (34) sur l'unité logique C: (45b).
5. Procédé selon la revendication 2, caractérisé en ce que la partition primaire (34) inclut en outre des tables d'allocation de fichiers (64) et un répertoire ra- 20 cine (66), et en ce que le code de fabrication inclut en outre des instructions pour rafraîchir les tables d'allo- cation de fichiers (64) et le répertoire racine (66) de la partition primaire (34) lors de la survenue d'une in- terruption dans le chargement logiciel à partir du ser- 25 veur-réseau et des instructions pour permettre de repren- dre le chargement logiciel sans reformater ni reparti- tionner la (les) mémoire(s).
6. Procédé selon la revendication 5, caractérisé 30 en ce que la partition primaire (34) inclut en outre des fichiers (68), et en ce que le code de fabrication inclut en outre des instructions pour rafraîchir les fichiers de la partition primaire (34) lors de la survenue d'une in- terruption dans le chargement logiciel à partir du ser- 35 veur-réseau.
7. Procédé selon la revendication 1, caractérisé en ce que la séquence de fabrication inclut en outre un contrôle.
8. Procédé selon la revendication 7, caractérisé en ce que le code de fabrication inclut en outre des ins- tructions pour mémoriser un état de la séquence de fabri- cation dans la partition utilitaire (32) et des instruc- 10 tions pour actualiser l'état de la séquence de fabrica- tion lorsque sont effectués le chargement logiciel et le contrôle.
9. Procédé selon la revendication 1, caractérisé 15 en ce que la (les) mémoire(s) inclu(en)t une unité de disque.
10. Procédé selon la revendication 1, caractérisé en ce que la (les) mémoire(s) inclu(en)t une unité de 20 disque dur.
11. Procédé d'installation de logiciel destiné à être utilisé dans la fabrication d'un système informati- que (10) prescrit, ledit procédé comportant les étapes 25 consistant à : produire au moins un processeur, produire au moins une mémoire, la (les) mé- moire(s) comportant un enregistrement d'amorçage maître (30), une partition utilitaire (32) et une partition pri- 30 maire (34), la partition utilitaire (32) incluant un code de fabrication spécifique à une séquence de fabrication lors de la fabrication du système informatique (10), et produire une interface pour relier le système in- formatique (10) à un serveur-réseau de telle sorte que, 35 lors de l'amorçage du système informatique, le code de fabrication soit exécuté par le(s) processeur(s), la sé- quence de fabrication incluant au moins un chargement lo- giciel à partir du serveur-réseau sur la partition pri- maire (34), 5 l'enregistrement d'amorçage maître (30) incluant une table de partition maîtresse (42) comportant un pre- mier descripteur (44) correspondant à la partition utili- taire (32) et un second descripteur (46) correspondant à la partition primaire (34), le premier descripteur (44) 10 incluant un champ 'indicateur de partition active' (47a) et un champ 'type de partition invalide' (48a), et le second descripteur (46) incluant un champ 'indicateur de partition inactive' (47b) et un champ 'type de partition valide' (48b), et la partition primaire (34) incluant un 15 enregistrement d'amorçage de partition spécifique à un système d'exploitation cible du système informatique (10), le code de fabrication incluant en outre des ins- tructions pour modifier le champ 'type de partition inva- 20 lide' du premier descripteur (44) en un champ 'type va- lide' et mapper la partition utilitaire (32) sur une uni- té virtuelle A: (45a) et la partition primaire (34) sur une unité logique C: (45b), et la partition utilitaire (32) incluant en outre 25 des tables d'allocation de fichiers (64) et un répertoire racine (66), et le code de fabrication incluant en outre des instructions pour rafraîchir les tables d'allocation de fichiers (64) et le répertoire racine (66) de la par- tition primaire (34) lors de la survenue d'une interrup- 30 tion dans le chargement logiciel à partir du serveur-ré- seau et des instructions pour permettre de reprendre le chargement logiciel sans reformater ni repartitionner la (les) mémoire(s).
12. Procédé selon la revendication 11, caractéri- sé en ce que la partition primaire (34) inclut en outre des fichiers (68) et en ce que le code de fabrication in- clut en outre des instructions pour rafraîchir les fi- 5 chiers de la partition primaire (34) lors de la survenue d'une interruption dans le chargement logiciel à partir du serveur-réseau.
13. Procédé selon la revendication 11, caractéri- 10 sé en ce que la séquence de fabrication inclut en outre un contrôle.
14. Procédé selon la revendication 13, caractéri- sé en ce que le code de fabrication inclut en outre des 15 instructions pour mémoriser un état de la séquence de fa- brication dans la partition utilitaire (32) et des instructions pour actualiser l'état de la séquence de fabri- cation lorsque sont effectués le chargement logiciel et le contrôle.
15. Procédé selon la revendication 11, caractéri- sé en ce que la (les) mémoire(s) inclu(en)t une unité de disque dur.
16. Système informatique (10) destiné à exécuter une installation logicielle lors de sa fabrication, ledit système informatique (10) étant caractérisé en ce qu'il comporte : au moins un processeur, 30 au moins une mémoire, ladite (lesdites) mé- moire(s) comportant un enregistrement d'amorçage maître (30), une partition utilitaire (32) et une partition pri- maire (34), la partition utilitaire (32) incluant un code de fabrication spécifique à une séquence de fabrication lors de la fabrication dudit système informatique (10), et une interface pour relier ledit système informa- tique (10) à un serveur-réseau de telle sorte que, lors 5 de l'amorçage dudit système informatique, le code de fa- brication soit exécuté par le(s)dit(s) processeur(s), la séquence de fabrication incluant au moins un chargement logiciel à partir du serveur-réseau sur la partition pri- maire (34).
17. Système informatique (10) selon la revendica- tion 16, caractérisé en ce que l'enregistrement d'amor- çage maître (30) inclut une table de partition maîtresse (42) comportant un premier descripteur (44) correspondant 15 à la partition utilitaire (32) et un second descripteur (46) correspondant à la partition primaire (34), le pre- mier descripteur (44) incluant un champ 'indicateur de partition active' et un champ 'type de partition inva- lide', et le second descripteur (46) incluant un champ 20 'indicateur de partition inactive' et un champ 'type de partition valide', et la partition primaire (34) inclut un enregistrement d'amorçage de partition spécifique à un système d'exploitation cible dudit système informatique (10).
18. Système informatique (10) selon la revendica- tion 17, caractérisé en ce que le code de fabrication in- clut en outre des instructions pour modifier le champ 'type de partition invalide' du premier descripteur (44) 30 en un champ 'type valide' et mapper la partition utili- taire (32) sur une unité virtuelle A: (45a) et la parti- tion primaire (34) sur une unité logique C: (45b).
19. Système informatique (10) selon la revendica- 35 tion 18, caractérisé en ce que le code de fabrication in- clut en outre des instructions pour remplacer le champ 'type de partition valide' du premier descripteur (44) par un champ 'type invalide' après le mappage de la par- tition utilitaire (32) sur l'unité virtuelle A: (45a) et 5 de la partition primaire (34) sur l'unité logique C: (45b).
20. Système informatique (10) selon la revendica- tion 17, caractérisé en ce que la partition primaire (34) 10 inclut en outre des tables d'allocation de fichiers (64) et un répertoire racine (66), et en ce que le code de fa- brication inclut en outre des instructions pour rafraîchir les tables d'allocation de fichiers (64) et le ré- pertoire racine (66) de la partition primaire (34) lors 15 de la survenue d'une interruption dans le chargement lo- giciel à partir du serveur-réseau et des instructions pour permettre de reprendre le chargement logiciel sans reformater ni repartitionner ladite(lesdites) mémoire(s).
21. Système informatique (10) selon la revendica- tion 20, caractérisé en ce que la partition primaire (34) inclut en outre des fichiers (68), et en ce que le code de fabrication inclut en outre des instructions pour rafraîchir les fichiers de la partition primaire (34) lors 25 de la survenue d'une interruption dans le chargement lo- giciel à partir du serveur-réseau.
22. Système informatique (10) selon la revendica- tion 16, caractérisé en ce que la séquence de fabrication 30 inclut en outre un contrôle.
23. Système informatique (10) selon la revendica- tion 22, caractérisé en ce que le code de fabrication in- clut en outre des instructions pour mémoriser un état de 35 la séquence de fabrication dans la partition utilitaire (32) et des instructions pour actualiser l'état de la séquence de fabrication lorsque sont effectués le charge- ment logiciel et le contrôle.
24. Système informatique (10) selon la revendica- tion 16, caractérisé en ce que la (les) mémoire(s) in- clu(en)t une unité de disque.
25. Système informatique (10) selon la revendica- 10 tion 16, caractérisé en ce que la (les) mémoire(s) in- clu(en)t une unité de disque dur.
26. Système informatique (10) destiné à exécuter une installation logicielle lors de sa fabrication, ledit 15 système informatique (10) comportant : au moins un processeur, au moins une mémoire, ladite (lesdites) mé- moire(s) comportant un enregistrement d'amorçage maître (30), une partition utilitaire (32) et une partition pri- 20 maire (34), la partition utilitaire (32) incluant un code de fabrication spécifique à une séquence de fabrication lors de la fabrication du système informatique (10), et une interface pour relier ledit système informa- tique (10) à un serveur-réseau de telle sorte que, lors 25 de l'amorçage dudit système informatique, le code de fa- brication soit exécuté par le(s) processeur(s), la sé- quence de fabrication incluant au moins un chargement lo- giciel à partir du serveur-réseau sur la partition primaire (34), 30 l'enregistrement d'amorçage maître (30) incluant une table de partition maîtresse (42) comportant un pre- mier descripteur (44) correspondant à la partition utili- taire (32) et un second descripteur (46) correspondant à la partition primaire (34), le premier descripteur (44) 35 incluant un champ 'indicateur de partition active' et un champ 'type de partition invalide', et le second descrip- teur (46) incluant un champ 'indicateur de partition in- active' et un champ 'type de partition valide', et la partition primaire (34) incluant un enregistrement d'a- 5 morçage de partition spécifique à un système d'exploita- tion cible du système informatique (10), le code de fabrication incluant en outre des ins- tructions pour modifier le champ 'type de partition inva- lide' du premier descripteur (44) en un champ 'type va- 10 lide' et mapper la partition utilitaire (32) sur une uni- té virtuelle A: (45a) et la partition primaire (34) sur un unité logique C: (45b), et la partition utilitaire (32) incluant en outre des tables d'allocation de fichiers (64) et un répertoire 15 racine (66), et le code de fabrication incluant en outre des instructions pour rafraîchir les tables d'allocation de fichiers (64) et le répertoire racine (66) de la par- tition primaire (34) lors de la survenue d'une interrup- tion dans le chargement logiciel à partir du ser- 20 veur-réseau et des instructions pour permettre de repren- dre le chargement logiciel sans reformater ni reparti- tionner la (les) mémoire(s).
27. Système informatique (10) selon la revendica- 25 tion 26, caractérisé en ce que la partition primaire (34) inclut en outre des fichiers (68), et en ce que le code de fabrication inclut en outre des instructions pour rafraîchir les fichiers de la partition primaire (34) lors de la survenue d'une interruption dans le chargement lo- 30 giciel à partir du serveur-réseau.
28. Système informatique (10) selon la revendica- tion 26, caractérisé en ce que la séquence de fabrication inclut en outre un contrôle.
29. Système informatique (10) selon la revendica- tion 28, caractérisé en ce que le code de fabrication in- clut en outre des instructions pour mémoriser un état de la séquence de fabrication dans la partition utilitaire (32) et des instructions pour actualiser l'état de la séquence de fabrication lorsque sont effectués le charge- ment logiciel et le contrôle.
30. Système informatique (10) selon la revendica- 10 tion 26, caractérisé en ce que la (les) mémoire(s) in- clu(en)t une unité de disque.
FR0000881A 1999-01-25 2000-01-25 Procede et dispositif d'installation logicielle restaurable pour un systeme informatique Expired - Lifetime FR2792740B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/236,862 US6247126B1 (en) 1999-01-25 1999-01-25 Recoverable software installation process and apparatus for a computer system

Publications (2)

Publication Number Publication Date
FR2792740A1 true FR2792740A1 (fr) 2000-10-27
FR2792740B1 FR2792740B1 (fr) 2005-03-11

Family

ID=22891303

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0000881A Expired - Lifetime FR2792740B1 (fr) 1999-01-25 2000-01-25 Procede et dispositif d'installation logicielle restaurable pour un systeme informatique

Country Status (14)

Country Link
US (1) US6247126B1 (fr)
JP (1) JP2000222178A (fr)
KR (1) KR100578940B1 (fr)
CN (1) CN1191526C (fr)
AU (1) AU757143B2 (fr)
BR (1) BR9906016A (fr)
DE (1) DE10003108B4 (fr)
FR (1) FR2792740B1 (fr)
GB (1) GB2349247B (fr)
IE (1) IE20000025A1 (fr)
IT (1) IT1319794B1 (fr)
MY (1) MY117190A (fr)
SG (1) SG85655A1 (fr)
TW (1) TW454147B (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3171273A1 (fr) * 2015-11-20 2017-05-24 Sagemcom Energy & Telecom Sas Procédé de vérification d'intégrité d'un ensemble de données déployées sur une pluralité de dispositifs électroniques

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7062645B2 (en) * 1998-06-04 2006-06-13 Gateway Inc. Build to order personal computer manufacturing fast boot method
US6725260B1 (en) * 1998-09-11 2004-04-20 L.V. Partners, L.P. Method and apparatus for configuring configurable equipment with configuration information received from a remote location
KR100284430B1 (ko) * 1998-12-18 2001-04-02 구자홍 프로그램 갱신 방법 및 장치
US6401183B1 (en) * 1999-04-01 2002-06-04 Flash Vos, Inc. System and method for operating system independent storage management
US6490616B1 (en) * 1999-06-14 2002-12-03 Wind River International, Ltd. Method and apparatus for incremental download from server to client
US6543047B1 (en) * 1999-06-15 2003-04-01 Dell Usa, L.P. Method and apparatus for testing custom-configured software/hardware integration in a computer build-to-order manufacturing process
JP3916806B2 (ja) * 1999-07-26 2007-05-23 富士通株式会社 リモートローディング実行方法、リモートローディング実行システム、情報処理装置、管理装置及びコンピュータ読み取り可能な記録媒体
US6560726B1 (en) 1999-08-19 2003-05-06 Dell Usa, L.P. Method and system for automated technical support for computers
US6760708B1 (en) * 1999-08-19 2004-07-06 Dell Products L.P. Method and system for migrating stored data to a build-to-order computing system
US6606716B1 (en) 1999-10-06 2003-08-12 Dell Usa, L.P. Method and system for automated technical support for computers
US6598223B1 (en) * 1999-10-06 2003-07-22 Dell Usa, L.P. Method and system for installing and testing build-to-order components in a defined configuration computer system
US6539499B1 (en) 1999-10-06 2003-03-25 Dell Usa, L.P. Graphical interface, method, and system for the provision of diagnostic and support services in a computer system
US6563698B1 (en) 1999-10-06 2003-05-13 Dell Usa, L.P. System and method for providing a computer system with a detachable component
US6556431B1 (en) 1999-10-06 2003-04-29 Dell Usa, L.P. System and method for converting alternating current into direct current
US6574615B1 (en) 1999-10-06 2003-06-03 Dell Usa, L.P. System and method for monitoring support activity
US6564220B1 (en) 1999-10-06 2003-05-13 Dell Usa, L.P. System and method for monitoring support activity
AU1885800A (en) * 2000-01-06 2001-07-16 Kam-Fu Chan Running microsoft windows 95/98 on ramdisk
US6516242B1 (en) * 2000-01-18 2003-02-04 Dell Usa, L.P. Apparatus for consolidating manufacturing of computing devices
US6892104B2 (en) * 2000-01-18 2005-05-10 Dell Products L.P. System and method for manufacturing products according to customer orders
US6631606B2 (en) * 2000-01-18 2003-10-14 Dell Products L.P. System and method for accommodating atypical customer requirements in a mass customization manufacturing facility
US6711798B2 (en) 2000-01-18 2004-03-30 Dell Products L.P. Method for manufacturing products according to customer orders
US6470446B1 (en) * 2000-01-20 2002-10-22 Dell Usa, L.P. Method for preparing computer hard disks during installation of a network operating system
US7000231B1 (en) * 2000-09-22 2006-02-14 Hewlett-Packard Development Company, L.P. Method of manufacturing operating system master template, method of manufacturing a computer entity and product resulting therefrom, and method of producing a production version of an operating system
TWI222020B (en) 2000-10-19 2004-10-11 Wistron Corp Method for installing and pre-setup of software
CN1333337C (zh) * 2000-10-30 2007-08-22 宏碁股份有限公司 安装与预先启动软件的方法
JP2002236590A (ja) * 2000-12-08 2002-08-23 Seiko Epson Corp ソフトウェアのインストール方法
US6748553B2 (en) * 2000-12-27 2004-06-08 Intel Corporation Method and apparatus for default factory image restoration of a system
US6807665B2 (en) * 2001-01-18 2004-10-19 Hewlett-Packard Development Company, L. P. Efficient data transfer during computing system manufacturing and installation
US6505094B2 (en) 2001-03-05 2003-01-07 Dell Products L.P. System and method for shipping items from a distribution facility
US6634506B2 (en) 2001-03-05 2003-10-21 Dell Products L.P. Reusable container management system and method
US6529797B2 (en) 2001-03-05 2003-03-04 Dell Products L.P. System and method for automatically releasing collections of goods for shipment
US6816746B2 (en) 2001-03-05 2004-11-09 Dell Products L.P. Method and system for monitoring resources within a manufacturing environment
US6615092B2 (en) 2001-03-05 2003-09-02 Dell Products L.P. Method, system and facility for controlling resource allocation within a manufacturing environment
US6611727B2 (en) 2001-03-05 2003-08-26 Dell Products L.P. Method and system for simulating production within a manufacturing environment
US20020123918A1 (en) * 2001-03-05 2002-09-05 Dell Products L.P. System and method for manufacturing and shipping products according to customer orders
US6560509B2 (en) 2001-03-05 2003-05-06 Dell Products L.P. System and method for automated management of a distribution facility
US7814532B2 (en) * 2001-05-02 2010-10-12 Lenovo (Singapore) Pte. Ltd. Data processing system and method for password protecting a boot device
US20030028812A1 (en) * 2001-07-31 2003-02-06 Stultz Paul Dennis Computer security during power-on self test
US20030055932A1 (en) * 2001-09-19 2003-03-20 Dell Products L.P. System and method for configuring a storage area network
JP2003308215A (ja) * 2002-02-14 2003-10-31 Canon Inc 情報処理装置、制御方法、制御プログラム
US20030214957A1 (en) * 2002-05-15 2003-11-20 Wahoske Matthew John Broadband set-top box front-end storage system
US6962306B2 (en) * 2002-07-15 2005-11-08 West Ronald R Units for storing flexible elongated objects
US6857011B2 (en) * 2002-10-31 2005-02-15 Paragon Development Systems, Inc. Method of remote imaging
CN1324462C (zh) * 2002-12-06 2007-07-04 联想(北京)有限公司 通过服务器给多台客户机自动安装应用软件的方法
US7266820B2 (en) * 2003-08-14 2007-09-04 Dell Products L.P. Trunked customized connectivity process for installing software onto an information handling system
CN1328662C (zh) * 2003-09-28 2007-07-25 中兴通讯股份有限公司 嵌入式计算机系统中的嵌入式文件系统的容错处理方法
CN100419692C (zh) * 2003-09-30 2008-09-17 联想(新加坡)私人有限公司 管理信息处理装置的管理装置及系统
CN100343816C (zh) * 2004-09-24 2007-10-17 华为技术有限公司 恢复单板软件版本的方法
US7607002B2 (en) * 2005-01-10 2009-10-20 Dell Products L.P. System and method for information handling system boot device branding of boot information
CN100346302C (zh) * 2005-02-01 2007-10-31 苏州超锐微电子有限公司 一种通过磁盘主引导记录实现网络功能的方法
US7991850B2 (en) * 2005-07-28 2011-08-02 Advanced Micro Devices, Inc. Resilient system partition for personal internet communicator
US9573067B2 (en) * 2005-10-14 2017-02-21 Microsoft Technology Licensing, Llc Mass storage in gaming handhelds
CN101390050B (zh) 2005-12-22 2018-04-24 艾伦·J·薛比洛 通过相减性安装达成选择性分配软件资源的装置与方法
US8286159B2 (en) * 2005-12-22 2012-10-09 Alan Joshua Shapiro Method and apparatus for gryphing a data storage medium
KR100746026B1 (ko) * 2006-01-04 2007-08-06 삼성전자주식회사 소프트웨어 설치 장치 및 방법
US20070206546A1 (en) * 2006-03-02 2007-09-06 Alberth William P Jr Method and apparatus for preventing denial of service attacks on cellular infrastructure access channels
CN101034366A (zh) * 2006-03-07 2007-09-12 鸿富锦精密工业(深圳)有限公司 计算机测试系统及方法
US20070234000A1 (en) * 2006-03-31 2007-10-04 Dell Products L.P. Method and system for dynamic management of a utility partition in a pre-operating system environment
US20080040127A1 (en) * 2006-08-14 2008-02-14 Carol Jean Williams Customer Customized Resource Media
CN101399696B (zh) * 2007-09-24 2011-09-21 国际商业机器公司 通过网络为客户机安装软件的方法、系统及相应的客户机
US8819563B2 (en) * 2008-04-03 2014-08-26 Dell Products L.P. Systems and methods for accessing system utilities
TW201007448A (en) * 2008-08-08 2010-02-16 Genesys Logic Inc Processing unit, portable electrica device and auto-run method thereof
US7920935B2 (en) * 2008-08-19 2011-04-05 International Business Machines Corporation Activity based real-time production instruction adaptation
US8086900B2 (en) * 2008-12-22 2011-12-27 International Business Machines Corporation System, method and computer program product for testing a boot image
US8086834B2 (en) * 2009-04-16 2011-12-27 Dell Products L.P. System and method for populating a dedicated system service repository for an information handling system
US9465696B2 (en) 2011-06-03 2016-10-11 Apple Inc. Methods and apparatus for multi-phase multi-source backup
US9411687B2 (en) 2011-06-03 2016-08-09 Apple Inc. Methods and apparatus for interface in multi-phase restore
US8868859B2 (en) * 2011-06-03 2014-10-21 Apple Inc. Methods and apparatus for multi-source restore
US8640177B2 (en) * 2012-06-29 2014-01-28 International Business Machines Corporation Interactive DVR system
US9542423B2 (en) 2012-12-31 2017-01-10 Apple Inc. Backup user interface
US9934871B2 (en) * 2015-04-17 2018-04-03 Western Digital Technologies, Inc. Verification of storage media upon deployment
CN106155734B (zh) * 2015-04-27 2020-09-18 南京中兴软件有限责任公司 一种软件版本的下载方法及装置
US10191811B2 (en) * 2015-08-13 2019-01-29 Quanta Computer Inc. Dual boot computer system
US10289596B2 (en) 2016-06-07 2019-05-14 Macronix International Co., Ltd. Memory and method for operating a memory with interruptible command sequence
TWI631461B (zh) * 2017-06-27 2018-08-01 晨星半導體股份有限公司 行車記錄器之儲存裝置的控制方法與儲存裝置控制系統
US11435922B2 (en) * 2017-06-27 2022-09-06 Sigmastar Technology Ltd. Control method for storage device of driving recorder and storage device control system
US10862799B2 (en) * 2018-11-19 2020-12-08 Dell Products, L.P. Virtual burn rack monitor

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0794484A2 (fr) * 1996-03-04 1997-09-10 Nec Corporation Unités de disques durs partagés et schéma de partitions pour unités de disques durs
GB2311389A (en) * 1996-03-18 1997-09-24 Ibm Software installation in data processing network.

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5214695A (en) * 1990-07-23 1993-05-25 International Business Machines Corporation Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system
EP0476195A1 (fr) * 1990-09-19 1992-03-25 International Business Machines Corporation Procédé de chargement initial pour une station de travail
US5444861A (en) 1992-06-01 1995-08-22 United Technologies Corporation System for downloading software
US5715456A (en) 1995-02-13 1998-02-03 International Business Machines Corporation Method and apparatus for booting a computer system without pre-installing an operating system
JP3200661B2 (ja) * 1995-03-30 2001-08-20 富士通株式会社 クライアント/サーバシステム
KR19980066818A (ko) * 1997-01-29 1998-10-15 김광호 단말 컴퓨터를 자동으로 복구하는 서버-클라이언트 시스템 구조
EP0934563A1 (fr) * 1997-05-30 1999-08-11 Koninklijke Philips Electronics N.V. Procede a securite integree pour ameliorer un logiciel de base de coffret d'abonne a partir d'un serveur de reseau
GB2329266A (en) * 1997-09-10 1999-03-17 Ibm Automatic error recovery in data processing systems
US6029237A (en) * 1997-10-08 2000-02-22 Dell Usa, L.P. Method for simulating the presence of a diskette drive in a NetPC computer that contains only a hard disk drive
US6032239A (en) * 1997-10-15 2000-02-29 Dell Usa, L.P. System and method for updating partition mappings to logical drives in a computer memory device
US5944820A (en) * 1997-10-15 1999-08-31 Dell U.S.A., L.P. Modifiable partition boot record for a computer memory device
US6032223A (en) * 1997-10-15 2000-02-29 Dell Usa, L.P. System and method for determining a RAM disk logical drive designation
US6041395A (en) * 1997-12-03 2000-03-21 Dell Usa, L.P. System and method for changing partition mappings to logical drives in a computer memory
US6092189A (en) * 1998-04-30 2000-07-18 Compaq Computer Corporation Channel configuration program server architecture

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0794484A2 (fr) * 1996-03-04 1997-09-10 Nec Corporation Unités de disques durs partagés et schéma de partitions pour unités de disques durs
GB2311389A (en) * 1996-03-18 1997-09-24 Ibm Software installation in data processing network.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3171273A1 (fr) * 2015-11-20 2017-05-24 Sagemcom Energy & Telecom Sas Procédé de vérification d'intégrité d'un ensemble de données déployées sur une pluralité de dispositifs électroniques
FR3044124A1 (fr) * 2015-11-20 2017-05-26 Sagemcom Energy & Telecom Sas Procede de verification d'integrite d'un ensemble de donnees

Also Published As

Publication number Publication date
DE10003108B4 (de) 2005-08-25
IE20000025A1 (en) 2000-10-18
CN1191526C (zh) 2005-03-02
AU757143B2 (en) 2003-02-06
DE10003108A1 (de) 2000-08-24
ITTO20000034A1 (it) 2001-07-14
IT1319794B1 (it) 2003-11-03
GB2349247B (en) 2001-03-07
GB9930758D0 (en) 2000-02-16
AU4105999A (en) 2000-07-27
GB2349247A (en) 2000-10-25
KR100578940B1 (ko) 2006-05-12
TW454147B (en) 2001-09-11
MY117190A (en) 2004-05-31
JP2000222178A (ja) 2000-08-11
FR2792740B1 (fr) 2005-03-11
KR20000052311A (ko) 2000-08-16
CN1262480A (zh) 2000-08-09
US6247126B1 (en) 2001-06-12
BR9906016A (pt) 2000-08-08
SG85655A1 (en) 2002-01-15

Similar Documents

Publication Publication Date Title
FR2792740A1 (fr) Procede et dispositif d'installation logicielle restaurable pour un systeme informatique
US9940330B2 (en) System and method for converting a physical disk to a virtual disk
US6804774B1 (en) Software image transition aid comprising building a disk image based on identified hardware
US8433890B2 (en) Preparing and preserving a system configuration during a hot upgrade
US7313685B2 (en) Unattended BIOS recovery
US9804855B1 (en) Modification of temporary file system for booting on target hardware
FR2772947A1 (fr) Systeme pour la reprise apres incident dans un ordinateur utilisant un support amovible a haute capacite
US6665778B1 (en) System and method for storage of device performance data
JP2012508932A (ja) キャッシュデータおよびメタデータを管理すること
US7480793B1 (en) Dynamically configuring the environment of a recovery OS from an installed OS
US7921247B1 (en) Sharing a dynamically located memory block between components executing in different processor modes in an extensible firmware interface environment
FR2773237A1 (fr) Systeme et procede pour modifier le mappage de partitions vers des unites logiques dans une memoire d'ordinateur
FR2793046A1 (fr) Systeme informatique et procede de demarrage de ce systeme
US20040083357A1 (en) Method, system, and program for executing a boot routine on a computer system
US7430661B2 (en) System and method of storing user data in a partition file or using a partition file containing user data
US20070162625A1 (en) Method and apparatus for delivering device drivers
WO2008048581A1 (fr) Système d'initialisation d'opération de dispositif de traitement
US11354109B1 (en) Firmware updates using updated firmware files in a dedicated firmware volume
CN114237638A (zh) 操作系统安装方法、装置、计算机设备和存储介质
EP1160666A2 (fr) Commuter des versions de logiciel dans un arrière-plan d'un système
CN113950673A (zh) 非易失性存储分区标识符
US11789821B1 (en) Out-of-band method to change boot firmware configuration
KR100947136B1 (ko) 소프트웨어의 증분 프로비져닝
WO2021003729A1 (fr) Procédé de configuration, dispositif physique, serveur et support de stockage lisible par ordinateur
CN116048630A (zh) 一种访问隐藏区数据的方法、电子设备及存储介质

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 17

PLFP Fee payment

Year of fee payment: 18

PLFP Fee payment

Year of fee payment: 19

PLFP Fee payment

Year of fee payment: 20