FR2797697A1 - Procede et systeme pour support technique automatique d'ordinateurs - Google Patents

Procede et systeme pour support technique automatique d'ordinateurs Download PDF

Info

Publication number
FR2797697A1
FR2797697A1 FR0010580A FR0010580A FR2797697A1 FR 2797697 A1 FR2797697 A1 FR 2797697A1 FR 0010580 A FR0010580 A FR 0010580A FR 0010580 A FR0010580 A FR 0010580A FR 2797697 A1 FR2797697 A1 FR 2797697A1
Authority
FR
France
Prior art keywords
service
computer system
timer
operating system
interrupt
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
FR0010580A
Other languages
English (en)
Other versions
FR2797697B1 (fr
Inventor
Jr Thomas Vrhel
Gary D Huber
Roy W Stedman
Artsdalen James Van
Krishnamurthy Venkatramani
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 Products LP
Original Assignee
Dell Products 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
Priority claimed from US09/377,726 external-priority patent/US6560726B1/en
Priority claimed from US09/413,422 external-priority patent/US6606716B1/en
Application filed by Dell Products LP filed Critical Dell Products LP
Publication of FR2797697A1 publication Critical patent/FR2797697A1/fr
Application granted granted Critical
Publication of FR2797697B1 publication Critical patent/FR2797697B1/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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
    • 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/4406Loading of operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)

Abstract

La présente invention concerne un procédé et un système destinés à résoudre des problèmes informatiques. Une panne existe si des minuteries du type chien de garde (18, 19) expirent à la fin d'une période prédéterminée sans être remises à zéro. Dans ce cas, un mode de service est initialisé pour permettre une analyse et une résolution du problème. Un bouton de service (26) entraîne l'établissement d'un bit qui génère un signal d'interruption traité en fonction de l'état du système informatique (10). Dans un état d'amorçage, si un bit est établi, une application de service est initialisée. Dans un état de non-amorçage, une seconde interruption est générée. Une minuterie est alors initialisée, et si l'application de service atteint un point prédéterminé avant que la minuterie atteigne une valeur prédéterminée, elle remet celle-ci à zéro. Dans le cas contraire, le système effectue un réamorçage.

Description

