-
Diese Erfindung bezieht sich auf ein Verfahren zum Organisieren gespeicherter Informationen in einem nicht-flüchtigen, wiederprogrammierbaren Halbleiterspeicher, wobei der Speicher in eine Mehrzahl von Partitionen aufgeteilt wird, wobei jede Partition eine definierte Adresse hat.
-
Es besteht ein wachsendes Interesse an sogenannten eingebetteten prozessorbasierten Systeme. Diese Systeme arbeiten oftmals mit verringerten Funktionalitäten, um die gewünschte Leistung bei relativ geringen Kosten zur Verfügung zu stellen. In vielen Fällen können diese eingebetteten Systeme batteriebetrieben sein. Somit sind ihre Fähigkeiten eingeschränkt, um die Batterielebensdauer zu erhöhen.
-
Aus einer Vielzahl von Gründen, die das Bewahren der Batterielebensdauer, das Verringern der Kosten und das Bereitstellen eines kompakten Formfaktors einschließen, können prozessorbasierte Systeme zur Verfügung gestellt werden, welche als ihr nicht-flüchtiges Speichermedium kein Festplattenlaufwerk benutzen. Bei vielen prozessorbasierten Systemen stellt ein Festplattenlaufwerk ein bequemes nicht-flüchtiges Speichermedium zur Verfügung, das die meisten Informationen speichert, die der Benutzer permanent zu halten wünscht. Diese können neben anderen Dingen das Betriebssystem, Anwendungssoftware, Dateien und Daten als Beispiele einschließen. Die Informationen, die in dem Festplattenlaufwerk gespeichert sind, können zur Ausführung in den Systemspeicher übertragen werden, welcher herkömmlicherweise ein flüchtiger Speicher ist.
-
Bei vielen Systemen stellen Festplattenlaufwerke ein relativ schnelles Speichermedium sehr hoher Kapazität zur Verfügung. Jedoch benötigen Festplattenlaufwerke mehr Raum und verwenden mehr Energie als nicht-flüchtige Halbleiterspeicher. Bei vielen eingebetteten Systemen werden wiederprogrammierbare nicht-flüchtige Halbleiterspeicher als das primäre Speichersystem für prozessorbasierte Systeme benutzt. Diese Halbleiterspeicher speichern die vollständige Informationsausrüstung, die normalerweise in Festplattenlaufwerken gespeichert ist, einschließlich der Betriebssysteme.
-
In vielen Fällen verwenden die als primäres nicht-flüchtiges Speichermedium für prozessorbasierte Systeme benutzten Halbleiterspeicher FLASH-Speicher. Diese FLASH-Speicher können ohne Benutzereingriff unter Verwendung gut bekannter platineneigener Fähigkeiten neu programmiert werden. Auf diese Speicher wird im allgemeinen unter Verwendung von Zeilen- und Spaltenadressen zugegriffen. So sind die Speicher grundsätzlich monolithisch, wobei der Ort der Dateien und der anderen Daten in diesem Speicher grundsätzlich außerhalb des Speichers gespeichert wird.
-
Während diese Systeme bei relativ einfachen eingebetteten prozessorbasierten Systemen gut arbeiteten, kann in dem Maße, wie sich die Anforderungen an die prozessorbasierten Systeme erhöhen, dieses einfache Speichersystem unzureichend sein, um einige gewünschte Funktionen zu handhaben. Somit besteht ein Bedürfnis an einem verbesserten Weg der Verwendung nicht-flüchtiger wiederprogrammierbarer Halbleiterspeicher als primäres nicht-flüchtiges Dateisystem für prozessorbasierte Systeme.
-
Aus der Patentschrift
US 5,701,492 ist eine Schnittstellenplatine zum Ankoppeln eines Druckers an ein LAN bekannt, die einen Mikroprozessor, einen flüchtigen Speicher (DRAM) und einen wiederprogrammierbaren Halbleiterspeicher (Flash-Speicher) aufweist. Der Flash-Speicher enthält einen Boot-Block-Bereich, einen Datei-Bereich und einen Directory-Bereich. Der Boot-Block-Bereich enthält zumindest zwei verschiedene Versionen eines Boot-Blocks, jeweils mit einem Startsektor. Jeder Startsektor enthält den Code, der zum Bestimmen der aktuellen Directory, zum Prüfen eines Boot-Block-Select-Feldes in der aktuellen Directory zum Bestimmen des aktuellen Boot-Blocks, zum Kopieren des aktuellen Boot-Blocks in den obersten Bereich des DRAMs (Shadow-DRAM) und zum Ausführen des Rests des Boot-Blocks aus dem DRAM heraus erforderlich ist. Der Directory-Bereich speichert mindestens zwei Directories mit jeweils einem Header und 84 Dateieinträgen. Der Header enthält ein Boot-Block-Select-Feld, das bestimmt, welcher der Boot-Blöcke in den Shadow-DRAM kopiert werden soll. Jeder Dateieintrag enthält einen 3-Buchstaben-Dateinamen, ein Flag und einen Zeiger zum Startort der Datei im Datei-Bereich. Der Dateiname MON bezeichnet ein Monitorprogramm. Zum Aktualisieren des Boot-Blocks und der Dateien des Monitorprogramms wird zunächst ein neuer Boot-Block in den Flash-EPROM in den ungenutzten Boot-Block-Bereich, der nicht der Bereich des aktuellen Boot-Blocks ist, gespeichert. Danach werden neue kritische Dateien in den Flash-EPROM gespeichert. Dann wird eine entsprechende neue Directory erstellt und flash-gespeichert. Nach dem Neu-Booten wird der neu flash-gespeicherte Boot-Block der aktuelle Boot-Block und werden die neuen kritischen Dateien das aktuelle Monitorprogramm.
-
Aus der Patentschrift
US 5,944,820 ist ein Verfahren zum Bereitstellen eines modifizierbaren Partition-Boot-Records bekannt. Ein Speicher, auf den durch einen Prozessor zugegriffen werden kann, enthält zumindest zwei Partitionen, von denen die erste anfangs aktiv und die zweite anfangs inaktiv ist. Die inaktive Partition enthält Software, die nur dann als aktiv gekennzeichnet wird, wenn ein Benutzer eine Software-Lizenz akzeptiert hat.
-
Aufgabe der Erfindung ist es ausgehend von dem eingangs genannten Stand der Technik die Wiederherstellung und Aktualisierung eines Betriebssystems an die Verwendung eines Flash-Speichers anzupassen und flexibel zu gestalten.
-
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren zum Organisieren gespeicherter Informationen in einem nicht-flüchtigen, wiederprogrammierbaren Halbleiterspeicher mit den Merkmalen des Anspruchs 1 gelöst.
-
Vorteilhafte und/oder bevorzugte Ausführungsformen der Erfindung sind in den Unteransprüchen gekennzeichnet.
-
Weitere Aspekte werden in der nachfolgenden detaillierten Beschreibung angegeben.
-
1 ist eine schematische Darstellung eines Client/Server-Systems gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
-
2 ist ein Schema der Speicherarchitektur der in 1 gezeigten Speichereinrichtung;
-
3 ist ein Schema einer Speicherarchitektur eines BIOS und Wiederherstellungsbetriebssystems, die bei dem in 2 gezeigten System verwendet wird;
-
4 ist ein Ablaufdiagramm zum Implementieren von Software zum Wieder-Laden von Betriebssystemen;
-
5 ist eine Darstellung einer Speicherarchitektur für das in 2 gezeigte primäre Betriebssystem;
-
6 ist eine Hardwareimplementierung des in 1 gezeigten Clients; und
-
7 ist ein Ablaufdiagramm, das den Betrieb der in 5 gezeigten FLAT veranschaulicht.
-
Ein Client/Server-Computersystem 10, das in 1 gezeigt ist, kann einen oder mehrere Server 18 enthalten, die über ein Netzwerk 16 mit einem oder mehreren Clients 12 gekoppelt sein können. Jeder Client 12 kann eine Speichereinrichtung 14 aufweisen. Der Client 12 kann ein prozessor-basiertes System, wie beispielsweise ein Desktop-Computersystem, ein Handheld-Computersystem, ein prozessor-basiertes Fernsehsystem, eine Set-Top-Box, ein Gerät, ein Thin-Client, ein Funktelefon oder dergleichen sein. Das Netzwerk 16 kann irgendeines einer Vielzahl von Netzwerken sein, einschließlich eines lokalen Netzwerks (LAN), eines Stadtnetzwerks (MAN), eines Weitbereichsnetzwerks (WAN), eines drahtlosen Netzwerks, eines Heimnetzwerks oder eines internationalen Netzwerks, wie beispielsweise dem Internet.
-
Bei dem System 10 kann der Client 12 permanent sein Betriebssystem auf einer wiederprogrammierbaren Speichereinrichtung 14 speichern. Die Speichereinrichtung 14 kann in herkömmlicher Weise ein Festplattenlaufwerk oder ein Flash-Speicher sein. Wenn das Betriebssystem zerstört ist oder aktualisiert werden muss, kann der Client 10 auf das Netzwerk 16 und den Server 18 zugreifen, um ein ungestörtes oder aktualisiertes Betriebssystem zu erlangen und das neue Betriebssystem automatisch auf die Speichereinrichtung 14 neu laden.
-
Die Speichereinrichtung 14 kann elektrisch umprogrammierbar sein. Die Speichereinrichtung 14 kann darüber hinaus bei einem Ausführungsbeispiel der Erfindung als BIOS-Speicher für den Client 12 dienen. Während herkömmlicherweise der BIOS-Speicher ein Nur-Lese-Speicher (ROM) ist, kann durch Verwendung eines wiederprogrammierbaren Speichers das Betriebssystem ebenso wie der BIOS-Befehlscode aktualisiert oder ersetzt werden, wenn er zerstört ist, wie im folgenden erläutert wird. Bei anderen Ausführungsbeispielen kann ein herkömmlicher BIOS-ROM zusätzlich zu der Speichereinrichtung 14 verwendet werden.
-
Es sind eine Vielzahl von Flash-Speichern zum Implementieren der Speichereinrichtung 14 verfügbar, wie beispielsweise Intels Speicher der Marke StrataFlashTM. Ein vorteilhafter Speicher ist das 28F64OJ5-Acht-Megabyte-FLASH-Array, das von der Intel Corporation erhältlich ist. Dieser Speicher enthält mehrere 128-Kilobyte-Blöcke. Jeder Block kann datengeschützt sein, so dass er nicht gelöscht oder überschrieben werden kann. Mit anderen Worten, der Datenschutz kann selektiv auf einen oder mehrere einer Mehrzahl von Blöcken in dem Speicher angewendet werden.
-
Das BIOS kann in einem oder mehreren datengeschützten Blöcken in dem Flash-Speicher gespeichert sein. In gleicher Weise kann das Wiederherstellungsbetriebssystem in einem oder in mehreren Blöcken so gespeichert sein, dass es ebenfalls datengeschützt ist. Bei einem Ausführungsbeispiel kann das BIOS in zwei 128 Kilobyte-Blöcken gespeichert sein, und das Wiederherstellungsbetriebssystem kann zwei 128-Kilobyte-Blöcke verwenden.
-
Es wird jetzt auf 2 Bezug genommen; die Speicherarchitektur der Speichereinrichtung 14 kann adressierbare Orte für ein BIOS und ein Wiederherstellungsbetriebssystem 20 und ein primäres Betriebssystem 22 enthalten. Das primäre Betriebssystem kann ein Mehrzweckbetriebssystem, wie beispielsweise Microsoft Windows® 98 oder CE, LINUX oder das BE-Betriebssystem beispielsweise sein. Das primäre Betriebssystem kann auch ein Echtzeit-Betriebssystem (RTOS), wie beispielsweise das PalmOS sein. Das BIOS und das Wiederherstellungsbetriebssystem 20 arbeiten in Fällen, in denen das primäre Betriebssystem 22 zerstört ist oder aktualisiert werden muss. Das Wiederherstellungsbetriebssystem 20 kann ein Betriebssystem einer verringerten Größe sein, welches grundlegende wesentliche BIOS-Funktionen und die zum Gewinnen des neuen primären Betriebssystems erforderliche eingeschränkte Software enthält. So ist ein "Wiederherstellungsbetriebssystem" in diesem Sinne ein Betriebssystem, das zum Aktualisieren und/oder Gewinnen eines Ersatzes für ein primäres Betriebssystem verantwortlich ist.
-
Gemäß 3 enthält bei einem Ausführungsbeispiel der Erfindung das Wiederherstellungsbetriebssystem 20 ein Kernel 26, Netzwerkschnittstellensteuereinrichtungs(NIC)-Treiber 30 und einen Netzwerkstapel 28. Das Kernel 26 ist der Kern des Wiederherstellungsbetriebssystems 20. Der Stapel 28 beispielsweise kann das User Datagram Protocol/Internet Protocol (UDP/IP), das Trivial File Transfer Protocol (TFTP), das Dynamic Host Control Protocol (DHCP), das Address Resolution Protocol (ARP) und das Anfangsladeprotokoll (BOOTP – Bootstrap Protocol) enthalten. (Diese Protokolle finden sich bei www.ietf.org/rfc.html.). Das Wiederherstellungsbetriebssystem 20 kann darüber hinaus die Betriebssystem-Wiederherstell- und -Aktualisierungs-Anwendungssoftware 24 enthalten. Ein FLASH-Treiber 34 und BIOS-Dienste 35 können ebenfalls enthalten sein. Der FLASH-Treiber wird verwendet, um ein neues primäres Betriebssystem in den FLASH-Speicher einzuschreiben, wenn ein FLASH-Speicher als Speichereinrichtung 14 verwendet wird. Die Hardwareschnittstelle 36 bildet eine Schnittstelle zwischen den Softwareschichten und einer Hardwaremutterplatine.
-
Idealerweise kann das Wiederherstellungsbetriebssystem 22 so viel wie möglich abgerüstet werden, um Speicher einzusparen. Wenn möglich, kann das Kernel 26 auf nur denjenigen Befehlscode reduziert sein, welcher erforderlich ist, um seine Wiederherstellungs- und Aktualisierungsfunktionen zu implementieren. Ein Kernel, welches besonders gut anwendbar ist, ist das LINUX-Kernel. Das LINUX-Kernel enthält eine X-basierte Kernelkonfigurationsutility, die make xconfig genannt wird. Diese Utility schafft eine graphische Benutzeroberfläche, um das Auswählen der Elemente des Kernels und des Betriebssystems zu erleichtern. Das heißt, das LINUX-Betriebssystem ermöglicht es dem Benutzer, auf eine Reihe von Fragen zu antworten, die über eine graphische Benutzerschnittstelle gestellt werden, um anzuzeigen, ob bestimmte Funktionalitäten erwünscht sind. Der Code für nicht ausgewählte Funktionalitäten könnte dann ausgeschlossen werden. Im Ergebnis kann ein relativ abgerüstetes Betriebssystem auf einfache Weise ohne Zugriff auf Objektcode entwickelt werden.
-
Im Falle irgendwelcher Softwarefehler oder Abstürze kann das System neu laden, wodurch der Fehler aufgelöst wird. Ein Überwachungszeitgeber in dem CMOS-Speicher verfolgt eine Zahl der erfolglos versuchten Neuladevorgänge. Wenn diese Zahl einen Schwellenwert überschreitet (beispielsweise 3), könnte das Wiederherstellungsbetriebssystem aufgerufen werden. Wenn das System versucht, neu zu laden, überprüft es die CMOS-Speicher-Neuanfangslade-Anzahl und lädt das Wiederherstellungsbetriebssystem automatisch, sofern der Wiederladezahlschwellenwert überschritten ist. Das Wiederherstellungsbetriebssystem 20 wird gestartet, so dass eine neue Version des Abbilds des primären Betriebssystems abgerufen werden kann.
-
Das Wiederherstellungsbetriebssystem 20 kann darüber hinaus Betriebssystem-Updates erlangen. Dies kann auf eine Reihe von Wegen geschehen. Bei einem Ausführungsbeispiel könnte der Benutzer eine Aktualisierung anfordern, wodurch ein separates Update-Bit in dem CMOS-Speicher gesetzt wird. Bei einem anderen Ausführungsbeispiel könnte ein Betriebssystemanbieter an seine Benutzer eine Nachricht ausstrahlen (broadcast), welche anzeigt, dass ein Update verfügbar ist. Die Benutzersysteme, die die Nachricht empfangen, können ihr eigenes Update-Bit haben, das automatisch in dem CMOS-Speicher gesetzt wird. Bei dem nächsten versuchten Anfangsladen (boot), wird das Wiederherstellungsbetriebssystem gebootet, um automatisch das Update zu erwerben.
-
Alternativ könnte die Wiederherstellungs- und Update-Anwendungssoftware 24 so konfiguriert werden, dass das Update automatisch zu einer Zeit einer vorhergesagten niedrigen Benutzung erworben wird. Wenn beispielsweise das System erfasst, dass das Update-Bit gesetzt ist, was anzeigt, dass ein Update erwünscht wird, könnte das System bis Mitternacht warten, um automatisch das Update herunterzuladen.
-
Das Wiederherstellungsbetriebssystem wiederum kann über die Netzwerkschnittstellensteuereinrichtung und das Netzwerk 16 kommunizieren, um eine neue Version des primären Betriebssystemabbilds abzurufen. Dies könnte ausgeführt werden, indem auf eine weitere Einrichtung in demselben Netzwerk zugegriffen wird oder bei einem anderen Beispiel, indem auf das gewünschte Betriebssystem über das Internet zugegriffen wird.
-
Nachdem das neue Betriebssystem im Systemspeicher überprüft worden ist und in den Speicher 14 geladen worden ist, wird das System neu gebootet. Wenn das System das primäre Betriebssystem lädt, setzt das primäre Betriebssystem das Update-Bit in dem CMOS-Speicher zurück.
-
In einigen Fällen, wenn ein Booten versucht wird, könnte eine Analyse des gespeicherten Betriebssystems feststellen, dass das Betriebssystem zerstört ist. Beispielsweise könnte während des Bootens eine Prüfsummenanalyse vorgenommen werden. Wenn das gespeicherte Betriebssystem gestört ist, könnte ein Wiederherstellungsbit in dem CMOS-Speicher gesetzt und das Anfangsladen (boot) abgebrochen werden. Das nächste Mal, wenn ein Boot versucht wird, wird das Wiederherstellungsbit identifiziert, und das System lädt das Wiederherstellungsbetriebssystem.
-
Es wird jetzt auf 4 Bezug genommen; die Wiederherstellungs- und -Aktualisierungsanwendungssoftware 24 beginnt mit dem Überprüfen der Speichereinrichtung 14, wie es in dem Rhombus 40 gezeigt ist. Beim Einschalten, nach dem Durchlaufen des Einschaltselbsttests (POST), überprüft der Startcode das primäre Betriebssystemabbild in dem Speicher 14 nach Prüfsummenfehlern. Wenn es einen Fehler gibt, bootet das System das Wiederherstellungsbetriebssystem 20 und startet die Wiederherstellungsanwendung. Ein Fehlercode kann auftreten, weil das Betriebssystemabbild zerstört oder eines der Wiederherstellungs- oder Aktualisierungs-Flags gesetzt ist. Das Wiederherstellungs-Flag kann beispielsweise wegen eines Defekts in dem Betriebssystem gesetzt sein. Die Aktualisierungs-Flags können beispielsweise gesetzt sein, weil eine Zeitdauer für ein altes primäres Betriebssystem abgelaufen ist oder weil der Benutzer einen Wunsch zur Erlangung eines Upgrades angezeigt hat. So wird nach dem Anlegen der Prüfsumme, wie es im Block 42 angezeigt ist, das primäre Betriebssystem gebootet, wie es im Block 44 angezeigt ist, sofern die Prüfsumme ein gültiges Betriebssystem anzeigt. Anderenfalls wird das Wiederherstellungsbetriebssystem gebootet, wie es in Block 46 angezeigt ist.
-
Während der Boot-Routine setzt ggf. ein Startbefehlscode, welcher Teil des BIOS ist, das Wiederherstellungsbit in dem CMOS-Speicher. Der Startbefehlscode kann darüber hinaus den Befehlscode zum Zählen, wie oft ein Neu-Booten versucht worden ist, und zum Speichern von Informationen über die Anzahl der versuchten Neu-Boot-Vorgänge enthalten.
-
Bei einem Ausführungsbeispiel der vorliegenden Erfindung könnte die Anwendung 24 eine Anforderung über das Netzwerk an den Server 18 für ein Betriebssystemherunterladen (Block 48) initiieren. Sobald das neue Abbild heruntergeladen ist, wird es in die Speichereinrichtung 14 geschrieben. Dann wird das Wiederherstellungsbit gelöscht, wie es im Block 50 angezeigt ist, und das System bootet erneut, wie es im Block 55 gezeigt ist. Beim nächsten Mal bootet das System in das primäre Betriebssystem und führt seine üblichen Funktionen aus.
-
Die Speicherarchitektur eines Abschnitts der Speichereinrichtung 14, die das primäre Betriebssystem 22 speichert, das in 5 gezeigt ist, weist an der untersten Speicheradresse ein Prüfsummen- oder Zyklisches-Redundanzprüf(CRC)-Feld 96 auf. Über dem Prüfsummenfeld 96 befindet sich ein Feld 98, welches die Anzahl der Einträge in einer Flash-Zuweisungstabelle (FLAT – FLASH Allocation Table) 100 anzeigt. Die FLASH-Zuweisungstabelle unterteilt (partitioniert) den FLASH-Speicherabschnitt 22 und gestattet, dass mehrere Befehlscode- und Datenabbilder in der Speichereinrichtung 14 gespeichert werden können. Dies wiederum ermöglicht, dass mehrere Anfangslader (Boot-Lader) in dem Flash-Speicher zum Booten verschiedener Betriebssystemabbilder vorhanden sind. Zur Anfangsladezeit wählt das BIOS auf der Grundlage des Status des Wiederherstellungsbits, wie es oben beschrieben wurde, aus, welcher Anfangslader zu laden und auszuführen ist.
-
Der Anfangslader 102 zum Laden des primären Betriebssystems ist über der Flash-Zuweisungstabelle 100 gespeichert. Über dem Anfangslader 102 befindet sich das Kernel 104 bzw. der Kern des primären Betriebssystems. Das Kernel des primären Betriebssystems kann dem durch das Wiederherstellungsbetriebssystem benutzten Kernel gleich sein oder von diesem abweichen. Während beispielsweise LINUX für das Wiederherstellungsbetriebssystem verwendet werden kann, könnte bei einem Ausführungsbeispiel Windows® CE als primäres Betriebssystem benutzt werden.
-
Über dem Kernel 104 befindet sich ein Dateisystem 106. Die FLASH-Zuweisungstabelle 100 enthält jeweils einen Eintrag für jedes in dem FLASH-Speicherabschnitt 22 gespeicherte Item, einschließlich der in dem Dateisystem 106 gespeicherten Items (Einzelheiten). Das Dateisystem 106 enthält Dateien, Verzeichnisse und zum Lokalisieren und zum Zugreifen auf Betriebssystemdateien und Verzeichnisse verwendete Informationen.
-
Jedes in der FLASH-Zuweisungstabelle enthaltene Item enthält Informationen über die Softwareversion, die Flags, die Daten-Offsets, die Länge der Daten und ihre Ladeadresse. Die Versionsnummer verfolgt lediglich, welche Version der Software in einem bestimmten Speicher 14 geladen wurde. Das Datenoffset legt fest, wo in dem FLASH-Speicher ein Eintrag angeordnet ist.
-
Das Flag-Feld hat Informationen über die Art der zugehörigen Einträge. Das am geringsten bewertete Bit des Flag-Felds enthält Informationen über den Status der zyklischen Redundanzüberprüfung (CRC). Dies teilt im Endeffekt dem BIOS mit, ob eine CRC berechnet werden muss. Das nächsthöher bewertete Bit enthält den Blocktyp. Der Blocktyp schließt "Boot" ein, was einen Anfangslader anzeigt, "Kernel" oder "Dateisystem". Sofern der Blocktyp Anfangslader ist, sagt dieses Flag-Feld, wohin in den Speicher mit wahlfreiem Zugriff der Anfangslader aus dem FLASH-Speicher zu laden ist. Ein zusätzlicher Bereich in dem FLASH-Feld kann für weitere Informationen reserviert sein. Ein Boot-Lader oder Anfangslader lädt weitere Laderprogramme, welche ein Betriebssystem laden und übergibt die Kontrolle an diese.
-
Während die vorliegende Erfindung in Verbindung mit einer Vielzahl von prozessorbasierten Systemen verwendet werden kann, ist eine Anwendung, welche ein Set-Top-Computersystem verwendet, in 6 veranschaulicht. Ein Set-Top-Computersystem arbeitet mit einem Fernsehempfänger zusammen. Der Client 12 kann einen Prozessor 65 enthalten, der mit einem Chipsatz 66 eines beschleunigten Graphikports (AGP) gekoppelt ist. Die Accelerated Graphics Port Spezifikation, Rev. 2.0 ist von der Intel Corporation aus Santa Clara, Kalifornien, erhältlich. Der Chipsatz 66 kann mit dem Systemspeicher 68 und dem beschleunigten Graphikport-Bus 70 gekoppelt sein. Der Bus 70 wiederum kann mit einem Graphikbeschleuniger 72, der außerdem mit einem Video- oder Fernsehempfänger 73 gekoppelt ist, gekoppelt sein.
-
Ein Abschnitt 75 des Systemspeichers 68, der CMOS-Speicher genannt wird, kann durch eine integrierte Speicherschaltung implementiert sein, welche an das Sichern von Systemdaten angepasst ist. Herkömmlicherweise enthält der CMOS die Echtzeituhr (RTC), welche die Tageszeit verfolgt. Die Wiederherstellungs- und Aktualisierungsbits sind in dem CMOS-Speicher an vorgegebenen Stellen gespeichert.
-
Der Chipsatz 66 kann darüber hinaus mit einem Bus 74 gekoppelt sein, der eine Fernsehtuner/Aufnahme-Karte 76 aufnimmt. Die Karte 76 kann mit einer Fernsehantenne 78 gekoppelt sein, welche auch eine Satellitenantenne oder Kabelverbindung sein kann, um zusätzliche Beispiele anzugeben. Eine Schnittstelle zu einem Netzwerk 16, wie beispielsweise eine Modemschnittstellenverbindung zu dem Internet oder eine Netzwerkschnittstellensteuereinrichtungsverbindung zu einem Computernetzwerk, kann ebenfalls vorgesehen sein.
-
Eine Brücke 80 kann wiederum mit einem weiteren Bus 84 gekoppelt sein, welcher eine serielle Eingabe/Ausgabe-Schnittstelle 86 und eine Speicherschnittstelle 94 unterstützt. Die Schnittstelle 86 kann mit einem Modem 88 oder einer Tastatur 92 gekoppelt sein. Die Schnittstelle 94 kann den FLASH-Speicher 14, der das Wiederherstellungsbetriebssystem und das BIOS 20 und das primäre Betriebssystem 22 speichert, ankoppeln. Die Brücke 80 kann der 82371AB-PCI-ISA-IDE-Xcelerator(PIIX4)-Chipsatz sein, der von der Intel Corporation erhältlich ist. So kann er Mehrzweck-Eingabe/ Ausgabe-Pins (GP[I,O]) enthalten.
-
Bei der Anzahl der zum Implementieren von Computersystemen verwendeten Chipsätze kann der Chipsatz derart eingerichtet sein, dass er jeweils nur eine bestimmte Anzahl von Zeilen des BIOS sieht. Bei Ausführungsbeispielen, bei denen das primäre Betriebssystem und das Wiederherstellungsbetriebssystem in dem FLASH-Speicher gespeichert sind, kann auf diese auf dieselbe Weise zugegriffen werden, wie auf den BIOS-Speicher zugegriffen wird. Da der FLASH-Speicher, auf den zugegriffen wird, beträchtlich größer ist als ein BIOS-Speicher, kann es somit wünschenswert sein, andere Techniken zu verwenden, um auf sämtliche Speicher in dem FLASH zuzugreifen. Eine Technik, um dies bei Prozessoren der Intel Corporation auszuführen, besteht darin, die GP[I,O]-Pins zu verwenden, beispielsweise an der PIIX4-Einrichtung. Diese Pins können mit den zum Entwickeln der das BIOS lesenden Signale verantwortlichen Pins gekoppelt sein. Indem geeignete GP[I,O]-Signale zur Verfügung gestellt werden, kann das FLASH-Speicher-Lesen bankgeschaltet sein, um sequentiell den gesamten Speicher zu lesen.
-
Wenden wir uns jetzt 7 zu; in Übereinstimmung mit einem Ausführungsbeispiel beginnt die Software, die die FLAT verwendet, um zu ermöglichen, dass mehrere Code- und Datenabbilder in dem FLASH-Speicher gespeichert werden, beim Einschalten oder Systemrücksetzen mit der BIOS-Ausführung und der Durchführung der Systeminitialisierung und der Einschaltselbsttestaktivitäten (Block 110). Die Inhalte des FLASH-Speichers können gültig gemacht werden, indem der im Feld 96 in dem FLASH-Speicher gespeicherte CRC überprüft wird, wie es im Block 112 angezeigt ist. An diesem Punkt wählt das BIOS den Anfangslader zum Ausführen aus (Block 114), indem die FLAT durchsucht wird und der als Anfangslader markierte Eintrag ausgewählt wird. Der Anfangslader verwendet dann die FLAT, um herauszufinden, wo in dem FLASH-Speicher das primäre Betriebssystem angeordnet ist (Block 116), lädt das Betriebssystem an der richtigen Adresse in dem Systemspeicher (Block 118) und startet seine Ausführung (Block 120).
-
Bei einigen Ausführungsbeispiel könnte das BIOS weiterhin vom Betriebssystem unabhängig sein. Die Betriebssystemabhängigkeiten können sich in dem Anfangslader aufhalten. Der Anfangslader ermöglicht es einem herkömmlichen Computerbetriebssystem, sich in dem FLASH-Speicher aufzuhalten.
-
Während die vorliegende Erfindung in Verbindung mit einem Ausführungsbeispiel, bei dem das primäre Betriebssystem und das Wiederherstellungsbetriebssystem in einer Speichereinrichtung, wie beispielsweise einem FLASH-Speicher, gespeichert sind, veranschaulicht worden ist, können andere wiederprogrammierbare Speichereinrichtungen ebensogut benutzt werden. Im Falle des FLASH-Speichers ist unter den gegebenen aktuellen ökonomischen Bedingungen der Speicher relativ teuer und eine Spiegelung wird grundsätzlich nicht verwendet. Somit ist die Verwendung des Wiederherstellungsbetriebssystems in Verbindung mit FLASH-Speichern besonders vorteilhaft. Jedoch könnte die vorliegende Erfindung in Verbindung mit anderen Konfigurationen benutzt werden. Bei Systemen beispielsweise, die das primäre Betriebssystem in einem Festplattenlaufwerk speichern, könnte sich das Wiederherstellungsbetriebssystem ebenfalls auf dem Festplattenlaufwerk befinden. Das BIOS könnte in solchen Fällen, sofern es gewünscht wird, weiterhin in einem BIOS-ROM gespeichert sein.
-
Alternativ könnte das Wiederherstellungsbetriebssystem aktuell auf einem externen oder entnehmbaren Speicher, wie beispielsweise einer CompactDisc-ROM (CD-ROM) zur Verfügung gestellt werden. Wenn es erforderlich ist, könnte der Benutzer einfach die CD-ROM in einen CD-Player laden. Ein Prozessor führt das Wiederherstellungsbetriebssystem von der CD-ROM herunter aus und verwendet dann die Wiederherstellungs- und Aktualisierungs-Anwendungssoftware, um das primäre Betriebssystem zu aktualisieren und zu ersetzen. Diese Lösung bietet Vorteile gegenüber dem Bereitstellen des vollständigen Betriebssystems in Plattenform, da die Verwendung eines kompakten Wiederherstellungsbetriebssystems die Aktualisierungen erleichtert. Das heißt, das kompakte Wiederherstellungssystem könnte schnell geladen werden und verwendet werden, um Updates zu erwerben. Anderenfalls müsste das vollständige Betriebssystem in Plattenform für jeden Benutzer für jede Aktualisierung (Update) zur Verfügung gestellt werden, so dass der Benutzer dann die Updates erwerben kann.
-
Während die vorliegende Erfindung unter Bezugnahme auf eine Client/Server-Umgebung beschrieben worden ist, ist die vorliegende Erfindung zusätzlich für eine Vielzahl weiterer Umgebungen verfügbar. Beispielsweise könnte die vorliegende Erfindung auf einem Server in einer Client/Server-Umgebung implementiert sein. Zusätzlich ist sie auf Stand-Alone-Computersysteme einschließlich prozessorbasierter Systeme, die batteriegestützt sind, anwendbar. In Verbindung mit Hand-held-Computersystemen beispielsweise könnte die vorliegende Erfindung eine Update- oder Ersetzungsfunktionalität unter Verwendung verfügbarer verdrahteter oder drahtloser Kommunikationsverbindungen zur Verfügung stellen. Bei einem System, welches vorübergehend mit einem Desktop-Computer über eine feste Verdrahtung verknüpft sein kann, wie beispielsweise ein persönlicher digitaler Assistent PalmPilot, könnte das Wiederherstellungsbetriebssystem mit dem Desktop kommunizieren, um ein neues Betriebssystem zu erlangen. In ähnlicher Weise könnten Upgrades unter Verwendung einer Vielzahl drahtloser Kommunikationsverbindungen einschließlich Radio- und Funktelefonverbindungen, gewonnen werden. Bei Systemen, welche über Kabel- oder Satellitenrundfunksysteme miteinander verknüpft sind, könnten neue Betriebssysteme darüber hinaus unter Verwendung dieser Kommunikationsverbindungen ebensogut gewonnen werden.
-
In Verbindung mit zugeschnittenen Betriebssystemen könnte es erforderlich sein, zu einem speziellen fernen Ort zu gehen, um das Betriebssystem zu aktualisieren oder zu ersetzen. In Verbindung mit nicht auf den Benutzer zugeschnittenen Betriebssystemen jedoch können eine Vielzahl von Sites innerhalb des erweiterten Computersystems des Benutzers, das über das Internet oder über eine Vielzahl von Kommunikationsverbindungen zugreifbar ist, benutzt werden, um solche Ersetzungen zu erwerben. Zusätzlich könnten eine Vielzahl solcher Sites in die Wiederherstellungsbetriebssystemanwendungssoftware vorprogrammiert sein, so dass dann, wenn das System beim Erwerben der erforderlichen Ersetzung bei einem Ort nicht erfolgreich ist, es eine Vielzahl weiterer Orte abfragen kann.
-
In einigen Fällen kann die Wiederherstellungsanwendungssoftware nicht mit Informationen über zusätzliche Orte, welche zukünftige Aktualisierungen enthalten, programmiert werden. Wenn jedoch ein Betriebssystemanbieter Informationen über Updates ausstrahlt, könnten diese Ausstrahlungen (broadcasts) auch Informationen darüber enthalten, wie die gewünschten Updates automatisch erwerbbar sind. Diese Informationen können dann von der Wiederherstellungsanwendungssoftware verwendet werden.
-
Bei einigen Ausführungsbeispielen beachtet der Systembenutzer die Operation des Wiederherstellungsbetriebssystems überhaupt nicht. Das Wiederherstellungsbetriebssystem arbeitet im Hintergrund, wobei es das primäre Betriebssystem dem Benutzer robuster erscheinen lässt.