-
Hintergrund
-
Die
vorliegende Erfindung betrifft ein Verfahren und ein Computersystem
zum Durchführen
einer Softwareinstallation, insbesondere zur Vorbereitung von gemäß einer
Bestellung gebauten Computersystemen.
-
Diese
Anmeldung ist mit der ebenfalls anhängigen US-Patentanmeldung mit
der Nr. 08/951,135 verwandt, die am 15. Oktober 1997 eingereicht
worden ist mit dem Titel "Modifiable
Partition Boot Record for a Computer Memory Device" mit dem Erfinder
Alan Beelitz (
US 5,944,820
A ).
-
Diese
Anmeldung ist mit der ebenfalls anhängigen US-Patentanmeldung mit
der Nr. 08/984,386 verwandt, die am 3. Dezember 1997 eingereicht
worden ist mit dem Titel "System
and Method for Changing Partition Mappings to Logical Drives in
a Computer Memory" mit
dem Erfinder Alan Beelitz (
US
6,041,395 A ).
-
Diese
Anmeldung ist mit der ebenfalls anhängigen US-Patentanmeldung mit
der Nr. 08/950,545 verwandt, die am 15. Oktober 1997 eingereicht
worden ist mit dem Titel "System
and Method for Updating Partition Mappings to Logical Drives in
a Computer Memory Device mit dem Erfinder Alan Beelitz (
US 6,032,239 A ).
-
Diese
Anmeldung ist mit der ebenfalls anhängigen US-Patentanmeldung mit
der Nr. 08/947,138 verwandt, die am 8. Oktober 1997 eingereicht
worden ist mit dem Titel "Method
for Simulating a Computer Storage Device" mit dem Erfinder Alan Beelitz (
US 6,029,237 A ).
-
Diese
Anmeldung ist mit der ebenfalls anhängigen US-Patentanmeldung mit
der Nr. 08/951,137 verwandt, die am 15. Oktober 1997 eingereicht
worden ist mit dem Titel "System
and Method for Utilizing a RAM Disk mit dem Erfinder Alan Beelitz
(
US 6,032,223 A ).
-
Diese
Anmeldung ist mit der ebenfalls anhängigen US-Patentanmeldung mit
der Nr. 09/012,196 verwandt, die am 23. Januar 1998 eingereicht
worden ist mit dem Titel "System
and Method for Preparing a Computer Memory" mit dem Erfinder Alan Beelitz (
DE 199 00 668 A1 ).
-
Diese
Anmeldung ist mit der ebenfalls anhängigen US-Patentanmeldung mit
der Nr. 09/198, verwandt, die am 24. November 1998 eingereicht worden
ist mit dem Titel "Computer
System and Method for Aceessing a Computer-Readable Medium" mit dem Erfinder
Alan Beelitz (
US 6,470,434
B1 ).
-
Diese
Anmeldung ist mit der ebenfalls anhängigen US-Patentanmeldung mit
der Nr. 09/198,731 verwandt, die am 24. November 1998 eingereicht
worden ist mit dem Titel "Computer
System and Method for Preparing a Computer-Readable Medium" mit dem Erfinder
Alan Beelitz (
US 6,279,093
B1 )
-
Aus
der
US 5,214,695 ist
ein Personalcomputersystem mit einem Speichergerät bekannt. Das Speichergerät umfasst
einen Schutzmechanismus zum Schützen
eines Bereiches des Speichergerätes. Der
geschützte
Bereich des Speichergerätes
umfasst einen Hauptstarteintrag, ein BIOS-Abbild und Abbild einer
Systemreferenzdiskette. Das BIOS-Abbild umfasst einen Abschnitt,
der als Selbsttest beim Anschalten bekannt ist (power on self test,
POST). POST wird zum Testen und zum Initialisieren eines Systems
verwendet. Wenn ein Konfigurationsfehler entdeckt wird, werden automatisch
Dienstprogramme für
das System von dem Abbild der Systemreferenzdiskette aktiviert,
wie z. B. voreingestellte Konfigurationsprogramme, Diagnoseprogramme
und Dienstprogramme.
-
Ein
gegenwärtiger
Trend unter einigen Computerherstellern besteht darin, für den Kunden
ein nach den Wünschen
des Kunden gebautes Computersystem zu liefern, in dem der Kunde
festgelegt hat, daß bestimmte
Komponenten und Fähigkeiten
in dem System enthalten sein sollen. Es ist daher wichtig, die Effizienz
bei jedem Schritt des Prozesses zur Herstellung gemäß einer
Bestellung zu maximieren. Diese Effizienz beginnt zum Zeitpunkt,
wenn die Bestellung aufgegeben und verarbeitet wird und setzt sich
fort über
den Zusammenbau, das Testen und den Versand der nach den Kundenwünschen gebauten
Einheit.
-
Während der
Herstellung von gemäß einer Bestellung
gebauten Computersystemen werden für einen Computer spezifische
Komponenten dem Lager entnommen und in einen Zusammenbaubereich gebracht,
wo diese spezifischen Komponenten in dem Computergehäuse zusammengebaut
werden. Nach dem Zusammenbau wird das Gehäuse in einen Schnelltestbereich
gebracht, wo Tests durchgeführt werden,
um schnell zu entscheiden, ob die korrekten Komponenten für diese
Bestellung installiert worden sind und ob die Komponenten betriebsbereit
sind.
-
Nach
dem Schnelltestvorgang wird das zusammengebaute Gehäuse zu einem
Einbrennrack gebracht, wo die Komponenten "eingebrannt" werden und wobei Betriebsfehler entdeckt
werden können.
Viele Einheiten werden gleichzeitig auf den Einbrennracks getestet
und die Tests können
für ihre Vervollständigung
mehrere Stunden benötigen. Wenn
viele Einheiten in der Produktion darauf warten, getestet zu werden,
ist es wichtig, daß die
zur Verfügung
stehenden Plätze
des Ein brennracks zum Testen effizient genutzt werden. Daher ist
es wichtig, daß die
Computer oder die zu testenden Geräte (devices under test, DUT)
auf eine Weise getestet werden, die schnell und effizient feststellt,
ob ein DUT in zufriedenstellender Weise betriebsbereit ist und falls nicht,
die schnell und effizient Betriebsschwächen feststellen, so daß das DUT
von dem Einbrennrack entfernt werden kann, um den eingenommenen
Einbrennrack-Platz für
ein anderes DUT, das getestet werden soll, freigeben zu können.
-
Eine
aktuelle Entwicklung hat zu Computern geführt, die als ein Client in
einem Netzwerk und nicht als eine unabhängige Einheit funktionieren.
Dieser Typ von Computer unterscheidet sich von anderen durch das
Fehlen eines Diskettenlaufwerks. Das Fehlen eines Diskettenlaufwerks
resultiert aus dem Wunsch, die Netzwerkverwaltung zu zentralisieren. Das
Fehlen eines Diskettenlaufwerkes in dem Computer hat jedoch bedeutende
Implikationen auf den Herstellungsprozeß, der üblicherweise zum Implementieren
Disketten verwendet hat.
-
Beispielsweise
wird Betriebssystem-Software typischerweise auf die Festplatte des
Computersystems während
des Herstellungsprozesses geladen. Ohne ein Diskettenlaufwerk ist
es, wenn eine Unterbrechung während
des Herunterladens der Software auf die Festplatte des Computersystems auftritt,
nicht möglich,
das Computersystem von einer Herstellungsdiskette neu zu starten
und das Herunterladen neu zu beginnen. Ferner ist es nicht möglich, das
Computersystem vom Netzwerkserver erneut zu starten, da an dieser
Stufe im Herstellungsprozeß das
Computersystem mit einem Systemsoftware-Herunterladeserver in dem
Einbrennrack verbunden ist anstelle mit einem Systemtestserver (LCM-Server) wie
in der Schnellteststation, und das Startgerät des Computersystems ist auf
die "Festplatte" gesetzt anstelle
von "Netzwerk". Das Starten von
der Festplatte würde
auch nicht funktionieren, da die primäre Partition als aktiv markiert
ist (d.h. startbar) und würde
zu dem Versuch führen,
das partiell heruntergeladene Zielbetriebssystem zu laden. In dieser
Situation ist die einzige Lösung,
den Computer von dem Einbrennrack zu entfernen und ihn in den Quicktestbereich
zurückzubringen
zum Reformatieren und Repartitionieren, so daß er mit dem Systemtestserver (LCM-Server) verbunden
werden kann und der gesamte Herstellungsprozeß erneut begonnen werden kann.
Dies ist jedoch in nachteiliger Weise mühsam und zeitaufwendig. Die
Herstellungseffizienz und der Durchsatz wird nachteilig betroffen.
-
Der
vorliegenden Erfindung liegt daher das Problem zugrunde, ein Verfahren
zum Durchführen einer
Softwareinstallation bereitzustellen, das so ausgebildet ist, dass
bei einer Unterbrechung des Herstellungsprozesses kein vollständiger Neubeginn erforderlich
ist, sondern der Herstellungsprozess möglichst reibungslos fortgesetzt
werden kann.
-
Zusammenfassung der Erfindung
-
Ein
Verfahren zum Durchführen
einer Softwareinstallation zur Verwendung bei der Herstellung eines
gegebenen Computersystems umfaßt
die Schritte des Bereitstellens von zumindest einem Prozessor, zumindest
einem Speicher und einem Interface zum Verbinden des Computersystems
mit einem Netzwerkserver. Der zumindest eine Speicher umfaßt einen
Hauptstarteintrag, eine Dienstpartition und eine primäre Partition.
Die Dienstpartition umfaßt einen
Herstellungscode, der für
eine Herstellungsabfolge bei der Herstellung des Computersystems
spezifisch ist. Beim Starten des Computersystems wird der Herstellungscode
ausgeführt
durch den zumindest einen Prozessor, wobei die Herstellungssequenz
zumindest ein Herunterladen von Software von dem Netzwerkserver
auf die primäre
Partition umfaßt.
-
Ein
technischer Vorteil bei der Herstellung eines Computersystems, insbesondere
eines NetPCs gemäß der vorliegenden
Offenbarung liegt darin, daß die
Ausführungsbeispiele
eine Wiederherstellung im Fall einer Unterbrechung beim Herstellungsprozeß ermöglichen,
wobei die Wiederherstellung in der Nähe einer gegebenen Abfolge
oder Phase beim Herstellungsprozeß ist, bei dem die Unterbrechung aufgetreten
ist und darüber
hinaus nicht erfordert, daß der
NetPC-Herstellungsprozeß erneut
mit dem Partitionieren der Festplatte beginnt. Ein effizienterer und
effektiverer NetPC-Herstellungsprozeß wird geschaffen.
-
Kurze Beschreibung der
Zeichnungen
-
Die
vorangegangene und andere Lehren und Vorteile der vorliegenden Erfindung
werden deutlicher mit einer detaillierten Beschreibung der besten Art
zur Ausführung
der Erfindung, wie unten dargelegt. In der folgenden Beschreibung
wird Bezug auf die begleitenden Zeichnungen genommen, in denen zeigt:
-
1 ein
Blockdiagramm eines Computers zum Implementieren eines Ausführungsbeispiels
der vorliegenden Offenbarung;
-
2 ein Übersichtsdiagramm
einer Festplatte des Computers aus 1;
-
3 eine
beispielhafte Hauptpartitionstabelle der Festplatte des Computers
aus 1;
-
4 eine
beispielhafte primäre
Partition der Festplatte des Computers aus 1;
-
5 einen
Herstellungsprozeß für die Herstellung
des Computers aus 1 gemäß einem Ausführungsbeispiel
der vorliegenden Offenbarung;
-
6 das
Anschließen
des Computersystems an einen Einbrennrackkontroller während des Einbrennrackprozesses
gemäß einem
Ausführungsbeispiel
der vorliegenden Offenbarung; und
-
7 ein
Flußdiagramm
des Einbrennrackvorgangs mit erweiterten Test- und Softwareinstallationsvorgängen gemäß einer
vorgegebenen Herstellungssequenz bei Herstellung eines Computers
gemäß der vorliegenden
Offenbarung.
-
Detaillierte Beschreibung
-
Unter
kurzer Bezugnahme auf 1 ist ein Systemblockdiagramm
eines Computersystems 10 gezeigt, dessen Eigenschaften
in Übereinstimmung mit
einer von einem Kunden konfigurierten Computersystembestellung konfiguriert
sind, wie im folgenden diskutiert wird. Das Computersystem 10 umfaßt eine
zentrale Verarbeitungseinheit (central processing unit, CPU) 12,
Eingabe/Ausgabe (input/output, I/O)-Geräte, wie zum Beispiel eine Anzeige,
eine Tastatur, eine Maus und zugeordnete Kontroller, die gemeinsam
durch das Bezugszeichen 14 bezeichnet werden, eine Festplatte 16 und
andere Speichergeräte,
wie zum Beispiel ein Diskettenlaufwerk, ein CD-ROM-Laufwerk, Direktzugriffsspeicher
(random access memory, RAM), nichtflüchtigen Direktzugriffsspeicher
(non-volatile random access memory, NVRAM), Nurlesespeicher (read
only memory, ROM) und andere Speichergeräte, die gemeinsam durch ein
Bezugszeichen 18 bezeichnet werden und zahlreiche andere
Untersysteme, wie zum Beispiel eine Netzwerkkarte (network interface
card, NIC), ein Modem oder einen Überwachungstimer, die alle
gemeinsam durch ein Bezugszeichen 20 bezeichnet sind und
alle über
einen oder mehrere Busse, die in 1 gemeinsam
als ein Bus 22 gezeigt sind, verbunden sind. Im Fall eines
NetPC ist ein Diskettenlaufwerk typischerweise nicht vorhanden.
Im vorliegenden Beispiel kann das Computersystem 10 einen Personalcomputer
umfassen, auf dem Microsoft DOS und/oder WINDOWS läuft. Es
versteht sich jedoch, daß das
Computersystem 10 und seine dargestellten Komponenten lediglich
repräsentativ
sind für viele
verschiedene Typen von Computern und Komponenten, die dem Fachmann
wohlbekannt sind und von ihm verstanden werden.
-
Unter
Bezugnahme auf 2 ist die Festplatte 16 in
zumindest drei verschiedene Partitionen aufgeteilt mit einem Hauptstarteintrag 30,
einer Dienstpartition 32 und einer primären Partition 34.
Im Hauptstarteintrag 30 befindet sich der Startcode 40 und
eine Hauptpartitionstabelle 42. Die Hauptpartitionstabelle
umfaßt
Code, der für
jede Partition (32, 34) einen Typ darstellt. Es
versteht sich, daß der Hauptstarteintrag 30 ferner
konventionellen Code enthalten kann, wie zum Beispiel zum Starten
des Computersystems 10, der dem Fachmann gut bekannt ist.
-
Die
Dienstpartition umfaßt
einen Starteintrag 50 und Dateizuordnungstabellen, ein
Wurzelverzeichnis und Dateien, die gemeinsam durch das Bezugszeichen 52 bezeichnet
werden. Die Dateien 52 umfassen Herstellungscode, der für das Computersystem,
das gerade hergestellt wird, spezifisch ist. Das heißt, der
Herstellungscode umfaßt
Instruktionen zum Durchführen
einer erweiterten Test- und Softwareinstallation in einer vorgeschriebenen
Herstellungsreihenfolge, wobei die Softwareherstellung ferner für das jeweilig
gerade hergestellte Computersystem spezifisch ist. Bei einem normalen
Betrieb des Computersystems wird die Dienstpartition 32 nur verwendet
unter besonderen Umständen,
wie zum Beispiel Wartung oder der Diagnose des Computers. Die primäre Partition 34 enthält ebenfalls
einen Starteintrag 60 und Dateizuordnungstabellen, ein
Wurzelverzeichnis und Dateien, die gemeinsam durch das Bezugszeichen 62 bezeichnet
werden. Im normalen Betrieb wird die primäre Partition 34 häufig verwendet
und nimmt den größten Teil
der Festplatte 16 ein. Daher wird ein Betriebssystem, wenn
es während des
normalen Betriebs auf die Festplatte 16 zugreift, nur die
primäre
Partition sehen und auf sie zugreifen und nicht auf die Dienstpartition 32.
-
Unter
Bezugnahme auf 3 wird eine beispielhafte Hauptpartitionstabelle 42 gezeigt.
In der Hauptpartitionstabelle 42 betrifft eine erste Reihe oder
ein Deskriptor 44 die Dienstpartition und eine zweite Reihe
oder ein Deskriptor 46 die primäre Partition. Die Spalten geben
ein Flagfeld 47, ein Typfeld 48 bzw. Parameter 49 wieder.
Das Flagfeld 47a für die
Dienstpartition ist als aktiv markiert, während das Flagfeld 47b für die primäre Partition
als inaktiv markiert ist. Das Typfeld für die Dienstpartition ist DEh, ein
ungültiger
Typ, der von DOS nicht erkannt werden kann und damit die Dienstpartition
für DOS
unsichtbar macht. Das Typfeld der primären Partition ist 06h (oder
irgendein anderer gültiger
erkennbarer Typ, entsprechend dem beabsichtigten Dateisystem, das sich
auf der primären
Partition befinden soll). Die Parameter 49a, 49b sind
ferner bereitgestellt, beziehen sich und sind spezifisch für die Dienstpartition
bzw. die primäre
Partition. Schließlich
werden während der
Herstellung des Computersystems gemäß den vorliegenden Ausführungsbeispielen
vorgeschriebene Zuordnungen 45 durchgeführt, wobei die Dienstpartition
dem virtuellen Laufwerk A: zugeordnet wird, wie durch das Bezugszeichen 45a angezeigt
und die primäre
Partition dem logischen Laufwerk C:, wie durch das Bezugszeichen 45b angezeigt,
wie im folgenden diskutiert.
-
Unter
Bezugnahme auf 4 wird die primäre Partition 34 (wie
in 2 gezeigt) in größerem Detail weiter erläutert. Die
primäre
Partition 34 umfaßt einen
Partitionsstarteintrag 60, eine Dateizuordnungstabelle 64,
ein Wurzelverzeichnis 66 und Dateien 68. Der Partitionsstarteintrag 60 ist
spezifisch für
das Zielbetriebssystem, das auf die primäre Partition heruntergeladen
werden soll. Die Dateien 68 hängen vom jeweiligen verwendeten
Dateisystem ab (beispielsweise FAT16, FAT32, etc.). Die primäre Partition
ist ferner durch eine vorgegebene Größe 69 gekennzeichnet
mit einem Start 69a und einem Stop 69b.
-
Das
Verfahren und die Vorrichtung der vorliegenden Offenbarung umfaßt ferner
die Verwendung eines Waffle-Programms und eines Turnover-Dienstprogramms
bei der Herstellung eines Computersystems, insbesondere eines NetPC-Systems.
Gegenwärtig
wird das Waffle-Programm verwendet als ein Teil des Herstellungsprozesses
für einen
gemäß einer
Bestellung gebauten Computer. Das Waffle-Programm wird für eine Anzahl von Funktionen
zur Behandlung des Speicherlaufwerks verwendet. Bei der Herstellung
eines NetPCs wird das Waffle-Programm verbessert,
um eine neue Anweisung zu unterstützen. Die neue Anweisung, auf
die im folgenden als "Anfangsanweisung" Bezug genommen wird,
weist Waffle an, die Hauptpartitionstabelle 42 und bestimmte
Laufwerkszuordnungen 45 in einen spezifischen Zustand zu
setzen. In diesem "anfänglichen" Zustand ist die
Hauptpartitionstabelle 42 so eingestellt, daß der Partitionstyp 48a in
dem ersten Deskriptor 44 (der sich auf die Dienstpartition
bezieht) auf DEh (hex) gesetzt ist. In dem zweiten Deskriptor 46 (der
sich auf die primäre
Partition bezieht) ist der Partitionstyp 48b auf 06h, 0Bh
oder 0Ch gesetzt (in Abhängigkeit
vom Typ des in der primären
Partition verwendeten Dateisystems). Die erste Partition 32 ist
als "aktiv" markiert (47a)
(d.h. die erste Partition wird die Steuerung übernehmen, wenn das System
startet) und die zweite Partition 34 ist als "inaktiv" markiert (47b).
Die logischen Laufwerkszuordnungen 45 sind dann so gesetzt,
daß die
Dienstpartition einem "virtuellen" Laufwerk A: zugeordnet
ist (45a) und die primäre
Partition dem logischen Laufwerk C: zugeordnet ist (45b).
Waffle behandelt diese "anfängliche" Anweisung so, daß, solange
wie sowohl eine Dienstpartition als auch eine primäre Partition
vorhanden sind, der "anfängliche" Zustand immer erreicht
werden kann. Dies ist wahr, unabhängig von dem früheren Zustand
der Hauptpartitionstabelle oder den Laufwerkszuordnungen, die gegenwärtig wirksam sein
können.
-
Sobald
das Computersystem und insbesondere die Festplatte 16 auf
diesen "anfänglichen" Zustand gesetzt
worden ist, kann der Herstellungsprozeß für das Computersystem ausgeführt werden
in einer vorbestimmten Weise. Die Dateien für den Herstellungsprozeß werden
in der Dienstpartition 32 gehalten (die dem "virtuellen" Laufwerk A: zugeordnet ist)
und die gerade heruntergeladene Software wird in der primären Partition 34 gespeichert
(die dem logischen Laufwerk C: zugeordnet ist). Unter normalen Umständen tritt
kein Unterschied auf zwischen dem "anfänglichen" Zustand und dem
Zustand "virtuelles Laufwerk
A:", was den Herstellungsprozeß für einen NetPC
handhabbar macht. Wenn eine Unterbrechung während des Vorgangs zum Herunterladen der
Software auftritt, fängt
jedoch der "anfängliche" Zustand an, eine
Rolle zu spielen. Unter normalen Umständen würde die primäre Partition 34 als "aktiv" markiert werden
und die Steuerung übernehmen, wenn
ein Neustart (entweder beabsichtigt oder unabsichtlich) auftritt.
Zu beachten ist, daß DOS
immer versucht, die aktive primäre
Partition auf der ersten Festplatte dem logischen Laufwerk C: zuzuordnen, so
daß nach
dem Starten ein Eingreifen notwendig ist, um dies zu ändern. Wenn
die Festplatte jedoch in den "anfänglichen" Zustand gesetzt
wird, ist die Dienstpartition als "aktiv" markiert und erhält damit die Kontrolle, wenn
das System erneut startet. Dies ermöglicht, daß der Code für den Herstellungsprozeß (der sich
auf der Dienstpartition befindet) erneut die Steuerung des Herunterladeprozesses übernimmt. Die
Wiederherstellung des Systems in den "anfänglichen" Zustand ist einer
der ersten Schritte in diesem Prozeß.
-
Da
der Software-Installationsvorgang nicht dafür ausgelegt ist, "partielles" Herunterladen zu
behandeln (wie es auftritt, wenn der Herunterladeprozeß unterbrochen
wird), ist es notwendig, die primäre Partition 34 wieder
in einen "ursprüngli chen" Zustand zurückzuversetzen,
bevor ein erneuter Start des Herunterladens versucht wird. Dies
wird durch das Turnover-Dienstprogramm erreicht. Das Turnover-Dienstprogramm
setzt die Dateizuordnungstabellen 64 und das Wurzelverzeichnis 66 der
primären Partition 34 in
einen "leeren" Zustand zurück. Es ist nicht
möglich,
diesen Vorgang durchzuführen
unter der Verwendung eines Dienstprogramms, wie zum Beispiel des
DOS-Befehls "format", da dadurch auch der
Partitionsstarteintrag 60 ersetzt würde. Es ist zu bemerken, daß der Partitionsstarteintrag 60 dem Zielbetriebssystem
zugeordnet ist und nicht ersetzt werden kann, ohne den gesamten
Festplatten-Vorbereitungsprozeß des
Schnelltests erneut zu starten. Nachdem das Turnover-Dienstprogramm
seine Vorgänge
abgeschlossen hat, kann der Code für den Herstellungsprozeß (der auf
der Dienstpartition 32 gespeichert ist) das Software-Herunterladen
in die leere primäre
Partition 34 erneut starten. Mit einem vorbestimmten Code
für den
Herstellungsprozeß zum
Behandeln einer Wiederherstellung eines Software-Installationsprozesses
kann die Wiederherstellung von einem unterbrochenen Herunterladen
völlig automatisch
ablaufen. In anderen Worten benötigt die
Wiederherstellung nicht, daß das
Computersystem 10 von seinem Ort in dem Einbrennrack entfernt wird
und der Eingriff einer Bedienperson ist nicht notwendig.
-
Für die weitere
Diskussion von Waffle ist Waffle ein Programm, das erlaubt, daß die logische Bezeichnung
des Laufwerks C: zwischen der primären Partition 34 und
der Dienstpartition 32 ausgetauscht wird. Es erreicht dies
durch das Bearbeiten der Inhalte eines Laufwerk-Parameterblocks
und einer Laufwerk-Datentabelle in den inneren Betriebssystemstrukturen
für das
Laufwerk C:, um die Parameter entweder für die primäre Partition 34 oder
die Dienstpartition 32 wiederzugeben. Das Waffle-Programm
umfaßt
ferner eine Fähigkeit,
die interne Darstellung des Betriebssystems einer Festplatte zu
erneuern, um mit den aktuellen Parametern übereinzustimmen, die zur Verwendung
nach dem Partitionieren und Formatieren der Festplatte beabsichtigt
sind. Das dem logischen Laufwerk A: zugeordnete Gerät kann ebenfalls
virtualisiert werden auf die Dienstpartition 32 über das
Waffle-Programm.
Waffle ist ferner mit Festplatte-Caching und der Verwendung von lokalen
Netzwerken kompatibel. Falls die Startfestplatte eine FAT-formatierte
primäre
Partition enthält,
das Betriebssystem jedoch nicht die Strukturen enthält, die
notwendig sind, um auf das Laufwerk zuzugreifen, wird das Waffle-Programm diese Strukturen
beispielsweise in einem hohen Speicherbereich erzeugen und den Zugriff
auf ein logisches Laufwerk C: ermöglichen.
-
In
einem Ausführungsbeispiel
ist die Dienstpartition 32 ein Typ von primärer FAT16-Partition
und typischerweise vergleichsweise klein, beispielsweise mit einer
Größe von etwa
zehn Megabyte. Die Dienstpartition ist ferner gekennzeichnet durch
einen Partitionstypcode von DEh (hex), welches ein nicht allgemein
erkannter Partitionstyp ist. Die Dienstpartition umfaßt ferner
einen besonderen selbstkonfigurierenden Partitionsstarteintrag.
Die Dienstpartition wird während
des Festplatte-Vorbereitungsprozesses von QT (Schnelltest) erzeugt,
zusammen mit den "Standard"-Partitionstypen.
Auf einer Festplatte, die mit der Dienstpartition vorbereitet worden
ist, wird der erste Eintrag in der Hauptpartitionstabelle die Dienstpartition
beschreiben. Der Partitionstypcode wird DEh sein und die Partition
wird nicht als startbar markiert sein. Der nächste Eintrag in der Hauptpartitionstabelle
wird die primäre
Partition beschreiben. Wenn die primäre Partition eine FAT16-Partition
ist, wird der Partitionstypcode 06h sein. Der primäre Partitionseintrag
wird als startbar markiert sein, so daß sie die Kontrolle übernimmt,
wenn das System startet. Dies ist der "Grundzustand" der Hauptpartitionstabelle. Viele der
Vorgänge,
die mit dem Waffle-Programm durchgeführt werden, führen zu
Veränderungen
an diesem Grundzustand.
-
In
einem Ausführungsbeispiel
umfaßt
das Waffle-Programm die Fähigkeit,
ein logisches Laufwerk "zu
synthetisieren".
Diese Fähigkeit
ist notwendig, um eine Situation zu bewältigen, in der ein System gestartet
worden ist mit einer Festplatte, die nicht partitioniert worden
ist, um logische Laufwerke zu enthalten, sondern auf der nachfolgend
Laufwerke erzeugt werden. Diese Situation tritt in einer Herstellungsumgebung
auf, wenn ein System mit einer vollständig leeren Festplatte gestartet
wird, jedoch daraufhin eine Festplattenvorbereitung durchläuft (d.h. das Partitionieren
und Formatieren). Nach dem Festplattevorbereiten (dem Partitionieren
und Formatieren) enthält
die Festplatte logische Laufwerke, auf die nicht zugegriffen werden
kann (ohne zuerst neu zu starten), da die notwendigen Strukturen
noch nicht erzeugt worden sind. Wenn das Waffle-Programm diesen
Zustand während
seiner Initialisierungsphase detektiert, wird es versuchen, die
Strukturen in dem hohen Speicherbereich (HMA) zu konstruieren und sie
mit existierenden Strukturen zu verbinden. Auf das logische Laufwerk
C: kann dann wie gewöhnlich zugegriffen
werden, ohne die Notwendigkeit für
einen Neustart nach der Festplattenvorbereitung. Diese Fähigkeit
stört jedoch
nicht den DOS-Speicherbereich,
sie verlangt jedoch, daß HMA
zur Verfügung steht.
Das Waffle-Programm
umfaßt
ferner die Fähigkeit,
mit Partitionen zu arbeiten, die formatiert worden sind unter Verwendung
des FAT32-Dateisystems (wie es zum Beispiel mit Windows 95® und
Windows NT® verwendet
wird).
-
Diese
Anfangsfunktion von Waffle erzeugt eine vorbestimmte Handlung, die
dazu dient, um die Partitionsdeskriptoren und die logischen Laufwerkzuordnungen
in einen spezifischen Zustand zur Verwendung während des Herstellungsprozesses
zu setzen, wie mit Bezugnahme auf 3 diskutiert.
Solange wie sowohl eine Dienstpartition als auch eine primäre Partition
auf der Festplatte vorhanden sind, stellt die Verwendung von der
Anfangsfunktion von Waffle sicher, daß der erste Partitionsdeskriptor
des Hauptpartitionseintrags sich auf die Dienstpartition bezieht
und der zweite Deskriptor des Hauptpartitionseintrags sich auf die
primäre
Partition bezieht. Die Dienstpartition wird als aktiv markiert (so
daß sie
die Kontrolle übernimmt
im Fall eines unerwarteten Neustarts) und wird einem virtuellen
Laufwerk A: zugeordnet. Die primäre
Partition wird dem logischen Laufwerk C: zugeordnet, mit Parametern,
die mit der physikalischen Laufwerkorganisation übereinstimmen (äquivalent
zum Durchführen
einer "Erneuerungs"-Aktion).
-
Das
virtuelle Waffle-Programm schafft eine vorbestimmte Aktion, mit
der ein virtuelles Laufwerk A: der Dienstpartition zugeordnet wird.
Zusätzlich wird
das logische Laufwerk C: der primären Partition zugeordnet. Ohne
diese beiden vor geschriebenen Aktionen würde ein Konflikt entstehen,
da sowohl C: als auch A: sich auf die Dienstpartition beziehen würden. Das
virtuelle Laufwerk A: kann auf dieselbe Weise wie ein physikalisches
Laufwerk verwendet werden; selbst Diagnoseprogramme können erfolgreich auf
das virtuelle Laufwerk angewendet werden. Die Fähigkeit, das virtuelle Laufwerk
A: der Dienstpartition zuzuordnen und das logische Laufwerk C: der
primären
Partition zuzuordnen, ist beim Herstellungsprozeß sehr nützlich.
-
Unter
Bezugnahme auf die 5 und 6 umfaßt der Herstellungsprozeß für das Computersystem
(inklusive eines NetPCs) zwei funktionelle Bereiche, die durch die
Bezugszeichen 72 bzw. 74 angezeigt sind. Ein erster
funktioneller Bereich 72 umfaßt einen Schnelltest (Quick
Test, QT). Während des
Schnelltests ist das Computersystem 10 (oder der NetPC)
mit einem spezifischen Typ von Server 76 verbunden, der
als der Control-Manager-Server oder LCM-Server für das lokale Netzwerk (local
area network, LAN) bezeichnet wird, so wie er kommerziell erhältlich ist
von der Intel Corporation aus Santa Clara, Kalifornien. Nach Abschluß des Schnelltests
wird das NetPC-System 10 zu einem Einbrennrack 74 transferiert.
In dem Einbrennrack 74 wird das NetPC-System mit einem
Einbrennrackkontroller oder Netzwerkserver 78 verbunden.
Während
es sich in dem Einbrennrack 74 befindet, kann das NetPC-System
einen oder mehrere der folgenden Vorgänge durchführen, inklusive eines ersten
erweiterten Tests (extended test, ET1) 80, eines zweiten
erweiterten Tests (ET2) 82, einer Softwareinstallation
(SI) 84 und ein Endtest (final test, FT) 86. Der
Wiederherstellungsaspekt der verschiedenen Ausführungsbeispiele der vorliegenden
Offenbarung betrifft die Situation des NetPC-Systems, während es
sich auf dem Einbrennrack 74 befindet. Wie in 6 gezeigt,
kann irgendeine Anzahl von Computersystemen (10, 10a, 10b, 10c)
mit dem ein Einbrennrackkontroller 78 zu einem gegebenen
Zeitpunkt während
des Herstellungsprozesses verbunden sein bis zu einer maximalen
Anzahl N oder der Grenze des Einbrennrackkontrollers. Während des
Schnelltests 72 startet das NetPC-System 10 über den
LCM-Server 76. Dies ist möglich, da das NetPC-System 10 ein
Untersystem 20 wie zum Beispiel einen LAN-Adapter, eine
Netz werkkarte (network interface card, NIC) oder ein anderes entsprechendes
Gerät zur
Verbindung zu einem Netzwerkserver umfaßt. Der LAN-Adapter ist konfiguriert, so
daß während des
Schnelltest, wenn das NetPC-System hochfährt (d.h. angeschaltet ist),
der NetPC versucht, vom LCM-Server zu starten. In anderen Worten
sucht der NetPC beim LCM-Server nach Startinstruktionen für den NetPC.
Der LCM-Server führt
eine vorbestimmte Festplattenvorbereitung auf dem Computersystem,
das hergestellt wird, durch (d.h. dem Clientsystem) und lädt ferner
Herstellungsinformation, die für
das spezielle Computersystem, das gerade gebaut wird (d.h. entsprechend
einer vom Kunden konfigurierten Computersystembestellung) spezifisch
ist. Die Herstellungsinformation oder der Herstellungscode besteht
aus einer Folge von Anweisungen (d.h. zum Implementieren einer vorbestimmten
Herstellungsreihenfolge), die ausgeführt wird beim Durchführen der
Testphasen und des Software-Herunterladeprozesses, wenn ein gegebenes Computersystem
sich auf dem Einbrennrack 74 befindet. Das Einbrennrack 74 schafft
damit ein vorbestimmtes Testen und eine Softwareinstallation für ein gegebenes
Computersystem entsprechend und als eine Funktion einer jeweiligen
Kundenbestellung.
-
An
dieser Stelle des Herstellungsprozesses (nach QT 72, jedoch
vor der Einbrennrackverarbeitung 74) verfügt das Clientsystem über eine
Festplatte, die partitioniert und formatiert ist. In einem einfachen
System ist die Festplatte in erste und zweite Partitionen partitioniert.
Die erste Partition entspricht einer Dienstpartition. Die zweite
Partition entspricht einer primären
Partition. Während
der Herstellung eines NetPC wird die Herstellungsinformation (oder Anweisungen)
in einem spezifischen Bereich der Festplatte, vorzugsweise der Dienstpartition,
gespeichert. Die primäre
Partition wird dem logischen Laufwerk C: zugeordnet und dient dazu,
die heruntergeladene Betriebssystemsoftware während der Softwareinstallation
auf dem Einbrennrack 74 aufzunehmen, wie im folgenden weiter
diskutiert. Die Dienstpartition kann ferner die Diagnose betreffende
Programme umfassen, auf die zu irgendeinem zukünftigen Zeitpunkt zugegriffen
werden kann durch einen Systemanwender, wie es beispielsweise zum
Ablaufen von systembezogenen Diagnoseprogrammen notwendig sein kann.
Nach der Vervollständigung
der Herstellung eines gegebenen NetPCs können die Herstellungsanweisungen
in der Dienstpartition verbleiben oder auch nicht, entsprechend
einem jeweiligen NetPC-Herstellungsprozeß. In anderen
Worten können die
Herstellungsinstruktionen von der Dienstpartition nach dem Abschluß der Herstellung
des NetPCs entfernt werden oder sie können auf der Dienstpartition verbleiben,
entsprechend den Eigenheiten eines vorbestimmten NetPC-Herstellungsprozesses.
-
Wie
diskutiert, startet das Computersystem während des QT 72 über den
LCM-Server 76.
Der LCM-Server 76 bereitet die Festplatte des Computersystems
zur Vorbereitung für
weitere Herstellungsschritte vor. Der QT 72 umfaßt ferner
einige Standardvorgänge,
die auf alle System, die gebaut werden, angewendet werden können. Ein
Basistesten wird durchgeführt,
um den Basisbetrieb der Komponenten zu testen, beispielsweise um
zu klären,
ob das System hochfährt,
wenn der Einschalter auf AN gestellt wird etc.. Obwohl bisher die
Verwendung eines LCM-Servers
diskutiert worden ist, ist festzustellen, daß es keine Voraussetzung ist,
daß ein
NetPC-System von einem LCM-Server während des QT startet. Es kann
auch möglich
sein, von einer startbaren Diskette zu starten, die mit einem normalen
Server verbunden ist, wobei der NetPC mit dem normalen Server verbunden
ist. Der Rest des hier diskutierten Prozesses bleibt dabei unbeeinflußt.
-
Um
die Verbindung zu einem Netzwerk zu erleichtern, umfaßt der NetPC,
wie bereits erwähnt,
einen eingebauten Netzwerkadapter, um eine geeignete Verbindung
zu einem Netzwerk zu erzeugen. Beispielsweise wird während der
Herstellung des NetPCs die Netzwerkadapterkomponente des NetPCs verwendet
zum Verbinden mit vorbestimmten Netzwerkservern während einer
entsprechenden Phase bei der Herstellung des NetPC-Systems. Während QT
wird der Netzwerk-LCM-Server
mit einem gegebenen NetPC über
einen Netzwerkadapter verbunden und kann in vorteilhafter Weise
einen Systemtag (oder eine Seriennummer) eines gegebenen NetPCs nachsehen,
um zu identifizieren, welche Herstellungsinstruktionen an den NetPC
geliefert werden sollen.
-
Während des
Vorbereitungsprozesses der Festplatte des QT tritt das Zuordnen
von "aktiv" und "inaktiv" an entsprechende
Partitionen auf. Die Dienstpartition wird als "aktiv" markiert, was bedeutet, daß die Dienstpartition
die Steuerung übernimmt, wenn
das Computersystem startet. Die primäre Partition wird als "inaktiv" markiert, was bedeutet,
daß die
Partition nicht automatisch die Kontrolle übernimmt. Der Festplatten-Vorbereitungsprozeß wird ferner
entsprechend einem Biscotti-Programm durchgeführt, das vom LCM-Server durchgeführt wird.
Der NetPC startet, basierend darauf, welche Partition der Festplatte
als "aktiv" zu einem gegebenen
Zeitpunkt markiert ist.
-
Nach
dem Abschluß des
QT 72 wird der NetPC in das Einbrennrack 74 gebracht.
Das Einbrennrack 74 umfaßt eine Anzahl von Aufnahmestationen oder
Bereiche, um Computersysteme aufzunehmen, die hergestellt werden,
ein System pro Station (vgl. 6). Wenn
ein NetPC-System in einer Station auf dem Einbrennrack angeordnet
wird, werden ein oder mehrere Kabel mit dem NetPC-System verbunden, so
wie es für
ein gegebenes System nötig
ist. Die Verkabelung kann Strom, eine Tastatur, eine Anzeige, etc.
umfassen. Nach dem Abschluß der
Verbindung der benötigten
Kabel schreitet der Einbrennrackprozeß fort mit dem erweiterten
Testen und der Installation der Software. In einem bevorzugten Ausführungsbeispiel
ist kein zusätzlicher
Eingriff nötig, wenn
das Einbrennrack 74 die Anwesenheit eines Computersystems
oder NetPCs detektiert und mit dem Testen und der Softwareinstallation
entsprechend der Herstellungsinformation und Anweisungen, die in
der Dienstpartition auf der Festplatte des Computersystems gespeichert
sind, fortschreitet.
-
Das
Einbrennrack 74 umfaßt
einen Einbrennrackkontroller oder – Herstellungsserver 78 zur Verbindung
mit den zu testenden Computersystemen. Der Einbrennrackkontroller 78 umfaßt vorzugsweise
zumindest eine Verbindung über
ein lokales Netzwerk zum LAN-Adapter von jedem NetPC-System. In
einem alternativen Ausführungsbeispiel
kann der NetPC einen Infrarotport (IR) umfas sen, der zum Verbinden
des NetPC-Systems mit dem Einbrennrackkontroller über ein
lokales Netzwerk verwendet wird, wobei das Einbrennrack ebenfalls
einen geeigneten IR-Port umfaßt.
Eine beliebige Anzahl von NetPC-Systemen kann mit dem Einbrennrackkontroller zu
irgendeinem Zeitpunkt verbunden sein bis zu einer maximalen Eingabegrenze
oder Anzahl (N) des Einbrennrackkontrollers. Im allgemeinen werden
alle NetPC-Systeme unterschiedlich sein, da jedes NetPC-System entsprechend
einer gemäß einer
Bestellung gebauten Kundenkonfiguration hergestellt wird. Der Einbrennrackkontroller
erleichtert zusammengefaßt
die Ausführung
des Einbrennrackvorgangs, indem er ein erweitertes Testen und die
Softwareinstallation für
jedes mit ihm verbundene Computersystem durchführt.
-
Während des
Einbrennrackprozesses 74 befindet sich der Ort der Steuerung
tatsächlich
auf dem System 10, das gerade gebaut wird und nicht beim Einbrennrackkontroller 78.
Das System 10, das gerade gebaut wird, kommuniziert mit
dem Einbrennrackkontroller 78, um Code und Daten zu erhalten
gemäß der in
der Dienstpartition 32 der Festplatte 16 gespeicherten
Herstellungsinformation und Anweisungen. Das System, das hergestellt
wird, informiert den Einbrennrackkontroller, welche Tests durchgeführt werden
und welche Software auf der primären
Partition der Festplatte (d.h. der Partition, die das logische Laufwerk
C: des NetPCs wird) installiert wird.
-
Nach
der Verbindung eines NetPC-Systems mit dem Einbrennrackkontroller
und mit einer als "aktiv" markierten Dienstpartition,
erhält
die Dienstpartition die Steuerung des NetPC-Systems beim Einschalten
(d.h. beim Beginn des Einbrennrackprozesses). In anderen Worten
versucht der NetPC, von der Dienstpartition zu starten. Beim Starten
von der Dienstpartition führt
der NetPC seine Herstellungsinstruktionen aus, die während des
Schnelltests geladen worden sind. Der NetPC weiß, welches Testen und welche
Softwareinstallation während
des Einbrennrackprozesses für
die Vervollständigung
der Herstellung des jeweiligen gemäß einer Bestellung gebauten
NetPC-Systems notwendig ist.
-
Der
Herstellungscode der Dienstpartition von jedem NetPC-System umfaßt Netzwerk/Clientsoftware.
Die Netzwerk/Clientsoftware wird ebenfalls vorzugsweise auf die
Dienstpartition während
des Schnelltestvorgangs geladen. Im Ergebnis hat jeder NetPC die
Fähigkeit,
sich mit dem Einbrennrackkontroller über den LAN-Adapter eines entsprechenden NetPCs
zu verbinden. Zusätzlich
zu einem anfänglichen
Starten versetzt die Netzwerk/Clientsoftware das NetPC-System in
die Lage, mit dem Einbrennrackserver während des verbleibenden Einbrennrackprozesses
zu sprechen, d.h. weitere detaillierte Herstellungsdaten und Anweisungen,
etc. zu erhalten.
-
Während eines
normalen Einbrennrackprozesses 74 kann ein NetPC einem
oder mehreren der folgenden Vorgänge
unterliegen: einem ersten erweiterten Test (ET1) 80, einem
zweiten erweiterten Test (ET2) 82, Softwareinstallation
(SI) 84 und einem Abschlußtest (final test, FT) 86.
Wie bereits erwähnt, gibt
es bei einem NetPC-System kein Diskettenlaufwerk und damit keine
Möglichkeit,
einen NetPC von seiner Festplatte schnell zu booten, falls die Softwareinstallation
darauf nur teilweise vollständig
ist, beispielsweise aufgrund einer Unterbrechung während des
Einbrennrackprozesses. Sollte ein Stromausfall oder irgendeine andere
Unterbrechung während
des Abschnitts des Einbrennrackprozesses auftreten, ermöglichen
die vorliegenden Ausführungsbeispiele
in vorteilhafter Weise eine Wiederherstellung des Einbrennrackprozesses
für irgendein
NetPC-System, das durch eine solche Unterbrechung betroffen ist. Die
vorliegenden Ausführungsbeispiele
ermöglichen ferner
in vorteilhafter Weise, daß verhindert
wird, daß zum
Schnelltestprozeß zurückgekehrt
werden muß, um
die Festplatte eines gegebenen NetPCs zu reinitialisieren oder zu
repartitionieren.
-
Jeder
NetPC kann Anweisungen umfassen, um zu versuchen, von verschiedenen
Quellen nach einer vorgegegebenen Startreihenfolge zu starten. Ein
System könnte
von einer Diskette, von der Festplatte oder von einem Netzwerk starten.
Der NetPC wird jedoch bei Abwesenheit eines Diskettenlaufwerks angewiesen
zu versuchen, zunächst
von dem Netzwerk zu starten, so wie während des Schnell testvorgangs.
Sobald der NetPC von dem Server während des Schnelltests gestartet
hat, durchläuft
der NetPC die Vorbereitung und das Partitionieren der Festplatte,
wie bereits diskutiert. Der LCM-Server wird wissen, welches spezifische
NetPC-System zu irgendeinem Zeitpunkt gerade gebaut wird durch eine
Identifizierung über
einen Servicecode und/oder andere geeignete Identifizierungsmittel
eines jeweiligen NetPC-Systems. Der Schnelltest umfaßt im wesentlichen
eine Initialisierung des NetPC-Systems, das gerade hergestellt wird.
-
Wie
bereits erwähnt,
umfaßt
der Einbrennrackprozeß erweitertes
Testen und die Softwareinstallation für jedes NetPC-System, das gerade
hergestellt wird. Das erweiterte Testen eins (ET1) 80 und das
erweiterte Testen zwei (ET2) 82 kann eine beliebige Anzahl
von funktionalen Tests zum Testen verschiedener Einrichtungen des
gerade hergestellten NetPCs umfassen. Beispielsweise kann das erweiterte
Testen (ET1) und/oder (ET2) das Testen der Festplatte, des Speichers
und/oder das Testen von Einrichtungen (Testen eines Modems, der
Netzwerkkarte, der Soundkarte oder irgendwelchen anderen Einheiten,
die Testen benötigen,
etc.) umfassen. Der Software-Installationsabschnitt (SI) 84 des
Einbrennrackprozesses 74 umfaßt die Installation von Software
auf einem gegebenen NetPC-System 10,
wobei die Software vom Herstellungsserver 78 auf das NetPC-System
heruntergeladen wird, in Übereinstimmung
mit den Herstellungsanweisungen, die in der Dienstpartition des
entsprechenden NetPC-Systems enthalten sind. Zusätzlich kann die Softwareinstallation
ferner das Kopieren und Editieren von Dateien vom Herstellungsserver
umfassen.
-
Der
Herstellungsserver kennt die Identifizierung einer gegebenen Einheit,
die gerade gebaut wird. Der Herstellungsserver weiß ferner
(basierend auf der Herstellungsinformation, die in der Dienstpartition
eines gegebenen NetPC-Systems enthalten ist) welche Software auf
der primären
Partition des gegebenen NetPC-Systems
installiert werden soll. Zusätzlich
kann die Herstellungsinformation ferner Anweisungen umfassen zum
Laden von Software, auch auf die Dienstpartition. In einem Ausführungsbeispiel kann
die Dienstpartition eine SDR-Datei oder Systemdeskriptor-Eintragsdatei
umfassen. Die SDR-Datei enthält
eine Liste mit Teilenummern, die für den gegebenen NetPC speziell
sind, wobei die Teilenummern der jeweilig zu installierenden Software
entsprechen. In einem bevorzugten Ausführungsbeispiel ist die SDR-Datei
Teil der Herstellungsinformation, die auf die Dienstpartition der
Festplatte des entsprechenden NetPC-Systems während des Schnelltestvorgangs
geladen wird. In einem anderen Ausführungsbeispiel kann die SDR-Datei
in einer Datenbank gespeichert sein zum Abruf gemäß eines
NetPC-Identifizierungscodes, wie er vom Herstellungsserver für die Prozeßschritte
zur Softwareinstallation eines gegebenen NetPCs benötigt wird.
-
Darüber hinaus
kann in bezug auf die SDR-Datei eine Liste von Teilenummern Teilenummern
umfassen, die Anweisungen entsprechen, zum Installieren beispielsweise
von Betriebssystemsoftware, Anwendungssoftware, Gerätetreibern
auf der primären
Partition eines gegebenen NetPC-Systems. "Breche-das-Siegel"-Code
und/oder Kunden-Diagnoseprogramme können in der Software enthalten sein,
die auf der Dienstpartition der Festplatte installiert werden soll.
Der Herstellungsprozeßcode
weist den Herstellungsserver an, welche Software auf dem NetPC zu
installieren ist und wo (d.h. der primären Partition oder der Dienstpartition).
Der Herstellungsprozeßcode
wird auf dem Zielsystem (d.h. dem NetPC) ausgeführt, wobei der Herstellungscode
ferner Software umfaßt,
die tatsächlich
die benötigten
Dateien, Daten und zusätzlichen
Anweisungen von dem Server auf das Zielsystem kopiert. Die geeigneten Softwaredateien,
Daten und zusätzlichen
Instruktionen werden auf diese Weise kopiert oder transferiert von
dem Herstellungsserver auf das jeweilige NetPC-System in Übereinstimmung
mit den Herstellungsinstruktionen auf dem entsprechenden NetPC-System.
-
In
bezug auf das Einbrennrack können
lichtemittierende Dioden oder andere geeignete Anzeigen verwendet
werden, um optisch anzuzeigen, wenn ein Software-Installationsvorgang erfolgreich ausgeführt worden
ist. Andere mögliche
Anzeigeformen können ebenfalls
implementiert werden inklusive einer elektronischen Signalanzeige.
-
Nach
dem Abschluß der
Softwareinstallation fährt
der Einbrennrackprozeß mit
einem optionalen Abschlußtest
(FT) 86 fort. Der Abschlußtest ist optional insoweit
als er für
ein gegebenes NetPC-System während
des Einbrennrackprozesses notwendig oder nicht notwendig ist. Im
Fall eines Abschlußtests 86 kann
der NetPC aus- und angeschaltet werden und in dem Zielbetriebssystem
neu gestartet werden. Irgendwelche notwendigen verbleibenden Tests
werden daraufhin durchgeführt.
Wenn beispielsweise eine CD-ROM in einem gegebenen NetPC-System vorhanden
ist, kann ein Soundtest durchgeführt
werden.
-
Im
Fall eines Versagens während
des Software-Installationsabschnitts des Einbrennrackprozesses ermöglichen
die vorliegenden Ausführungsformen,
daß eine
Wiederherstellung erreicht wird ohne die Notwendigkeit einer Reformatierung
und Repartitionierung der Festplatte eines gegebenen NetPCs, wie
beispielsweise mit Bezug auf 7 diskutiert
wird. Es ist festzuhalten, daß während des Schnelltests
die Dienstpartition als "aktiv" identifiziert worden
ist und die primäre
Partition als "inaktiv", so daß bei einem
Neustart die Dienstpartition die Steuerung übernimmt. In jedem Fall ist
die aktive Partition diejenige, von der das System bei einem Neustart startet.
-
Es
ist bekannt, daß eine
Festplatte für
Personalcomputersysteme (PCS) bis zu vier Partitionen enthalten
kann, so wie es in einer Hauptpartitionstabelle angezeigt ist. Die
Hauptpartitionstabelle ist im Hauptstarteintrag enthalten, wobei
der Hauptstarteintrag ferner einen Startbereich zusätzlich zur
Hauptpartitionstabelle enthält.
Die Hauptpartitionstabelle enthält
mehrere Spalten. Eine Spalte enthält eine Flagspalte. Die Flagspalte
wird dazu verwendet, um anzuzeigen, ob oder ob nicht eine Partition "aktiv", d.h. startbar ist.
Eine zweite Spalte umfaßt
eine Typenspalte. Die Typenspalte wird verwendet, um die Partitionsorganisation
oder das Dateisystem anzuzeigen. Eine dritte Spalte (oder eine zusätzliche
Spalte) umfaßt
Parameter, die für
die entsprechende Partition spezifisch sind. Die Parameter können beispielsweise
den Anfang, das Ende und die Größe enthalten.
-
Der
Startcode durchsucht die Partitionstabelle, um sicherzugehen, daß ausschließlich eine
der Partitionen als "aktiv" markiert ist. Wenn
keine Partition als "aktiv" markiert ist oder
wenn mehr als eine Partition als "aktiv" markiert ist, tritt im Startcode ein unrettbarer
Fehler auf. Im folgenden wird angenommen, daß irgendeine (und nur eine)
der Partitionen in der Hauptpartitionstabelle als "aktiv" markiert ist. Jeder
der Partitionseinträge
hat bestimmte Felder (Flag, Typ, Parameter), wie oben angegeben,
in bezug auf die Spalten der Hauptpartitionstabelle. Jeder Partitionseintrag
zeigt an, wie die jeweilige Partition organisiert ist. Der Startcode
sucht nach dem Flagfeld, um festzustellen, welche der Partitionen
als "aktiv" markiert ist. Nach
dem Feststellen der "aktiven" Partition begibt
sich der Startcode zu den Parametern der "aktiven" Partition, um festzustellen, von wo das
Starten beginnen soll.
-
Im
Hauptstarteintrag eines NetPCs gemäß den Ausführungsbeispielen der vorliegenden
Offenbarung wird anfangs die Dienstpartition der Hauptpartitionstabelle
als "aktiv" in dem Flagfeld
angezeigt. In ähnlicher
Weise wird die primäre
Partition der Hauptpartitionstabelle anfänglich als "inaktiv" in dem Flagfeld angezeigt.
-
Während des
Schnelltestvorgangs geschieht das Starten des NetPC-Systems anfangs
von dem LCM-Server. Der Schnelltestvorgang umfaßt das Partitionieren der Festplatte
in die Dienstpartition und die primäre Partition zusätzlich zum
Setzen der geeigneten Flags in der Hauptpartitionstabelle, d.h.
das Setzen der Dienstpartition als "aktiv" und der primären Partition als "inaktiv".
-
Wenn
in dem Einbrennrack der NetPC mit dem Herstellungsserver verbunden
ist, führt
das Starten des NetPCs zum Starten von der Dienstpartition, da die
Flag in der Hauptpartitionstabelle für die Dienstpartition als "aktiv" markiert ist. Der
Startcode sucht daraufhin die Parameter der Dienstpartition, um
zu wissen, von wo auf der Festplatte gestartet werden soll. Wie
diskutiert, umfaßt
die Dienstpartition den Herstellungsprozeßcode, der für einen
gegebenen NetPC speziell ist, für ET1 80,
ET2 82, SI 84 und FT 86 während des
Einbrennrackprozesses des entsprechenden NetPCs.
-
Obwohl
die Flagfelder möglicherweise
in Verbindung mit der Wiederherstellung von einer Unterbrechung
während
der Softwareinstallation verwendet werden könnten, verwenden die vorliegenden
Ausführungsbeispiele
in vorteilhafter Weise eine spezielle Behandlung des Partitionstypfelds,
um eine Wiederherstellung beim Auftreten einer Unterbrechung der
Softwareinstallation während
des Einbrennrackprozesses zu erreichen. In anderen Worten wird die
Verwendung der Flagfelder vorzugsweise verhindert. Wenn ein System
zum Kunden kommt, sollte die Dienstparition aktiv sein. Das heißt, ein "Breche-das-Siegel"-Prozeßcode ist
im allgemeinen in der Dienstpartition enthalten und wird ausgeführt, wenn
ein Kunde das NetPC-System zum ersten Mal hochfährt. Somit muß die Dienstpartition
aktiv sein beim ersten Start durch einen Kunden, damit der "Breche-das-Siegel"-Code ausgeführt wird
und damit der Kunde das Siegel bricht und die Akzeptanz der entsprechenden
Lizenzvereinbarungen, die der Software zugeordnet sind, die in dem
jeweiligen System enthalten ist, erzeugt. Mit der Akzeptanz des "Breche-das-Siegel"-Codes durch den
Kunden markiert der "Breche-das-Siegel"-Code die Dienstpartition
als "inaktiv" und die primäre Partition
als "aktiv". In diesem Fall
finden nachfolgende Programmstarts von der primären Partition anstelle der
Dienstpartition statt.
-
Die
verschiedenen Phasen des Einbrennrackprozesses können jeweils die primäre Partition verändern, wenn
der Einbrennracktest fortschreitet durch ET1 80, ET2 82,
SI 84 und FT 86. Somit wird im Fall eines Versagens,
das während
des Einbrennrackprozesses auftritt, das einfache erneute Starten des
Einbrennrackprozesses nicht ausreichend sein. Es ist notwendig zu
wissen, bei welcher Phase des Einbrennrackprozesses sich der NetPC
befindet, um geeignete Korrekturen durchzuführen. Beispielsweise kann eine
partielle Softwareinstallation nicht erneut gestartet werden, da
einige Dateien sich bereits auf der primären Partition befinden und
die Herstellungsinstruktionen nicht ausgelegt sind, um mit diesem
Typ von partieller Softwareinstallationssituation umzugehen. Der
Versuch, die Systemsoftware auf die primäre Partition zu laden, die
eine partielle Softwareinstallation enthält, wird zu einem Systemcrash beim
Herstellungsprozeß führen. Daher
muß die Softwareinstallation
von neuem gestartet werden, wie im folgenden diskutiert wird, jedoch
gemäß den Ausführungsbeispielen
der vorliegenden Offenbarung, ohne daß jedoch eine Notwendigkeit
einer Vorbereitung und Repartitionierung der Festplatte durch das
erneute Ausführen
des Quicktestvorgangs besteht. Die primäre Partition ist während des
Einbrennrackvorgangs betroffen, so daß der Einbrennrackvorgang für das NetPC-System
nicht einfach erneut gestartet werden kann durch das Trennen und
erneute Verbinden des NetPCs mit dem Herstellungsserver und das
Neustarten. Die partiell installierte und geänderte primäre Partition wird verursachen,
daß der Einbrennrackprozeß abstürzt. Ferner
kann beim Einbrennrackvorgang das erweiterte Testen ET1 und ET2
mehrere Stunden benötigen.
Wenn während
einer Softwareinstallation ein Fehler auftritt, ist es hochwünschenswert,
daß der
oder die betroffenen NetPC(s) nicht ein zweites Mal das erweiterte
Testen ET1 und ET2 durchlaufen. Letzteres würde zu großen Ineffizienzen beim Herstellungsdurchsatz
führen,
wobei der Durchsatz beim Herstellungsvorgang sehr wichtig ist. Statt
dessen ist es wünschenswert, daß das Einbrennrack
das Testen aufnimmt bei Beginn der Phase, in der eine Unterbrechung
aufgetreten ist. Das heißt,
die vorliegenden Ausführungsbeispiele
ermöglichen,
daß der
Einbrennrackvorgang mit der Phase oder dem Schritt des Versagens
erneut beginnt. Mit anderen Worten, wenn das Versagen während der
Software-Installationsphase
aufgetreten ist, wird der Einbrennrackprozeß erneut gestartet bei der
Software-Installationsphase, da er die früheren Phasen des Einbrennrackprozesses
bereits durchlaufen hat.
-
Bei
einem Neustart ist der Hauptstarteintrag der Festplatte damit beschäftigt, die
Partition mit dem aktiven Flag zu finden. Der Hauptstarteintrag übergibt
die Steuerung an die aktive Partition, wobei die aktive Partition
die Steuerung übernimmt
und ihre Startroutine durchführt.
Der Partitionsstarteintrag der aktiven Partition betrachtet das
Partitiontypfeld. Um korrekt zu funktionieren, muß der Inhalt
des Partitiontypfelds einen Code enthalten, der von dem Betriebssystem
erkannt werden kann und ferner dem Betriebssystem entspricht, das
gerade von der aktiven Partition geladen wird. Weitere Erläuterungen können in
der ebenfalls anhängigen
US-Patentanmeldung mit der Nr. 08/951,135 gefunden werden, die am
15. Oktober 1997 eingereicht worden ist mit dem Titel "Modifiable Partition
Boot Record For A Computer Memory Device", die hiermit durch Referenz in ihrer
Gesamtheit mitaufgenommen wird und die dem Anmelder der vorliegenden
Offenbarung zugeordnet ist.
-
Im
Fall der Dienstpartition umfaßt
diese Partition eine spezielle Starteintragpartition, wie weiter
in der o.g. Anmeldung diskutiert. Am Ende des QT-Vorgangs wird der
Hauptstarteintrag einen ersten Starteintrag für die Dienstpartition enthalten.
Der Dienstpartitionsstarteintrag wird als "aktiv" markiert und einen Dateityp DEh (hex)
enthalten. Ein zweiter Partitionsstarteintrag ist für den Starteintrag
der primären Partition
enthalten. Der Starteintrag für
die primäre Partition
ist nicht "aktiv" und hat einen Dateityp,
beispielsweise FAT (file allocation table) 16 oder 32.
Unter diesen Voraussetzungen wird der Starteintrag der Dienstpartition
die Steuerung bei einem Neustart des Systems nach dem QT-Vorgang übernehmen.
Der Dienstpartition-Starteintrag verändert den Feldtyp des primären Starteintrags
in einen Typ, den das Betriebssystem, das geladen werden soll, verstehen kann
(beispielsweise FAT). An dieser Stelle in dem Herstellungsprozeß nach dem
QT wird die Dienstpartition dem logischen Laufwerk C: zugeordnet
und die primäre
Partition wird einem unbestimmten Laufwerk zugeordnet (d.h. es könnte ein
Laufwerk D:, E: oder ein Laufwerk einer anderen Bezeichnung sein).
Dies könnte
den Eindruck von Schwierigkeiten erwecken insoweit, daß der gesamte
Computerherstellungsprozeß vom
Starten eines Systems vom Laufwerk A: abhängt.
-
Bei
einem NetPC-Herstellungsprozeß gemäß der vorliegenden
Offenbarung erfolgt die Festplattenvorbereitung der Festplatte 16 vorzugsweise nur
einmal, ohne daß ein
Repartitionieren oder Reformatieren notwendig ist, wie es bei einem
typischen Computersystem-Herstellungsprozeß auftreten kann, wo das Computersy stem
ein Diskettenlaufwerk umfaßt.
In letzterem Fall ist der gesamte Herstellungsprozeßcode und
die Zustandsinformation auf einer Systemdiskette gespeichert. Somit
könnte, wenn
während
eines Herstellungsprozesses eine Unterbrechung auftritt, die Festplatte
für solch
ein Computersystem manuell geändert
werden unter der Verwendung der auf der Systemdiskette gespeicherten
Information, ohne daß dies
in einem großen
Ausmaß einen
negativen Einfluß auf
sie hätte.
Solch ein Prozeß ist
jedoch ein manueller Prozeß und
unterliegt den Begrenzungen bei der Verwendung eines Diskettenlaufwerks.
-
Bei
der Herstellung eines NetPCs gibt es keine Diskette zum Speichern
des Herstellungsprozeßcodes
und der Zustandsinformation. Der hergestellte NetPC wird mit dem
Herstellungsserver verbunden, damit der NetPC die benötigte Software
gemäß einer gegebenen
Kundenbestellung erhält.
Während
der Herstellung eines NetPCs gemäß der vorliegenden Offenbarung
tritt das Formatieren der Festplatte nur einmal auf und wird danach
nicht modifiziert. Der resultierende NetPC-Herstellungsprozeß gemäß der vorliegenden Offenbarung
ist damit äußert elegant und
effizient. Der Wiederherstellungsaspekt des Herstellungsprozesses
für ein
Computersystem, wie er hier diskutiert wird, macht den Herstellungsprozeß erheblich
schneller und zuverlässiger
als zuvor bekannte Prozesse.
-
Wie
erläutert,
ist das Ergebnis der Erzeugung des Hauptstarteintrags während des
QT, daß die
Dienstpartition als "aktiv" markiert ist und
einen Dateityp enthält,
der von dem Betriebssystem, das auf das NetPC-System geladen werden
soll, nicht erkannt werden kann. Beim Start des NetPC-Systems während des
Einbrennrackprozesses (gemäß der oben
genannten Anmeldung) wird der Typ DEh (hex) verändert, damit er von dem DOS,
das sich in der Dienstpartition befindet, erkannt werden kann. Das System
kann dann fortfahren zu starten. Dies ist leider jedoch keine gute
Situation, da DOS immer die "aktive" Partition dem Laufwerk
C: zuordnet. An dieser Stelle ist die Dienstpartition dem Laufwerk
C: zugeordnet und die Zuordnung der primären Partition ist unbestimmt.
Ohne den Prozeß substantiell
zu verändern,
ist es erwünscht,
daß der
Herstellungsprozeßcode
und Daten sich auf dem Laufwerk A: befinden (d.h. der Dienstpartition)
und daß sich
das Ziel für
das Herunterladen auf dem Laufwerk C: (d.h. der primären Partition)
befindet. Unter Verwendung des Waffle-Programms wird, wie weiter
oben erläutert worden
ist, die Dienstpartition dem virtuellen Laufwerk A: zugeordnet und
die primäre
Partition dem Laufwerk C:, wie außerdem ausführlicher erläutert in der
ebenfalls anhängigen
US-Patentanmeldung mit der Nummer 08/947138, die am 8. Oktober 1997
eingereicht worden ist mit dem Titel "Method for Simulating A Computer Storage
Device". An einer
vorgegebenen Stelle in dem Einbrennrackprozeß läuft das Waffle-Programm und
der Herstellungsprozeßcode und
die Daten befinden sich auf dem virtuellen Laufwerk A: entsprechend
der Dienstpartition der Festplatte. Außerdem kann Zustandsinformation
(d.h. der Reihenfolgestatus), die während des Einbrennrackprozesses
erzeugt worden ist, jetzt leicht auf dem NetPC unter Verwendung
der Dienstpartition auf der Festplatte gespeichert werden. Ein bedeutender
Unterschied in den vorliegenden Ausführungsbeispielen zu früheren Prozessen
besteht darin, daß das
virtuelle Laufwerk A: jetzt in der Größenordnung von zehn (10) MB
von Festplattenspeicherplatz einnimmt, was einen viel schnelleren
Zugriff ermöglicht
als bei der Verwendung von Diskettenspeicherung. Die primäre Partition
ist im wesentlichen so, wie sie ursprünglich während des QT angelegt worden
ist.
-
Es
ist festzuhalten, daß,
wenn der QT-Prozeß beendet
ist, der Hauptstarteintrag erzeugt ist. Im Hauptstarteintrag ist
der Typ der Dienstpartition DEh (hex) und als aktiv markiert, während die
primäre Partition
irgendein Typ sein kann (beispielsweise FAT 16) und inaktiv
markiert ist. Die Zuordnungen an sich spielen für den QT-Prozeß keine
Rolle. Zusätzlich wird
Programmcode zum Durchführen
der Typkonversion und Programmcode, mit dem die Dienstpartition
dem virtuellen Laufwerk A: zugeordnet wird und die primäre Partition
dem Laufwerk C: (der als "Waffle-Virtualisierung" einer Komponente
des Waffle-Programms bezeichnet wird) jeweils auf die Dienstpartition
während
des QT-Vorgangs geladen. Am Ende des QT-Vorgangs wird das NetPC-System
von der QT-Station zu dem Einbrennrack gebracht. Nachdem die notwendigen
Verbindungen zu dem Herstel lungsserver erzeugt worden sind, wird
der NetPC angeschaltet. Beim Hochfahren wird der Hauptstarteintrag ausgeführt und
erkannt, daß er
einen aktiven Starteintrag enthält.
Der Programmcode in dem aktiven Starteintrag (d.h. der Dienstpartitions-Starteintrag) wird
daraufhin ausgeführt,
um sich selbst in etwas zu verwandeln, das DOS erkennen kann, indem
das Typfeld der Dienstpartition in der Hauptpartitionstabelle verwendet
wird (Waffle "initial" gemäß der US 08/951,135).
An dieser Stelle ist DOS geladen und läuft, die Dienstpartition ist
das Laufwerk C: und die primäre
Partition ist ein unbestimmtes Laufwerk. Daraufhin wird Programmcode
ausgeführt
(Waffle "virtual" gemäß der US
08/947,138) um die Dienstpartition dem virtuellen Laufwerk A: zuzuordnen
und die primäre
Partition dem logischen Laufwerk C:.
-
In
einer typischen Computeranwendersituation kann ein Kunde normalerweise
nicht auf die Dienstpartition zugreifen, ohne zunächst beispielsweise
einige spezielle BIOS-Befehle einzugeben. Der Dienstpartition wurde
der Typ DEh (hex) gegeben, da dies ein ungültiger Typ ist und nicht von
Betriebssystemen erkannt werden kann. Während der normalen Verwendung
des Computers wird daher typischerweise nicht auf Dienstpartition
zugegriffen. Ein "Breche-das-Siegel"-Programmcode kann jedoch in der Dienstpartition
gespeichert werden, indem nach einer anfänglichen Ausführung das
System auf das "Breche-das-Siegel"-Programm nicht mehr zugreifen kann,
indem der Partitionstyp der Dienstpartition in einen ungültigen oder
nicht zu erkennenden Typ verändert
wird.
-
In Übereinstimmung
mit der vorliegenden Offenbarung verursacht das anfängliche
Waffle-Programm während
des Einbrennrackprozesses, daß das
Typfeld für
die Dienstpartition von einem nicht erkennbaren oder ungültigen Typ
in einen erkennbaren oder gültigen
Typ für
eine vorbestimmte Dauer, wie benötigt,
verändert
wird. Der gültige
Partitionstyp ist einer, der von dem Betriebssystem, das gerade
geladen wird, erkannt werden kann. Mit anderen Worten wird das Typfeld
vom ungültigen
Typ DEh (hex) in einen erkennbaren oder gültigen Typ (beispielsweise FAT)
verändert,
um zu ermöglichen,
daß die
Dienstpartition dazu verwendet wird, die verschiedenen Herstellungsinstruktionen,
den Code und das Speichern von Daten etc., so wie es während des
Einbrennrackprozesses für
die Herstellung eines NetPCs benötigt
wird, durchführen.
Nach einem Abschluß der
Verwendung der Dienstpartition in dem Einbrennrackprozess wird das
Typfeld der Dienstpartition zurück
in einen nicht erkennbaren oder ungültigen Typ verändert (beispielsweise
DEh (hex)). Bei der Virtualisierung der Dienstpartition auf das
Laufwerk A: und der primären
Partition auf das Laufwerk C: beim Start des Einbrennrackvorgangs,
ist das NetPC-System daraufhin bereit, um mit dem erweiterten Testen
und der Softwareinstallation des verbleibenden Einbrennrackprozesses
fortzufahren. Unter der Annahme, daß keine Probleme auftauchen,
schreitet der Einbrennrackprozeß fort,
durch ET1 80, ET2 82, SI 84 und FT 86 gemäß den Anforderungen
eines gegebenen NetPC-Systems, das gerade hergestellt wird. Während SI 84 lädt der Einbrennrackvorgang den
vorgeschriebenen Betriebssystemcode und andere Software gemäß der vom
Kunden konfigurierten Bestellung vom Herstellungsserver auf die
primäre Partition.
-
Die
vorliegenden Ausführungsformen
betreffen in vorteilhafter Weise eine Situation, in der während des
Einbrennrackvorgangs irgendetwas schiefgeht. Beispielsweise kann
eine Stromunterbrechung während
des Herunterladens der Software oder der Installation der Software
auftreten. Normalerweise würde
das Laufwerk C: der aktiven primären
Partition zugeordnet. Das Zuordnen des Laufwerks C: zu der aktiven
Partition ist an dieser Stelle des Herstellungsprozesses jedoch
nicht erwünscht,
da im Fall einer Unterbrechung ein Neustarten des NetPC-Systems versuchen
würde,
von einer partiellen Softwareinstallation zu starten. Ein abgestürztes System
wäre das Ergebnis.
Für den
Fall einer Unterbrechung ermöglichen
die vorliegenden Ausführungsformen,
daß das NetPC-System
zum Dienstpartitionscode zurückkehrt
zum Beheben eines Systemfehlers während des Einbrennrackprozesses.
Zusammengefaßt
wird das NetPC-System zeitweilig konfiguriert, um einen Vorgang
durchzuführen,
der vollständig
unnatürlich oder
unkonventionell erscheint, wie im folgenden weiter diskutiert. Ein
hier als "anfänglicher" Waffle-Zustand ist
definiert als ein Zustand, der einer speziell modifi zierten Hauptpartitionstabelle
und einem Satz von Laufwerkszuordnungen entspricht. Mit anderen
Worten wird bei der modifizierten Hauptpartitionstabelle, obwohl
das logische Laufwerk C: der primären Partition zugeordnet ist
und das virtuelle Laufwerk A: der Dienstpartition zugeordnet ist,
die Dienstpartition als "aktiv" markiert. Der anfängliche
Waffle-Zustand kann damit definiert werden als ein Zustand, in dem
das logische Laufwerk C: der primären Partition zugeordnet ist
und das virtuelle Laufwerk A: der Dienstpartition und in der ferner
die Dienstpartition als aktiv bezeichnet wird. In der Dienstpartition wird
Programmcode bereitgestellt, der im folgenden als das anfängliche
Waffle-Programm bezeichnet wird, zum Modifizieren der Hauptpartitionstabelle
und um sie in den wie oben angegebenen vorbestimmten anfänglichen
Waffle-Zustand zu bringen. Beim Neustart wird das System immer vom
virtuellen Laufwerk A: starten, da die Ausführung des anfänglichen
Waffle-Programms die Hauptpartitionstabelle in den anfänglichen
Waffle-Zustand bringt. Mit anderen Worten kann die Hauptpartitionstabelle
immer in anfänglichen
Waffle-Zustand gebracht werden während
des Einbrennrackprozesses für
den Fall einer Unterbrechung des Einbrennrackprozesses. Es bleibt
festzuhalten, daß auf
den Partitionstyp nur Bezug genommen wird, wenn das Betriebssystem
anfangs startet. Beim Neustart startet das NetPC-System mit dem DOS,
das in der Dienstpartition enthalten ist. Das anfängliche
Waffle-Programm
läuft,
nachdem das Betriebssystem anfangs gestartet hat, so daß der Dienstpartitionstyp
keine Bedeutung hat in bezug auf die Ausführung der DOS-Betriebssystembefehle während des
Einbrennrackprozesses zur Ausführung des
Herstellungsprozeßcodes,
nachdem der NetPC gestartet worden ist. Die Fähigkeit, den anfänglichen Waffle-Zustand
zu erreichen, bildet nur ein Teil der Wiederherstellung.
-
In
der Dienstpartition ist ferner Programmcode vorgesehen, der hier
als das "virtuelle" Waffle-Programm
bezeichnet wird. Mit dem "virtuellen" Waffle-Programm wird die
Dienstpartition als das virtuelle Laufwerk A: bezeichnet und als
inaktiv markiert und die primäre
Partition wird als das Laufwerk C: bezeichnet und als aktiv markiert.
Mit dem "anfänglichen" Waffle-Programm
wird das Lauf werk A: als eine aktive Partition der Festplatte markiert
und das Laufwerk C: als inaktiv markiert. Bei allen bekannten Betriebssystemen
wird das Laufwerk C: immer der ersten aktiven primären Festplattenpartition
zugeordnet.
-
Beim
Hochfahren startet das NetPC-System mit dem DOS, das Teil der Dienstpartition
ist. Das DOS, das in der Dienstpartition enthalten ist, führt den
Herstellungsprozeßcode
aus. Das NetPC-System betrachtet daher die Dienstpartition während des Startens
des Systems. Der Dienstpartitiontyp muß für das Betriebssystem erkennbar
sein (das noch geladen werden muß), wenn das System zuerst
gestartet wird. Die Partition wird zunächst für das Betriebssystem erkennbar
gemacht, gemäß dem Verfahren
der US 08/951,135 als das Laufwerk C: und fährt mit dem Laden von DOS fort,
da DOS Zuordnungen nicht in einer Weise durchführt, die ein Fortfahren des
Herstellungsprozesses gestatten würde. Daraufhin wird das anfängliche
Waffle ausgeführt,
woraufhin die gewünschte
Konfiguration erzeugt wird. Für
das anfängliche
Waffle gibt es keinen konventionellen Weg, damit ein Betriebssystem
dies in einer normalen Weise tut, d.h. die Dienstpartition als das
Laufwerk A: zu bezeichnen und außerdem als eine Festplattenpartition
und eine aktive Partition. Bei allen bekannten PC-Betriebssystemen
ist das Laufwerk C: immer der ersten primären aktiven Festplattenpartition
zugeordnet. Mit anderen Worten wird die Dienstpartition dem Laufwerk
A: zugeordnet und das Laufwerk A: wird als die aktive Festplattenpartition
markiert und ermöglicht
damit, von dem Laufwerk A: zu starten und nicht vom Laufwerk C:.
Die Dienstpartition ist jedoch nicht das Laufwerk A:, nachdem das
anfängliche
Waffle-Programm abgelaufen ist oder durchgeführt worden ist. Standard-DOS
und andere Microsoft®-Betriebssysteme ordnen
alle das Laufwerk C: der ersten aktiven primären Partition der Festplatte
zu, im Gegensatz zu den Ausführungsformen
der vorliegenden Offenbarung.
-
Mit
der Fähigkeit
des anfänglichen
Waffle sind die Laufwerkzuordnungen garantiert in Übereinstimmung
mit einer gewünschten
Zuordnung, d.h. der Herstellungsprozeßcode befindet sich auf dem Laufwerk
A: (der Dienstpartition); und das Ziellaufwerk ist das Laufwerk
C:, die primäre
Partition. Beim Auftreten eines unerwarteten Neustarts, eines Stromausfalls
oder irgendeiner anderen Unterbrechung während des Einbrennrackprozesses
wird der Dienstpartition-Prozeßcode
immer die Kontrolle übernehmen.
Der Prozeßcode
kann feststellen, wo er sich im Einbrennrackprozeß befunden
hat und versuchen, den Prozeß an
einer Stelle zu starten, kurz bevor die Unterbrechung aufgetreten
ist. Der Herstellungsprozeßcode übernimmt
die Kontrolle, da er sich in der aktiven Partition befindet (d.h.
der Dienstpartition). Wenn das System startet, wird der Startcode des
Hauptstarteintrags nach der ersten aktiven Festplattenpartition
suchen. Der Startcode untersucht die Hauptpartitionstabelle, wo
er erkennt, daß die
Dienstpartition die erste aktive Festplattenpartition ist (zu diesem
Zeitpunkt hat die Zuordnung des Laufwerks A: zur Dienstpartition
und die Zuordnung des Laufwerks C: zur primären Partition noch nicht stattgefunden).
-
Eine
typische Reihenfolge für
den Einbrennrackprozeß ist
wie folgt. Wenn der NetPC angeschaltet wird, startet das System.
Beim Systemstart wird der Hauptstarteintrag (MBR) von der Festplatte
geladen. Es bleibt festzuhalten, daß der MBR zwei Abschnitte enthält, einen
Startcode in dem ersten Abschnitt und eine Hauptstarttabelle in
dem zweiten Abschnitt. Der Startcode durchsucht die Hauptpartitionstabelle
nach der aktiven Partition und schreitet fort mit dem Laden und
Ausführen
der aktiven Partition (in diesem Fall der Dienstpartition). Der
Partitionsstarteintrag lädt
daraufhin das Betriebssystem, das sich in der Partition befindet
(in diesem Fall der Dienstpartition) und verändert (gemäß der US 08/951135) den Partitionstyp
(d.h. von DEh) zu einem Typ, der von dem Betriebssystem erkannt
werden kann (das sich auf der Dienstpartition befindet) und das
geladen wird, um das Betriebssystem in die Lage zu versetzen, den
Partitionstyp zu erkennen. Das Betriebssystem entscheidet, wenn
es hochfährt, welche
Festplatten es in dem NetPC-System gibt und führt eine Zuordnung der lokalen
Laufwerke durch (zu diesem Zeitpunkt C: der Dienstpartition und
ein unbestimmtes Laufwerk der primären Partition). Das anfängliche
Waffle-Programm läuft,
um die Laufwerkszuordnungen zu verändern (die Dienstpartition wird
dem virtuellen Laufwerk A: zugeordnet und die primäre Partition
wird dem logischen Laufwerk C: zugeordnet). Zusätzlich wird die Dienstpartition
als aktiv markiert und die primäre
Partition als inaktiv markiert (anfängliches Waffle-Programm).
Das Waffle-Programm kann ferner den Partitionstyp der Dienstpartition
zurück
in einen nicht erkennbaren Typ verändern, wie zum Beispiel DEh.
Daß die
Dienstpartition zurück
in einen nicht erkennbaren Typ verändert wird, ist ohne Bedeutung
in bezug auf den Rest des hier erläuterten Herstellungsprozesses.
Sie wird jedoch hauptsächlich
nicht erkennbar gemacht, um irgendwelche zufälligen Veränderungen der Dienstpartition
zu einem späteren
Zeitpunkt durch einen Systemanwender zu verhindern. Sobald die Laufwerke
erneut zugeordnet worden sind als das Ergebnis des anfänglichen
Waffle-Programms ist die Dienstpartition jetzt das Laufwerk A: und
als aktiv markiert. Zusätzlich
gibt es keinen Grund zur Beunruhigung über einen Neustart des Betriebssystems
und das Nichterkennen des Partitionstyps der Dienstpartition, da
der Partitionstyp wie oben mit Bezug auf das anfängliche Waffle behandelt wird
(vgl. US 08/951,135). Zusätzlich
ist es, sobald das Betriebssystem läuft, nicht länger nötig, daß der Partitionstyp
der aktiven Partition von dem Betriebssystem erkannt wird. Ein "Turnover"-Dienstprogramm, das im folgenden erläutert wird,
wird ebenfalls bereitgestellt und kann ausgeführt werden, um die Inhalte
der primären
Partition (d.h. des Laufwerks C:) wie benötigt zu löschen entsprechend einer jeweiligen
Implementierung des Einbrennrackprozesses.
-
Eine
Partition hat bestimmte Parameterfelder wie Anfang, Ende und Größe. Nach
der Vorbereitung der Schritte zur Vorbereitung der Festplatte und der
Partitionierung in QT wird der Partitionsstarteintrag für die primäre Partition
des Zielbetriebssystems spezifiziert (beispielsweise Windows 95®,
Windows 98®,
Windows NT®,
etc.), das auf die primäre
Partition des NetPC-Systems des Kunden geladen wird gemäß der speziellen
Bestellung des Kunden. Im Falle eines FAT-Dateisystems kann die
Partition auch Dateizuordnungstabellen, ein Wurzelverzeichnis und Dateien
enthalten. Bei Beginn des Einbrennrackvorgangs enthält die primäre Partition
einen Partitionsstarteintrag. Sobald der Partitionsstarteintrag
für die primäre Partition
während
des QT-Prozesses erzeugt worden ist, kann gemäß den vorliegenden Ausführungsbeispielen
beim Auftreten einer Unterbrechung während des Einbrennrackprozesses
ein Wiederherstellungsprozeß ausgeführt werden,
der umfaßt,
daß der
Partitionsstarteintrag der primären
Partition unverändert
bleibt, während
die Dateizuordnungstabellen und das Wurzelverzeichnis (d.h. die
Dateisystemstrukturen) zurückgesetzt
werden. Die Dateien der primären
Partition können
ferner gelöscht
werden.
-
Gemäß den Ausführungsbeispielen
der vorliegenden Offenbarung ist ein "Turnover"-Dienstprogramm innerhalb des Herstellungsprozeßcodes enthalten,
wobei das Turnover-Dienstprogramm geeigneten Code zum spezifizischen
Auffinden und Löschen
der Dateizuordnungstabelle und des Wurzelverzeichnisses der primären Partition
enthält
ohne einen Einfluß auf
den primären
Partitionsstarteintrag. Mit anderen Worten bleibt bei der Ausführung des Turnover-Programms
der primäre
Starteintrag unverändert,
während
der Rest der primären
Partition gelöscht
wird. Das Turnover-Programm löscht
in effektiver Weise den Inhalt des logischen Laufwerks C: mit der
Ausnahme des primären
Partitionsstarteintrags, der für
das Zielbetriebssystem spezifisch ist, wodurch irgendeine Notwendigkeit
zur Rückkehr
zum QT-Prozeß zum
Repartitionieren der Festplatte im wesentlichen eliminiert wird.
-
Die
Inhalte des primären
Partitionsstarteintrags müssen
während
des QT-Prozesses
nicht bekannt sein, da die Inhalte lediglich auf die Festplatte während der
Festplattenvorbereitung des QT-Prozesses geladen werden. Während des
Einbrennrackprozesses sind jedoch die Inhalte des primären Partitionsstarteintrags
wichtig. Die Inhalte des primären Partitionsstarteintrags
werden von dem Turnover-Programm während der Wiederherstellung
des Einbrennrackprozesses im Fall einer Unterberechung unverändert gelassen.
-
Parameter
der primären
Partition umfassen ferner einen Partitionsstarteintrag einer gegebenen Länge, Dateizuordnungstabellen
einer gegebenen Länge,
ein Wurzelverzeichnis einer gegebenen Länge und Dateien der Partition.
Es ist zu bemerken, daß die
Dimension und Struktur der Dateizuordnungstabellen, des Wurzelverzeichnisses
und der Dateien der Partition von dem jeweiligen Dateisystemtyp
(z.B. FAT16, FAT32, etc.) abhängen.
Wie bereits erwähnt, werden
mit dem Turnover-Programm die Dateizuordnungstabellen und das Wurzelverzeichnis
spezifisch aufgesucht und gelöscht.
Das Turnover-Programm identifiziert einen speziellen Typ von Dateisystem
der Dateizuordnungstabellen und des Wurzelverzeichnisses und löscht sie
ferner gemäß dem jeweiligen Dateisystemtyp.
Das Turnover-Dienstprogramm kann somit als ein intelligentes Dienstprogramm
betrachtet werden. Die Dateien der primären Partition können ferner
aufgesucht und gelöscht
werden, falls dies für
eine spezielle Implementation erwünscht ist, es ist jedoch nicht
absolut notwendig. Der primäre Partitionsstarteintrag,
der während
des QT-Prozesses erzeugt worden ist und der für das jeweilige Zielbetriebssystem
spezifisch ist, wird unverändert
gelassen nach der Ausführung
des Turnover-Dienstprogramms. Entsprechend wird die Integrität des primären Partitionsstarteintrags
der primären
Partition in vorteilhafter Weise erhalten. Der Einbrennrackprozeß kann daraufhin
erneut gestartet werden an der jeweiligen Phase, in der die Unterbrechung
aufgetreten ist. Beispielsweise kann jeder Test oder jedes Software-Herunterladen
erneut gestartet werden, nachdem das Turnover-Dienstprogramm abgelaufen ist.
Auf diese Weise kann der Test oder das Software-Herunterladen starten
mit der Kenntnis, daß die primäre Partition
gelöscht
worden ist (d.h. mit einer leeren Laufwerk C:-Partition) mit der
Ausnahme des primären
Partitionsstarteintrags.
-
Das
Turnover-Dienstprogramm kann ebenfalls wie benötigt ablaufen, um die Inhalte
der primären
Partition (d.h. des Laufwerks C:) gemäß einer speziellen Implementation
des Einbrennrackprozesses zu löschen.
In Abhängigkeit
von dem Herstellungsprozeßcode
kann es wünschenswert
sein zu verfolgen, wann jeder Abschnitt des Einbrennrackprozesses
begonnen und geendet hat (d.h. Start und Stop). Der Zustand eines
gegebenen Prozeßschrittes
kann zeitweilig gespeichert werden. Wenn ein Problem oder eine Unterbrechung
während
des Einbrennrackprozesses auftritt, kann beispielsweise eine passende
Flag ausgelöst
werden. Nach der Detektion einer ausgelösten Flag kann das Turnover-Programm
ablaufen vor einem Neustart eines speziellen Abschnittes des Einbrennrackprozesses, der
das Problem oder die Unterbrechung ausgelöst hat. Das Turnover-Programm
kann ausgeführt
werden oder ablaufen, so oft wie notwendig für einen jeweiligen Einbrennrackprozeß eines
gegebenen NetPCs bis zu einer maximal erwünschten vorgegebenen Anzahl
oder für
eine Zeitdauer bis zu einer gegebenen maximalen Zeitbegrenzung.
Eine maximale Zeitbegrenzung kann erzeugt werden, um zu verhindern,
daß irgendein
NetPC auf dem Einbrennrack für eine
unbestimmte Zeitdauer verbleibt, beispielsweise durch die Verwendung
eines Überwachungstimers.
-
Verschiedene
Methoden können
dazu verwendet werden um festzustellen, ob eine Unterbrechung beim
Einbrennrackprozeß auftritt.
Beispielsweise kann das folgende betrachtet werden: Während der
Ausführung
der verschiedenen Abschnitte des Einbrennrackprozesses (ET1, ET2,
SI und FT) gibt es eine Anzahl von Starts während des Einbrennrackprozesses.
Es wird anfängliche
Starts in ET1 und ET2 geben. In einem Ausführungsbeispiel kann Reihenfolgecode
dazu verwendet werden, um festzulegen, wohin die Steuerung innerhalb
des Herstellungsprozeßcodes
verläuft,
wobei der Reihenfolgecode geschrieben werden kann unter der Verwendung
von bekannten Programmiertechniken. Implementierte Neustarts können protokolliert
oder gespeichert werden, beispielsweise durch die Ausgabe von entsprechenden
Neustartflags, die in einer Neustartflagdatei innerhalb des Herstellungsprozeßcodes gespeichert
werden können.
Wenn eine Neustartflag außerhalb
der Reihenfolge zu sein scheint, kann sie eine Anzeige hervorrufen,
daß eine
Unterbrechung in dem Einbrennrackprozeß aufgetreten ist und eine Korrektur
kann entsprechend durchgeführt
werden. Die Korrektur umfaßt
das Löschen
der primären
Partition, wie hier diskutiert, unter der Verwendung des Turnover-Dienstprogramms.
Umgekehrt kann Prozeßüberwachungscode
in dem Herstellungsprozeßcode
enthalten sein und dazu verwendet werden, einen Start/Stop von ET1,
ET2, SI und FT zu überwachen.
-
Wenn
entweder Start oder Stop nicht detektiert werden, kann eine Anzeige
einer Unterbrechung oder eines Problems in dem Einbrennrackprozeß erzeugt
werden und eine geeignete Korrektur gestartet werden.
-
Unter
Bezugnahme auf 7 wird ein Flußdiagramm
des Einbrennrackprozesses bei der Herstellung eines Computers gemäß der vorliegenden Offenbarung
gezeigt. Der Einbrennrackprozeß kann das
erweiterte Testen und die Softwareinstallation gemäß einer
vorgeschriebenen Herstellungsreihenfolge umfassen, die in einem
Schritt 80 beginnt. Das erweiterte Testen und die Softwareinstallationsreihenfolge
kann ET1, ET2, SI und FT umfassen. In einem Schritt 82 wird
das Computersystem gestartet. Wie bereits erläutert, wird die Dienstpartition
als aktiv markiert, so daß der
Hauptstarteintrag nach der ersten aktiven Partition zum Starten
sucht. Der Schritt 82 umfaßt ferner die Ausführung des
anfänglichen
Waffle-Programms und die Zuordnung der Dienstpartition an das virtuelle
Laufwerk A: und der primären
Partition an das logische Laufwerk C:. Im Schritt 84 wird
ein Einbrennrack-Reihenfolgestatus überprüft, um festzustellen, welcher
Schritt des erweiterten Testens und der Softwareinstallation des
Herstellungscodes gegenwärtig
ausgeführt
werden soll. Der Einbrennrack-Reihenfolgestatus
kann beispielsweise in der Dienstpartition der Festplatte gespeichert
werden. Im Schritt 86 wird der Status des gegenwärtigen Schritts überprüft, um festzustellen,
ob der Schritt bereit ist, ausgeführt zu werden (d.h. Start)
oder ob der Schritt zuvor ausgeführt
worden ist, jedoch unterbrochen worden ist (d.h. Versagen). Wenn
der Status ok ist, fährt
der Vorgang mit dem Schritt 88 fort. Im Schritt 88 wird
der jeweilige erweiterte Test oder die Softwareinstallation durchgeführt. Im
Schritt 90 wird der Reihenfolgestatus aktualisiert. Das
Aktualisieren des Reihenfolgestatus kann beispielsweise das Fortschreiten
des Sequenzstatus zum nächsten
Schritt in der Reihenfolge des erweiterten Testens und der durchzuführenden
Softwareinstallation umfassen, vorausgesetzt, daß der gegenwärtige erweiterte
Test oder die Softwareinstallation, die gerade durchgeführt worden
sind, erfolgreich abgeschlossen worden ist. Das Aktualisieren des
Reihenfolgestatus kann ferner das Erzeugen einer Anzeige umfassen,
daß der
gegebene erweiterte Test oder die Softwareinstallation unterbrochen
worden ist oder versagt hat, woraufhin der Reihenfolgestatus bei
dem gleichen Schritt beibehalten wird, um erneut ausgeführt zu werden.
Im Schritt 92 wird untersucht, ob oder ob nicht alles Testen
oder die Softwareinstallation erfolgreich abgeschlossen worden ist,
d.h. ob oder ob nicht die vorgeschriebene Reihenfolge beendet worden ist.
Falls sie nicht beendet worden ist, fährt der Prozeß mit der
Startroutine im Schritt 82 fort. Falls sie beendet worden
ist, endet der Prozeß im
Schritt 94.
-
Wenn
im Schritt 86 der Status des gegenwärtigen Reihenfolgeschrittes
nicht ok ist, schreitet der Prozeß fort zum Schritt 96.
Der Schritt 96 umfaßt das
Ausführen
des Turnover-Dienstprogramms zum Löschen der Dateizuordnungstabellen,
des Wurzelverzeichnisses und der Dateien der primären Partition,
wodurch ermöglicht
wird, daß der
Reihenfolgeschritt, der fehlgeschlagen ist oder der unterbrochen worden
ist, erneut ausgeführt
wird. Nach Schritt 96 schreitet der Prozeß fort zum
Schritt 90, wobei der Reihenfolgestatus aktualisiert wird.
Die Ausführung des
Turnover-Dienstprogramms beeinflußt das Aktualisieren des Reihenfolgestatus,
um den Reihenfolgestatus auf den gegenwärtigen Schritt des erweiterten
Testens und der Softwareinstallation zurückzusetzen, um zu ermöglichen,
daß der
jeweilige Reihenfolgeschritt erneut durchgeführt wird. Der Prozeß fährt dann
fort mit dem Schritt 92, wie bereits erläutert.
-
Die
vorliegenden Ausführungsbeispiele
ermöglichen
somit in vorteilhafter Weise die Herstellung eines Netzwerk-Computersystems,
insbesondere von Systemen ohne Diskettenlaufwerk, und daß Korrekturen
durchgeführt
werden, ohne die Notwendigkeit, den Herstellungsprozeß für das Computersystem
von Anfang an erneut zu starten, beispielsweise mit dem Schnelltest
(QT). Statt dessen ermöglichen
die vorliegenden Ausführungsbeispiele,
daß der
Herstellungsprozeß für das Computersystem
an dem speziellen Abschnitt des Einbrennrackprozesses erneut startet,
in dem ein Problem oder eine Unterbrechung aufgetreten ist.
-
Mit
dem vorliegenden Wiederherstellungsprozeß ist garantiert, daß, obwohl
es eine unnatürliche
oder unkonventionelle Festplattenzuordnung gibt, die Dienstpartition
die Steuerung erhält,
so daß auf
den Herstellungsprozeßcode
immer zugegriffen werden kann. Die primäre Partition kann zurückgesetzt
werden in einen leeren Zustand (mit dem Turnover-Dienstprogramm),
ohne den Partitionsstarteintrag der primären Partition zu beeinflussen.
Ferner ist kein manueller Eingriff notwendig, beispielsweise im Fall
einer Stromunterbrechung. Nach der Detektion einer Unterbrechung
im Einbrennrackprozeß kann eine
geeignete Korrektur durchgeführt
werden, ohne daß ein
manueller Eingriff nötig
ist. Die Korrektur kann programmiert oder kodiert werden gemäß einer jeweiligen
Korrektursequenz für
eine gegebene Implementierung des Herstellungsprozesses, wobei die Korrektur
kodiert ist unter der Verwendung von bekannten Programmiertechniken.
-
Die
vorliegenden Ausführungsbeispiele schaffen
einen technischen Vorteil bei der Herstellung eines NetPCs, der
einen Wiederherstellungsprozeß ermöglicht für den Fall
einer Unterbrechung beim Herstellungsprozeß, wobei die Wiederherstellung
in der Nähe
der gegebenen Reihenfolge oder Phase im Herstellungsprozeß ist, bei
dem die Unterbrechung aufgetreten ist und verlangt damit nicht, daß der NetPC-Herstellungsprozeß erneut
mit dem Partitionieren der Festplatte beginnt. Im Ergebnis wird
ein effizienterer und effektiverer NetPC-Herstellungsprozeß erhalten.