La présente demande de brevet concerne en général le domaine de
dispositifs informatiques, et de manière
plus particulière, un procédé et un système pour automa-
tiser un support pour ordinateurs.
Des systèmes d'ordinateur personnel sont devenus de plus en plus fréquents au travail et à domicile. Bien que le terme "ordinateur personnel" désigne un dispositif générique, les "ordinateurs personnels" ont généralement
une grande diversité de composants matériels et logi-
ciels. Par exemple, différents ordinateurs personnels
peuvent avoir des processeurs et des bus de vitesses dif-
férentes, un disque dur et des mémoires RAM de dimensions différentes, et des dispositifs périphériques raccordés à
différents types de cartes d'interface, tels que des dis-
positifs audio. De plus, un grand nombre de fabricants produit des composants informatiques de sorte que, dans un ordinateur personnel donné, même des composants ayant
des caractéristiques de fonctionnement pratiquement simi-
laires peuvent avoir des différences importantes sur la
base de chaque spécification du fabricant des composants.
En ce qui concerne les logiciels, généralement tous les ordinateurs personnels ont un besoin commun d'un
système d'exploitation qui coordonne l'opération des com-
posants matériels. Cependant, chaque ordinateur personnel individuel peut avoir un système d'exploitation parmi de
nombreux possibles. Par exemple, les produits de Micro-
soft ont évolué depuis son Système d'Exploitation à Dis-
que ("DOS") initial en des systèmes Windows, incluant
Windows 3.1, Windows 95, Windows 98, Windows CE et Win-
dows NT (marques déposées). En plus de ces systèmes d'ex-
ploitation de Microsoft, d'autres types de systèmes d'ex-
ploitation sont disponibles, tels que des versions diffé-
rentes de Unix, incluant Linux (marques déposées).
En plus de cette grande diversité de systèmes
d'exploitation, les ordinateurs personnels peuvent utili-
ser un grand nombre de types différents d'applications
logicielles. Une application logicielle donnée peut in-
teragir de différentes manières avec différents systèmes d'exploitation. Ainsi, même avec des composants matériels pratiquement similaires, les ordinateurs personnels ayant un logiciel différent peuvent fonctionner de manières
nettement différentes.
Des utilisateurs d'ordinateur peuvent rencontrer des difficultés vis-àvis de l'exploitation du système pour plusieurs raisons. Un manque de connaissance, des défauts matériels, des incompatibilités logicielles, et
de nombreuses autres causes peuvent entraîner des problè-
mes pour l'utilisateur d'ordinateur. Etant donnée la large gamme de matériel et logiciel disponible (ce qui
implique une gamme encore plus grande de combinaisons ma-
tériel/logiciel que peut rencontrer un utilisateur), il
est difficile de déterminer si l'ordinateur a un pro-
blème. Cette situation est encore plus compliquée du
fait que des ordinateurs personnels nTont pas de bons mé-
canismes pour déterminer automatiquement si le système
matériel/logiciel a un problème. Alors que certains sys-
tèmes d'exploitation contiennent un code qui aide à dé-
tecter certains types de problèmes avec des parties spé-
cifiques du matériel, ces mécanismes peuvent être insuf-
fisamment uniformes pour déterminer si le système d'ex-
ploitation a un problème. En effet, un symptôme classique d'un problème de système d'exploitation est un échec d'amorçage, auquel cas on ne peut compter sur aucune aide de la part du système d'exploitation. Un autre symptôme classique d'un problème de système d'exploitation est une arrêt, auquel cas le système d'exploitation ne répond plus au clavier ni à la souris pour une grande variété de
causes possibles. Il doit être noté que ce type de pro-
blême peut être provoqué par des parties du logiciel qui ont été installées en tête du système d'exploitation, telles qu'une application ou un gestionnaire, ou par une certaine incompatibilité entre des parties du logiciel qui ont été chargées. Un système qui était opérationnel peut cesser de fonctionner ultérieurement du fait d'in-
compatibilités logicielles.
Une autre possibilité est le manque de mécanisme
uniforme pour que l'utilisateur invoque une assistance.
Si l'utilisateur a une question ou si le système a un
problème, ou au moins si l'utilisateur perçoit un pro-
blème, il n'y a couramment aucun mécanisme uniforme pour amener le système à tenter de fournir une assistance à
l'utilisateur. Bien qu'il existe divers types d'aide dis-
ponibles pour l'utilisateur, ils sont basés sur un ou plusieurs dispositifs d'entrée de travail, tels qu'une souris et/ou un clavier, et sur un niveau suffisant de connaissance d'utilisateur pour être capable de naviguer vers l'une des nombreuses sources d'informations sur le système et sur une source d'informations globale tel que
l'internet.
Par conséquent, un besoin est apparu concernant un procédé et un système pour identifier et résoudre des
problèmes de système d'ordinateur personnel qui sont ac-
cessibles par l'intermédiaire d'un mécanisme uniforme à sécurité intégrée quel que soit l'état fonctionnel du système d'exploitation et autre logiciel, et qui peuvent
être implémentés sur une grande variété de systèmes d'ex-
ploitation. Un autre besoin existe concernant un procédé et un système qui détectent lorsqu'un système d'exploitation n'a pas réussi à s'amorcer ou s'est arrêté et qui peuvent
effectuer des actions correctrices appropriées.
Un autre besoin existe concernant un tel système qui inclut un système de surveillance qui communique avec
le système d'exploitation et vice versa, et qui est capa-
ble d'effectuer ceci avec une grande variété de systèmes
d'exploitation différents.
Un autre besoin existe concernant un mécanisme standard qui peut être invoqué pour tenter de résoudre un échec d'amorçage du système d'exploitation et des condi-
tions d'arrêt du système d'exploitation.
Un autre besoin existe concernant un tel méca-
nisme standard qui va tenter de résoudre des conditions d'arrêt du système d'exploitation que l'assistance ait été demandée ou non par l'utilisateur lors de l'amorçage,
et que l'utilisateur ait fait ou non de multiples deman-
des d'assistance.
Conformément à la présente description, un procé-
dé et un système sont fournis qui éliminent pratiquement ou réduisent les inconvénients et problèmes associés aux
procédés et systèmes développés précédemment pour identi-
fier des problèmes de système informatique. Un système de surveillance détecte des problèmes associés à un système
informatique et aide à identifier et résoudre les problè-
mes. Le niveau courant de fonctionnalité du système in-
formatique est déterminé, et un support technique est
fourni au système informatique conformément à la fonc-
tionnalité du système informatique.
Selon un premier aspect de la présente invention, une machine d'état surveille la fonctionnalité du système
d'exploitation pour détecter des pannes de système infor-
matique. Une minuterie du type chien de garde est initia-
lisée pratiquement simultanément à l'initialisation de l'amorçage du système informatique et remise à zéro à un point prédéterminé de la séquence d'amorçage du système informatique. Un échec d'amorçage de système informatique est déterminé si la minuterie du type chien de garde
n'est pas remise à zéro après une période de temps prédé-
terminée. Par exemple, la minuterie du type chien de garde est remise à zéro à l'aide d'une routine de service du système d'exploitation avant expiration de la période de temps prédéterminée, indiquant ainsi que le système d'exploitation a été amorcé en passant par le point de
routine de service de la séquence d'amorçage dans la pé-
riode de temps prédéterminée. La non-remise à zéro de la minuterie du type chien de garde à l'aide de la routine de service indique que le processus d'amorçage n'est pas
passé par le point de séquence d'amorçage au niveau du-
quel la routine de service est appelée.
Dans un mode de réalisation, un utilisateur ini-
tialise la surveillance du système dTexploitation en ap-
puyant sur un bouton de service pour indiquer un problème avec le système informatique. Le fait d'appuyer sur le bouton de service initialise des fonctions de support, telles que l'initialisation d'une application de service,
à un instant approprié. Les fonctions de support permet-
tent de tester le système informatique à l'aide du sys-
tème de surveillance. Le bouton de service initialise une
minuterie du type chien de garde associée à la sur-
veillance de l'amorçage en appelant le système d'exploi-
tation. En variante, ou en plus de l'initialisation de la minuterie du type chien de garde associée à la surface de
l'amorçage, le bouton de service initialise une autre mi-
nuterie du type chien de garde qui agit en tant que minu-
terie de détection d'arrêt. Si on appuie sur le bouton de service lors de l'amorçage du système informatique, la minuterie de détection de arrêt est initialisée à un point prédéterminé de la séquence d'amorçage du système informatique, tel qu'après l'entrée par l'utilisateur d'informations de connexion, et est remise à zéro lors de l'initialisation de l'application de service. Une erreur d'arrêt de système d'exploitation est identifiée si la minuterie de détection d'arrêt n'est pas remise à zéro
après une période de détection d'arrêt prédéterminée.
Selon un mode de réalisation, la détection d'une
panne informatique a pour résultat un réamorçage du sys-
tème informatique en un mode de service. Le mode de ser-
vice amorce un système d'exploitation de mode de service pour permettre l'analyse du système informatique même si
le système d'exploitation primaire du système informati-
que est tombé en panne. L'initialisation d'un amorçage en mode de service déclenche également une minuterie du type chien de garde. La minuterie du type chien de garde est remise à zéro à un point prédéterminé de la séquence
d'amorçage du système d'exploitation de mode de service.
On détermine qu'une panne de système informatique existe si la minuterie du type chien de garde n'est pas remise à
zéro après une période de temps prédéterminée. Si l'amor-
çage en mode de service a été initialisé par une pression précédente du bouton de service par l'utilisateur ayant pour résultat une détection de panne, alors une minuterie
de détection d'arrêt de mode de service surveille la sé-
quence d'amorçage du système d'exploitation de mode de
service pour détecter tout arrêt du système d'exploita-
tion de mode de service.
Dans encore un autre mode de réalisation, un pro-
cédé pour un support automatisé est fourni dans un sys-
tème informatique ayant un bouton de service et un jeu de
puces de contrôleur. Le procédé comporte les étapes con-
sistant à appuyer sur le bouton de service, établir un premier bit dans un registre d'entrée universel situé
dans le jeu de puces de contrôleur pour générer un pre-
mier signal d'interruption en réponse à l'étape consis-
tant à appuyer sur le bouton, recevoir la première inter-
ruption et déterminer si le système informatique est en
cours d'amorçage, et si le système est en cours d'amor-
çage, initialiser alors une routine d'application de ser-
vice d'une première manière, ou si le système n'est pas
en cours d'amorçage, initialiser alors une routine d'ap-
plication de service d'une seconde manière.
Un système informatique est également fourni qui comporte un processeur muni d'au moins une minuterie, un jeu de puces de contrôleur, un système d'entrées/sorties
de base (BIOS), et un système d'exploitation pour commu-
niquer avec des composants du système informatique à tra-
vers le système BIOS. Un bouton de service est relié à un registre d'entrée universel du jeu de puces pour établir le registre afin de générer une première interruption. Le système comporte de plus un pilote d'interruption qui est
relié au registre d'entrée pour recevoir la première in-
terruption et la traiter d'une manière dépendante du fait que le système informatique est dans un état d'amorçage
ou dans un état de non-amorçage.
Un système informatique ayant un système BIOS et
un système d'exploitation est également fourni, dans le-
quel le système informatique comporte un bouton de ser-
vice relié à un registre d'entrée universel dans un jeu de puces de contrôleur pour établir dans le registre afin de générer un premier signal d'interruption. Un pilote
d'interruption dans le système BIOS reçoit le premier si-
gnal d'interruption et initialise un second signal d'in-
terruption dans le système d'exploitation pour initiali-
ser une application de service si le système informatique n'est pas dans un état d'amorçage. Si l'ordinateur est dans un état d'amorçage, le bit reste établi, et un code contenu dans le système d'exploitation contrôle l'état du dernier bit lors de la séquence d'amorçage et initialise
l'application de service si le bit a été établi.
La présente invention fournit de nombreux avanta-
ges techniques importants. Un avantage technique impor-
tant est le support intégré destiné à détecter des pro-
blèmes associés à des systèmes informatiques. La sur-
veillance d'une séquence d'amorçage du système informati-
que concernant une panne de système d'exploitation ou ma-
térielle permet une automatisation d'une détection de problèmes et un support pour résoudre les problèmes. De plus, la détection d'une panne de système informatique permet une analyse et une correction du problème du sys- tème informatique en utilisant le système d'exploitation
de mode de service.
Un autre avantage technique important est la con-
firmation automatique qu'un problème existe avec un sys-
tème informatique. L'indication que le système de sur-
veillance a détecté un problème permet, au minimum, une confirmation à l'équipe de support technique en ayant une
dépendance réduite vis-à-vis de la description verbale de
l'utilisateur du système informatique. La confirmation du problème limite le nombre d'éléments de base qu'une équipe de support technique a besoin de contrôler au cours d'un appel téléphonique. De plus, si le système de surveillance ne détecte pas de problème, alors l'équipe de support technique peut limiter le nombre de problèmes nécessitant un examen. Par exemple, l'impossibilité de
détecter un problème avec le système de surveillance in-
dique que le matériel et le système d'exploitation ont été amorcés d'une manière normale, et que le système est
capable d'initialiser l'application de service.
Un autre avantage technique important est l'iden-
tification du problème associé au système informatique.
Par exemple, la surveillance de l'amorçage du système in-
formatique permet une identification des problèmes asso-
ciés à un matériel ou au système d'exploitation, ou en
variante peut indiquer une fonctionnalité correcte du ma-
tériel et du système d'exploitation qui indique des dif-
ficultés associées à l'utilisateur ou à l'application. Si le logiciel du système d'exploitation est le problème,
l'utilisation d'un système d'exploitation de mode de ser-
vice supporte entièrement l'analyse pour mieux identifier
et analyser le problème. Par exemple, si le système d'ex-
ploitation principal est inexploitable, alors le système d'exploitation de mode de service supporte l'exploitation
du système informatique et permet l'exploitation du sys-
tème informatique pour une analyse et une correction au- tomatiques du problème associé au système d'exploitation principal. Un autre avantage important est une interface
utilisateur robuste qui est simple et facile d'utilisa-
tion. Par exemple, un utilisateur ayant une question ou un problème appuie simplement sur un bouton de service unique. En appuyant sur le bouton de service, il génère une interruption directement dans le jeu de puces pour
indiquer au système de surveillance qu'un service est de-
mandé par l'utilisateur. L'interface directe entre le
bouton de service et le jeu de puces augmente la fiabili-
té et la simplicité, puisque l'entrée de l'utilisateur sur le bouton de service n'est pas liée à l'opération de
composants informatiques, tels qu'un clavier ou une sou-
ris. De plus, un utilisateur peut appuyer sur le bouton de service à tout moment pour obtenir une assistance. Les moyens à l'aide desquels la pression du bouton de service initialise une application de service garantissent que
l'application de service va être exécutée à l'instant ap-
proprié, quel que soit le moment auquel on appuie sur le
bouton de service, et que l'on appuie sur celui-ci plu-
sieurs fois ou non. Une fois qu'on a appuyé sur le bouton de service, le système informatique peut effectuer une
analyse en profondeur de problèmes potentiels, même lors-
que le système d'exploitation est tombé en panne, en uti-
lisant le système d'exploitation de mode de service pour activer des composants informatiques. De plus, le système
et le procédé de la présente invention peuvent être faci-
lement implémentés avec une variété de systèmes d'exploi-
tation différents.
Une compréhension plus intime de la présente in-
vention et des avantages de celle-ci peut être acquise en
se reportant à la description qui va suivre, faite en ré-
férence aux dessins annexés, sur lesquels des références numériques analogues indiquent des caractéristiques ana- logues, et sur lesquels: la figure 1 représente un schéma fonctionnel d'un système informatique surveillé par une machine d'état de surveillance de système d'exploitation, - la figure 2 représente un ordinogramme d'une surveillance de système d'exploitation pendant et après un amorçage en mode normal, - la figure 3 représente un ordinogramme d'une surveillance de système d'exploitation pendant et après un amorçage en mode de service, - la figure 4 représente un ordinogramme d'une initialisation d'une application de service après avoir appuyé sur un bouton de service, et la figure 5 représente un schéma fonctionnel
d'éléments logiciels et matériels utilisés pour initiali-
ser une application de service.
Des modes préférés de réalisation de la présente
invention sont représentés sur les figures, des référen-
ces numériques analogues étant utilisées pour désigner
des parties analogues et correspondantes des divers des-
sins.
Un système d'exploitation sain surveille des opé-
rations matérielles et logicielles sur un système infor-
matique. A certains instants, le système d'exploitation détecte des difficultés ou problèmes associés au système
informatique et avertit l'utilisateur du système informa-
tique des difficultés ou problèmes. Des systèmes d'aide généralement associés au système d'exploitation peuvent
aider à résoudre les difficultés ou problèmes d'une ma-
nière automatique ou par l'intermédiaire d'une interac-
tion utilisateur, en posant par exemple des questions.
Cependant, lorsque le système d'exploitation lui-même a
un problème ou lorsqu'il existe des incompatibilités lo-
gicielles, il est difficile pour le système d'exploita-
tion de résoudre ces problèmes. Fréquemment, le système d'exploitation se coupe ou s'interrompt sans délivrer une autre explication du problème à l'utilisateur du système informatique. Pour améliorer une détection, une identification
ou une résolution de problèmes associés à un système in-
formatique, un système de surveillance associé au système BIOS du système informatique surveille la fonctionnalité
du système d'exploitation. Le système de surveillance dé-
tecte des échecs d'amorçage du système d'exploitation et divers types d'arrêts du système d'exploitation. Une fois
le problème détecté, une action réparatrice est automati-
quement effectuée pour rétablir un système informatique tombé en panne en utilisant un mécanisme uniforme qui
tire avantage des aspects opérationnels du système infor-
matique. De plus, le système de surveillance peut être
invoqué par une simple pression d'un bouton de service.
Le fait d'appuyer sur un bouton de service délivre une interruption dans le jeu de puces du système informatique pour invoquer automatiquement le niveau disponible le plus haut d'assistance utilisateur tel que déterminé par la santé et l'état du système informatique. Comme on va le décrire plus en détail ci-dessous, l'utilisateur peut
appuyer sur le bouton de service alors que le système in-
formatique est en mode POST (vérification automatique à la mise sous tension), amorçage ou en mode de service ou
en mode normal. Lorsqu'on appuie sur le bouton de ser-
vice, le système BIOS établit un bit dans un registre
d'entrée universel du jeu de puces de contrôleur et gé-
nère une interruption. Un code de pilote d'interruption
sensible de l'état dans le système BIOS effectue une ac-
tion appropriée, et peut communiquer vers le système
d'exploitation, en fonction de l'état du système informa-
tique tel que représenté par certains bits CMOS. De plus,
le code du pilote d'interruption garantit que seule l'ac-
tion appropriée est effectuée quel que soit le nombre de
fois o le bouton de service est appuyé successivement.
Un système et un procédé de surveillance d'une panne de système informatique vont maintenant être décrits plus en
détail, puis on va faire une description détaillée de la
* manière par laquelle le bouton de service peut invoquer
ce système de surveillance.
En se reportant maintenant à la figure 1, un schéma fonctionnel représente un système informatique 10
ayant un système d'exploitation 12 raccordé à des compo-
sants matériels 14 à travers un système d'entrées/sorties
de base 16 ("BIOS"). Les composants matériels 14 compor-
tent des composants matériels de système d'ordinateur personnel classiques tels qu'un processeur, un modem, une
carte audio, une carte vidéo, et des dispositifs de mémo-
risation, incluant un disque dur, des lecteurs de dis-
quette, une mémoire ROM et une mémoire RAM. Lors d'une mise sous tension initiale ou lors de l'initialisation d'un réamorçage, le système BIOS 16 dirige une séquence d'amorçage, incluant une vérification automatique à la
mise sous tension ("POST") et l'appel du système d'ex-
ploitation. Au sein du matériel 14, se trouvent une ou plusieurs minuteries 18 et 19, tels que des minuteries du
type chien de garde classiques.
Le système BIOS 16 amorce le système informatique
10 par mise sous tension d'une manière classique. Une ma-
chine d'état de surveillance 20 surveille le processus d'amorçage en comparant des transitions d'états tout au
long de la séquence d'amorçage et des résultats attendus.
La machine d'état de surveillance 20, par exemple, commu-
nique avec la minuterie 18 pour comparer le temps attendu d'une transition prédéterminée entre un premier point de la séquence d'amorçage et un second point et le temps écoulé pour la séquence. Si la minuterie 18 expire sans être remise à zéro, alors un problème a été détecté sur la base de l'expiration de la minuterie. Si le système BIOS 16 amorce avec succès le système informatique 10 en mettant le système d'exploitation 10 en ligne, alors une routine de service du système d'exploitation 12 remet à zéro la minuterie 18 pour empêcher une indication d'un
problème.
Si une machine d'état de surveillance 20 détecte un problème avec le système informatique 10, le système
BIOS 16 peut commander de nombreuses réponses différen-
tes. Par exemple, le système BIOS 16 peut appeler un sys-
tème d'exploitation de mode de service à l'aide d'un pro-
tocole de service 22. Le système d'exploitation de mode de service peut, par exemple, être une version simplifiée
du système d'exploitation 12, tel que le mode "Win-
dows' Safe" pour Windows 98. Le système d'exploitation de mode de service peut inclure un gestionnaire de modem de
sorte que le système informatique peut contacter un ser-
veur d'analyse par l'intermédiaire de l'internet pour charger des symptômes utilisateur, une configuration de
système et des informations d'état, ainsi que pour exécu-
ter un logiciel d'analyse et un diagnostic automatiques.
Le système BIOS 16 peut également allumer des témoins lu-
mineux de service 24 pour indiquer une détection d'un
problème, une configuration différente de lumières indi-
quant l'identité d'un ou de plusieurs problèmes spécifi-
ques. Un utilisateur d'ordinateur peut alors fournir les informations lumineuses éclairées au support technique pour aider à l'analyse et à la résolution du problème. En
variante, le support technique peut obtenir des informa-
tions du système à partir du serveur d'analyse.
Le système informatique 10 comporte un bouton de
service 26 à la disposition d'un utilisateur d'ordina-
teur. Le bouton de service 26 fournit une interface uti-
lisateur robuste qui permet à l'utilisateur d'initialiser le processus de détection et d'identification de pro- blème. Comme décrit plus en détail ci-dessous, le bouton
de service 26 génère une interruption dans le jeu de pu-
ces du système informatique pour initialiser, par exem-
ple, une application de service. La machine d'état de surveillance 20 détecte la pression exercée sur le bouton de service et lance l'application de service ou surveille le comportement du système pour détecter des problèmes
associés au système informatique.
En plus de surveiller la séquence d'amorçage par l'intermédiaire de l'appel du système d'exploitation 12, la machine d'état de surveillance 20 peut surveiller le fonctionnement du système d'exploitation 12 à l'aide d'une minuterie de détection d'arrêt 19. Si on a appuyé sur le bouton de service lors de l'amorçage, la minuterie
de détection d'arrêt 19 est initialisée pendant la sé-
quence d'amorçage, par exemple, par une connexion utili-
sateur, et est remise à zéro par une application exécutée après l'achèvement de l'appel et de l'amorçage du système d'exploitation 12 ou du système d'exploitation de mode de service 22. Si l'application ne remet pas à zéro la minu-
terie de détection d'arrêt 19 dans une période de temps
prédéterminée, la machine d'état de surveillance 20 dé-
termine qu'un arrêt du système d'exploitation a eu lieu.
Le système BIOS 16 reconnaît alors un problème du système d'exploitation et tente un amorçage en mode de service ou indique une panne matérielle probable par l'intermédiaire
des témoins lumineux de service 24.
En se reportant maintenant à la figure 2, un or-
dinogramme représente des étapes pour une automatisation de support afin de surveiller le système d'exploitation d'un mode d'amorçage normal. A l'étape 50, un amorçage
d'ordinateur normal est initialisé. Par exemple, l'utili-
sateur du système informatique 10 peut alimenter de
l'énergie ou peut avoir donné comme instruction au sys-
tème d'exploitation de réamorcer le système. A l'étape 52, une minuterie du type chien de garde de détection
d'arrêt est initialisée. L'amorçage du système d'exploi-
tation et l'activité de la minuterie se déroulent en pa-
rallèle dans le système. La minuterie du type chien de
garde décompte de manière dégressive. Si elle atteint zé-
ro avant que les étapes 58 et 60 soient achevées
(c'est-à-dire lorsqu'une routine de service s'exécute ul-
térieurement dans le processus d'amorçage et remet à zéro
la minuterie), alors l'étape 54 est atteinte, et le sys-
tème est réamorcé en mode de service à l'étape 56.
Typiquement, la séquence d'amorçage teste le ma-
tériel et initialise l'amorçage du système d'exploitation
dans une période de temps prévisible. Lors de l'achève-
ment du test matériel, tel que le test POST, et l'initia-
lisation de l'amorçage du système d'exploitation, une
instruction est émise par une routine de service du sys-
tème d'exploitation pour remettre à zéro la minuterie du type chien de garde à l'étape 58. Si la minuterie du type
chien de garde est remise à zéro à l'étape 60, un amor-
çage normal est indiqué. Si la minuterie du type chien de
garde n'est pas remise à zéro et que le décompte dégres-
sif atteint zéro, le processus passe à l'étape 56 pour un
réamorçage en mode de service à l'aide du système d'ex-
ploitation de mode de service. Dans un mode de réalisa-
tion, des amorçages normaux supplémentaires peuvent être répétés automatiquement avant de passer à la séquence d'amorçage en mode de service. En résumé, si la minuterie du type chien de garde n'est pas remise à zéro après une
période de temps prédéterminée, alors on sait que le sys-
tème informatique ne s'est pas amorcé en passant par le
point de la séquence d'amorçage au niveau duquel la rou-
tine de service remet à zéro la minuterie du type chien
de garde. Ainsi, le problème concernant le système infor-
matique peut être identifié jusqu'à un certain degré sur la base de la séquence d'amorçage qui a été achevée ou non. L'étape 58 indique qu'une routine de service du système d'exploitation est exécutée à un point prédéfini
dans la dernière partie du processus d'amorçage d'ordina-
teur. A l'étape 60, la minuterie du type chien de garde est remise à zéro par la routine de service du système d'exploitation avant expiration de la période de temps prédéterminée de la minuterie du type chien de garde. Si l'étape 60 est atteinte, alors le matériel et le logiciel
informatiques sont testés et exécutés jusqu'à initialisa-
tion du point prédéfini de la séquence d'amorçage du sys-
tème d'exploitation doivent généralement être opération-
nels. Une fois cette détermination faite, à l'étape 62,
un utilisateur a l'opportunité de se connecter.
A l'étape 64, on détermine si le bouton de ser-
vice 26 a été appuyé lors du processus d'amorçage du sys-
tème d'exploitation (voir description détaillée
ci-dessous), par opposition à un amorçage normal pendant
lequel le bouton de service n'a pas été appuyé. Si la dé-
termination est non, le processus passe à l'étape 70 pour une initialisation de l'exploitation normale du système informatique. Si on détermine à l'étape 64 que le bouton de service a été appuyé lors de l'amorçage, alors à l'étape 66, une application de service est initialisée et à
l'étape 72, une minuterie de détection d'arrêt est ini-
tialisée pour surveiller un arrêt du système d'exploita-
tion. La surveillance de détection d'arrêt utilise une minuterie de détection d'arrêt 19 ou une autre minuterie destinée à tester si le système d'exploitation a achevé son application de service lancée dans une période de temps prédéterminée. La minuterie de détection d'arrêt est initialisée à l'étape 72 et ensuite remise à zéro par une application s'exécutant sur le système informatique après que l'application ait achevé une partie prédétermi- née de sa séquence de chargement et de démarrage à
l'étape 68. Ainsi, à l'étape 68, on détermine si la sé-
quence de chargement et de démarrage de l'application est normale. Si c'est le cas, l'application s'exécutant sur
le système informatique remet à zéro la minuterie de dé-
tection d'arrêt et le processus passe à l'étape 70 pour initialiser des applications de support. Si la minuterie de détection d'arrêt n'est pas remise à zéro pendant une période de temps prédéterminée, alors à l'étape 74, on détermine que l'application de service n'a pas réussi à remettre à zéro la minuterie 19. Ceci peut indiquer que le système d'exploitation s'est arrêté; au minimum, il
est incapable de lancer normalement l'application de ser-
vice. A l'étape 74, lors de la détection de l'expiration
de la minuterie de détection d'arrêt, le système est ré-
amorcé en mode normal (étape 50) ou en mode de service (étape 76), en fonction d'un nombre pouvant être défini de tentatives infructueuses de réamorçage en mode normal
(étape 75).
Si un utilisateur appuie sur le bouton de service alors que l'ordinateur est en opération normale, comme à l'étape 70 de la figure 2, ou à un tout instant autre que l'amorçage de l'ordinateur, alors le système passe à
l'étape 78 pour tester le système d'exploitation en ter-
mes d'arrêt. Une application de service est initialisée à
l'étape 66 et la minuterie de détection d'arrêt est ini-
tialisée à l'étape 72. Si l'application de service remet
à zéro la minuterie à l'étape 68, alors le système infor-
matique passe en opération normale à l'étape 70. Si la minuterie expire à l'étape 74, alors un arrêt du système
d'exploitation est détecté et le système tente un réamor-
çage en mode normal (à l'étape 75) jusqu'à ce qu'un nom-
bre pouvant être spécifié d'échecs de réamorçage normal ait été atteint, auquel cas, le système se réamorce en mode de service à l'étape 76. Ceci permet une détermina- tion d'une fonctionnalité du système d'exploitation sans
avoir besoin d'un réamorçage complet. De plus, si la mi-
nuterie expire à l'étape 74, une recherche de pannes est possible à l'Taide du mode de service même si le système
d'exploitation normal n'est pas fonctionnel.
En se reportant maintenant à la figure 3, un mode
de service est initialisé à l'étape 80 à l'aide d'une sé-
quence d'amorçage de mode de service. A l'étape 82, une minuterie du type chien de garde de mode de service est initialisée. Comme ci-dessus, cette minuterie du type
chien de garde compte de manière dégressive vers zéro pa-
rallèlement au chargement du système d'exploitation (dans ce cas le mode de service). Si la minuterie du type chien
de garde atteint zéro (étape 84) avant qu'elle soit re-
mise à zéro plus tard dans le processus d'amorçage de mode de service (étapes 88 et 90), alors l'amorçage du mode de service a échoué et ceci est indiqué en allumant les diodes électroluminescentes pour indiquer une panne matérielle (étape 86). Un problème matériel est probable
puisque ni le système d'exploitation principal ni le sys-
tème d'exploitation de mode de service n'a été capable de
mettre l'ordinateur dans un état opérationnel.
A l'étape 88, une routine du système d'exploita-
tion de mode de service est exécutée à un point prédéfini dans la partie ultérieure du processus d'amorçage. Si la routine de service est exécutée à l'étape 88, alors à
l'étape 90, la routine remet à zéro la minuterie pour in-
diquer que le système d'exploitation de mode de service
est fonctionnel. A l'étape 92, l'amorçage du système in-
formatique est achevé à l'aide du système d'exploitation
de mode de service.
A l'étape 94, on détermine si le bouton de ser-
vice a été appuyé lors de l'amorçage du mode normal ou du mode de service. L'état appuyé du bouton lors de l'amor-
çage est mémorisé tout au long des tentatives de réamor-
çage qui échouent. Si c'est le cas, alors l'application de service est lancée et un test de détection d'arrêt du système a lieu avec une initialisation de la minuterie de détection d'arrêt du système d'exploitation à l'étape 104. A nouveau, le comptage dégressif de la minuterie de détection d'arrêt a lieu parallèlement aux chargement et démarrage de l'application de rétablissement du mode de
service à l'étape 96. Si c'est un succès, ceci va exécu-
ter un code pour remettre à zéro la minuterie de détec-
tion d'arrêt à l'étape 98. A ce stade, le système d'ex-
ploitation de mode de service est connu pour être au
moins suffisamment fonctionnel pour démarrer l'applica-
tion de mode de service. A l'étape 100, des applications de support de service sont initialisées telles que celles utiles pour analyser des problèmes logiciels. Le système
informatique est actionné en mode de service et est dis-
ponible pour une recherche de pannes.
A l'étape 106, si la minuterie du type chien de
garde atteint zéro (c'est-à-dire expire) avant d'être re-
mise à zéro par l'application de service, alors à l'étape 108, le système d'exploitation de mode de service s'est avéré être incapable de charger et démarrer l'application de service dans la période de temps préétablie. A ce
stade, un arrêt du système d'exploitation de mode de ser-
vice a été détecté, et le processus se termine en indi-
quant un problème matériel probable à l'aide de témoins
lumineux associés au système informatique à l'étape 108.
A l'étape 102, si le bouton de service a été ap-
puyé alors que l'ordinateur est en opération en mode de
service, alors le système passe aux étapes 104 et 96 pa-
rallèlement au test du système d'exploitation de mode de service concernant un arrêt. Une application de service est initialisée à l'étape 96 et la minuterie de détection d'arrêt est initialisée à l'étape 104. Si l'Tapplication de service remet à zéro la minuterie à l'étape 98, alors le système informatique passe en opération en mode de service à l'étape 100 pour permettre une initialisation des applications de rétablissement de mode de service qui
permettent une analyse de la panne du système informati-
que et une action correctrice. Si la minuterie expire à l'étape 106, alors un arrêt du système d'exploitation est
détecté et le système indique une panne matérielle proba-
ble à l'étape 108. Ceci permet de déterminer la fonction-
nalité du système d'exploitation de mode de service sans
avoir besoin d'un réamorçage complet.
Les exemples qui suivent vont encore mieux clari-
fier l'opération du système de surveillance. Si le sys-
tème de surveillance ne trouve aucun défaut du système
d'exploitation ou matériel, alors l'utilisateur d'ordina-
teur peut rechercher une résolution du problème ou une question par l'intermédiaire d'une aide locale située sur le système informatique ou en se connectant à une aide sur l'internet en utilisant le système informatique. Une
aide locale et sur internet à distance va résoudre la ma-
jorité des problèmes informatiques ou questions.
Un autre exemple utile est une panne matérielle non-fatale, telle qu'une panne de carte de haut-parleur ou de CD-ROM. Le système de surveillance doit indiquer
qu'aucune panne n'est apparue dans le système d'exploita-
tion, et l'utilisateur peut contacter un support techni-
que pour obtenir un nouveau matériel. Certains types de pannes matérielles non-fatales vont limiter les options
disponibles pour obtenir une aide. Par exemple, le sys-
tème informatique va fonctionner sans modem ou carte d'interface réseau ("NIC"). Cependant, une panne de ce matériel va limiter la capacité du système informatique à interagir avec l'internet pour obtenir de l'aide. Une panne de modem peut être résolue en partie en entrant dans le mode de service. Par exemple, si la panne du mo-
dem est associée à une configuration du modem ou des ins-
tructions de numérotation ISP, alors une configuration de modem de mode de service peut supporter une solution de
problème basée sur l'internet.
Dans un autre exemple, si le système d'exploita-
tion en mode normal n'est pas opérationnel, il ne va pas s'amorcer ou est sinon instable, une connexion par modem peut être établie avec le système d'exploitation de mode de service. La connexion internet à travers le mode de service permet une analyse système directe du système
d'exploitation pour supporter automatiquement une résolu-
tion du problème du système d'exploitation et une restau-
ration du système d'exploitation. Par exemple, un nouveau
système d'exploitation ou des parties pertinentes du sys-
tème d'exploitation peuvent être chargés sur l'internet pour remplacer le système d'exploitation défectueux. Si
la résolution du problème automatique n'arrive pas à ré-
soudre le problème, alors l'utilisateur peut appeler un support technique et identifier le problème sur la base
de la configuration lumineuse affichée.
En tant qu'autre exemple supplémentaire, le sys-
tème informatique peut avoir un vice fatal qui empêche
l'exploitation dans les deux modes, normal et de service.
Par exemple, le système informatique peut être installé de manière incorrecte ou peut avoir un défaut matériel fatal, tel qu'un défaut de carte mère, de disque dur ou
d'alimentation. Dans ce cas, une charte explicative four-
nie avec le système informatique va établir le problème associé aux configurations lumineuses affichées, et des
instructions simples à suivre par l'utilisateur. L'utili-
sateur utilise alors ces informations pour contacter un
support technique et obtenir un matériel de remplacement.
Comme indiqué ci-dessus, le système informatique comporte un bouton de service 26 à la disposition de l'utilisateur d'ordinateur. Le bouton de service 26 gé-
nère une interruption dans le jeu de puces du système in-
formatique pour initialiser, par exemple, une application de service. La machine d'état de surveillance 20 détecte
la pression sur le bouton de service et lance l'applica-
tion de service à un instant approprié, ou surveille le comportement du système pour détecter des problèmes du système informatique. Lorsqu'on appuie sur le bouton de
service, une minuterie de détection d'arrêt 19 est ini-
tialisée, et est remise à zéro plus tard par une applica-
tion exécutée après l'achèvement de l'appel et de l'amor-
çage du système d'exploitation 12 ou du système d'exploi-
tation de mode de service 22. Si l'application ne remet pas à zéro la minuterie de détection d'arrêt 19 dans une
période de temps prédéterminée, la machine d'état de sur-
veillance 20 détermine qu'un arrêt du système d'exploita-
tion a eu lieu. Le système BIOS 16 reconnaît alors un
problème du système d'exploitation et initialise un pro-
tocole de réamorçage prédéterminé qui peut inclure un ré-
amorçage en mode de service comme cela est décrit en dé-
tail ci-dessus.
Le bouton de service fournit un mécanisme stan-
dard par l'intermédiaire duquel un utilisateur peut invo-
quer une assistance. En se reportant maintenant aux figu-
res 4 et 5, un utilisateur qui cherche à invoquer une as-
sistance va appuyer sur le bouton de service 26 à l'étape
400. On note que, bien que n'étant pas spécifiquement re-
présenté, l'ordinogramme représenté sur la figure 4 im-
plique deux espaces d'exécution, l'un situé dans le sys-
tème BIOS et l'autre situé dans l'espace d'exécution du système d'exploitation. En général, une communication avec le système d'exploitation est gérée en générant une
interruption, telle qu'une interruption de commande sys-
tème (SCI), alors qu'une communication entre le système
d'exploitation et le système BIOS est effectuée en exécu-
tant un code qui établit des valeurs dans le système
BIOS, de manière à remettre à zéro une minuterie de dé-
tection d'arrêt. Les moyens pour lesquels le système de
surveillance dans le système BIOS communique avec le sys-
tème d'exploitation et par lesquels le système d'exploi-
tation répond (s'il n'est pas arrêté), comme cela va être
décrit plus en détail ci-dessous, fournissent des avanta-
ges uniques. Bien que le système est par nécessité dépen-
* dant du système d'exploitation puisque certaines parties
se trouvent dans le système d'exploitation, il est égale-
ment capable de donner l'avantage à l'architecture d'or-
dinateur personnel sous-jacente pour permettre au même mécanisme dans le système BIOS de supporter de multiples implémentations spécifiques au système d'exploitation. De
plus, le système permet d'invoquer une instance utilisa-
teur quel que soit l'état fonctionnel du système d'ex-
ploitation. Comme représenté sur la figure 5, le bouton de service 26 est relié directement à un registre d'entrée
spécifique 500 dans le registre d'entrées/sorties univer-
sel (GPIO) du jeu de puces de contrôleur 520, et en ap-
puyant sur le bouton de service, on amène un bit de ce
registre d'entrée à être établi à l'étape 402. L'établis-
sement de ce bit génère une interruption de gestion sys-
tème (SMI) à l'étape 404 pour initialiser un code de pi-
lote d'interruption sensible à l'état, un pilote SMI 502,
dans le système BIOS. Le pilote SMI 502 reçoit l'inter-
ruption SMI, et interdit une autre génération d'interrup-
tion SMI à l'étape 406 jusqu'à ce que la présente SMI ait été traitée pour garantir que si un utilisateur appuie
sur le bouton de service de multiples fois, une seule in-
terruption va être générée jusqu'à ce que cette interrup-
tion ait été traitée entièrement.
A l'étape 408, le pilote SMI détermine si le svs-
tème informatique est en cours d'amorçage en examinant le bit approprié dans le registre CMOS. Si le système est en cours d'amorçage, le bit d'entrée universel reste établi alors que le système poursuit sa séquence d'amorçage. Une minuterie de détection d'arrêt est également établie à l'étape 410, mais le pilote SMI n'effectue aucune autre action. Lorsque le système achève sa séquence d'amorçage, ou se trouve à un point prédéterminé dans la séquence
d'amorçage o on sait qu'un matériel et un logiciel tes-
tés et exécutés jusqu'à ce point dans la séquence d'amor-
çage sont généralement opérationnels, comme lorsqu'on de-
mande à l'utilisateur d'entrer un numéro d'identification
de connexion, le système d'exploitation est amené à con-
trôler l'état du bit de bouton de service à l'étape 411.
Si le bit du bouton de service a été établi, indiquant que le bouton a été appuyé pendant l'amorçage, le système d'exploitation va lancer une application de service à
l'étape 422, sinon il va reprendre des opérations norma-
les (étape 412). Dans un mode de réalisation, une tâche
d'arrière-plan telle qu'un dispositif de lancement d'ap-
plication de service associé au système d'exploitation,
qui est exécutée en tant que partie du processus d'amor-
çage normal, contrôle le bit du bouton de service. Si le bit du bouton de service est établi, le dispositif de lancement d'application de service lance l'application de service. Si, à l'étape 408, le pilote SMI détermine que le
système n'est pas en cours d'amorçage, le pilote SMI ini-
tialise une minuterie de détection d'arrêt à l'étape 416.
Cette minuterie de détection d'arrêt peut être la même minuterie que celle établie à l'étape 410 ci-dessus ou
une minuterie différente. La valeur à laquelle la minute-
rie est établie va cependant être différente en fonction du fait que le bouton de service a été appuyé lors de l'amorçage ou à un autre moment. S'il est appuyé pendant l'amorçage, elle va être établie à une valeur supérieure, représentant la quantité de temps plus longue nécessaire pour permettre au système d'achever le cycle d'amorçage
et de lancer l'application de service. S'il n'est pas ap-
puyé lors de l'amorçage, la minuterie va être établie à une valeur inférieure, représentant la quantité de temps
plus courte nécessaire pour permettre au système de trai-
ter l'interruption (décrite ci-dessous) et de démarrer
l'application de service.
Si le système n'est pas en cours d'amorçage, le code du pilote SMI dans le système BIOS communique par la suite avec le système d'exploitation en entraînant une
interruption à l'étape 418 pour notifier au système d'ex-
ploitation que le bouton de service a été appuyé. Dans un
mode de réalisation, cette interruption est une interrup-
tion de commande système (SCI) qui est traitée dans un
espace d'exécution du système d'exploitation. Pour ini-
tialiser la SCI, le pilote SMI établit un bit de sortie 504 dans un registre de sortie du GPIO. Comme représenté sur la figure 5, ce bit est utilisé en tant qu'entrée d'une entrée d'interruption de commande système 506, qui initialise à son tour la SCI 508. A l'étape 420, la SCI est traitée par une routine de service d'interruption
(ISR) 510 dans l'espace d'exécution du système d'exploi-
tation. La ISR délivre un message dans le système d'ex-
ploitation pour initialiser une application de service.
Dans un mode de réalisation, ceci est obtenu en envoyant un message au dispositif de lancement d'application de
service 512 associé au système d'exploitation, lequel dé-
marre l'application de service 514 à l'étape 422.
Que le bouton de service ait été appuyé lors de
l'amorçage ou à un autre moment, si l'application de ser-
vice démarre correctement, comme déterminé à l'étape 426, le bit du bouton de service et la minuterie de détection d'arrêt sont remis à zéro à l'étape 428. Dans un mode de
réalisation, l'application de service informe le disposi-
tif de lancement d'application de service et lui donne
l'instruction de remettre à zéro le bit du bouton de ser-
vice et la minuterie de détection d'arrêt. Si l'applica-
tion de service n'a pas démarrée correctement (la minute-
rie a atteint zéro avant d'être remise à zéro), ceci peut
indiquer un arrêt du système d'exploitation ou, au mini-
mum, qu'il est incapable de démarrer correctement l'ap-
plication de service. Ainsi, à l'étape 430, le système commence à suivre un protocole de réamorçage prédéterminé
incluant potentiellement un réamorçage en mode de ser-
vice, comme cela est décrit en détail ci-dessus. En fin de compte, une fois que la SMI a été entièrement traitée, le pilote SMI autorise à nouveau la génération d'une SMI à l'étape 432 de sorte qu'en appuyant par la suite sur le bouton de service, on va entraîner une autre interruption
et initialiser un traitement comme décrit ci-dessus.
Ainsi, le système et le procédé de la présente invention fournissent une manière unique par laquelle on invoque une assistance utilisateur d'une manière uniforme à sécurité intégrée. La manière par laquelle le code dans l'espace d'exécution du système BIOS communique avec le système d'exploitation et vice versa permet l'invocation d'une demande de service qui est indépendante du système d'exploitation, et fournit un système de surveillance qui est à l'extérieur du système d'exploitation de manière à pouvoir surveiller le système d'exploitation lui-même. De
plus, le système et le procédé décrits ci-dessus permet-
tent à l'utilisateur d'invoquer une assistance quel que soit l'état du système d'exploitation (c'est-à-dire lors d'un amorçage ou un autre moment, ou lorsque le système
d'exploitation est arrêté).
Les systèmes d'identification et de résolution de problèmes décrits ici peuvent être fournis sous la forme
d'un composant incorporé sur commande du système informa-
tique. Par exemple, des utilisateurs moins expérimentés peuvent commander leur système informatique à l'aide d'une résolution de problèmes en appuyant sur un bouton
unique, alors que des utilisateurs plus expérimentés peu-
vent commander des systèmes informatiques à l'aide de configurations standards. En variante, les acquéreurs d'un système informatique peuvent commander uniquement des parties du système, telles qu'une minuterie associée uniquement à une surveillance du système d'exploitation
principal qui ne comporte pas la capacité d'appeler auto-
matiquement un système d'exploitation de mode de service.

Claims (21)

REVEND I CATIONS
1. Procédé de surveillance d'une séquence d'amor-
çage d'un système informatique (10), caractérisé en ce que le procédé comporte les étapes consistant à: initialiser une minuterie (50), remettre à zéro la minuterie (60) si un point
prédéterminé de la séquence d'amorçage du système infor-
matique est atteint, et
déterminer (54) qu'une panne de système informa-
tique existe si la minuterie n'est pas remise à zéro
après une période de temps prédéterminée.
2. Procédé selon la revendication 1, caractérisé en ce que ladite étape de remise à zéro (60) comporte de
plus la remise à zéro de la minuterie à l'aide d'une ap-
plication exécutée par ledit système informatique (10).
3. Procédé selon la revendication 2, caractérisé
en ce qu'il comporte de plus l'initialisation d'un ré-
amorçage (56) du système informatique (10) par un second
système d'exploitation (22) lorsque ladite étape de dé-
termination (54) détermine qu'une panne de système infor-
matique existe.
4. Procédé selon la revendication 3, caractérisé en ce qu'il comporte, après l'étape d'initialisation d'un réamorçage (56), les étapes consistant à: initialiser une minuterie (80), remettre à zéro la minuterie 90) à l'aide d'une application exécutée par le système informatique (10) si un point prédéterminé de la séquence de réamorçage du système informatique est atteint, et
déterminer (84) une panne de système d'exploita-
tion de mode de service si la minuterie n'est pas remise
à zéro après une période de temps prédéterminée.
5. Système informatique (10) caractérisé en ce qu'il comporte: un processeur ayant au moins une minuterie (18, 19), un système BIOS (16) pour amorcer le système in- formatique (10), un système d'exploitation (12) pour supporter des opérations du système informatique, et une machine d'état de surveillance (20) associée au système BIOS et en communication avec le processeur, la machine d'état de surveillance (20) détectant une panne de système d'exploitation en comparant le temps écoulé pour une fonction du système d'exploitation et une
période de temps prédéterminée, le temps écoulé étant me-
suré à l'aide de la minuterie (18, 19).
6. Système selon la revendication 5, caractérisé en ce qu'il comporte de plus un système d'exploitation de service (22), la machine d'état de surveillance (20)
étant opérationnelle pour appeler le système d'exploita-
tion de service (22) lors de la détection d'une panne de
système d'exploitation.
7. Système selon la revendication 5, caractérisé en ce qu'il comporte de plus un bouton de service (26), dans lequel en appuyant sur ledit bouton de service (26) on interrompt le processeur et on initialise la minuterie
(18, 19).
8. Procédé pour fournir un support technique au-
tomatique pour un système informatique (10), caractérisé en ce qu'il comporte les étapes consistant à:
appuyer (400) sur un bouton de service à tout mo-
ment pendant le fonctionnement dudit système informatique (10), ladite pression dudit bouton de service entraînant
une application destinée à fournir ledit support techni-
que automatique à invoquer quel que soit l'état de fonc-
tionnement dudit système informatique (10).
9. Procédé selon la revendication 8, caractérisé en ce que ledit bouton de service (26) est relié à un jeu de puces (520), et en ce que ledit bouton de service (26) invoque ladite application en amenant ledit jeu de puces
(520) à générer au moins une première interruption.
10. Procédé selon la revendication 9, caractérisé en ce que ladite étape amenant ledit jeu de puces (520) à générer au moins une première interruption comporte de plus les étapes consistant à: établir (402) un premier bit dans un registre d'entrée universel (500) du jeu de puces de contrôleur (520) pour générer une première interruption en réponse à ladite étape de pression (400),
recevoir ladite première interruption et détermi-
ner (408) si ledit système informatique (10) est en cours d'exécution d'une séquence d'amorçage, et si ledit système informatique (10) n'est pas en
cours d'amorçage, initialiser (422) une routine d'appli-
cation de service (514) d'une première manière, ou si ledit système informatique est en cours
d'amorçage, initialiser (422) ladite routine d'applica-
tion de service (514) d'une seconde manière à un instant
prédéterminé pendant la séquence d'amorçage.
11. Procédé selon la revendication 10, caractéri-
sé en ce qu'il comporte de plus l'étape consistant à ini-
tialiser (416) une minuterie (18, 19) en réponse à ladite
étape de pression (400), et à remettre à zéro (428) la-
dite minuterie si ladite application de service (514) at-
teint un point prédéterminé avant que ladite minuterie
(18, 19) atteigne une valeur prédéterminée.
12. Procédé selon la revendication 11, caractéri-
sé en ce qu'il comporte de plus l'étape consistant à ini- tialiser un réamorçage (430) du système informatique (10) si ladite application de service (514) n'a pas atteint
ledit point prédéterminé avant que ladite minuterie at-
teigne ladite valeur prédéterminée.
13. Procédé selon la revendication 11, caractéri-
sé en ce que ladite étape d'initialisation (422) de la-
dite application de service de ladite seconde manière comporte de plus les étapes consistant à: contrôler (411) l'état d'un bit prédéterminé dudit jeu de puces (520) à un point prédéterminé pendant la séquence d'amorçage, et
si ledit bit prédéterminé a été établi, initiali-
ser (422) ladite application de service (514).
14. Procédé selon la revendication 13, caractéri-
sé en ce que ladite étape d'initialisation (422) de la-
dite application de service de ladite première manière comporte de plus l'étape consistant à générer (418) une
seconde interruption, ladite seconde interruption initia-
lisant (420) une routine de service d'interruption, la-
dite routine de service d'interruption initialisant la-
dite application de service (514).
15. Procédé selon la revendication 14, caractéri-
sé en ce que ladite seconde interruption est une inter-
ruption de commande système, et ladite étape d'initiali-
sation (418) de ladite interruption de commande système comporte de plus l'étape consistant à établir un second bit dans un registre de sortie universel (504) dudit jeu de puces de contrôleur (520), ledit établissement dudit
second bit entraînant la génération de ladite interrup-
tion de commande système.
16. Système informatique (10) caractérisé en ce qu'il comporte: un jeu de puces (520), une mémoire, une application (514) pour fournir un support technique automatique audit ordinateur, et un bouton de service (26) pour invoquer ladite application à tout instant lors du fonctionnement dudit
système informatique (10) quel que soit l'état de fonc-
tionnement dudit système informatique.
17. Système informatique (10) selon la revendica-
tion 16, caractérisé en ce que ledit bouton de service (26) est relié audit jeu de puces (520) pour générer au moins une première interruption lorsque ledit bouton de service (26) est appuyé pour invoquer ladite application
de service (514).
18. Système informatique (10) selon la revendica-
tion 17, caractérisé en ce qu'il comporte de plus: un processeur ayant au moins une minuterie (18, 19), un système BIOS (16), un système d'exploitation (12) pour supporter des opérations du système informatique et pour communiquer
avec des composants dudit système informatique par l'in-
termédiaire dudit système BIOS (16),
ledit bouton de service (26) étant relié à un re-
gistre d'entrée universel (500) dans ledit jeu de puces (520) pour établir ledit registre afin de générer ladite première interruption, un pilote d'interruption (502) comportant un code dans le système BIOS (16), ledit pilote d'interruption
(502) étant relié audit registre d'entrée (500) nour re-
cevoir ladite première interruption et traiter ladite in-
terruption d'une manière dépendante du fait que l'crdina- teur est dans un état d'amorçage ou dans un ézat de non-amorçage.
19. Système informatique (10) selon la revendica-
tion 18, caractérisé en ce que ledit pilote d'interrup-
tion (502) détermine si ledit système informatiqsue (10) est dans ledit état d'amorçage ou dans ledit é-at de non-amorçage, ledit pilote d'interruption étant relié à un registre de sortie universel (504) dans ledi: jeu de puces (520) pour établir un bit dans ledit registre de sortie si ledit système informatique (10) est dans ledit
état de non-amorçcage, et caractérisé en ce que ledit re-
gistre de sortie universel (504) est relié à un trcisième
registre (506) dans ledit jeu de puces (520), ledit troi-
sième registre (506) générant un signal d'interruption pour initialiser une seconde interruption lorsque ledit
bit dudit registre de sortie (504) est établi.
20. Système informatique (10) selon la revendica-
tion 19, caractérisé en ce que ladite seconde interrup-
tion appelle une routine de service d'interruption dans ledit système d'exploitation (12) qui initialise ladite
application de service (514).
21. Système informatique (10) selon la revendica-
tion 20, caractérisé en ce que ledit pilote d'interrup-
tion (502) est relié à ladite minuterie (18, 19) pour initialiser ladite minuterie pratiquement au moment de la
réception de ladite première interruption.
FR0010580A 1999-08-19 2000-08-11 Procede et systeme pour support technique automatique d'ordinateurs Expired - Lifetime FR2797697B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/377,726 US6560726B1 (en) 1999-08-19 1999-08-19 Method and system for automated technical support for computers
US09/413,422 US6606716B1 (en) 1999-10-06 1999-10-06 Method and system for automated technical support for computers

Publications (2)

Publication Number Publication Date
FR2797697A1 true FR2797697A1 (fr) 2001-02-23
FR2797697B1 FR2797697B1 (fr) 2007-02-16

Family

ID=27007937

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0010580A Expired - Lifetime FR2797697B1 (fr) 1999-08-19 2000-08-11 Procede et systeme pour support technique automatique d'ordinateurs

Country Status (14)

Country Link
JP (1) JP2001092689A (fr)
KR (1) KR100831117B1 (fr)
CN (2) CN100587669C (fr)
AU (1) AU777613B2 (fr)
BR (1) BR0003641A (fr)
DE (1) DE10040421B4 (fr)
FR (1) FR2797697B1 (fr)
GB (1) GB2356271B (fr)
HK (1) HK1078358A1 (fr)
IE (1) IE20000602A1 (fr)
IT (1) IT1320595B1 (fr)
MY (1) MY121164A (fr)
SG (1) SG93253A1 (fr)
TW (1) TW475109B (fr)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606716B1 (en) 1999-10-06 2003-08-12 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
US6560726B1 (en) 1999-08-19 2003-05-06 Dell Usa, L.P. Method and system for automated technical support for computers
US6563698B1 (en) 1999-10-06 2003-05-13 Dell Usa, L.P. System and method for providing a computer system with a detachable component
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
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
US6978307B2 (en) * 2001-07-19 2005-12-20 Hewlett-Packard Development Company, L.P. Apparatus and method for providing customer service
CN100399266C (zh) * 2005-04-26 2008-07-02 乐金电子(昆山)电脑有限公司 计算机的故障排除系统及方法
US7627807B2 (en) 2005-04-26 2009-12-01 Arm Limited Monitoring a data processor to detect abnormal operation
CN100394392C (zh) * 2005-12-09 2008-06-11 英业达股份有限公司 计算机程序还原模式自动启动控制方法及系统
JP4682937B2 (ja) * 2006-07-05 2011-05-11 富士ゼロックス株式会社 起動制御回路
US20080046546A1 (en) * 2006-08-18 2008-02-21 Parmar Pankaj N EFI based mechanism to export platform management capabilities to the OS
US10825089B2 (en) 2007-03-15 2020-11-03 Bgc Partners, Inc. Error detection and recovery in an electronic trading system
JP6597417B2 (ja) 2016-03-09 2019-10-30 株式会社リコー 電子機器、復旧方法およびプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0448497A2 (fr) * 1990-03-22 1991-09-25 International Business Machines Corporation Initialisation d'ordinateur à mise sous tension
US5390324A (en) * 1992-10-02 1995-02-14 Compaq Computer Corporation Computer failure recovery and alert system
WO1998041916A1 (fr) * 1997-03-20 1998-09-24 Phoenix Technologies Limited Bios ameliore sur reseau permettant la gestion a distance d'un ordinateur sans systeme d'exploitation fonctionnant sur l'ordinateur
GB2329266A (en) * 1997-09-10 1999-03-17 Ibm Automatic error recovery in data processing systems

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2946081C3 (de) * 1979-11-15 1995-09-21 Wabco Vermoegensverwaltung Schaltungsanordnung zur Überwachung der Funktion eines Mikroprozessors
US4754326A (en) * 1983-10-25 1988-06-28 Keycom Electronic Publishing Method and apparatus for assisting user of information retrieval systems
US4964077A (en) * 1987-10-06 1990-10-16 International Business Machines Corporation Method for automatically adjusting help information displayed in an online interactive system
US5434963A (en) * 1988-09-03 1995-07-18 Hitachi, Ltd. Method and system of help-information control method and system
US5086501A (en) * 1989-04-17 1992-02-04 Motorola, Inc. Computing system with selective operating voltage and bus speed
WO1993000628A1 (fr) * 1991-06-26 1993-01-07 Ast Research, Inc. Systeme d'initialisation et d'autocontrole distribues sur plusieurs processeurs
DE69220956T2 (de) * 1991-10-04 1998-03-05 Wang Laboratories Graphisches rechnersystem mit pause-möglichkeit für interaktive operationen
JPH05108394A (ja) * 1991-10-18 1993-04-30 Fujitsu Ltd 計算機システムの初期化診断方式
JPH05257557A (ja) * 1992-03-16 1993-10-08 Nec Corp システム自動立上げ方式
JP3684590B2 (ja) * 1994-04-25 2005-08-17 カシオ計算機株式会社 リセット制御装置及びリセット制御方法
US5860002A (en) * 1996-07-12 1999-01-12 Digital Equipment Corporation System for assigning boot strap processor in symmetric multiprocessor computer with watchdog reassignment
KR19990030951A (ko) * 1997-10-07 1999-05-06 윤종용 Smm에서의 하드웨어 진단 방법
US6112320A (en) * 1997-10-29 2000-08-29 Dien; Ghing-Hsin Computer watchdog timer
KR19990079203A (ko) * 1998-04-02 1999-11-05 윤종용 컴퓨터 시스템의 행업 알림장치
KR100283243B1 (ko) * 1998-05-11 2001-03-02 구자홍 운영체제의 부팅방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0448497A2 (fr) * 1990-03-22 1991-09-25 International Business Machines Corporation Initialisation d'ordinateur à mise sous tension
US5390324A (en) * 1992-10-02 1995-02-14 Compaq Computer Corporation Computer failure recovery and alert system
WO1998041916A1 (fr) * 1997-03-20 1998-09-24 Phoenix Technologies Limited Bios ameliore sur reseau permettant la gestion a distance d'un ordinateur sans systeme d'exploitation fonctionnant sur l'ordinateur
GB2329266A (en) * 1997-09-10 1999-03-17 Ibm Automatic error recovery in data processing systems

Also Published As

Publication number Publication date
FR2797697B1 (fr) 2007-02-16
GB2356271B (en) 2002-09-04
KR20010050126A (ko) 2001-06-15
GB0019866D0 (en) 2000-09-27
AU5350400A (en) 2001-02-22
GB2356271A (en) 2001-05-16
ITTO20000805A0 (it) 2000-08-17
IT1320595B1 (it) 2003-12-10
SG93253A1 (en) 2002-12-17
BR0003641A (pt) 2001-10-09
TW475109B (en) 2002-02-01
DE10040421A1 (de) 2001-03-01
MY121164A (en) 2005-12-30
IE20000602A1 (en) 2001-04-18
CN100587669C (zh) 2010-02-03
ITTO20000805A1 (it) 2002-02-18
DE10040421B4 (de) 2006-02-02
CN1619492A (zh) 2005-05-25
CN1208717C (zh) 2005-06-29
AU777613B2 (en) 2004-10-21
HK1078358A1 (en) 2006-03-10
KR100831117B1 (ko) 2008-05-20
JP2001092689A (ja) 2001-04-06
CN1297191A (zh) 2001-05-30

Similar Documents

Publication Publication Date Title
US7543183B2 (en) Method and system for automated technical support for computers
US6560726B1 (en) Method and system for automated technical support for computers
US6807643B2 (en) Method and apparatus for providing diagnosis of a processor without an operating system boot
FR2797697A1 (fr) Procede et systeme pour support technique automatique d'ordinateurs
US7734945B1 (en) Automated recovery of unbootable systems
US20190278651A1 (en) Methods And Systems For Detecting And Capturing Host System Hang Events
US20180074884A1 (en) Information Handling System Pre-Boot Fault Management
US10534618B2 (en) Auto bootloader recovery in BMC
US20040158702A1 (en) Redundancy architecture of computer system using a plurality of BIOS programs
US9672112B2 (en) Backing up firmware during initialization of device
US10191811B2 (en) Dual boot computer system
TWI685735B (zh) 在電腦系統開機自我檢測的早期階段顯示bios訊息的方法
US20090037496A1 (en) Diagnostic Virtual Appliance
US20080229159A1 (en) Failsafe computer support assistant
US7783872B2 (en) System and method to enable an event timer in a multiple event timer operating environment
CN110162435B (zh) 一种服务器pxe启动测试方法、系统、终端及存储介质
US10146626B2 (en) Detecting and handling an expansion card fault during system initialization
CN107766102B (zh) 双基本输出入系统(bios)的开机方法及具有其的电子装置
US20120191963A1 (en) BIOS Updating System, BIOS Updating Method, and Related Computer Program Product
KR20160110504A (ko) 컴퓨팅 디바이스의 초기화 트레이스
CN107357694A (zh) 开机自检过程中错误事件汇报系统及其方法
US20160103688A1 (en) Method of Starting Computing System
TW200809489A (en) BIOS damage detection and repair method and the motherboard
US9465626B2 (en) Method and apparatus for acquiring time spent on system shutdown
US20150261598A1 (en) System and method for remotely diagnosing and repairing a computing device

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