DE4026912A1 - Computersystem - Google Patents
ComputersystemInfo
- Publication number
- DE4026912A1 DE4026912A1 DE4026912A DE4026912A DE4026912A1 DE 4026912 A1 DE4026912 A1 DE 4026912A1 DE 4026912 A DE4026912 A DE 4026912A DE 4026912 A DE4026912 A DE 4026912A DE 4026912 A1 DE4026912 A1 DE 4026912A1
- Authority
- DE
- Germany
- Prior art keywords
- bios
- memory
- data
- access
- record
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Description
Die vorliegende Erfindung bezieht sich auf ein
Computersystem und insbesondere auf ein Gerät zum
Schutz des auf einem Massenspeicher eines Computer
systems gespeicherten Basis Eingabe-/Ausgabe Systems,
im folgenden kurz als BIOS (Basic Input/Output System)
bezeichnet.
Personal-Computersysteme haben allgemein eine weit
verbreitete Verwendung zur Bereitstellung von Com
puterleistung für viele Segmente der heutigen modernen
Gesellschaft gefunden. Personal-Computersysteme können
gewöhnlich definiert werden als ein Tisch-, ein auf dem
Boden stehender oder als ein tragbarer Mikrocomputer,
der aus einer Systemeinheit besteht, die einen einzel
nen Systemprozessor, einen Anzeigemonitor, eine Tasta
tur, eine oder mehrere Diskettenlaufwerke, einen Fest
plattenspeicher und wahlweise einen Drucker umfaßt. Eine
der unterscheidenden Eigenschaften dieser Systeme ist
die Verwendung einer Mutter- oder Systemplatine, um
diese Komponenten elektrisch miteinander zu verbinden.
Diese Systeme sind in erster Linie dazu entworfen, um
einem einzelnen Benutzer unabhängige Computerleistung
zur Verfügung zu stellen und sind für den Kauf durch
Einzelpersonen oder kleine Firmen mit einem billigen
Preis versehen. Beispiele solcher Personal-Computer
systeme schließen den IBM Personal Computer AT und das
IBM Personal System/2 Modelle 30, 50, 60, 70 und 80
ein.
Diese Systeme können in zwei allgemeine Familien
klassifiziert werden. Die erste Familie, auf die ge
wöhnlich Bezug genommen wird als Modelle der Familie 1
benutzen eine Busleitungsarchitektur für die der
IBM Personal Computer AT als Beispiel dient. Die zweite
Familie, auf die Bezug genommen wird als Modelle der
Familie II, benutzen die MICROKANAL-Busleitungs
architektur, für die das IBM Personal System/2 Modelle
50 bis 80 als Beispiele dienen.
An frühen Beispielen der Personal-Computersysteme der
Familie I, wie an dem IBM Personal Computer, wurde
erkannt, daß Softwareverträglichkeit von äußerster
Wichtigkeit ist. Um dieses Ziel zu erreichen, wurde
eine isolierende Schicht von systemresidentem Code, auf
den auch Bezug genommen wird als "MICROCODE", zwischen
der Hardware und der Software erstellt. Dieser Code
stellte eine funktionsfähige Schnittstelle zwischen dem
Anwendungsprogramm/Betriebssystem eines Benutzers und
dem Gerät zur Verfügung, um den Benutzer von der Sorge
um die Eigenschaften der Hardwaregeräte zu befreien.
Schließlich entwickelte sich der Code zu einem BIOS, um
das Hinzufügen neuer Geräte zu dem System zu ermög
lichen, während gleichzeitig das Anwendungsprogramm von
den Besonderheiten der Hardware isoliert wurde. Die
Wichtigkeit von BIOS war unmittelbar klar, da es den
Betreiber eines Gerätes von der Abhängigkeit von be
stimmten Hardwareeigenschaften des Gerätes befreite
und es dem Betreiber des Gerätes eine Zwischenschnitt
stelle für das Gerät zur Verfügung stellte. Da BIOS ein
integraler Teil des Systems war und die Datenübertra
gung in den und aus dem Systemprozessor steuerte, war
es auf der Systemplatine untergebracht und wurde dem
Benutzer in einem Festwertspeicher, künftig als ROM
(Read Only Memory) bezeichnet, ausgeliefert. Beispiels
weise belegte das BIOS in dem IBM Personal Computer 8K
des ROM, der auf der Platine untergebracht war.
Mit der Einführung neuer Modelle der Personal Computer
Familie mußte das BIOS aktualisiert und erweitert
werden, um neue Hardware und Eingabe/Ausgabe-Geräte, im
folgenden als I/O(Input/Output)-Geräte bezeichnet, an
zuschließen. Erwartungsgemäß nahm BIOS an Speichergröße
zu. Beispielsweise belegte das BIOS in dem IBM Personal
Computer AT 32 KBytes des ROM.
Heute werden mit der Entwicklung neuer Technologien
Personal-Computersysteme der Modelle der Familie II
noch hochentwickelter und werden dem Kunden noch
häufiger verfügbar gemacht. Da die Technologie sich
rasch ändert und neue I/O-Geräte zu den Personal-
Computersystemen hinzugefügt werden, ist die Modifi
kation des BIOS ein bedeutsames Problem im Entwick
lungszyklus des Personal-Computersystems geworden.
Beispielsweise wurde mit der Einführung des IBM
Personal Systems/2 mit MIKROKANAL-Architektur ein
wichtiges neues BIOS, das als erweitertes BIOS oder
ABIOS bekannt ist, entwickelt. Um die Software
kompatibilität aufrecht zu erhalten, mußte jedoch das
BIOS der Modelle der Familie I eingeschlossen sein in
das der Modelle der Familie II. Das BIOS der Familie I
wurde bekannt als Kompatibilitäts-BIOS oder als CBIOS.
Wie jedoch vorher im Hinblick auf den IBM Personal
Computer AT erläutert wurde, waren nur 32 KBytes des
ROM auf der Platine untergebracht. Glücklicherweise
konnte das System auf 96 KBytes des ROM erweitert
werden. Unglücklicherweise erwies sich dies wegen der
Systemgrenzen als die maximale für BIOS verfügbare
Kapazität. Glücklicherweise konnten auch mit der
Hinzufügung von ABIOS, ABIOS und CBIOS noch in 96 K
des ROM hineingezwängt werden, jedoch blieb nur ein
kleiner Prozentsatz der 96 K ROM-Fläche verfügbar.
Aufgrund dieser Probleme und dem Wunsch, die
Modifikation in dem BIOS der Familie II so spät wie
möglich in dem Entwicklungszyklus vorzunehmen, wurde es
notwendig, Teile des BIOS auszulagern. Dies wurde durch
Speichern von Teilen des BIOS auf einer Massenspeicher
einrichtung wie einer Festplatte erreicht. Da eine
Platte sowohl Schreib- als auch Lesemöglichkeiten zur
Verfügung stellt, wurde es möglich, den eigentlichen
BIOS Code auf der Platte zu modifizieren. Während die
Platte einen schnellen und wirksamen Weg zur Speiche
rung des BIOS Code zur Verfügung stellt, erhöht sie
trotzdem stark die Wahrscheinlichkeit, daß der BIOS
Code verfälscht wird. Da das BIOS ein integraler Teil
des Betriebssystems ist, könnte ein verfälschtes BIOS
zu verheerenden Ergebnissen und in vielen Fällen zu
einem vollständigen Ausfall und zur Fehlfunktion des
Systems führen. Daher wurde es ganz offenkundig, das
ein Mittel zum Verhindern einer unberechtigten Modi
fikation des BIOS Codes auf der Festplatte höchst
wünschenswert war.
Ein Ziel der vorliegenden Erfindung ist es, ein
Computersystem zur Verfügung zu stellen, das ein Gerät
besitzt zum Verhindern unberechtigter Änderungen des
BIOS, das auf einer Speichereinrichtung mit direktem
Zugriff in dem Computersystem gespeichert ist.
Gemäß der vorliegenden Erfindung wird jetzt ein
Computersystem zur Verfügung gestellt, das umfaßt:
einen Systemprozessor,
einen Festwertspeicher,
einen Hauptspeicher mit wahlfreiem Zugriff,
und zumindest eine Speichereinrichtung mit direktem Zugriff, die in der Lage ist, eine Reihe von Daten sätzen zu speichern.
einen Systemprozessor,
einen Festwertspeicher,
einen Hauptspeicher mit wahlfreiem Zugriff,
und zumindest eine Speichereinrichtung mit direktem Zugriff, die in der Lage ist, eine Reihe von Daten sätzen zu speichern.
Dieses System ist weiter dadurch gekennzeichnet, daß es
enthält:
Initialisierungsmittel, die in dem Festwertspeicher enthalten sind, zum Initialisieren des Systempro zessors und zum Erzeugen eines Rückstellsignals für die Speichereinrichtung mit direktem Zugriff, um den Zugriff zu den Datensätzen zuzulassen,
Lademittel zum Laden von Datensätzen aus der Speicher einrichtung mit direktem Zugriff in den Hauptspeicher, wobei das Lademittel in einer schützbaren Unterteilung der Speichereinrichtung mit direktem Zugriff gespeichert ist und das Lademittel aus der Speicher einrichtung mit direktem Zugriff durch die Initialisie rungsmittel in den Hauptspeicher gelesen wird, wobei das Initialisierungsmittel das Lademittel aktiviert,
ein im Hauptspeicher untergebrachtes Programmabbild, das in der schützbaren Unterteilung der Speichereinrichtung mit direktem Zugriff gespeichert ist, wobei das im Hauptspeicher untergebrachte Pro grammabbild von der Speichereinrichtung mit direktem Zugriff durch das Lademittel gelesen wird, um ein im Hauptspeicher untergebrachtes Programm zu erzeugen,
Schutzmittel zum Schützen der schützbaren Unterteilung der Speichereinrichtung mit direktem Zugriff, wobei das Schutzmittel durch das im Hauptspeicher untergebrachte Programm aktiviert wird, um unberechtigten Zugriff auf das Lademittel und das im Hauptspeicher untergebrachte Programmabbild zu verhindern.
Initialisierungsmittel, die in dem Festwertspeicher enthalten sind, zum Initialisieren des Systempro zessors und zum Erzeugen eines Rückstellsignals für die Speichereinrichtung mit direktem Zugriff, um den Zugriff zu den Datensätzen zuzulassen,
Lademittel zum Laden von Datensätzen aus der Speicher einrichtung mit direktem Zugriff in den Hauptspeicher, wobei das Lademittel in einer schützbaren Unterteilung der Speichereinrichtung mit direktem Zugriff gespeichert ist und das Lademittel aus der Speicher einrichtung mit direktem Zugriff durch die Initialisie rungsmittel in den Hauptspeicher gelesen wird, wobei das Initialisierungsmittel das Lademittel aktiviert,
ein im Hauptspeicher untergebrachtes Programmabbild, das in der schützbaren Unterteilung der Speichereinrichtung mit direktem Zugriff gespeichert ist, wobei das im Hauptspeicher untergebrachte Pro grammabbild von der Speichereinrichtung mit direktem Zugriff durch das Lademittel gelesen wird, um ein im Hauptspeicher untergebrachtes Programm zu erzeugen,
Schutzmittel zum Schützen der schützbaren Unterteilung der Speichereinrichtung mit direktem Zugriff, wobei das Schutzmittel durch das im Hauptspeicher untergebrachte Programm aktiviert wird, um unberechtigten Zugriff auf das Lademittel und das im Hauptspeicher untergebrachte Programmabbild zu verhindern.
Bei Betrachtung der vorliegenden Erfindung von einem
zweiten Gesichtspunkt wird jetzt zur Verfügung
gestellt, ein Gerät zum Schützen des BIOS in einem
Personal-Computersystem, das einen Prozessor besitzt
zum Aktivieren eines Betriebssystems, einen
Festwertspeicher, einen Speicher mit wahlfreiem Zugriff
und zumindest eine Speichereinrichtung mit direktem
Zugriff, wobei das Gerät enthält:
eine Steuereinheit für die Speichereinrichtung mit direktem Zugriff, die ein Schutzmittel für das Schützen einer Region der Speichereinrichtung mit direktem Zugriff besitzt, wobei das Schutzmittel Zugriff auf die geschützte Region als Antwort auf ein Rückstellsignal erlaubt,
einen Stamm-Start-Datensatz, der in der geschützten Region der Speichereinrichtung mit direktem Zugriff enthalten ist, wobei der Stamm-Start-Datensatz ein aktivierbares Codesegment besitzt, das Mittel zum Laden von Information aus der Speichereinrichtung mit direktem Zugriff besitzt,
einen ersten Teil des BIOS, der in dem Festwertspeicher enthalten ist, wobei der erste Teil des BIOS den Systemprozessor initialisiert und das Erzeugen eines Rückstellsignals für die Steuereinheit der Speichereinrichtung mit direktem Zugriff einleitet, um dem Systemprozessor den Zugriff zum Stamm-Start- Datensatz zu ermöglichen, um den Stamm-Start-Datensatz in den Speicher mit wahlfreiem Zugriff zu laden,
einen restlichen Teil des BIOS, der in der geschützten Region der Speichereinrichtung mit direktem Zugriff enthalten ist, wobei der restliche Teil des BIOS durch das aktivierbare Codesegment in den Speicher mit wahl freiem Zugriff als Antwort auf den ersten Teil des BIOS geladen wird, der die Steuerung dem aktivierbaren Code segment überträgt, wobei das aktivierbare Codesegment die Steuerung dem restlichen Teil des BIOS überträgt, um das Betriebssystem zu starten und der restliche Teil des BIOS das Schutzmittel aktiviert, um den Zugriff zu der geschützten Region der Speichereinrichtung mit direktem Zugriff während normaler Operationen des Betriebssystems zu verhindern.
eine Steuereinheit für die Speichereinrichtung mit direktem Zugriff, die ein Schutzmittel für das Schützen einer Region der Speichereinrichtung mit direktem Zugriff besitzt, wobei das Schutzmittel Zugriff auf die geschützte Region als Antwort auf ein Rückstellsignal erlaubt,
einen Stamm-Start-Datensatz, der in der geschützten Region der Speichereinrichtung mit direktem Zugriff enthalten ist, wobei der Stamm-Start-Datensatz ein aktivierbares Codesegment besitzt, das Mittel zum Laden von Information aus der Speichereinrichtung mit direktem Zugriff besitzt,
einen ersten Teil des BIOS, der in dem Festwertspeicher enthalten ist, wobei der erste Teil des BIOS den Systemprozessor initialisiert und das Erzeugen eines Rückstellsignals für die Steuereinheit der Speichereinrichtung mit direktem Zugriff einleitet, um dem Systemprozessor den Zugriff zum Stamm-Start- Datensatz zu ermöglichen, um den Stamm-Start-Datensatz in den Speicher mit wahlfreiem Zugriff zu laden,
einen restlichen Teil des BIOS, der in der geschützten Region der Speichereinrichtung mit direktem Zugriff enthalten ist, wobei der restliche Teil des BIOS durch das aktivierbare Codesegment in den Speicher mit wahl freiem Zugriff als Antwort auf den ersten Teil des BIOS geladen wird, der die Steuerung dem aktivierbaren Code segment überträgt, wobei das aktivierbare Codesegment die Steuerung dem restlichen Teil des BIOS überträgt, um das Betriebssystem zu starten und der restliche Teil des BIOS das Schutzmittel aktiviert, um den Zugriff zu der geschützten Region der Speichereinrichtung mit direktem Zugriff während normaler Operationen des Betriebssystems zu verhindern.
Bei Betrachtung der Erfindung von einem dritten
Gesichtspunkt wird jetzt ein Gerät zum Schutz eines im
System untergebrachten Programms eines Personal-
Computersystems zur Verfügung gestellt, wobei das
Computersystem besitzt: einen Prozessor, einen
Festwertspeicher, einen Hauptspeicher und zumindest
eine Speichereinrichtung mit direktem Zugriff, die in
der Lage ist, eine Reihe von Datensätzen zu speichern,
wobei das Gerät enthält:
ein erstes Programm, das in dem Festwertspeicher ent halten ist, wobei das erste Programm den Systempro zessor initialisiert und weiter das Erzeugen eines Rückstellsignals für die Speichereinrichtung mit direktem Zugriff aufruft, um Zugriff auf die Datensätze zu ermöglichen,
ein Lademittel zum Laden von Datensätzen aus der Speichereinrichtung mit direktem Zugriff in den Hauptspeicher, wobei das Lademittel auf einer schützbaren Unterteilung der Speichereinrichtung mit direktem Zugriff gespeichert ist und das Lademittel von der Speichereinrichtung mit direktem Zugriff in den Hauptspeicher durch das erste Programm gelesen wird, wobei das erste Programm das Lademittel aktiviert,
ein im Hauptspeicher untergebrachtes Programmabbild, das in der schützbaren Unterteilung der Speicherein richtung mit direktem Zugriff gespeichert ist, wobei das im Hauptspeicher untergebrachte Programmabbild von der Speichereinrichtung mit direktem Zugriff in den Hauptspeicher durch das Lademittel gelesen wird, um ein im Hauptspeicher untergebrachtes Programm zu erzeugen,
Mittel zum Schützen der schützbaren Unterteilung der Speichereinrichtung mit direktem Zugriff, wobei das Schutzmittel durch das im Hauptspeicher untergebrachte Programm aktiviert wird, um einen unberechtigten Zugriff auf das Lademittel und das im Hauptspeicher untergebrachte Programmabbild zu verhindern.
ein erstes Programm, das in dem Festwertspeicher ent halten ist, wobei das erste Programm den Systempro zessor initialisiert und weiter das Erzeugen eines Rückstellsignals für die Speichereinrichtung mit direktem Zugriff aufruft, um Zugriff auf die Datensätze zu ermöglichen,
ein Lademittel zum Laden von Datensätzen aus der Speichereinrichtung mit direktem Zugriff in den Hauptspeicher, wobei das Lademittel auf einer schützbaren Unterteilung der Speichereinrichtung mit direktem Zugriff gespeichert ist und das Lademittel von der Speichereinrichtung mit direktem Zugriff in den Hauptspeicher durch das erste Programm gelesen wird, wobei das erste Programm das Lademittel aktiviert,
ein im Hauptspeicher untergebrachtes Programmabbild, das in der schützbaren Unterteilung der Speicherein richtung mit direktem Zugriff gespeichert ist, wobei das im Hauptspeicher untergebrachte Programmabbild von der Speichereinrichtung mit direktem Zugriff in den Hauptspeicher durch das Lademittel gelesen wird, um ein im Hauptspeicher untergebrachtes Programm zu erzeugen,
Mittel zum Schützen der schützbaren Unterteilung der Speichereinrichtung mit direktem Zugriff, wobei das Schutzmittel durch das im Hauptspeicher untergebrachte Programm aktiviert wird, um einen unberechtigten Zugriff auf das Lademittel und das im Hauptspeicher untergebrachte Programmabbild zu verhindern.
Beim Betrachten der Erfindung von einem vierten
Gesichtspunkt wird jetzt ein Gerät zur Verfügung
gestellt zum Verhindern des unberechtigten Zugriffs zum
BIOS, das in einer Massenspeichereinrichtung in einem
Personalcomputersystem gespeichert ist, welches einen
Systemprozessor besitzt, wobei die Massenspeicherein
richtung eine Reihe von Datenblocks speichern kann, die
zwischen einem ersten und zweiten Datenblockextrem
definiert sind, von dem Systemprozessor auf das BIOS in
der Form einzelner definierbarer angrenzender
Datenblocks zugegriffen werden kann und das BIOS sich
von einem dritten Datenblockextrem zu einem vierten
Datenblockextrem erstreckt, wobei die dritten und
vierten Extreme durch die ersten und zweiten Extreme
begrenzt sind und das Gerät enthält:
- a) ein Steuergerät, das zwischen dem Systemprozessor und der Massenspeichereinrichtung angeschlossen ist, um eine Eingabe- oder Ausgabeanforderung des Systemprozessors in die physikalischen Eigenschaf ten der Massenspeichereinrichtung umzuformen, wobei die Eingabe-/Ausgabeanforderungen in der Form einzeln definierbarer angrenzender Daten blocks vorliegen,
- b) erste logische Mittel zum Aufrufen der Erzeugung eines Rückstellsignals,
- c) zweite logische Mittel zum Erzeugen eines zweiten Signals zum Verhindern des Zugriffs auf den BIOS Code, und
- d) Schutzmittel, die auf das Rückstellsignal ansprechen, um den Zugriff auf den BIOS Code zu gestatten, wobei das Schutzmittel auf das zweite Signal zum Festsetzen einer Grenze an dem dritten Datenblock anspricht, um den Zugriff auf den BIOS Code während der normalen Ausführung von authorisierten Programmen durch den System prozessor zu verhindern.
Unter Betrachtung der vorliegenden Erfindung von einem
fünften Gesichtspunkt wird jetzt ein Verfahren zum
Schützen des BIOS in einem Personal-Computersystem zur
Verfügung gestellt, wobei das System einen
Systemprozessor, einen Festwertspeicher, einen Speicher
mit wahlfreiem Zugriff und eine Speichereinrichtung mit
direktem Zugriff einschließt, und das Verfahren die
folgenden Schritte enthält:
- a) Speichern eines ersten Teiles des BIOS in dem Festwertspeicher, wobei der erste Teil des BIOS Mittel zum Initialisieren des Systems einschließt,
- b) Speichern eines Stamm-Start-Datensatzes und eines restlichen Teiles des BIOS in einer schützbaren Unterteilung auf der Speichereinrichtung mit direktem Zugriff, wobei der restliche Teil des BIOS während normaler Operationen des Personal- Computersystems in dem Speicher mit wahlfreiem Zugriff untergebracht ist,
- c) Initialisieren des Systems und Aufrufen der Erzeugung eines Rückstellsignals, das zu der Speichereinrichtung mit direktem Zugriff geschickt wird,
- d) Entfernen des Schutzes für die schützbare Unterteilung, um dem Systemprozessor es zu erlauben, auf dem Stamm-Start-Datensatz und den restlichen Teil des BIOS zuzugreifen, wobei der Schutz als Antwort auf das Rückstellsignal weg fällt,
- e) Laden des Stamm-Start-Datensatzes in den Speicher mit wahlfreiem Zugriff, wobei der Stamm-Start- Datensatz ein aktivierbares Codesegment einschließt,
- f) Übertragen der Steuerung zu dem aktivierbaren Codesegment, um den restlichen Teil des BIOS in den Speicher mit wahlfreiem Zugriff zu laden, und
- g) Übertragen der Steuerung auf den restlichen Teil des BIOS in dem Speicher mit wahlfreiem Zugriff, wobei der restliche Teil des BIOS den Schutz auf der schützbaren Unterteilung festlegt, um den unberechtigten Zugriff zum Stamm-Start-Datensatz und zum restlichen Teil des BIOS zu verhindern, die in der schützbaren Unterteilung auf der Speichereinrichtung mit direktem Zugriff gespeichert sind.
Vorzugsweise schließt das Verfahren weiter den Schritt
(h) des Überprüfens ein, ob der Stamm-Start-Datensatz
mit dem System kompatibel ist, durch Vergleichen von in
dem ersten Teil des BIOS gespeicherten Daten mit ent
sprechenden Daten, die im Stamm-Start-Datensatz
gespeichert sind.
Weiterhin schließt ein bevorzugtes Verfahren der vor
liegenden Erfindung den Schritt (i) der Überprüfung
ein, ob der Stamm-Start-Datensatz mit dem
Systemprozessor kompatibel ist, durch Vergleichen von
Daten des Festwertspeichers mit entsprechenden Daten,
die in dem Stamm-Start-Datensatz enthalten sind.
In einem bevorzugten Ausführungsbeispiel der
vorliegenden Erfindung, das später beschrieben wird,
wird ein Computersystem zur Verfügung gestellt, das
enthält: einen Systemprozessor, einen Speicher mit
wahlfreiem Zugriff, einen Festwertspeicher und zumin
dest eine Speichereinrichtung mit direktem Zugriff.
Eine Steuereinheit für den Speicher mit direktem
Zugriff, die zwischen dem Systemprozessor und der
Speichereinrichtung mit direktem Zugriff angeschlossen
ist, enthält ein Mittel zum Schützen einer Region der
Speichereinheit. Die geschützte Region der Speicherein
richtung enthält einen Stamm-Start-Datensatz und ein
BIOS Abbild. Als Antwort auf ein Rückstellsignal
erlaubt das Schutzmittel den Zugriff zu der geschützten
Region, um das Laden des Stamm-Start-Datensatzes in den
Speicher mit wahlfreiem Zugriff zu ermöglichen. Im
Betrieb lädt der Stamm-Start-Datensatz weiter das BIOS
Abbild in den Speicher mit wahlfreiem Zugriff. Das
BIOS, das sich jetzt im Speicher mit wahlfreiem Zugriff
befindet, wird aktiviert und erzeugt ein zweites
Signal, das das Schutzmittel aktiviert um den Zugriff
auf die Region auf der Platte zu verhindern, die den
Stamm-Start-Datensatz und das BIOS Abbild enthält. BIOS
startet dann das Betriebssystem, um den Betrieb des
Systems zu beginnen.
Insbesondere enthält der Festwertspeicher einen ersten
Teil des BIOS. Der erste Teil des BIOS initialisiert
den Systemprozessor, die Speichereinrichtung mit
direktem Zugriff und stellt das Schutzmittel zurück, um
den Stamm-Start-Datensatz von der geschützten Region
oder Unterteilung auf der Speichereinrichtung mit
direktem Zugriff in den Speicher mit wahlfreiem Zugriff
einzulesen. Der Stamm-Start-Datensatz schließt ein
Datensegment und ein ausführbares Codesegment ein. Das
Datensegment schließt Daten ein, die die Systemhardware
darstellen und eine Systemkonfiguration, die durch den
Stamm-Start-Datensatz unterstützt wird. Der erste
BIOS-Teil bestätigt, daß der Stamm-Start-Datensatz mit
der Systemhardware kompatibel ist durch Überprüfen, daß
die Daten vom Datensegment des Stamm-Start-Datensatzes
übereinstimmen mit den Daten, die im ersten BIOS-Teil
enthalten sind und die die Konfiguration aus System
prozessor, Systemplatine und I/O-Platine darstellen.
Wenn der Stamm-Start-Datensatz mit der Systemhardware
kompatibel ist, steuert der erste BIOS-Teil den System
prozessor so, daß er das ausführbare Codesegment des
Stamm-Start-Datensatzes ausführt. Das ausführbare Code
segment bestätigt, daß die Systemkonfiguration sich
nicht geändert hat und lädt den BIOS-Teil aus der
Speichereinrichtung mit direktem Zugriff in den
Speicher mit wahlfreiem Zugriff. Das ausführbare Code
segment überprüft dann die Echtheit des restlichen
BIOS-Teiles und veranlaßt den Systemprozessor mit dem
Ausführen des BIOS, das sich jetzt im Speicher mit
wahlfreiem Zugriff befindet, zu beginnen. Das jetzt im
Speicher mit wahlfreiem Zugriff sich befindende BIOS
erzeugt das zweite Signal zum Schutz der
Plattenunterteilung, die das restliche BIOS enthält und
startet dann das Betriebssystem, um den Betrieb des
Personal-Computersystems zu beginnen. Die Unterteilung,
die das restliche BIOS enthält, ist geschützt, um
den Zugriff zu dem BIOS Code auf der Platte zu
verhindern, und damit die Integrität des BIOS Codes zu
schützen.
Ein Computersystem gemäß der vorliegenden Erfindung
umfaßt ein Gerät zum Schützen des auf die Platte
geladenen BIOS, das billig zu implementieren und im
wesentlichen für den Endbenutzer transparent ist, so
daß es die kommerzielle Akzeptanz des Computersystems
nicht beeinträchtigt.
Ein Ausführungsbeispiel der vorliegenden Erfindung wird
jetzt in Verbindung mit den Zeichnungen beschrieben.
Fig. 1 zeigt eine Schnittansicht eines Personal-
Computersystems, die eine Systemplatine
zeigt, die mit einer Vielzahl von
Speichereinrichtungen mit direktem Zugriff
verbunden ist;
Fig. 2 zeigt ein Systemblockdiagramm für das
Personal-Computersystem nach Fig. 1;
Fig. 3 zeigt eine Speichereinteilung für den ROM
BIOS, der auf der Platine enthalten ist;
Fig. 4 zeigt ein Flußdiagramm, das den Gesamtprozeß
für das Laden eines BIOS-Abbildes von einer
Speichereinrichtung mit direktem Zugriff
beschreibt;
Fig. 5 zeigt das Satzformat für den Stamm-Start-
Datensatz;
Fig. 6A zeigt ein Flußdiagramm, das die Funktion der
Routine für das einleitende Laden des BIOS
beschreibt, die im folgenden als IBL (Initial
BIOS Load)-Routine bezeichnet wird;
Fig. 6B zeigt ein Flußdiagramm, das die Schritte für
das Laden eines BIOS-Abbildes von einer
Festplatte beschreibt;
Fig. 6C zeigt ein Flußdiagramm, das die Schritte für
das Laden des BIOS von einer Diskette
beschreibt,;
Fig. 6D zeigt ein Flußdiagramm, das mehr Einzelheiten
beim Prüfen der Kompatibilität zwischen dem
Stamm-Start-Datensatz und der Platine/dem
Prozessor beschreibt;
Fig. 7 zeigt ein genaueres Flußdiagramm, das die
Funktion des aktivierbaren Codesegmentes des
Stamm-Start-Datensatzes beschreibt;
Fig. 8 ist ein Blockdiagramm für die Steuereinheit
der Speichereinrichtung mit direktem Zugriff;
Fig. 9 ist ein Flußdiagramm, das die Funktion einer
Plattensteuereinheit zeigt, um das Medium für
das erstmalige Laden des BIOS, nachfolgend
kurz bezeichnet als IBL (Initial BIOS Load),
das auf einer Platteneinheit gespeichert ist,
zu schützen; und
Fig. 10 ist ein Flußdiagramm, das ein Verfahren zum
Schutz des BIOS Abbildes zeigt.
Die folgende genauere Beschreibung bezieht sich auf die
beste gegenwärtig ins Auge gefaßte Art für das
Ausführen der Erfindung. Diese Beschreibung soll nicht
in einem begrenzenden Sinn verstanden werden, sondern
wurde lediglich zum Zweck der Erläuterung der allge
meinen Prinzipien der Erfindung erstellt, da der
Schutzumfang der Erfindung am besten durch die ange
fügten Patentansprüche definiert wird.
Es wird auf die Zeichnungen und insbesondere auf die
Fig. 1 Bezug genommen. Dort ist eine perspektivische
Schnittansicht eines Personal-Computersystems 10
dargestellt, das eine Reihe von Speichereinrichtungen
12-16 mit direktem Zugriff besitzt, die im folgenden
als DASD (direct access storage devices) bezeichnet
werden, und die mit einer Systemplatine 24 durch eine
Reihe von I/O-Steckern 18 verbunden sind. Ein Netzteil
22 liefert elektrische Leistung in bekannter Weise an
das System 10. Die Platine 24 enthält einen Systempro
zessor, der unter der Steuerung von Computerinstruk
tionen arbeitet, um Informationen einzugeben, zu ver
arbeiten und auszugeben.
Im Gebrauch ist das Personal-Computersystem 10 haupt
sächlich entworfen für das Zurverfügungstellen von
unabhängiger Computerleistung für eine kleine Gruppe
von Benutzern oder einen einzelnen Benutzer und es ist
mit einem billigen Preis für den Kauf durch Einzelper
sonen oder kleine Firmen versehen. Im Betrieb arbeitet
der Systemprozessor unter einem Betriebssystem wie z.
B. IBM′s OS/2 Betriebssystem oder PC DOS. Diese Art von
Betriebssystem schließt eine BIOS-Schnittstelle
zwischen den DASD 12-16 und dem Betriebssystem ein. Ein
Teil des BIOS ist nach der Funktion in Module unter
teilt und auf ihn wird nachstehend Bezug genommen als
ROM-BIOS. BIOS stellt eine Schnittstelle zwischen der
Hardware und der Software des Betriebssystems zur Ver
fügung, um Programmierer oder Benutzer zu befähigen,
ihre Maschinen ohne ein in die Tiefe gehendes Wissen
der Funktion eines bestimmten Gerätes zu programmieren.
Beispielsweise erlaubt ein BIOS-Diskettenmodul einem
Programmierer, das Diskettenlaufwerk ohne eine in die
Tiefe gehende Kenntnis der Hardware des Diskettenlauf
werkes zu programmieren. Daher kann eine Anzahl von
Diskettenlaufwerken, die von verschiedenen Gesell
schaften entworfen und hergestellt werden, in dem
System benutzt werden. Dies verringert nicht nur die
Kosten des Systems 10, sondern erlaubt es einem Be
nutzer, aus einer Reihe von Diskettenlaufwerken eines
auszuwählen.
Vor dem Verbinden der oben beschriebenen Struktur mit
der vorliegenden Erfindung mag eine Zusammenfassung der
allgemeinen Funktion des Personal-Computersystems 10
einen Rückblick wert sein. Es wird auf Fig. 2 Bezug
genommen. Dort ist ein Blockdiagramm des Personal-
Computersystems 10 gezeigt. Fig. 2 erläutert die Kompo
nenten der Platine 24 und die Verbindung der Platine 24
mit den I/O-Steckern 18 und anderer Hardware des
Personal-Computersystems. Auf der Platine 24 befindet
sich der Systemprozessor 26, der durch eine lokale Bus
leitung 28 mit einer Speichersteuereinheit 30 verbunden
ist, die weiter mit einem Speicher 32 mit wahlfreiem
Zugriff, nachfolgend als RAM (random access memory)
bezeichnet, verbunden ist. Während jeder geeignete
Mikroprozessor verwendet werden kann, ist ein geeigne
ter Mikroprozessor der 80386, der von INTEL verkauft
wird.
Während die vorliegende Erfindung nachfolgend mit
besonderer Bezugnahme auf das Blockdiagramm des Systems
der Fig. 2 beschrieben wird, versteht es sich am Beginn
der Beschreibung, die folgt, daß damit zu rechnen ist,
daß die Verfahren gemäß der vorliegenden Erfindung mit
anderen Hardwarekonfigurationen der Platine benutzt
werden können. Beispielsweise könnte der System
prozessor ein INTEL 80286 oder 80486 Mikroprozessor
sein.
Zugreifbar durch den Prozessor ist eine Platinen
identifizierungsnummer, als Platinen-ID bezeichnet. Die
Platinen-ID ist für die Platine eindeutig und identi
fiziert die Art der verwendeten Platine. Beispiels
weise kann die Platinen-ID fest verdrahtet sein durch
Verwendung von Schaltern, um durch einen I/O-Anschluß
des Systemprozessors 26 gelesen zu werden.
Die lokale Busleitung 28 ist desweiteren über eine
Bussteuereinheit 34 mit einem Nur-Lese-Speicher 36,
nachfolgend als ROM (read only memory) bezeichnet,
verbunden, der sich auf der Platine 24 befindet.
Ein zusätzlicher nichtflüchtiger Speicher 58, im
folgenden abgekürzt als NVRAM (non-volatile random
access memory) bezeichnet, ist mit dem Mikroprozessor
26 durch eine serielle/parallele Schnittstelle 40
verbunden, die weiter mit der Bussteuereinheit 34
verbunden ist. Der nichtflüchtige Speicher kann in CMOS
Technologie mit Batteriesicherung ausgeführt sein, um
die Information festzuhalten, wann immer der Strom von
dem System entfernt wird. Da das ROM normalerweise auf
der Platine untergebracht ist, werden Modell- und
Untermodellwerte, die im ROM gespeichert sind, dazu
benutzt, um den Systemprozessor und die
Systemplatinen-I/O-Konfiguration zu identifizieren.
Daher identifizieren diese Werte den Prozessor und die
Platinen-I/O-Konfiguration. Der NVRAM wird benutzt, um
die Systemkonfigurationsdaten zu speichern. D. h. der
NVRAM enthält Werte, die die augenblickliche Kon
figuration des Systems beschreiben. Z. B. enthält der
NVRAM Informationen, die die Kapazität einer Festplatte
oder einer Diskette, die Art der Anzeige, den
Speicherumfang, die Zeit, das Datum, usw. beschreiben.
Außerdem werden die Modell- und Untermodellwerte, die
im ROM gespeichert, sind immer dann in den NVRAM
kopiert, wenn ein spezielles Konfigurationsprogramm,
wie die SET Normalkonfiguration, ausgeführt wird. Der
Zweck des SET Konfigurationsprogramms ist es, Werte,
die die Konfiguration des Systems kennzeichnen, im
NVRAM zu speichern. Daher sind für ein richtig
konfiguriertes System die Modell- und Untermodellwerte
im NVRAM gleich den Modell- und Untermodellwerten, die
im ROM gespeichert sind. Wenn diese Werte nicht gleich
sind, zeigt dies an, daß die Konfiguration des Systems
geändert wurde. Es wird auf Fig. 6D Bezug genommen, wo
dieses Merkmal in Kombination mit dem Laden des BIOB
ausführlicher erläutert ist.
Die Erläuterung wird mit Bezug auf Fig. 2 fortgesetzt.
Die Bussteuereinheit 34 ist weiter über die I/O-
Platinen-Busleitung 43 mit den I/O-Steckern 18, der
seriellen/parallelen Schnittstelle 40 und einer
peripheren Steuereinheit 42 verbunden. Die periphere
Steuereinheit 42 ist weiter mit einer Tastatur 44,
einer Maus 46, einer Diagnosekonsole 47 und einer
Diskettensteuereinheit 64 verbunden. Außer mit dem
NVRAM 58 ist die serielle/parallele Schnittstelle 40
weiter mit einem seriellen Anschlußpunkt 48 und einem
parallelen Anschlußpunkt 50 verbunden, um Informationen
für einen Drucker, ein Gerät für gedruckte
Maschinenausgabe usw. einzugeben oder von ihnen ent
gegenzunehmen. In bekannter Weise kann die lokale
Busleitung 28 mit einer Steuereinheit 52 für einen
schnellen Zwischenspeicher, der im folgenden als Cache
bezeichnet wird, einem Cache-Speicher 68, einem
Co-Prozessor 54 und einer DMA-Steuereinheit 56 ver
bunden sein.
Der Systemprozessor 26 steuert seine interne Funktion
wie auch die Schnittstellen mit anderen Elementen des
Personal-Computersystems 10. Beispielsweise ist der
Systemprozessor 26 derart dargestellt, als mit einer
I/O-Karte 60 für die Schnittstelle eines kleinen
Computersystems, kurz als SCSI (small computer system
interface) bezeichnet, verbunden, die weiter verbunden
ist mit einem DASD, wie beispielsweise einem
Festplattenlaufwerk 62. Es versteht sich, daß ein
anderes als ein SCSI Plattenlaufwerk als Festplatte
gemäß der Erfindung benutzt werden kann. Zusätzlich zu
der Festplatte 62 kann der Systemprozessor 26 mit der
Diskettensteuereinheit 64 konfrontiert werden, die ein
Diskettenlaufwerk 66 steuert. Bezüglich der Terminolo
gie ist daran zu denken, daß der Ausdruck "Festplatte"
ein Festplattenlaufwerk 62 beschreibt, während der
Ausdruck "Diskette" auch ein Diskettenlaufwerk 66
beschreibt.
Vor der vorliegenden Erfindung konnte das ROM 36 den
gesamten BIOS Code enthalten, der als Schnittstelle
zwischen dem Betriebssystem und der Hardwareperipherie
diente. Gemäß einem Gesichtspunkt der vorliegenden Er
findung ist der ROM 36 jedoch zweckensprechend
verändert, um nur einen Teil des BIOS zu speichern.
Dieser Teil, wenn er von dem Systemprozessor 26
aktiviert wird, gibt entweder von der Festplatte 62
oder der Diskette 66 einen zweiten oder restlichen Teil
des BIOS ein auf den nachstehend als BIOS Abbild Bezug
genommen wird.
Dies BIOS Abbild ersetzt den ersten Teil des BIOS, und
da es ein wesentlicher Teil des Systems ist, ist es im
Hauptspeicher, wie dem RAM 32, untergebracht. Der erste
Teil des BIOS (ROM-BIOS), der im ROM 36 gespeichert
ist, wird generell im Hinblick auf die Fig. 3 und 4
erklärt und genauer im Hinblick auf die Fig. 6A-6D.
Der zweite Teil des BIOS (BIOS Abbild) wird erläutert
im Hinblick auf die Fig. 5, und das Laden des BIOS
Abbildes mit Bezug auf die Fig. 7. Ein anderer Vorteil
des Ladens eines BIOS Abbildes von dem DASD ist die
Fähigkeit, das BIOS direkt in den RAM 32 des Systempro
zessors zu laden. Da das Zugreifen auf den RAM viel
schneller erfolgt als das Zugreifen auf den ROM, wird
eine bedeutsame Verbesserung der Verarbeitungsgeschwin
digkeit des Computersystems erzielt.
Die Erklärung geht jetzt weiter mit der Operation des
BIOS im ROM 36 und mit dem Vorgang des Ladens des BIOS
Abbildes entweder von der Festplatte oder Diskette. Im
allgemeinen führt der ROM-BIOS eine Vorprüfung des
Systems durch und lädt einen BIOS Stamm-Start-Datensatz
in den RAM. Der Stamm-Start-Datensatz schließt ein
Datensegment ein, das Gültigkeitsprüfinformation
aufweist, und ein Codesegment, das aktivierbaren Code
besitzt. Der aktivierbare Code benutzt die Daten
information, um die Hardwarekompatibilität und die
Systemkonfiguration zu bestätigen. Nach dem Prüfen auf
Haidwarekompatibilität und richtiger Systemkonfigura
tion lädt der aktivierbare Code das BIOS Abbild in den
RAM. Das BIOS Abbild tritt an die Stelle des ROM-BIOS
und lädt das Betriebssystem, um den Betrieb der
Maschine zu beginnen.
Aus Gründen der Klarheit wird auf das aktivierbare
Codesegment des Stamm-Start-Datensatzes Bezug genommen
als MBR (master boot record) Code, während auf das
Datensegment Bezug genommen wird als auf MBR Daten.
Es wird auf Fig. 3 Bezug genommen. Dort ist ein
Hauptspeicherabbild gezeigt, das die verschiedenen
Codemodule zeigt, aus denen der ROM-BIOS besteht. Der
ROM-BIOS schließt ein einen Modul 70 für den
Selbsttest beim Einschalten Stufe I, nachfolgend kurz
als POST (power on self-test) bezeichnet, einen Modul
72 für das erstmalige Laden des BIOS, nachfolgend kurz
als IBL (Initial BIOS Load) bezeichnet, einen
Diskettenmodul 74, einen Festplattenmodul 76, einen
Videomodul 78, einen Modul 80 für die Diagnosekonsole
und Hardwarekompatibilitätsdaten 82. Kurz gesagt, POST
Stufe I 70 führt die Systemvorinitialisierung und
Tests durch. Die IBL Routine 72 bestimmt, ob das BIOS
Abbild von der Festplatte oder Diskette zu laden ist,
prüft die Kompatibilität und lädt den Stamm-Start-
Datensatz. Der Diskettenmodul 74 stellt die
Eingabe/Ausgabefunktionen für ein Diskettenlaufwerk zur
Verfügung. Der Festplattenmodul 76 steuert die
Ein-/Ausgabe für eine Festplatte oder dergleichen. Der
Videomodul 78 steuert Ausgabefunktionen für eine
Video-I/O-Steuereinheit, die weiter mit einer Video
anzeige verbunden ist. Modul 80 für eine Diagnose
konsole sorgt für die Steuerung eines diagnostischen
Anzeigegerätes des Systems. Die Hardwarekompatibili
tätsdaten schließen solche Werte wie Systemmodell- und
Untermodellwerte ein, die später mit Hinblick auf
Fig. 5 beschrieben werden.
Es wird jetzt auf die Fig. 4 Bezug genommen. Dort ist
ein Prozeßüberblick über das Laden eines BIOS Abbildes
in das System entweder von der Festplatte oder der
Diskette dargestellt. Wenn das System eingeschaltet
ist, wird der Systemprozessor über einen Vektor zu dem
Einstiegspunkt des POST Stufe I, Schritt 100 gesteuert.
POST Stufe I initialisiert das System und prüft nur
diejenigen Systemfunktionen, die benötigt werden, um
das BIOS Abbild von dem ausgewählten DASD zu laden,
Schritt 102. Insbesondere initialisiert POST Stufe
die Prozessor/Platinenfunktionen, die Diagnosekonsole,
das Speicheruntersystem, Unterbrechungssteuerungen,
Zeitgeber, das DMA Untersystem, die Festplatten-BIOS-
Routine (Festplattenmodul 76) und, falls nötig, die
Disketten-BIOS-Routine (Diskettenmodul 74).
POST Stufe I steuert den Systemprozessor über einen
Vektor zu der IBL Routine, die in dem IBL Modul 72
eingeschlossen ist. Die IBL Routine bestimmt zuerst, ob
das BIOS Abbild auf der Festplatte gespeichert ist oder
von der Diskette geladen werden kann und lädt zweitens
den Stamm-Start-Datensatz von dem ausgewählten Medium (ent
weder Platte oder Diskette) in den RAM, Schritt 104.
Der Stamm-Start-Datensatz schließt die MBR Daten und
den MBR Code ein. Die MBR Daten werden für Prüfzwecke
benutzt, und der MBR Code wird ausgeführt, um das BIOS
Abbild zu laden. Eine genauere Beschreibung der
Operation der IBL Routine wird mit Bezug auf die Fig.
6A-6D gegeben.
Es wird weiter auf Fig. 4 Bezug genommen. Nachdem die
IBL Routine den Stamm-Start-Datensatz in den RAM lädt,
wird der Systemprozessor über einen Vektor zu der
Anfangsadresse des MBR Codes gesteuert, um die
Ausführung zu beginnen, Schritt 106. Der MBR Code führt
eine Reihe von Gültigkeitstests durch, um die Echtheit
des BIOS Abbildes zu bestimmen und die Konfiguration
des Systems zu prüfen. Für ein besseres Verständnis der
Operation des MBR Codes wird die Aufmerksamkeit auf
Fig. 7 der Zeichnungen gelenkt, in der der MBR Code
näher beschrieben ist.
Auf der Basis dieser Gültigkeitstests lädt der MBR Code
das BIOS Abbild in den RAM und überträgt die Steuerung
zu dem unlängst geladenen BIOS Abbild im Hauptspeicher,
Schritt 108. Insbesondere wird das BIOS Abbild in den
Adressenraum geladen, der vorher vom ROM-BIOS besetzt
war. D. h. wenn der ROM-BIOS adressiert wird von
E0000H-FFFFFH dann wird das BIOS Abbild in diesem Adressraum
des RAM geladen und ersetzt so den ROM-BIOS. Die Steue
rung wird dann zu der POST Stufe II übertragen, die in
dem unlängst geladenen BIOS Abbild eingeschlossen ist,
wodurch der ROM-BIOS aufgegeben wird. POST Stufe II,
jetzt im RAM, initialisiert und testet das restliche
System, um den Anfang des Betriebssystems zu laden,
Schritte 110-114.
Bevor die Stufe II POST die Steuerung dem Betriebs
system überträgt, setzt die Stufe II POST ein Schutz
mittel zum Verhindern des Zugriffs auf die Platten
unterteilung, die das BIOS Abbild enthält. Für eine
genauere Diskussion dieses Schutzprozesses wird auf die
Fign. 8-10 Bezug genommen. Es sei bemerkt, daß
während eines Warmstartes der Prozessor durch einen
Vektor auf den Schritt 108 gesteuert wird, unter
Umgehung der Schritte 100-106.
Aus Gründen der Klarheit ist es an diesem Punkt ange
bracht, eine Darstellung des Formates des Stamm-Start-
Datensatzes zu erläutern. Der Stamm-Start-Datensatz ist
in Fig. 5 dargestellt. Der Start-Datensatz schließt das
aktivierbare Codesegment 120 und Datensegmente 122-138
ein. Das MBR Codesegment 120 schließt DASD
abhängigen Code ein, der verantwortlich ist für das
Prüfen der Identität des ROM-BIOS, für das Prüfen, daß
der IBL Start-Datensatz kompatibel ist mit dem System,
für das Prüfen der Systemkonfiguration und für das
Laden des BIOS Abbildes aus dem ausgewählten DASD
(Platte oder Diskette). Die Datensegmente 122-138
schließen Informationen ein, um das Medium zu
identifizieren, den Stamm-Start-Datensatz zu
identifizieren und zu prüfen, das BIOS Abbild zu
lokalisieren und es zu laden.
Der Stamm-Start-Datensatz wird identifiziert durch eine
Start-Satz-Signatur 122. Die Start-Datensatz-Signatur
122 kann ein eindeutiges Bitmuster wie eine
Zeichenfolge "ABC" in den ersten drei Bytes des Satzes
sein. Die Integrität des Stamm-Start-Datensatzes wird
durch einen Prüfsummenwert 132 geprüft, der mit einem
berechneten Prüfsummenwert verglichen wird, wenn der
Start-Datensatz geladen wird. Die Datensegmente
schließen weiter zumindest einen ID-Wert 134 für eine
kompatible Platine und Werte 136 für ein kompatibles
Modell und Untermodell ein. Der Platinen-ID-Wert des
Stamm-Start-Datensatzes definiert die Platine, für die
der Stamm-Start-Datensatz gültig ist. In ähnlicher
Weise definieren die Modell- und Untermodellwerte des
Stamm-Start-Datensatzes die Konfiguration aus Prozessor
und I/O-Platine, für die der Stamm-Start-Datensatz
gültig ist. Es sei bemerkt, daß die Signatur des
Start-Datensatzes und die Prüfsumme einen gültigen
Stamm-Start-Datensatz identifizieren, während seine
Platinen ID, seine Modell- und Untermodellvergleiche
dazu benutzt werden, einen Stamm-Start-Datensatz zu
identifizieren, der mit dem System verträglich ist, und
um zu bestimmen, ob die Systemkonfiguration gültig ist.
Ein anderer Wert, das Start-Datensatz-Muster 124 wird
benutzt, um die Gültigkeit des ROM-BIOS zu bestimmen.
Das Start-Datensatz-Muster 124 wird mit einem
entsprechenden Musterwert verglichen, der im ROM
gespeichert ist. Wenn die Werte übereinstimmen, zeigt
dies an, daß ein gültiger ROM-BIOS das Laden eines BIOS
Abbildes von dem ausgewählten Medium aufgerufen hat.
Die folgende Beschreibung beschreibt weiter jeden der
Werte in dem Stamm-Start-Datensatz und ihre Funktionen
näher:
Die ersten drei Bytes eines IBL Start-Satzes können aus
drei Zeichen bestehen wie "ABC". Diese Signatur wird
benutzt, um einen Start-Satz zu identifizieren.
Dieser Code prüft die Kompatibilität des Start-Satzes
mit der Platine und dem Prozessor durch Vergleichen mit
entsprechenden Platinenidentifizierungs- und Modell-/
Untermodellwerten. Wenn diese Werte übereinstimmen,
lädt es das BIOS Abbild von dem gewählten
Speichermedium in den RAM des Systems. Wenn die
Prüfsumme des Systemabbildes (BIOS Abbild in den
Speicher geladen) gültig ist und keine Ladefehler des
Speichermediums auftreten, überträgt der MBR Code die
Steuerung an die POST Stufe II Routine des System
abbildes.
Das erste Feld des IBL Start-Satz Datensegmentes
enthält ein Muster wie z.B. eine Zeichenfolge
"ROM-BIOS 1989". Diese Folge wird benutzt, um den
ROM-BIOS durch Vergleich des Startmusterwertes mit dem
entsprechenden im ROM gespeicherten Wert (ROM-Muster)
zu bestätigen.
Der Stamm-Start-Datensatz schließt ein Versionsdatum für die
Benutzung durch ein Aktualisierungshilfsprogramm ein.
Das Datensegment enthält einen auf den Anfang des
Unterteilungsbereiches des Speichermediums des Systems
hinweisender Zeiger zur Verwendung durch Stufe II POST.
Auf der IBL Diskette besitzt der Zeiger das Spur-Kopf-
Sektor-Format, auf einer Platte hat der Zeiger das
Format der relativen Blockadresse (RBA).
Die Systemunterteilungsart zeigt die Struktur der
Unterteilung des Speichermediums des Systems an. Es
gibt drei Arten von Systemunterteilungsstrukturen -
voll, minimal und nicht vorhanden. Die volle System
unterteilung enthält zusätzlich zu dem BIOS Abbild und
dem Stamm-Start-Datensatz das Einstellungshilfsprogramm
und Diagnoseprogramme. Die minimale Systemunterteilung
enthält nur das BIOS Abbild und den Stamm-Start-
Datensatz.
Es kann vorkommen, daß ein System keinen Zugriff zu
einer Festplatte mit einem IBL Abbild hat. In diesem
Fall zeigt die Systemunterteilungsart "nicht vorhanden"
an. Das IBL kommt dann von der Diskette. Diese drei
Arten der Systemunterteilung ermöglichen Flexibilität
dabei, wieviel Platz die Systemunterteilung auf dem
Speichermedium beansprucht.
Der Prüfsummenwert des Datensegmentes wird
initialisiert, um eine gültige Prüfsumme für die
Aufzeichnungslänge (1,5 KBytes) des Stamm-Start-
Datensatz-Codes zu erzeugen.
Das Datensegment schließt einen Wert ein, wie
beispielsweise eine Folge von Worten, die kompatible
Platinen-ID′s definieren. Jedes Wort besteht aus einer
16-Bit-Platinen-ID und die Folge wird abgeschlossen
durch einen Wortwert von 0. Wenn die Platinen-ID eines
Systems mit dem Platinen-ID-Wert in dem Stamm-Start-
Datensatz Übereinstimmt, genauer mit einem der Worte in
der Folge, ist das IBL Abbild des Speichermediums
kompatibel mit der Systemplatine. Wenn die Platinen-ID
des Systems nicht mit dem Platinen-ID-Wert in dem
Stamm-Start-Datensatz übereinstimmt, ist das IBL Abbild
des Speichermediums nicht kompatibel mit der
Systemplatine.
Das Datensegment schließt Werte ein, wie beispielsweise
eine Folge von Worten, die kompatible Prozessoren
definieren. Jedes Wort besteht aus einem Modell- und
einem Untermodellwert und die Folge wird durch einen
Wortwert von 0 abgeschlossen. Wenn der (im ROM
gespeicherte) Modell- und Untermodellwert des Systems
mit einem der Worte in der Folge übereinstimmt, ist das
IBL Abbild des Speichermediums kompatibel mit dem
Systemprozessor. Wenn die ROM Modell- und ROM
Untermodellwerte nicht mit irgendeinem Wort der Folge
übereinstimmen, ist das IBL Abbild des Speichermediums
nicht kompatibel mit dem Systemprozessor.
Die IBL Abbildlänge wird initialisiert auf die Anzahl
der Abbildblöcke des Speichermediums. Mit anderen
Worten, wenn das BIOS Abbild in vier Blöcke unterteilt
ist, ist die Abbildlänge 4, was auf 4 Blockzeiger/-
Längenfelder hinweist. Gewöhnlich wird diese Länge auf
1 eingestellt, da das Abbild des Speichermediums ein
durchgehender 128K Block ist.
Dieser Wortwert wird initialisiert auf die
Sektorengröße des Speichermediums in Bytes pro Sektor.
Der Blockzeiger des Abbildes des Speichermediums
lokalisiert einen Systemabbildblock auf dem
Speichermedium. Normalerweise gibt es nur einen Zeiger,
da das Abbild des Speichermediums als ein durchgehender
Block gespeichert wird. Auf einer IBL Diskette haben
die Zeiger das Spur-Kopf-Sektor-Format; auf einer
Platte haben die Zeiger das Format der relativen
Blockadresse.
Die Blocklänge des Abbildes des Speichermediums zeigt
den Umfang (in Sektoren) des Blockes an, der sich an
dem entsprechenden Zeiger des Abbildblockes befindet.
Im Falle eines 128K durchgehenden Abbildes des
Speichermediums, das Raum für BASIC einschließt, ist
dieses Feld auf 265 gesetzt, was anzeigt, daß der BIOS
Abbildblock 256 Sektoren (512 Bytes/Sektor) umfaßt,
beginnend an der Stelle des Zeigers für den Abbildblock
des Speichermediums.
Es wird auf die Fig. 6A-6D Bezug genommen. Dort ist
ein genaueres Flußdiagram der Arbeitsweise der IBL
Routine dargestellt. Unter normalen Umständen lädt die
IBL Routine den Stamm-Start-Datensatz von der
Systemfestplatte in den RAM an einer bestimmten Adresse
und steuert dann den Systemprozessor über einen Vektor
so, daß er mit dem Aktivieren des Codesegmentes des
Starmm-Start-Datensatzes beginnt. Die IBL Routine
enthält auch Vorkehrungen für einen Diskettenmodus, in
welchem der Stamm-Start-Datensatz von der Diskette
geladen werden kann. Jedoch gestattet es die IBL
Routine nicht, den Diskettenmodus durchzuführen, wenn
das System das IBL Medium auf einer Festplatte enthält
und ein gültiges Passwort im NVRAM vorhanden ist. Der
Benutzer hat die Wahl, das Passwort in den NVRAM zu
setzen. Der Zweck, zu verhindern, daß der Disketten
modus bewirkt wird, besteht darin, daß das Laden eines
unberechtigten BIOS Abbildes von der Diskette
verhindert wird. Mit anderen Worten wird der Disketten
modus nur benutzt, wenn eine Systemfestplatte nicht
funktionsfähig ist und der Benutzer (durch Nicht
setzen des Passwortes) den Wunsch angezeigt hat, in der
Lage zu sein, von der Diskette zu laden. Wenn die IBL
Routine nicht in der Lage ist, den Stamm-Start-
Datensatz von einem Speichermedium zu laden, wird eine
Fehlernachricht generiert und das System angehalten.
Es wird jetzt auf die Fig. 6A Bezug genommen. Unter
normalen Umständen enthält das System eine Systemfest
platte, die die IBL Routine initialisiert, Schritt 150.
Für Zwecke der Erläuterung wird angenommen, daß die
Festplatte für das Laufwerk C des Personal-Computer
systems konfiguriert ist. In ähnlicher Weise wird
angenommen, daß das Laufwerk A als Diskettenlaufwerk
bezeichnet ist. Die IBL Routine prüft dann das Laufwerk
C, um zu bestimmen, ob es das IBL Medium enthält,
Schritt 152. Die Aufmerksamkeit wird auf die Fig. 68
gelenkt, die im einzelnen diesen Vorgang beschreibt.
Die IBL Routine beginnt das Lesen von der Festplatte an
den drei letzten Sektoren und fährt mit dem Lesen unter
Vermindern des Medienzeigers für 99 Sektoren fort oder
bis ein gültiger Stamm-Start-Datensatz gefunden ist.
Wenn ein Stamm-Start-Datensatz gefunden ist, wird er
auf Kompatibilität von Systemplatine und Prozessor
geprüft, Schritt 156. Wenn er nicht kompatibel mit der
Systemplatine oder dem Prozessor ist, dann wird ein
Fehler gemeldet, Schritt 158. Es erfolgt eine Rückbe
ziehung auf den Schritt 152. Wenn kein Stamm-Start-
Datensatz in den letzten 99 Sektoren der Festplatte
(primäre Festplatte) gefunden wird, wird ein Fehler
gemeldet, Schritt 154.
Es folgt eine Rückbeziehung auf den Schritt 156. Wenn
ein Stamm-Start-Datensatz gefunden ist, wird eine Reihe
von Gültigkeitsprüfungen durchgeführt, um zu bestimmen,
ob der Stamm-Start-Datensatz mit dem Computersystem
kompatibel ist. Zusätzlich wird die Konfiguration des
Systems geprüft. Die Aufmerksamkeit wird auf Fig. 6D
gelenkt. Wenn der Stamm-Start-Datensatz mit der
Platinen-ID, dem Modell- und Untermodell kompatibel ist
und wenn weiterhin die Systemkonfiguration sich nicht
geändert hat, wird der Stamm-Start-Datensatz geladen
und das Codesegment des Stamm-Start-Datensatzes wird
aktiviert, Schritt 160.
Es folgt eine Rückbeziehung auf die Schritte 154 und
158. Wenn ein Fehler beim Laden des Stamm-Start-Daten
satzes von der Festplatte auftritt oder wenn eine
Festplatte nicht verfügbar ist, bestimmt die IBL
Routine, ob ein gültiges Passwort in dem NVRAM
enthalten ist, Schritt 162. Dieses Passwort bestimmt,
ob das BIOS Abbild von der Diskette geladen werden
kann. Es ist zu beachten, daß das Passwort nur
vorhanden ist, wenn es von dem Benutzer durch Ablaufen
eines Installationshilfsprogramms installiert wurde.
Wenn ein Passwort im NVRAM installiert wurde, wird
verhindert, daß das BIOS Abbild von der Diskette
geladen wird, Schritt 164. Dies erlaubt es dem
Benutzer, die Integrität der Systemoperation
sicherzustellen, indem er veranlaßt, daß das System nur
mit dem BIOS Abbild auf der Festplatte geladen wird.
Das Passwort kann die Form einer im NVRAM gespeicherten
Zeichenfolge annehmen.
Es erfolgt eine Rückbeziehung zu Schritt 162. Wenn ein
gültiges Passwort im NVRAM nicht vorhanden ist, und
damit das Laden des BIOS Abbildes von der Diskette
ermöglicht wird, initialisiert die IBL Routine das
Diskettenuntersystem, Schritt 166. Die IBL Routine
bestimmt dann, ob das Laufwerk A das IBL Medium auf
einer Diskette enthält, Schritt 168. Wenn das Laufwerk
A das IBL Medium nicht enthält, wird ein Fehler
generiert, um den Benutzer darauf hinzuweisen, daß eine
ungültige Diskette in das Laufwerk eingeführt wurde,
Schritt 170. Das System hält dann an, Schritt 172. Für
eine genauere Erläuterung des Schrittes 168 wird die
Aufmerksamkeit auf Fig. 6C gelenkt.
Es erfolgt eine Rückbeziehung auf den Schritt 168.
Nachdem das Laufwerk A auf das IBL Medium geprüft
wurde, wird der Stamm-Start-Datensatz in den RAM geladen und
das Codesegment, das in dem Stamm-Start-Datensatz enthalten
ist, wird ausgeführt, Schritt 160. Es ist wichtig, an
zumerken, daß für die Diskette die IBL Routine nicht
die Gültigkeitsprüfungen einschließt, die bei dem Fest
plattensystem benutzt werden. Der Grund für das Fehlen
der Gültigkeitsprüfungen ist das Laden eines nicht
kompatiblen IBL Abbildes von der Diskette. Wenn
beispielsweise ein neuer Prozessor dem System hinzu
geführt wird, wird ein neues BIOS Abbild auf der
Diskette enthalten sein. Da ein neuer Prozessor
Gültigkeitsfehler verursacht, wenn von der Festplatte
geladen wird, sorgt die IBL Routine für die Möglich
keit, diese Prüfungen durch Laden des BIOS Abbildes von
der Diskette zu umgehen.
Kurz zusammengefaßt wird der Stamm-Start-Datensatz auf Kom
patibilität mit dem System geprüft durch Vergleich der
Werte für die Systemplatinen ID und der Prozessor
Modell-/Untermodellwerte mit den Werten des
Stamm-Start-Datensatzes. Für die Platte wird diese
Prüfung zuerst in der IBL Routine 72 durchgeführt und
dann wieder in dem IBL Start-Satz. Die erste Prüfung
(in der IBL Routine) wird vorgenommen, um
sicherzustellen, daß der Start-Satz mit dem System
kompatibel ist. Die zweite Prüfung (in dem Start-Satz)
wird vorgenommen, um sicherzustellen, daß ein
kompatibler ROM die Steuerung dem Start-Satz übergab.
Es ist zu beachten, daß die in dem Platten-Start-Satz
vorgenommene Prüfung bei einem kompatiblen ROM niemals
fehlschlägt, da die IBL Routine die Kompatibilität
bereits geprüft hat. Im Gegensatz dazu wird die Kom
patibilitätsprüfung für die Diskette nicht durchge
führt. Die Kompatibilität Platine/Prozessor wird nur
während der Aktivierung des Disketten-Start-Satzes
durchgeführt. Diese Methode erlaubt zukünftige Modi
fikationen beim Laden eines neuen BIOS Abbildes von
einer Bezugsdiskette.
Im Hinblick auf die Beschreibung der IBL Routine von
Fig. 6A wird die Erläuterung nun fortschreiten zu einem
umfassenden und vollen Verständnis der Gültig
keitsprüfungen, die oben abgehandelt wurden. In Fig. 6B
ist ein ausführliches Flußdiagramm des Schrittes 152
der Fig. 6A dargestellt, um zu bestimmen, ob ein
gültiger Stamm-Start-Datensatz sich im Laufwerk C befindet.
Das Verfahren beginnt durch Gewinnen der Laufwerkspara
meter, um die IBL Routine in die Lage zu versetzen, auf
das Laufwerk C zuzugreifen, Schritt 200. Eine IBL Lade
stelle wird auf die letzten drei Sektoren der Platte
eingestellt (die letzten drei Sektoren enthalten nor
malerweise den Stamm-Start-Datensatz), Schritt 202. Ein
Ladezählerfeld, das die Anzahl der Versuche anzeigt,
einen Stamm-Start-Datensatz von der Platte zu lesen,
wird auf 1 gesetzt, Schritt 204. Die drei Sektoren
werden von der Platte in die IBL Ladelokation gelesen,
Schritt 206. Wenn ein Lesefehler eines Plattenlaufwerks
auftritt, wird er gemeldet, Schritte 208-210. Der
Prozeß springt dann mit einer Fehleranzeige zurück,
Schritte 212-214.
Es erfolgt eine Rückbeziehung auf Schritt 208. Wenn
keine Laufwerksfehler auftreten, wird der Plattensatz
nach der Stamm-Start-Datensatz-Signatur abgesucht,
Schritt 216. Die Start-Datensatz-Signatur z.B. die
Zeichen "ABC" werden mit den ersten 3 Bytes des
Plattensatzes verglichen. Wenn der Plattensatz eine
gültige Start-Satz-Signatur aufweist (Zeichen "ABC"),
und die berechnete Prüfsumme des Plattensatzes, der in
den Speicher geladen wurde, der Start-Satz-Prüfsumme
gleicht, wird der Plattensatz als ein gültiger
Start-Satz ohne Fehler angezeigt, Schritt 218. Der
Prozeß springt dann zurück, Schritt 214.
Es erfolgt eine Rückbeziehung auf den Schritt 216. Wenn
die Start-Satz-Signatur oder Prüfsumme ungültig ist,
wird die Ladezählung um 1 erhöht, Schritt 220. Die
Ladezählung wird dann mit einer vorgegebenen Konstanten
wie beispielsweise 99 verglichen, Schritt 222. Wenn 99
Versuche, einen Stamm-Start-Datensatz zu lesen,
fehl schlugen, wird ein Fehler angezeigt und der Prozeß
springt zurück, Schritt 224, 212 und 214. Wenn weniger
als 99 Versuche unternommen wurden, einen
Stamm-Start-Datensatz zu lesen, wird die IBL Ladestelle
um 1 verringert und 3 neue Sektoren werden von der
neuen Ladestelle gelesen, Schritte 226 und 206. Wenn
daher ein gültiger IBL Stamm-Start-Datensatz nicht
von den letzten 99 Sektoren (equivalent zu 33 Kopien)
geladen werden kann, dann wird eine Fehlerbedingung
gesetzt und die Steuerung springt zu der IBL Routine
zurück.
In Fig. 6C ist ein genaues Flußdiagramm für das Laden
des Stamm-Start-Datensatzes von der Diskette im
Laufwerk A dargestellt. Zuerst werden die Parameter des
Diskettenlaufwerkes abgerufen, um auf das Laufwerk A
zuzugreifen, Schritt 230. Die IBL Ladestelle wird auf
die letzten 3 Sektoren auf der Diskette (Zylinder, Kopf
und Sektor-Format) eingestellt, Schritt 232. Die
letzten 3 Sektoren werden gelesen, Schritt 234. Wenn
ein Diskettenlaufwerksfehler erkannt wird, wird ein
Fehler angezeigt, Schritte 236-238. Eine
Fehlerbedingung wird gesetzt und die Steuerung springt
zur IBL Routine zurück, Schritte 240-242.
Wenn im Schritt 236 kein Laufwerksfehler erkannt wird,
wird der Diskettensatz auf die Stamm-Start-Satz-
Signatur geprüft und die Prüfsumme berechnet, Schritt
244. Wenn die Start-Satz-Signatur fehlt oder die
Prüfsumme ungültig ist, wird ein Fehler angezeigt und
die Steuerung der IBL Routine zurückgegeben, Schritte
244, 246, 240 und 242. Wenn eine gültige Start-
Satz-Signatur und eine gültige Prüfsumme erkannt
werden, wird eine Anzeige gesetzt und die Steuerung der
IBL Routine zurückgegeben, Schritte 248 und 242. Es ist
zu beachten, daß beim Diskettenladen die IBL Routine
nicht das Speichermedium durchsucht wie beim Laden der
Festplatte. Daher muß beim Diskettenladen das IBL
Speichermedium an einer bestimmten Speicherstelle der
Diskette gespeichert sein.
Schließlich zeigt Fig. 6D wie die IBL Routine auf
Kompatibilität der Systemplatine und des Prozessors
prüft und auf eine richtige Systemkonfiguration. Der
Stamm-Start-Datensatz wird auf Kompatibilität mit der
Systemplatine geprüft durch Vergleichen des Platinen-
ID-Wertes des Start-Satzes mit der Platinen ID des
Systems, die von dem Systemprozessor gelesen wird,
Schritt 260. Wenn die Platinen ID des Systems nicht
mit dem Platinen ID-Wert des Start-Satzes überein
stimmt, zeigt dies an, daß dieser Stamm-Start-Datensatz
nicht kompatibel ist mit der Platine. Ein Fehler wird
angezeigt, und die Steuerung springt zu der IBL Routine
zurück, Schritte 262, 264 und 266.
Wenn der Stamm-Start-Datensatz mit der Platine
kompatibel ist, wird der Stamm-Start-Datensatz auf
Kompatibilität mit dem Prozessor geprüft, Schritt 268.
Der Modell- und Untermodellwert des Start-Satzes werden
mit dem Modellwert und dem Untermodellwert, die im ROM
gespeichert sind, verglichen. Eine Nichtübereinstimmung
zeigt an, daß wahrscheinlich ein neuer Prozessor
eingefügt wurde und dieser Start-Satz nicht kompatibel
ist mit dem neuen Prozessor. Ein Fehler wird angezeigt,
und die Steuerung zu der IBL Routine zurückgeführt,
Schritte 270, 264 und 266. Wenn der Stamm-Start-Datensatz
mit der Platine und dem Prozessor kompatibel ist, prüft
der Prozeß, um zu bestimmen, ob der NVRAM zuverlässig
ist, Schritt 272. Wenn der NVRAM unzuverlässig ist,
wird ein Fehler angezeigt und die Steuerung der IBL
zurückgegeben, Schritt 274 und 266. Wenn der NVRAM
zuverlässig ist, wird die Systemkonfiguration geprüft,
Schritt 276. Eine Änderung in der Systemkonfiguration
wird angezeigt, wenn die im NVRAM gespeicherten Modell
und Untermodellwerte nicht mit den im ROM gespeicherten
Modell- und Untermodellwerten übereinstimmen. Es ist zu
beachten, daß dieser letzte Vergleich nur einen
Konfigurationsfehler anzeigt. Wenn ein Konfigurations
fehler angezeigt wird, wird ein Fehler für den Benutzer
generiert. Dieser Fehler benachrichtigt den Benutzer,
daß die Konfiguration des Systems sich geändert hat
seit das SET-Konfigurationsprogramm das letzte Mal
ablief. Der Benutzer wird von der geänderten
Konfiguration benachrichtigt und die Steuerung springt
zu der IBL Routine zurück, Schritte 278, 264 und 266.
Dieser Fehler selbst ist nicht verhängnisvoll, er
benachrichtigt aber den Benutzer, daß die SET-
Konfiguration (Konfigurationsprogramm) aktiviert werden
muß. Es erfolgt eine Rückbeziehung auf den Schritt 276.
Wenn die Systemmodell-/Untermodellwerte übereinstimmen,
wird eine Komptabilitätsanzeige gesetzt und die Routine
springt zurück, Schritte 276, 274 und 266. Daher wird
die Kompatibilität zwischen dem Stamm-Start-Datensatz
und dem System zusammen mit der Bestimmung geprüft, ob
die Systemkonfiguration modifiziert wurde.
Nachdem die IBL Routine den Stamm-Start-Datensatz in den
RAM lädt, überträgt sie die Steuerung zu der Anfangs
adresse des MBR-Code. Es wird auf Fig. 7 Bezug genom
men. Das aktivierbare Codesegment des Stamm-Start-
Datensatzes überprüft zuerst das MBR Muster gegenüber
dem Muster im ROM, Schritt 300. Wenn das Muster in dem
Stamm-Start-Datensatz nicht mit dem Muster im ROM
übereinstimmt, wird ein Fehler generiert und das System
hält an, Schritte 302 und 305. Die Prüfung auf
Gleichheit zwischen den Mustern des ROM und dem
Stamm-Start-Datensatz stellt sicher, daß der
Stamm-Start-Datensatz, der entweder von der Platte oder
Diskette geladen wurde, kompatibel ist mit dem ROM auf
der Platine. Es erfolgt eine Rückbeziehung auf den
Schritt 300. Wenn das Muster im ROM mit dem Muster im
Stamm-Start-Datensatz übereinstimmt, vergleicht der MBR
Code den Platinen-ID-Wert des Systems, den Modell- und
Untermodellwert mit den entsprechenden Werten des
Stamm-Start-Datensatzes, Schritt 304. Dieser Vorgang
wurde ausführlich mit Bezug auf die Fig. 6D diskutiert.
Wenn die Werte nicht übereinstimmen, ist der
Stamm-Start-Datensatz nicht kompatibel mit der
Systemplatine und dem Prozessor oder die Systemkon
figuration hat sich geändert, und ein Fehler wird
generiert, Schritt 306. Das System hält dann an,
Schritt 305.
Es erfolgt eine Rückbeziehung auf den Schritt 304.
Wenn der Platinen-ID-Wert des System, der Modell- und
Untermodellwert mit den entsprechenden Werten des
Stamm-Start-Datensatzes übereinstimmen, lädt der
MBR-Code das BIOS Abbild von dem ausgewählten
Speichermedium in den RAM des Systems, Schritt 308.
Wenn ein Ladefehler beim Lesen der Daten auftritt,
Schritt 310, wird ein Fehler generiert und das System
hält an, Schritte 312 und 305. Es erfolgt eine
Rückbeziehung auf den Schritt 310. Wenn kein Ladefehler
auftritt, wird eine Prüfsumme für das BIOS Abbild im
Speicher berechnet, Schritt 314. Wenn die Prüfsumme
ungültig ist, wird ein Fehler generiert und das System
hält an, Schritte 318 und 305. Es erfolgt eine
Rückbeziehung auf den Schritt 316. Wenn die Prüfsumme
gültig ist, werden die Systemunterteilungszeiger
gespeichert, Schritt 320 und der Systemprozessor wird
über einen Vektor zur POST Stufe II gesteuert, um das
Laden des Systems zu beginnen, Schritt 322.
In Fig. 8 ist ein Blockdiagramm einer intelligenten
Plattensteuereinheit 350 zur Steuerung der Datenbe
wegung zwischen einem Plattenlaufwerk 351 und dem
Systemprozessor gezeigt. Es versteht sich, daß die
Plattensteuereinheit 350 in die Adapterkarte 60
eingesetzt werden kann, während das Plattenlaufwerk 351
in dem Laufwerk 62 der Fig. 2 eingeschlossen sein kann.
Eine geeignete Plattensteuereinheit 350 ist der
Schnittstellenadapter für kleine Computersysteme, kurz
als SCSI Adapter bezeichnet, der eine Teilenummer
33F8740 besitzt und von der International Business
Machines Corporation hergestellt wird. Es versteht
sich, daß die Plattensteuereinheit 350 einen Micro
prozessor 352 enthält, der zur Steuerung seiner
internen Operationen als auch seiner Schnittstellen zu
den anderen Elementen des Plattenuntersystems und des
Systemprozessors unter seinem eigenen internen
Taktgeber arbeitet. Der Mikroprozessor 352 ist über
eine Instruktionsbusleitung 354 mit einem Festwert
speicher (ROM) 356 verbunden, der Instruktionen
speichert, die die Plattensteuereinheit 350 ausführt,
um die Datenbewegung zwischen dem Plattenlaufwerk und
dem Systemprozessor zu verarbeiten und zu steuern. Es
versteht sich ebenso, daß die Plattensteuereinheit 350
einen Speicher mit wahlfreiem Zugriff einschließen
kann, der für das Speichern oder Wiederauffinden von
Daten mit dem Mikroprozessor 352 verbunden ist. Die
Datenbewegung zwischen der Plattensteuereinheit 350 und
dem Systemprozessor wird über die Datenbusleitung 358
und die Instruktionsbusleitung 360 bewirkt.
Ein Rückstellsignal auf der Leitung 362 stellt die
Logik der Plattensteuereinheit zurück oder
initialisiert sie bei der Netzstromeinschaltfolge oder
während einer Systemrückstellung. Das Rückstellsignal
wird durch die Logik der Platine generiert und kann die
Form eines Kanalrücksetzsignals annehmen wie das durch
die MIKROKANAL-Normalarchitektur der IBM zur Verfügung
gestellt wird, die beschrieben ist im "IBM Personal
System/2 Seminar Proceedings" Vol. 5, Nr. 3, Mai 1987,
veröffentlicht durch die International Business
Machines Corporation, Entry Systems Division. Darüber
hinaus kann das Rückstellsignal effektiv durch das BIOS
aufgerufen werden durch Ausgeben einer besonderen
Bitkonfiguration an einen I/O-Anschluß des Systempro
zessors, mit dem die Platinenlogik verbunden ist.
Der Mikroprozessor 352 liefert in bekannter Weise alle
Schnittstellen- und Taktsignale, um eine wirksame
Übertragung von Daten zwischen dem Plattenlaufwerk und
dem Systemprozessor zu bewirken. Aus Gründen der
Klarheit werden nur die für das Verständnis der Erfin
dung wichtigen Signale dargestellt. Es versteht sich,
daß andere Signale und Leitungen, wie beispielsweise
eine Datenbusleitung 364 benutzt werden, aber hier
nicht dargestellt werden, da sie nicht für das
Verständnis der vorliegenden Erfindung wichtig sind. Es
versteht sich weiter, daß nur diejenigen Programme oder
Routinen im Hinblick auf Fig. 9 erläutert werden, die
im ROM 356 gespeichert und für das Verständnis der
vorliegenden Erfindung wichtig sind.
In Fig. 9 ist ein Flußdiagramm der Lese-, Schreib- und
Schutzfunktionen der Plattensteuereinheit dargestelft,
die durch die Funktion der im ROM 356 gespeicherten
Routinen bewirkt werden. Im Betrieb wird eine
Platteninstruktion vom Prozessor aufgerufen und zu der
Plattensteuereinheit 350 übertragen. Die Plattensteuer
einheit empfängt und interpretiert die Instruktion, um
die bezeichnete Operation durchzuführen, Schritt 400.
Die Plattensteuereinheit bestimmt zuerst, ob dies eine
Schreiboperation ist, in der Daten von dem Systempro
zessor in die Hardware des Plattenlaufwerkes
gespeichert werden, Schritt 402. Wenn die Instruktion
eine Schreibinstruktion ist, werden Daten vom System
prozessor im relativen Blockadressen-Format, kurz als
RBA Format bezeichnet, gespeichert.
Vor dem Fortsetzen der obigen Diskussion mag eine kurze
Erklärung des relativen Blockadressen-Formates, das
einer Massenspeichereinrichtung, wie einer Platte,
zugeordnet ist, sinnvoll sein. RBA ist ein Schema, in
dem Daten in einem Massenspeicher in Blöcken
vorgegebener Größe durch fortlaufende Zahlen adressiert
werden, d. h. einzeln definierbare durchgehende
Datenblöcke. Z.B. kann der Systemprozessor, wenn eine
Blockgröße von 1024 Bytes angenommen wird, ungefähr
10 000 Blöcke bei einer 10 Megabyte Platte adressieren.
D.h. der Systemprozessor kann das Plattenspeicher
medium in Ausdrücken von N Blöcken adressieren, wobei N
im Bereich von 0-9999 liegt. Es wurde entdeckt, daß
die Benutzung von RBA ein sehr schnelles und
wirkungsvolles Verfahren zur Adressierung eines
Massenspeichers für die Art von Betriebssystemen zur
Verfügung stellt, die für Personal-Computersysteme der
vorliegenden Erfindung benutzt werden.
Zur Erleichterung werden die folgenden Annahmen ge
macht: 1. die Platte kann eine Gesamtzahl von N Blöcken
tragen, 2. der Systemprozessor überträgt einen K Block,
wobei K größer als oder gleich 0 ist und kleiner als
oder gleich (N-1), 3. die Plattensteuereinheit kann
einen maximal adressierbaren Block M einstellen, der
Zugriff zu den Datenblöcken erlaubt, wobei K kleiner
ist als M, und verweigert Zugriff auf Datenblöcke, wenn
K größer als oder gleich M ist. Es ist zu beachten, daß
durch Setzen von M kleiner als N eine schützbare Region
auf der Platte erzeugt wird von M bis N-1 Blöcken.
Dieses Merkmal erlaubt dem IBL Medium geschützt zu
werden, wie unten erläutert wird.
Die Diskussion wird unter Bezugnahme auf Fig. 9 fort
gesetzt. Die Daten werden von der Platte im RBA Format
empfangen, Schritt 404. Die Plattensteuereinheit be
stimmt dann, ob der empfangene Block K kleiner ist als
der maximale Blockwert M, wobei M kleiner ist als N,
Schritt 406. Wenn K kleiner als M ist, dann wandelt die
Plattensteuereinheit das RBA Format in das besondere
Format für die Massenspeichereinrichtung um, wie in das
Zylinder-Kopf-Sektor (ZKS) Format für eine Festplatte,
Schritt 408. Beispielsweise könnte die Plattensteuer
einheit durch Verwendung einer Suchtabelle die RBA
Adressen in eine eindeutige Zylinder-Kopf-Sektor-Stelle
umwandeln. Ein anderes Verfahren ist die Benutzung
einer Umwandlungsformel, um RBA in ZKS umzuwandeln. Für
eine Platte mit 1 Kopf, 64 Zylindern und 96 Sektoren
gilt: Kopf = 0, Zylinder = Quotient RBA/(96) und
Sektoren = Rest RBA/(96). Nach dem Umwandeln des RBA
Formates in ein ZKS Format werden die Daten auf die
Platte geschrieben an der umgewandelten ZKS Stelle,
Schritt 410. Die Plattensteuereinheit wartet dann auf
eine weitere Instruktion des Systemprozessors, Schritt
412.
Es erfolgt eine Rückbeziehung auf den Schritt 406, wenn
die empfangene RBA größer als der maximal eingestellte
RBA Wert ist, wird der Zugriff verweigert, Schritt 414.
D. h., wenn K größer ist oder gleich M, wird der K
Block nicht auf die Platte geschrieben. Es ist zu
beachten, daß wenn das IBL Medium in den Blöcken von M
bis N-1 gespeichert ist, daß dann das IBL Medium vor
dem Schreiben geschützt wird.
Wenn im Schritt 402 die Instruktion vom Systemprozessor
keine Schreibinstruktion ist, wird sie darauf geprüft,
ob sie eine Leseinstruktion ist, Schritt 416. Wenn die
Instruktion eine Leseinstruktion ist, sendet der
Systemprozessor das RBA Format für die angeforderten
Daten, Schritt 418. Die Plattensteuereinheit bestimmt
dann, ob die gewünschte RBA (K) kleiner als die maximal
eingestellte RBA (M) ist. Wenn die gewünschte RBA (K)
kleiner als die maximal eingestellte RBA (M) ist, dann
wandelt die Plattensteuereinheit die RBA in das geeig
nete ZKS Format und liest die Daten von der Platte,
Schritte 422 und 424. Die Daten werden dann zu dem
Systemprozessor übertragen, Schritt 412.
Wenn im Schritt 420 die empfangene RBA (K) größer oder
gleich der maximal eingestellten RBA (M) ist, wird der
Zugriff verweigert, Schritt 426. Wenn das IBL Medium
zwischen M Blöcken und (N-1) Blöcken gespeichert ist,
wird der Zugriff zu diesem Bereich verweigert. Es ist
zu beachten, daß in diesem Fall das IBL Medium auch
gegen Kopieren geschützt ist.
Wenn im Schritt 416 die Instruktionen keine Schreib
oder Leseinstruktion ist, wird geprüft, ob sie eine
Instruktion zum Einstellen der maximalen RBA ist,
Schritt 428. Diese Instruktion erlaubt der Platten
steuereinheit einen schützbaren Bereich oder eine
Unterteilung auf der Hardware des Plattenlaufwerkes zu
schaffen. Diese Instruktion erlaubt der Plattensteuer
einheit, M zwischen 0 und N Blöcken einzustellen,
Schritt 430. Es ist wichtig zu beachten, daß wenn die
Plattensteuereinheit rückgestellt wird (durch das
Rückstellsignal), daß dann M so eingestellt wird, daß
die maximale Anzahl von Blöcken verfügbar ist. D.h.,
wenn die Plattensteuereinheit rückgestellt wird, M = N.
Im wesentlichen wird der Schutz für den schützbaren Be
reich beseitigt beim Rückstellen der Plattensteuerein
heit, wodurch Zugriff zu dem Bereich gestattet wird.
Wenn jedoch die Instruktion zum Setzen der maximalen
RBA einmal ausgeführt wurde, erlaubt nur eine Rück
stellinstruktion oder eine andere Instruktion zum
Einstellen der maximalen RBA den Zugriff zum schütz
baren Bereich. Begrifflich kann das Einstellen der
maximalen RBA gedacht werden als das Errichten eines
Zaunes, der den Zugriff zu dem Bereich oberhalb des
Launes schützt, während er ihn zu dem Bereich unterhalb
des Zaunes erlaubt. Die Plattensteuereinheit springt
dann zurück, um dann auf eine andere Instruktion zu
warten, Schritt 412.
Es erfolgt eine Rückbeziehung auf den Schritt 428. Wenn
die Instruktion keine Lese- oder Schreibinstruktion
oder keine Instruktion zum Setzen der maximalen RBA
ist, wird geprüft, ob eine andere Instruktion für die
Plattensteuereinheit vorliegt und diese ausgeführt,
Schritt 432. Diese Instruktionen benutzen den einge
stellten maximalen RBA Wert, sind aber für das
Verständnis der vorliegenden Erfindung nicht wichtig
und werden hier aus Gründen der Kürze nicht darge
stellt. Die Plattensteuereinheit springt dann zurück
und erwartet eine andere Instruktion, Schritt 412.
Die Erläuterung schreitet nun fort zu dem Vorgang des
Ladens und Schützens des IBL Mediums im Hinblick auf
die fortschreitende Diskussion. Im allgemeinen wird
die Plattensteuereinheit, die das IBL Medium enthält,
von einem Kaltstart (Netzstrom ein) oder einem Warm
start rückgestellt. Dies veranlaßt, daß die maximale
RBA (M) auf N gesetzt wird, d.h. der Zaun wird
entfernt, wodurch Zugriff auf das IBL Medium möglich
ist. Dies ist erforderlich, um dem System zu erlauben,
das IBL Medium zu laden, um den Betrieb zu beginnen.
Nachdem das IBL Medium einmal geladen und aktiviert
ist, wird der Zaun errichtet (Einstellen der maximalen
RBA unter dem IBL Medium), um den Zugriff zu dem auf
der Platte gespeicherten IBL Medium zu verhindern.
In Fig. 10 ist ein Flußdiagramm gezeigt, das den Schutz
des IBL Mediums bewirkt. Von einer Einschaltbedingung
her wird das System initialisiert und BIOS leitet die
Aktivität in der Logik der Platine ein, um eine Rück
stellbedingung an die Plattensteuereinheit zu senden,
Schritte 450 und 452. Das Rücksetzsignal beseitigt den
Zaun und erlaubt dem Systemprozessor, auf das IBL
Medium zuzugreifen, das vorher auf der Platte in dem
Bereich von Block M bis Block N gespeichert wurde. Das
System lädt das IBL Medium, wie vorher mit Bezug auf
die Fig. 4-7 beschrieben wurde, Schritt 454. Während
der IBL Ladefolge wird die POST Stufe II ausgeführt,
Schritt 456. Eine der Aufgaben der POST Stufe II ist
es, die Instruktion zum Einstellen der maximalen RBA zu
aktivieren, wobei die maximale RBA auf die ersten
Blöcke des IBL Mediums gesetzt wird, die mit M
bezeichnet sind, Schritt 458. M ist abhängig von der
Art der Unterteilung (keine, teileweise oder volle),
wie es vorher erklärt wurde. Dies bewirkt das
Aufrichten des Zaunes, der den Zugriff zu dem IBL
Medium verhindert, während er den Zugriff zu den
anderen Regionen der Platte zuläßt. Das Betriebssystem
wird dann in normaler Weise gestartet, Schritt 460.
Wenn das System von einer Warmstartbedingung gestartet
wird, erhält die Platinenlogik den Befehl, die Platten
steuereinheit durch die POST Stufe II rückzustellen,
Schritte 462 und 464. Dies veranlaßt, daß der Zaun ab
gebaut wird. In diesem Falle wird das IBL Medium nicht
wieder geladen, da es bereits im RAM vorhanden ist. Da
jedoch der Schutz für das IBL Medium eliminiert wurde,
muß der POST Stufe II aktiviert werden, um den Zaun
wieder aufzubauen, Schritte 456 und 458. Der Zaun wird
aufgerichtet und schützt das IBL Medium und das System
wird dann in normaler Weise neu gestartet, Schritt 460.
Es ist ein Verfahren und ein Gerät für den Schutz des
Zugriffs zu dem auf einer Massenspeichereinrichtung,
wie einer Platteneinheit, gespeicherten IBL Medium
gezeigt worden. Das IBL Medium wird geschützt durch
Adressieren des Massenspeichers in Blöcken und durch
Einsetzen eines maximalen Blockes auf den das System
bei normaler Operation zugreifen kann. Das IBL Medium
ist fortlaufend in denjenigen Blöcken zwischem dem
zugreifbaren maximalen Block und der Gesamtzahl der
Blöcke gespeichert, die von der Platteneinheit getragen
werden. Ein der Plattensteuereinheit zugeführtes Rück
stellsignal eliminiert den zugänglichen maximalen
Block, um dem System das Adressieren des IBL Mediums zu
ermöglichen. Das Rückstellsignal wird während einer
Einschalt- oder einer Warmsstartbedingung erzeugt, um
den Zugriff auf das IBL Medium zu gestatten, um das
System zu starten.
Während die Erfindung in Verbindung mit einem bevor
zugtem Ausführungsbeispiel erläutert wurde, versteht es
sich, daß viele Variationen den Fachleuten einfallen
und das der Schutzumfang der Erfindung nur durch die
hier folgenden Patentansprüche bestimmt wird.
Claims (25)
1. Computersystem (10) enthaltend:
einen Systemprozessor (26), einen Festwertspeicher (36), einen Hauptspeicher (32) mit wahlfreiem Zugriff und zumindest eine Speichereinrichtung (62) mit direktem Zugriff, die eine Reihe von Datensätzen speichern kann,
dadurch gekennzeichnet, daß das System (10) weiter enthält:
Initialisierungsmittel, die in dem Festwert speicher (36) enthalten sind zum Initialisieren des Systemprozessors (26) und zum Erzeugen eines Rückstellsignals für die Speichereinrichtung (62) mit direktem Zugriff, um den Zugriff auf die Datensätze zu ermöglichen,
Lademittel zum Laden von Datensätzen aus der Speichereinrichtung (62) mit direktem Zugriff in den Hauptspeicher (32), wobei die Lademittel in einer schützbaren Unterteilung der Speicherein richtung (62) mit direktem Zugriff gespeichert sind und die Lademittel aus der Speichereinrich tung (62) mit direktem Zugriff in den Haupt speicher (32) durch die Initialisierungsmittel gelesen werden, wobei das Initialisierungsmittel das Lademittel aktiviert,
ein im Hauptspeicher untergebrachtes Programm abbild, das in der schützbaren Unterteilung der Speichereinrichtung (62) mit direktem Zugriff gespeichert ist, wobei das im Hauptspeicher untergebrachte Programmabbild aus der Speicher einrichtung (62) mit direktem Zugriff in den Hauptspeicher (32) durch das Lademittel gelesen wird, um ein im Hauptspeicher untergebrachtes Programm zu erzeugen,
Schutzmittel zum Schützen der schützbaren Unter teilung der Speichereinrichtung (62) mit direktem Zugriff, wobei das Schutzmittel durch das im Hauptspeicher untergebrachte Programm aktiviert wird, um den unberechtigten Zugriff auf das Lade mittel und das im Hauptspeicher befindliche Pro grammabbild zu verhindern.
einen Systemprozessor (26), einen Festwertspeicher (36), einen Hauptspeicher (32) mit wahlfreiem Zugriff und zumindest eine Speichereinrichtung (62) mit direktem Zugriff, die eine Reihe von Datensätzen speichern kann,
dadurch gekennzeichnet, daß das System (10) weiter enthält:
Initialisierungsmittel, die in dem Festwert speicher (36) enthalten sind zum Initialisieren des Systemprozessors (26) und zum Erzeugen eines Rückstellsignals für die Speichereinrichtung (62) mit direktem Zugriff, um den Zugriff auf die Datensätze zu ermöglichen,
Lademittel zum Laden von Datensätzen aus der Speichereinrichtung (62) mit direktem Zugriff in den Hauptspeicher (32), wobei die Lademittel in einer schützbaren Unterteilung der Speicherein richtung (62) mit direktem Zugriff gespeichert sind und die Lademittel aus der Speichereinrich tung (62) mit direktem Zugriff in den Haupt speicher (32) durch die Initialisierungsmittel gelesen werden, wobei das Initialisierungsmittel das Lademittel aktiviert,
ein im Hauptspeicher untergebrachtes Programm abbild, das in der schützbaren Unterteilung der Speichereinrichtung (62) mit direktem Zugriff gespeichert ist, wobei das im Hauptspeicher untergebrachte Programmabbild aus der Speicher einrichtung (62) mit direktem Zugriff in den Hauptspeicher (32) durch das Lademittel gelesen wird, um ein im Hauptspeicher untergebrachtes Programm zu erzeugen,
Schutzmittel zum Schützen der schützbaren Unter teilung der Speichereinrichtung (62) mit direktem Zugriff, wobei das Schutzmittel durch das im Hauptspeicher untergebrachte Programm aktiviert wird, um den unberechtigten Zugriff auf das Lade mittel und das im Hauptspeicher befindliche Pro grammabbild zu verhindern.
2. Computersystem (10) nach Anspruch 1, bei dem der
Festwertspeicher (36) einen ersten Teil des Basis
Eingabe-/Ausgabesystems, im folgenden kurz BIOS
(basic input/output system) bezeichnet, speichert
und bei dem das im Hauptspeicher untergebrachte
Programmabbild ein restlicher Teil des BIOS ist.
3. Computersystem (10) nach Anspruch 1 oder 2, bei
dem das Lademittel weiter ein Mittel zur
Gültigkeitsprüfung enthält, um zu bestätigen, daß
das System (10) mit dem im Hauptspeicher
untergebrachten Programm kompatibel ist.
4. Computersystem (10) nach den Ansprüchen 2 oder 3,
bei dem das Lademittel einen Stamm-Start-Datensatz
enthält, der ein aktivierbares Codesegment zum
Bewirken des Ladens des im Hauptspeicher unterge
brachten Programms besitzt, wobei das Initialisie
rungsmittel die Steuerung zu dem aktivierbaren
Codesegment überträgt, um das Laden des im Haupt
speicher untergebrachten Programmabbildes in den
Hauptspeicher (32) zu bewirken.
5. Computersystem (10) nach einem der Ansprüche 1 bis
4, bei dem das Initialisierungsmittel einen
Selbsttest beim Einschalten enthält, wobei das
Mittel zum Selbsttest beim Einschalten nur
diejenigen Systemfunktionen initialisiert und
testet, die notwendig sind, um das im
Hauptspeicher untergebrachte Programm zu laden.
6. Computersystem (10) nach Anspruch 5, bei dem das
Mittel für den Selbsttest beim Einschalten die
Funktionen des Systemprozessors (26), die
Speicheruntersysteme und die ein Untersystem
bildende Speichereinrichtung (62) mit direktem
Zugriff initialisiert.
7. Computersystem (10) nach einem der Ansprüche 1 bis
6, bei dem das Mittel zur Gültigkeitsprüfung Daten
enthält, die die Art des Systemprozessors (26) und
die Konfiguration einer Systemplatine (24), die
mit dem Systemprozessor (26) verbunden ist,
darstellen.
8. Computersystem (10) nach einem der Ansprüche 1 bis
7, bei dem zumindest eine Speichereinrichtung (26)
mit direktem Zugriff ein Festplattenlaufwerk
enthält, wobei das Lademittel Datensätze von dem
Festplattenlaufwerk in den Hauptspeicher (32)
lädt.
9. Computersystem (10) nach Anspruch 8, bei dem das
Festplattenlaufwerk eine Plattensteuereinheit
enthält und bei dem weiter der Systemprozessor
(26) Datensätze zu der Plattensteuereinheit in
Blöcken überträgt, die ein Format besitzen, das
die Blöcke sequentiell numeriert, und bei dem
weiter der Stamm-Start-Datensatz und der restliche
Teil des BIOS wirksam in den höherstellig
numerierten Blöcken gespeichert sind.
10. Computersystem (10) nach Anspruch 8 oder 9, in dem
das Schutzmittel das Einsetzen eines
adressierbaren maximalen Blocks umfaßt, wobei der
adressierbare maximale Block der niederstelligst
numerierte Block des Stamm-Start-Datensatzes und
des restlichen Teiles des BIOS ist, wobei das
Schutzmittel den Zugriff auf Blöcke, die größer
oder gleich als der adressierbare maximale Block
sind, verhindert, während sie Zugriff auf Blöcke
kleiner als der adressierbare maximale Block
erlaubt.
11. Computersystem (10) nach Anspruch 10, bei dem das
Initialisierungsmittel die Erzeugung des
Rückstellsignals als Antwort auf das Zuführen des
Netzstromes zu dem System (10) einleitet.
12. Computersystem (10) nach Anspruch 10, bei dem das
Initialisierungsmittel das Erzeugen des
Rückstellsignals als Antwort auf eine Rückstell
bedingung, die dem System (10) zugeführt wird,
einleitet.
13. Computersystem (10) nach einem der Ansprüche 1 bis
12, bei dem der Stamm-Start-Datensatz weiter ein
Datensegment enthält, das die Hardwarekonfigura
tion des Systems (10) darstellt, das kompatibel
mit dem Stamm-Start-Datensatz ist und
bei dem der Festwertspeicher (36) Daten enthält,
die eine Hardwarekonfiguration des System
prozessors (26) darstellen, wobei vor dem Laden
des restlichen Teiles des BIOS in den
Hauptspeicher (32) der erste Teil des BIOS die
Hardwarekonfigurationsdaten des Stamm-Start-
Datensatzes mit den Hardwarekonfigurationsdaten
des Festwertspeichers (36) verglichen wird, um zu
überprüfen, ob der Stamm-Start-Datensatz mit dem
Systemprozessor (26) kompatibel ist.
14. Computersystem (10) nach Anspruch 13, bei dem das
Datensegment des Stamm-Start-Datensatzes einen
Wert einschließt, der eine Systemplatine (24)
darstellt, die kompatibel mit dem Stamm-Start-
Datensatz ist und bei dem weiter die Systemplatine
(24) ein Mittel enthält zum eindeutigen
Identifizieren der Systemplatine (24), um zu
überprüfen, ob der Stamm-Start-Datensatz mit der
Systemplatine (24) kompatibel ist.
15. Computersystem (10) nach Anspruch 13 oder 14, bei
dem die Hardwarekonfigurationsdaten auf dem
Stamm-Start-Datensatz einen Modellwert und einen
Untermodellwert einschließen, wobei der Modellwert
einen Systemprozessor (26) identifiziert, der mit
dem Stamm-Start-Datensatz kompatibel ist, und der
Untermodellwert eine I/O-Konfiguration einer
Systemplatine (24) darstellt, die kompatibel mit
dem Stamm-Start-Datensatz ist, und bei dem
weiterhin der Festwertspeicher (36) einen
entsprechenden Modellwert enthält, der den
Systemprozessor (26) identifiziert und einen
Untermodellwert, der die I/O-Konfiguration der
Systemplatine (24) darstellt, wobei der Modell
und der Untermodellwert des Stamm-Start-
Datensatzes mit dem entsprechenden Modell- und
Untermodellwert des Festwertspeichers (36)
verglichen werden, um zu Überprüfen, ob der
Stamm-Start-Datensatz mit dem Systemprozessor (26)
und der I/O-Konfiguration der Systemplatine (24)
kompatibel ist.
16. Computersystem (10) nach einem der Ansprüche 1 bis
15, weiter enthaltend einen nichtflüchtigen
Speicher mit wahlfreiem Zugriff (58), der
elektrisch mit dem Systemprozessor (26) verbunden
ist, wobei der nichtflüchtige Speicher mit
wahlfreiem Zugriff (58) Daten enthält, die die
Systemkonfigurationen darstellen und die
aktualisiert werden, wenn die Konfiguration des
Systems (10) geändert wird, wobei der erste Teil
des BIOS die Daten in dem nichtflüchtigen Speicher
(58) mit wahlfreiem Zugriff mit entsprechenden
Daten in dem Festwertspeicher (36) vergleicht, um
zu bestimmen, ob die Konfiguration des Systems
(10) sich geändert hat.
17. Computersystem (10) nach einem der Ansprüche 1 bis
16, bei dem die Speichereinrichtung (62) mit
direktem Zugriff eine Festplatte enthält.
18. Computersystem (10) nach Anspruch 17, bei dem der
Systemprozessor (26) Datensätze in Blöcken zu der
Plattensteuereinheit überträgt, die ein Format
besitzen, das die Blöcke sequentiell numeriert,
und in dem weiter der Stamm-Start-Datensatz und
der restliche Teil des BIOS effektiv in den
höherstellig numerierten Blöcken gespeichert sind.
19. Computersystem (10) nach Anspruch 17 oder 18, bei
dem das Schutzmittel das Einstellen eines Blockes
mit maximaler Adresse umfaßt, wobei der Block mit
maximaler Adresse der niedrigst numerierte Block
des Stamm-Start-Datensatzes und des restlichen
Teiles des BIOS ist, wobei das Schutzmittel den
Zugriff auf Blöcke mit gleicher oder höherer
Adresse als der des Blockes mit maximaler Adresse
verhindert, während es den Zugriff auf Blöcke mit
kleinerer Adresse als der des maximal
adressierbaren Blockes zuläßt.
20. Gerät zum Verhindern des unberechtigten Zugriffs
auf das in einer Massenspeichereinrichtung (62) in
einem Personal-Computersystem (10) gespeicherten
BIOS, das einen Systemprozessor (26) besitzt,
wobei die Massenspeichereinrichtung (62) eine
Reihe von Datenblöcken speichern kann, die
zwischen einem ersten und zweiten äußersten
Datenblock definiert sind, wobei auf das BIOS
durch den Systemprozessor (26) in der Form einzeln
definierbarer angrenzender Datenblöcke zugegriffen
werden kann, wobei das BIOS sich erstreckt von
einem dritten äußersten Datenblock zu einem
vierten äußersten Datenblock, wobei die dritten
und vierten Extreme von den ersten und zweiten
Extremen begrenzt sind, das Gerät enthaltend:
ein mit dem Systemprozessor (26) und der Massen speichereinrichtung (62) verbundenes Steuergerät zum Umformen einer Eingabe- oder Ausgabeanforde rung des Systemprozessors (26) in die physikalischen Eigenschaften der Massenspeicher einrichtung (26), wobei die Eingabe/Ausgabe anforderungen in der Form einzeln definierbarer angrenzender Datenblöcke vorliegen,
erste logische Mittel zum Einleiten der Erzeugung eines Rückstellsignals,
zweite logische Mittel zum Erzeugen eines zweiten Signals zum Verhindern eines Zugriffs auf den BIOS Code und
Schutzmittel, die auf das Rückstellsignal ansprechen, um den Zugriff auf den BIOS Code zu erlauben, und die auf das zweite Signal ansprechen zum Setzen einer Grenze beim dritten Datenblock, um den Zugriff auf den BIOS Code während der normalen Ausführung berechtigter Programme durch den Systemprozessor (26) zu verhindern.
ein mit dem Systemprozessor (26) und der Massen speichereinrichtung (62) verbundenes Steuergerät zum Umformen einer Eingabe- oder Ausgabeanforde rung des Systemprozessors (26) in die physikalischen Eigenschaften der Massenspeicher einrichtung (26), wobei die Eingabe/Ausgabe anforderungen in der Form einzeln definierbarer angrenzender Datenblöcke vorliegen,
erste logische Mittel zum Einleiten der Erzeugung eines Rückstellsignals,
zweite logische Mittel zum Erzeugen eines zweiten Signals zum Verhindern eines Zugriffs auf den BIOS Code und
Schutzmittel, die auf das Rückstellsignal ansprechen, um den Zugriff auf den BIOS Code zu erlauben, und die auf das zweite Signal ansprechen zum Setzen einer Grenze beim dritten Datenblock, um den Zugriff auf den BIOS Code während der normalen Ausführung berechtigter Programme durch den Systemprozessor (26) zu verhindern.
21. Gerät nach Anspruch 20, bei dem die
Massenspeichereinrichtung (62) eine Festplatte
enthält, die Eingabe/Ausgabeanforderungen in der
Form eines Zylinder-Kopf-Sektor-Formates trägt und
bei dem weiter die Steuereinheit die Umwandlung
vom Datenblockformat in das Zylinder-Kopf-Sektor-
Format vornimmt.
22. Gerät nach Anspruch 20 oder 21, bei dem das
Steuergerät eine SCSI Adapterkarte einschließt,
die auf den Systemprozessor (26) anspricht.
23. Gerät nach Anspruch 22, bei dem das erste logische
Mittel die Erzeugung des Rückstellsignals als
Antwort auf eine Einschaltbedingung für den
Systemprozessor (26) einleitet.
24. Gerät nach Anspruch 23, bei dem das erste logische
Mittel das Erzeugen des Rückstellsignals als
Antwort auf eine Eingabe von einer mit dem System
(10) verbundene Tastatur einleitet.
25. Verfahren zum Schützen des BIOS in einem
Personal-Computersystem (10), wobei das System
(10) einen Systemprozessor (26) einschließt, einen
Festwertspeicher (36), einen Speicher (32) mit
wahlfreiem Zugriff und eine Speichereinrichtung
mit direktem Zugriff, wobei das Verfahren die
Schritte umfaßt:
- a) Speichern eines ersten Teiles des BIOS in dem Festwertspeicher (36), wobei der erste Teil des BIOS Mittel zum Initialisieren des Systems (10) einschließt,
- b) Speichern eines Stamm-Start-Datensatzes und eines restlichen Teiles des BIOS in einer schützbaren Unterteilung auf der Speicher einrichtung (62) mit direktem Zugriff, wobei der restliche Teil des BIOS in dem Speicher (32) während normaler Operationen des Systems (10) untergebracht ist,
- c) Initialisieren des Systems (10) und Hervorrufen der Erzeugung eines Rückstell signals, das zu der Speichereinrichtung (62) mit direktem Zugriff geschickt wird,
- d) Entfernen des Schutzes für die schützbare Unterteilung, um den Systemprozessor (26) auf den Stamm-Start-Datensatz und den restlichen Teil des BIOS zugreifen zu lassen, wobei der Schutz als Antwort auf das Rückstellsignal entfernt wird,
- e) Laden des Stamm-Start-Datensatzes in den Speicher (32) mit wahlfreiem Zugriff, wobei der Stamm-Start-Datensatz ein aktivierbares Codesegment einschließt,
- f) Übertragen der Steuerung auf das aktivierbare Codesegment, um den restlichen Teil des BIOS in den Speicher (32) mit wahlfreiem Zugriff zu laden, und
- g) Übertragen der Steuerung auf den restlichen Teil des BIOS in dem Speicher (32) mit wahlfreiem Zugriff, wobei der restliche Teil des BIOS den Schutz auf der schützbaren Unterteilung einsetzt, um unberechtigten Zugriff zum Stamm-Start-Datensatz und dem restlichen Teil des BIOS, der in der schützbaren Unterteilung auf der Speichereinrichtung (62) mit direktem Zugriff gespeichert ist, zu verhindern.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/398,820 US5022077A (en) | 1989-08-25 | 1989-08-25 | Apparatus and method for preventing unauthorized access to BIOS in a personal computer system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4026912A1 true DE4026912A1 (de) | 1991-02-28 |
Family
ID=23576925
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69027165T Expired - Fee Related DE69027165T2 (de) | 1989-08-25 | 1990-07-04 | Verfahren und Gerät zum Schutz eines Rechnersystems |
DE4026912A Ceased DE4026912A1 (de) | 1989-08-25 | 1990-08-25 | Computersystem |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69027165T Expired - Fee Related DE69027165T2 (de) | 1989-08-25 | 1990-07-04 | Verfahren und Gerät zum Schutz eines Rechnersystems |
Country Status (17)
Country | Link |
---|---|
US (1) | US5022077A (de) |
EP (1) | EP0417889B1 (de) |
JP (1) | JPH0754463B2 (de) |
KR (1) | KR930004902B1 (de) |
CN (1) | CN1017942B (de) |
AT (1) | ATE138748T1 (de) |
AU (1) | AU635551B2 (de) |
BR (1) | BR9004199A (de) |
CA (1) | CA2020520C (de) |
DE (2) | DE69027165T2 (de) |
GB (1) | GB9012948D0 (de) |
HK (1) | HK203196A (de) |
IL (1) | IL95229A0 (de) |
MX (1) | MX171879B (de) |
MY (1) | MY106706A (de) |
NZ (1) | NZ234712A (de) |
SG (1) | SG44409A1 (de) |
Families Citing this family (221)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5136713A (en) * | 1989-08-25 | 1992-08-04 | International Business Machines Corporation | Apparatus and method for decreasing the memory requirements for bios in a personal computer system |
GB9012949D0 (en) * | 1989-08-25 | 1990-08-01 | Ibm | An apparatus and method for loading bios from a diskette in a personal computer system |
US5210875A (en) * | 1989-08-25 | 1993-05-11 | International Business Machines Corporation | Initial bios load for a personal computer system |
GB9003890D0 (en) * | 1990-02-21 | 1990-04-18 | Rodime Plc | Method and apparatus for controlling access to and corruption of information in computer systems |
JPH03276337A (ja) * | 1990-03-27 | 1991-12-06 | Toshiba Corp | マイクロコントローラ |
EP0449242A3 (en) * | 1990-03-28 | 1992-10-28 | National Semiconductor Corporation | Method and structure for providing computer security and virus prevention |
US5193174A (en) * | 1990-07-23 | 1993-03-09 | International Business Machines Corporation | System for automatically redirecting information to alternate system console in response to the comparison of present and default system configuration in personal computer system |
US5214695A (en) * | 1990-07-23 | 1993-05-25 | International Business Machines Corporation | Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system |
US5128995A (en) * | 1990-07-23 | 1992-07-07 | International Business Machines Corp. | Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system |
FR2671205B1 (fr) * | 1990-12-27 | 1995-01-20 | Telemecanique | Procede de controle de l'utilisation d'un poste de travail informatique par mot de passe et poste de travail informatique mettant en óoeuvre ce procede. |
US5432946A (en) * | 1991-04-11 | 1995-07-11 | International Business Machines Corp. | LAN server personal computer with unattended activation capability |
WO1992021087A1 (en) * | 1991-05-13 | 1992-11-26 | Hill, William, Stanley | Method and apparatus for preventing 'disease' damage in computer systems |
US5388267A (en) * | 1991-05-29 | 1995-02-07 | Dell Usa, L.P. | Method and apparatus for updating and restoring system BIOS functions while maintaining BIOS integrity |
JP2637310B2 (ja) * | 1991-06-19 | 1997-08-06 | 富士通株式会社 | システムインストール制御装置 |
DE4123126C1 (de) * | 1991-07-12 | 1992-06-25 | Man Roland Druckmaschinen Ag, 6050 Offenbach, De | |
US5291585A (en) * | 1991-07-29 | 1994-03-01 | Dell Usa, L.P. | Computer system having system feature extension software containing a self-describing feature table for accessing I/O devices according to machine-independent format |
US5257379A (en) * | 1991-09-04 | 1993-10-26 | International Business Machines Corporation | Establishing synchronization of hardware and software I/O configuration definitions |
US5826075A (en) * | 1991-10-16 | 1998-10-20 | International Business Machines Corporation | Automated programmable fireware store for a personal computer system |
US5388266A (en) * | 1992-03-30 | 1995-02-07 | International Business Machines Corporation | Management of data objects used intain state information for shared data at a local complex |
US5421006A (en) * | 1992-05-07 | 1995-05-30 | Compaq Computer Corp. | Method and apparatus for assessing integrity of computer system software |
US5432939A (en) * | 1992-05-27 | 1995-07-11 | International Business Machines Corp. | Trusted personal computer system with management control over initial program loading |
US5408664A (en) * | 1992-06-19 | 1995-04-18 | Silicon Graphics, Incorporated | System and Method for booting computer for operation in either of two byte-order modes |
US5379342A (en) * | 1993-01-07 | 1995-01-03 | International Business Machines Corp. | Method and apparatus for providing enhanced data verification in a computer system |
US6357000B1 (en) | 1993-01-29 | 2002-03-12 | Microsoft Corporation | Method and system for specified loading of an operating system |
JPH06242957A (ja) * | 1993-02-16 | 1994-09-02 | Fujitsu Ltd | プログラム実行制御装置 |
US5542077A (en) * | 1993-09-10 | 1996-07-30 | Compaq Computer Corporation | Personal computer with CMOS memory not having a separate battery |
US5651139A (en) * | 1993-12-23 | 1997-07-22 | International Business Machines Corporation | Protected system partition read/write access on a SCSI controlled DASD |
CN1053507C (zh) * | 1994-10-07 | 2000-06-14 | 邵通 | 计算机硬盘读写控制装置 |
US5768568A (en) * | 1994-04-29 | 1998-06-16 | International Business Machines Corp. | System and method for initializing an information processing system |
US5864698A (en) * | 1994-08-24 | 1999-01-26 | Packard Bell Nec | Disk based bios |
US5537540A (en) * | 1994-09-30 | 1996-07-16 | Compaq Computer Corporation | Transparent, secure computer virus detection method and apparatus |
US6421776B1 (en) * | 1994-10-14 | 2002-07-16 | International Business Machines Corporation | Data processor having BIOS packing compression/decompression architecture |
US5692187A (en) * | 1995-02-14 | 1997-11-25 | General Magic | Shadow mechanism having masterblocks for a modifiable object oriented system |
US5819306A (en) * | 1995-02-14 | 1998-10-06 | General Magic | Shadow mechanism for a modifiable object oriented system |
US5835594A (en) * | 1996-02-09 | 1998-11-10 | Intel Corporation | Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage |
US5712973A (en) * | 1996-05-20 | 1998-01-27 | International Business Machines Corp. | Wireless proximity containment security |
US6330648B1 (en) * | 1996-05-28 | 2001-12-11 | Mark L. Wambach | Computer memory with anti-virus and anti-overwrite protection apparatus |
US5822614A (en) * | 1996-05-31 | 1998-10-13 | Unisys Corporation | Self-identifying peripheral device |
US6530019B1 (en) * | 1996-06-12 | 2003-03-04 | Dell U.S.A., L.P. | Disk boot sector for software contract enforcement |
US5778070A (en) * | 1996-06-28 | 1998-07-07 | Intel Corporation | Method and apparatus for protecting flash memory |
US5819087A (en) * | 1996-07-19 | 1998-10-06 | Compaq Computer Corporation | Flash ROM sharing between processor and microcontroller during booting and handling warm-booting events |
US5844986A (en) * | 1996-09-30 | 1998-12-01 | Intel Corporation | Secure BIOS |
US5937063A (en) * | 1996-09-30 | 1999-08-10 | Intel Corporation | Secure boot |
US5892943A (en) * | 1996-12-30 | 1999-04-06 | Standard Microsystems Corp. | Shared bios ROM warm boot |
US6560701B1 (en) | 1997-02-10 | 2003-05-06 | International Business Machines Corporation | Alternate boot record |
US5953502A (en) * | 1997-02-13 | 1999-09-14 | Helbig, Sr.; Walter A | Method and apparatus for enhancing computer system security |
JPH11143718A (ja) * | 1997-11-05 | 1999-05-28 | Nec Corp | Bios格納並びに制御方法 |
KR100441171B1 (ko) * | 1998-02-20 | 2004-10-14 | 삼성전자주식회사 | 플래쉬롬과램을이용한펌웨어구현방법 |
US6269374B1 (en) * | 1998-05-26 | 2001-07-31 | International Business Machines Corporation | Method and apparatus for updating checksums of data structures |
WO1999066383A2 (en) * | 1998-06-15 | 1999-12-23 | Dmw Worldwide, Inc. | Method and apparatus for assessing the security of a computer system |
US6138240A (en) * | 1998-06-19 | 2000-10-24 | Compaq Computer Corporation | Secure general purpose input/output pins for protecting computer system resources |
JP3937598B2 (ja) * | 1998-07-14 | 2007-06-27 | 株式会社デンソー | 電子制御装置 |
US6401208B2 (en) | 1998-07-17 | 2002-06-04 | Intel Corporation | Method for BIOS authentication prior to BIOS execution |
US6735696B1 (en) * | 1998-08-14 | 2004-05-11 | Intel Corporation | Digital content protection using a secure booting method and apparatus |
US6493749B2 (en) * | 1998-08-17 | 2002-12-10 | International Business Machines Corporation | System and method for an administration server |
US6327660B1 (en) | 1998-09-18 | 2001-12-04 | Intel Corporation | Method for securing communications in a pre-boot environment |
US7380140B1 (en) * | 1998-12-30 | 2008-05-27 | Spyrus, Inc. | Providing a protected volume on a data storage device |
US6546489B1 (en) | 1999-03-04 | 2003-04-08 | Western Digital Ventures, Inc. | Disk drive which provides a secure boot of a host computer system from a protected area of a disk |
US6618810B1 (en) | 1999-05-27 | 2003-09-09 | Dell Usa, L.P. | Bios based method to disable and re-enable computers |
US6647494B1 (en) | 1999-06-14 | 2003-11-11 | Intel Corporation | System and method for checking authorization of remote configuration operations |
CN1091903C (zh) * | 1999-06-28 | 2002-10-02 | 李增胜 | 防止cih等病毒破坏计算机主板bios的方法 |
US6487465B1 (en) * | 1999-11-01 | 2002-11-26 | International Business Machines Corporation | Method and system for improved computer security during ROM Scan |
TW452733B (en) * | 1999-11-26 | 2001-09-01 | Inventec Corp | Method for preventing BIOS from viruses infection |
US7231513B1 (en) * | 1999-12-17 | 2007-06-12 | Intel Corporation | Dynamically linked basic input/output system |
US6711675B1 (en) * | 2000-02-11 | 2004-03-23 | Intel Corporation | Protected boot flow |
US7013484B1 (en) | 2000-03-31 | 2006-03-14 | Intel Corporation | Managing a secure environment using a chipset in isolated execution mode |
US7082615B1 (en) | 2000-03-31 | 2006-07-25 | Intel Corporation | Protecting software environment in isolated execution |
US7111176B1 (en) | 2000-03-31 | 2006-09-19 | Intel Corporation | Generating isolated bus cycles for isolated execution |
US6957332B1 (en) | 2000-03-31 | 2005-10-18 | Intel Corporation | Managing a secure platform using a hierarchical executive architecture in isolated execution mode |
US6990579B1 (en) | 2000-03-31 | 2006-01-24 | Intel Corporation | Platform and method for remote attestation of a platform |
US6754815B1 (en) | 2000-03-31 | 2004-06-22 | Intel Corporation | Method and system for scrubbing an isolated area of memory after reset of a processor operating in isolated execution mode if a cleanup flag is set |
US6507904B1 (en) * | 2000-03-31 | 2003-01-14 | Intel Corporation | Executing isolated mode instructions in a secure system running in privilege rings |
US7356817B1 (en) | 2000-03-31 | 2008-04-08 | Intel Corporation | Real-time scheduling of virtual machines |
US7013481B1 (en) | 2000-03-31 | 2006-03-14 | Intel Corporation | Attestation key memory device and bus |
US6769058B1 (en) | 2000-03-31 | 2004-07-27 | Intel Corporation | Resetting a processor in an isolated execution environment |
US6996710B1 (en) | 2000-03-31 | 2006-02-07 | Intel Corporation | Platform and method for issuing and certifying a hardware-protected attestation key |
US6795905B1 (en) | 2000-03-31 | 2004-09-21 | Intel Corporation | Controlling accesses to isolated memory using a memory controller for isolated execution |
US7089418B1 (en) | 2000-03-31 | 2006-08-08 | Intel Corporation | Managing accesses in a processor for isolated execution |
US6760441B1 (en) | 2000-03-31 | 2004-07-06 | Intel Corporation | Generating a key hieararchy for use in an isolated execution environment |
US7073071B1 (en) | 2000-03-31 | 2006-07-04 | Intel Corporation | Platform and method for generating and utilizing a protected audit log |
US6678825B1 (en) | 2000-03-31 | 2004-01-13 | Intel Corporation | Controlling access to multiple isolated memories in an isolated execution environment |
US6633963B1 (en) | 2000-03-31 | 2003-10-14 | Intel Corporation | Controlling access to multiple memory zones in an isolated execution environment |
US6934817B2 (en) * | 2000-03-31 | 2005-08-23 | Intel Corporation | Controlling access to multiple memory zones in an isolated execution environment |
US7194634B2 (en) | 2000-03-31 | 2007-03-20 | Intel Corporation | Attestation key memory device and bus |
US6880048B1 (en) * | 2000-06-08 | 2005-04-12 | Palm, Source, Inc. | Method and apparatus for fault-tolerant update of flash ROM contents |
US6976162B1 (en) * | 2000-06-28 | 2005-12-13 | Intel Corporation | Platform and method for establishing provable identities while maintaining privacy |
US6678833B1 (en) | 2000-06-30 | 2004-01-13 | Intel Corporation | Protection of boot block data and accurate reporting of boot block contents |
US6976163B1 (en) | 2000-07-12 | 2005-12-13 | International Business Machines Corporation | Methods, systems and computer program products for rule based firmware updates utilizing certificate extensions and certificates for use therein |
US7069452B1 (en) * | 2000-07-12 | 2006-06-27 | International Business Machines Corporation | Methods, systems and computer program products for secure firmware updates |
GB0020438D0 (en) | 2000-08-18 | 2000-10-04 | Hewlett Packard Co | Security apparatus |
GB0020371D0 (en) * | 2000-08-18 | 2000-10-04 | Hewlett Packard Co | Apparatus and method for establishing trust |
US7389427B1 (en) | 2000-09-28 | 2008-06-17 | Intel Corporation | Mechanism to secure computer output from software attack using isolated execution |
US7793111B1 (en) | 2000-09-28 | 2010-09-07 | Intel Corporation | Mechanism to handle events in a machine with isolated execution |
US6414513B1 (en) | 2000-10-03 | 2002-07-02 | International Business Machines Corporation | Customized system-readable hardware/firmware integrated circuit version information |
US7215781B2 (en) * | 2000-12-22 | 2007-05-08 | Intel Corporation | Creation and distribution of a secret value between two devices |
US7035963B2 (en) * | 2000-12-27 | 2006-04-25 | Intel Corporation | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
US7818808B1 (en) | 2000-12-27 | 2010-10-19 | Intel Corporation | Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor |
US7225441B2 (en) * | 2000-12-27 | 2007-05-29 | Intel Corporation | Mechanism for providing power management through virtualization |
US6907600B2 (en) * | 2000-12-27 | 2005-06-14 | Intel Corporation | Virtual translation lookaside buffer |
US7117376B2 (en) * | 2000-12-28 | 2006-10-03 | Intel Corporation | Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations |
US6976172B2 (en) * | 2000-12-28 | 2005-12-13 | Intel Corporation | System and method for protected messaging |
US7028184B2 (en) * | 2001-01-17 | 2006-04-11 | International Business Machines Corporation | Technique for digitally notarizing a collection of data streams |
US6990444B2 (en) | 2001-01-17 | 2006-01-24 | International Business Machines Corporation | Methods, systems, and computer program products for securely transforming an audio stream to encoded text |
US6691213B1 (en) * | 2001-02-28 | 2004-02-10 | Western Digital Ventures, Inc. | Computer system and method for accessing a protected partition of a disk drive that lies beyond a limited address range of a host computer's BIOS |
US20020144121A1 (en) * | 2001-03-30 | 2002-10-03 | Ellison Carl M. | Checking file integrity using signature generated in isolated execution |
US7096497B2 (en) * | 2001-03-30 | 2006-08-22 | Intel Corporation | File checking using remote signing authority via a network |
US7272831B2 (en) * | 2001-03-30 | 2007-09-18 | Intel Corporation | Method and apparatus for constructing host processor soft devices independent of the host processor operating system |
US20030037237A1 (en) * | 2001-04-09 | 2003-02-20 | Jean-Paul Abgrall | Systems and methods for computer device authentication |
US6976136B2 (en) | 2001-05-07 | 2005-12-13 | National Semiconductor Corporation | Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller |
CA2490695C (en) * | 2001-06-29 | 2014-08-12 | Michael Alfred Hearn | Security system and method for computers |
US6862681B2 (en) | 2001-07-16 | 2005-03-01 | International Business Machines Corporation | Method and system for master boot record recovery |
US6549980B2 (en) | 2001-07-19 | 2003-04-15 | Dell Pruducts L.P. | Manufacturing process for software raid disk sets in a computer system |
US7036020B2 (en) * | 2001-07-25 | 2006-04-25 | Antique Books, Inc | Methods and systems for promoting security in a computer system employing attached storage devices |
US7925894B2 (en) * | 2001-07-25 | 2011-04-12 | Seagate Technology Llc | System and method for delivering versatile security, digital rights management, and privacy services |
US7165137B2 (en) * | 2001-08-06 | 2007-01-16 | Sandisk Corporation | System and method for booting from a non-volatile application and file storage device |
US7191440B2 (en) * | 2001-08-15 | 2007-03-13 | Intel Corporation | Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor |
DE10142537A1 (de) * | 2001-08-30 | 2003-03-20 | Adp Gauselmann Gmbh | Verfahren zur Aktivierung einer in einem Gehäuse angeordneten Steuereinheit, die gegen ein Ausspähen von Daten geschützt ist |
US7237126B2 (en) * | 2001-09-28 | 2007-06-26 | Hewlett-Packard Development Company, L.P. | Method and apparatus for preserving the integrity of a management subsystem environment |
US20040054952A1 (en) * | 2002-09-13 | 2004-03-18 | Morrow James W. | Device verification system and method |
US7024555B2 (en) | 2001-11-01 | 2006-04-04 | Intel Corporation | Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment |
US7103771B2 (en) * | 2001-12-17 | 2006-09-05 | Intel Corporation | Connecting a virtual token to a physical token |
US20030126454A1 (en) * | 2001-12-28 | 2003-07-03 | Glew Andrew F. | Authenticated code method and apparatus |
US20030126453A1 (en) * | 2001-12-31 | 2003-07-03 | Glew Andrew F. | Processor supporting execution of an authenticated code instruction |
US7308576B2 (en) * | 2001-12-31 | 2007-12-11 | Intel Corporation | Authenticated code module |
US7480806B2 (en) * | 2002-02-22 | 2009-01-20 | Intel Corporation | Multi-token seal and unseal |
US7124273B2 (en) * | 2002-02-25 | 2006-10-17 | Intel Corporation | Method and apparatus for translating guest physical addresses in a virtual machine environment |
US7631196B2 (en) | 2002-02-25 | 2009-12-08 | Intel Corporation | Method and apparatus for loading a trustable operating system |
US7069442B2 (en) * | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction |
US7028149B2 (en) * | 2002-03-29 | 2006-04-11 | Intel Corporation | System and method for resetting a platform configuration register |
US20030191943A1 (en) * | 2002-04-05 | 2003-10-09 | Poisner David I. | Methods and arrangements to register code |
US20030196096A1 (en) * | 2002-04-12 | 2003-10-16 | Sutton James A. | Microcode patch authentication |
US7076669B2 (en) * | 2002-04-15 | 2006-07-11 | Intel Corporation | Method and apparatus for communicating securely with a token |
US20030196100A1 (en) * | 2002-04-15 | 2003-10-16 | Grawrock David W. | Protection against memory attacks following reset |
US7058807B2 (en) * | 2002-04-15 | 2006-06-06 | Intel Corporation | Validation of inclusion of a platform within a data center |
US7127548B2 (en) * | 2002-04-16 | 2006-10-24 | Intel Corporation | Control register access virtualization performance improvement in the virtual-machine architecture |
US7139890B2 (en) * | 2002-04-30 | 2006-11-21 | Intel Corporation | Methods and arrangements to interface memory |
US7114051B2 (en) * | 2002-06-01 | 2006-09-26 | Solid State System Co., Ltd. | Method for partitioning memory mass storage device |
US20030229794A1 (en) * | 2002-06-07 | 2003-12-11 | Sutton James A. | System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container |
US6820177B2 (en) | 2002-06-12 | 2004-11-16 | Intel Corporation | Protected configuration space in a protected environment |
US7142674B2 (en) * | 2002-06-18 | 2006-11-28 | Intel Corporation | Method of confirming a secure key exchange |
US7392415B2 (en) * | 2002-06-26 | 2008-06-24 | Intel Corporation | Sleep protection |
US20040003321A1 (en) * | 2002-06-27 | 2004-01-01 | Glew Andrew F. | Initialization of protected system |
US6996748B2 (en) * | 2002-06-29 | 2006-02-07 | Intel Corporation | Handling faults associated with operation of guest software in the virtual-machine architecture |
US7124327B2 (en) * | 2002-06-29 | 2006-10-17 | Intel Corporation | Control over faults occurring during the operation of guest software in the virtual-machine architecture |
US7296267B2 (en) * | 2002-07-12 | 2007-11-13 | Intel Corporation | System and method for binding virtual machines to hardware contexts |
EP1795991A1 (de) * | 2002-07-30 | 2007-06-13 | Fujitsu Limited | Verfahren und Gerät zur Wiedergabe von Information mit einem Sicherheitsmodul |
US20040064457A1 (en) * | 2002-09-27 | 2004-04-01 | Zimmer Vincent J. | Mechanism for providing both a secure and attested boot |
US7082525B2 (en) * | 2002-10-02 | 2006-07-25 | Sandisk Corporation | Booting from non-linear memory |
US20040078497A1 (en) * | 2002-10-17 | 2004-04-22 | Nalawadi Rajeev K. | Method and apparatus for detecting configuration change |
US7165181B2 (en) * | 2002-11-27 | 2007-01-16 | Intel Corporation | System and method for establishing trust without revealing identity |
US7073042B2 (en) | 2002-12-12 | 2006-07-04 | Intel Corporation | Reclaiming existing fields in address translation data structures to extend control over memory accesses |
US20040117318A1 (en) * | 2002-12-16 | 2004-06-17 | Grawrock David W. | Portable token controlling trusted environment launch |
US7318235B2 (en) * | 2002-12-16 | 2008-01-08 | Intel Corporation | Attestation using both fixed token and portable token |
US7318141B2 (en) | 2002-12-17 | 2008-01-08 | Intel Corporation | Methods and systems to control virtual machines |
US7793286B2 (en) * | 2002-12-19 | 2010-09-07 | Intel Corporation | Methods and systems to manage machine state in virtual machine operations |
US20040128345A1 (en) * | 2002-12-27 | 2004-07-01 | Robinson Scott H. | Dynamic service registry |
US7900017B2 (en) * | 2002-12-27 | 2011-03-01 | Intel Corporation | Mechanism for remapping post virtual machine memory pages |
US20040128465A1 (en) * | 2002-12-30 | 2004-07-01 | Lee Micheil J. | Configurable memory bus width |
US7076802B2 (en) * | 2002-12-31 | 2006-07-11 | Intel Corporation | Trusted system clock |
US7415708B2 (en) * | 2003-06-26 | 2008-08-19 | Intel Corporation | Virtual machine management using processor state information |
US20050044292A1 (en) * | 2003-08-19 | 2005-02-24 | Mckeen Francis X. | Method and apparatus to retain system control when a buffer overflow attack occurs |
US7424709B2 (en) * | 2003-09-15 | 2008-09-09 | Intel Corporation | Use of multiple virtual machine monitors to handle privileged events |
US7287197B2 (en) * | 2003-09-15 | 2007-10-23 | Intel Corporation | Vectoring an interrupt or exception upon resuming operation of a virtual machine |
US7739521B2 (en) * | 2003-09-18 | 2010-06-15 | Intel Corporation | Method of obscuring cryptographic computations |
US7610611B2 (en) * | 2003-09-19 | 2009-10-27 | Moran Douglas R | Prioritized address decoder |
US7237051B2 (en) * | 2003-09-30 | 2007-06-26 | Intel Corporation | Mechanism to control hardware interrupt acknowledgement in a virtual machine system |
US7366305B2 (en) * | 2003-09-30 | 2008-04-29 | Intel Corporation | Platform and method for establishing trust without revealing identity |
US7177967B2 (en) | 2003-09-30 | 2007-02-13 | Intel Corporation | Chipset support for managing hardware interrupts in a virtual machine system |
US20050080934A1 (en) | 2003-09-30 | 2005-04-14 | Cota-Robles Erik C. | Invalidating translation lookaside buffer entries in a virtual machine (VM) system |
US7636844B2 (en) | 2003-11-17 | 2009-12-22 | Intel Corporation | Method and system to provide a trusted channel within a computer system for a SIM device |
US20050108534A1 (en) * | 2003-11-19 | 2005-05-19 | Bajikar Sundeep M. | Providing services to an open platform implementing subscriber identity module (SIM) capabilities |
US8156343B2 (en) | 2003-11-26 | 2012-04-10 | Intel Corporation | Accessing private data about the state of a data processing machine from storage that is publicly accessible |
US8037314B2 (en) | 2003-12-22 | 2011-10-11 | Intel Corporation | Replacing blinded authentication authority |
US20050133582A1 (en) * | 2003-12-22 | 2005-06-23 | Bajikar Sundeep M. | Method and apparatus for providing a trusted time stamp in an open platform |
US7178015B2 (en) * | 2004-01-12 | 2007-02-13 | Hewlett-Packard Development Company, L.P. | Security measures in a partitionable computing system |
US20050152539A1 (en) * | 2004-01-12 | 2005-07-14 | Brickell Ernie F. | Method of protecting cryptographic operations from side channel attacks |
US7802085B2 (en) | 2004-02-18 | 2010-09-21 | Intel Corporation | Apparatus and method for distributing private keys to an entity with minimal secret, unique information |
US20050216920A1 (en) * | 2004-03-24 | 2005-09-29 | Vijay Tewari | Use of a virtual machine to emulate a hardware device |
US7356735B2 (en) * | 2004-03-30 | 2008-04-08 | Intel Corporation | Providing support for single stepping a virtual machine in a virtual machine environment |
US7620949B2 (en) | 2004-03-31 | 2009-11-17 | Intel Corporation | Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment |
US20050257016A1 (en) * | 2004-05-17 | 2005-11-17 | Brian Boles | Digital signal controller secure memory partitioning |
US7490070B2 (en) | 2004-06-10 | 2009-02-10 | Intel Corporation | Apparatus and method for proving the denial of a direct proof signature |
US20050288056A1 (en) * | 2004-06-29 | 2005-12-29 | Bajikar Sundeep M | System including a wireless wide area network (WWAN) module with an external identity module reader and approach for certifying the WWAN module |
US7694121B2 (en) * | 2004-06-30 | 2010-04-06 | Microsoft Corporation | System and method for protected operating system boot using state validation |
US7305592B2 (en) * | 2004-06-30 | 2007-12-04 | Intel Corporation | Support for nested fault in a virtual machine environment |
US7343496B1 (en) * | 2004-08-13 | 2008-03-11 | Zilog, Inc. | Secure transaction microcontroller with secure boot loader |
US7840962B2 (en) * | 2004-09-30 | 2010-11-23 | Intel Corporation | System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time |
US8146078B2 (en) | 2004-10-29 | 2012-03-27 | Intel Corporation | Timer offsetting mechanism in a virtual machine environment |
US8924728B2 (en) | 2004-11-30 | 2014-12-30 | Intel Corporation | Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information |
US8533777B2 (en) * | 2004-12-29 | 2013-09-10 | Intel Corporation | Mechanism to determine trust of out-of-band management agents |
US7395405B2 (en) * | 2005-01-28 | 2008-07-01 | Intel Corporation | Method and apparatus for supporting address translation in a virtual machine environment |
CN100416448C (zh) * | 2005-08-25 | 2008-09-03 | 深圳市研祥智能科技股份有限公司 | 计算机系统及其配置方法 |
US7809957B2 (en) | 2005-09-29 | 2010-10-05 | Intel Corporation | Trusted platform module for generating sealed data |
CN100421075C (zh) * | 2006-01-25 | 2008-09-24 | 英业达股份有限公司 | Bios程序启始区更新系统以及方法 |
US8014530B2 (en) | 2006-03-22 | 2011-09-06 | Intel Corporation | Method and apparatus for authenticated, recoverable key distribution with no database secrets |
US8028166B2 (en) * | 2006-04-25 | 2011-09-27 | Seagate Technology Llc | Versatile secure and non-secure messaging |
US8429724B2 (en) | 2006-04-25 | 2013-04-23 | Seagate Technology Llc | Versatile access control system |
US7539890B2 (en) * | 2006-04-25 | 2009-05-26 | Seagate Technology Llc | Hybrid computer security clock |
KR20080004773A (ko) * | 2006-07-06 | 2008-01-10 | 삼성전자주식회사 | 하드 디스크의 액세스 타임 자동 설정 방법 및 그 장치 |
US8037291B2 (en) * | 2007-01-29 | 2011-10-11 | Hewlett-Packard Development Company, L.P. | Master boot record management |
US8132253B2 (en) * | 2008-04-21 | 2012-03-06 | Dell Products L.P. | Memory security override protection for manufacturability of information handling systems |
CN102467426B (zh) * | 2010-11-08 | 2015-01-28 | 英业达股份有限公司 | 在bios中禁止外接卡选项只读内存的方法 |
JP6070115B2 (ja) * | 2012-11-28 | 2017-02-01 | 日本電気株式会社 | 情報処理装置、bmcおよびbiosアップデート方法 |
US9036284B1 (en) * | 2013-09-16 | 2015-05-19 | Seagate Technology Llc | Isolated shingled bands of fractional tracks |
US9798880B2 (en) | 2013-11-13 | 2017-10-24 | Via Technologies, Inc. | Fuse-enabled secure bios mechanism with override feature |
US9779242B2 (en) | 2013-11-13 | 2017-10-03 | Via Technologies, Inc. | Programmable secure bios mechanism in a trusted computing system |
US9367689B2 (en) | 2013-11-13 | 2016-06-14 | Via Technologies, Inc. | Apparatus and method for securing BIOS in a trusted computing system |
US9767288B2 (en) | 2013-11-13 | 2017-09-19 | Via Technologies, Inc. | JTAG-based secure BIOS mechanism in a trusted computing system |
US9129113B2 (en) | 2013-11-13 | 2015-09-08 | Via Technologies, Inc. | Partition-based apparatus and method for securing bios in a trusted computing system during execution |
US9183394B2 (en) | 2013-11-13 | 2015-11-10 | Via Technologies, Inc. | Secure BIOS tamper protection mechanism |
US10095868B2 (en) | 2013-11-13 | 2018-10-09 | Via Technologies, Inc. | Event-based apparatus and method for securing bios in a trusted computing system during execution |
US9547767B2 (en) | 2013-11-13 | 2017-01-17 | Via Technologies, Inc. | Event-based apparatus and method for securing bios in a trusted computing system during execution |
US10055588B2 (en) | 2013-11-13 | 2018-08-21 | Via Technologies, Inc. | Event-based apparatus and method for securing BIOS in a trusted computing system during execution |
US9507942B2 (en) | 2013-11-13 | 2016-11-29 | Via Technologies, Inc. | Secure BIOS mechanism in a trusted computing system |
US9779243B2 (en) | 2013-11-13 | 2017-10-03 | Via Technologies, Inc. | Fuse-enabled secure BIOS mechanism in a trusted computing system |
US10049217B2 (en) | 2013-11-13 | 2018-08-14 | Via Technologies, Inc. | Event-based apparatus and method for securing bios in a trusted computing system during execution |
CN107220553A (zh) * | 2017-05-25 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种保护bios芯片中存储的内容的装置及控制芯片 |
US10623432B2 (en) | 2017-06-21 | 2020-04-14 | International Business Machines Corporation | Mitigating security risks utilizing continuous device image reload with data integrity |
EP3759591B1 (de) | 2018-08-03 | 2023-09-27 | Hewlett-Packard Development Company, L.P. | Bios-persönlichkeiten |
US11574060B2 (en) | 2019-04-24 | 2023-02-07 | International Business Machines Corporation | Secure initial program load |
CN111258617B (zh) * | 2019-12-31 | 2022-03-25 | 联想(北京)有限公司 | 一种电子设备 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3931504A (en) * | 1972-02-07 | 1976-01-06 | Basic Computing Arts, Inc. | Electronic data processing security system and method |
US3996449A (en) * | 1975-08-25 | 1976-12-07 | International Business Machines Corporation | Operating system authenticator |
US4446519A (en) * | 1981-05-26 | 1984-05-01 | Corban International, Ltd. | Method and apparatus for providing security for computer software |
US4593353A (en) * | 1981-10-26 | 1986-06-03 | Telecommunications Associates, Inc. | Software protection method and apparatus |
JPS5897724A (ja) * | 1981-12-04 | 1983-06-10 | Mitsubishi Electric Corp | 初期プログラムロ−ド方法 |
US4525599A (en) * | 1982-05-21 | 1985-06-25 | General Computer Corporation | Software protection methods and apparatus |
US4785361A (en) * | 1982-11-08 | 1988-11-15 | Vault Corporation | Method and apparatus for frustrating the unauthorized copying of recorded data |
JPS59167873A (ja) * | 1983-03-14 | 1984-09-21 | Toshiba Corp | 磁気デイスク装置のデ−タ保護機構 |
US4562306A (en) * | 1983-09-14 | 1985-12-31 | Chou Wayne W | Method and apparatus for protecting computer software utilizing an active coded hardware device |
US4577289A (en) * | 1983-12-30 | 1986-03-18 | International Business Machines Corporation | Hardware key-on-disk system for copy-protecting magnetic storage media |
US4748561A (en) * | 1984-05-14 | 1988-05-31 | Mark Brown | Method of protecting computer software |
US4747139A (en) * | 1984-08-27 | 1988-05-24 | Taaffe James L | Software security method and systems |
CA1238427A (en) * | 1984-12-18 | 1988-06-21 | Jonathan Oseas | Code protection using cryptography |
JPS61201357A (ja) * | 1985-03-02 | 1986-09-06 | Nec Corp | 情報処理装置 |
US4688169A (en) * | 1985-05-30 | 1987-08-18 | Joshi Bhagirath S | Computer software security system |
US4685056A (en) * | 1985-06-11 | 1987-08-04 | Pueblo Technologies, Inc. | Computer security device |
US4685055A (en) * | 1985-07-01 | 1987-08-04 | Thomas Richard B | Method and system for controlling use of protected software |
US4757533A (en) * | 1985-09-11 | 1988-07-12 | Computer Security Corporation | Security system for microcomputers |
US4817140A (en) * | 1986-11-05 | 1989-03-28 | International Business Machines Corp. | Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor |
US4796220A (en) * | 1986-12-15 | 1989-01-03 | Pride Software Development Corp. | Method of controlling the copying of software |
JPH01154226A (ja) * | 1987-12-10 | 1989-06-16 | Nec Corp | Bios内蔵ハードディスク装置システム |
FR2629231A1 (fr) * | 1988-03-24 | 1989-09-29 | Salzmann Jean Loup | Dispositif de protection des ordinateurs contre les programmes malveillants appeles " virus " |
JPH0223427A (ja) * | 1988-07-13 | 1990-01-25 | Toshiba Corp | パーソナルコンピュータ |
-
1989
- 1989-08-25 US US07/398,820 patent/US5022077A/en not_active Expired - Fee Related
-
1990
- 1990-06-11 GB GB909012948A patent/GB9012948D0/en active Pending
- 1990-07-04 DE DE69027165T patent/DE69027165T2/de not_active Expired - Fee Related
- 1990-07-04 EP EP90307301A patent/EP0417889B1/de not_active Expired - Lifetime
- 1990-07-04 AT AT90307301T patent/ATE138748T1/de not_active IP Right Cessation
- 1990-07-04 SG SG1996000216A patent/SG44409A1/en unknown
- 1990-07-05 CA CA002020520A patent/CA2020520C/en not_active Expired - Fee Related
- 1990-07-25 MY MYPI90001246A patent/MY106706A/en unknown
- 1990-07-30 NZ NZ234712A patent/NZ234712A/en unknown
- 1990-07-30 IL IL95229A patent/IL95229A0/xx not_active IP Right Cessation
- 1990-07-30 AU AU59993/90A patent/AU635551B2/en not_active Ceased
- 1990-08-11 KR KR1019900012416A patent/KR930004902B1/ko not_active IP Right Cessation
- 1990-08-11 CN CN90106879A patent/CN1017942B/zh not_active Expired
- 1990-08-22 MX MX022059A patent/MX171879B/es unknown
- 1990-08-23 JP JP2220132A patent/JPH0754463B2/ja not_active Expired - Lifetime
- 1990-08-24 BR BR909004199A patent/BR9004199A/pt not_active Application Discontinuation
- 1990-08-25 DE DE4026912A patent/DE4026912A1/de not_active Ceased
-
1996
- 1996-11-07 HK HK203196A patent/HK203196A/xx not_active IP Right Cessation
Non-Patent Citations (3)
Title |
---|
in: IBM Technical Disclosure Bulletin Vol. 29, NO. 10, März 1987, S. 4384-4386 * |
Steffen Dirk, Paßwortschutz für Festplatten, in: DDESIGN & ELEKTRONIK, Ausgabe 8 vom 12.4.1988, S. 74-76 * |
Two-Level Data Security System for IBM Personal Computer * |
Also Published As
Publication number | Publication date |
---|---|
DE69027165T2 (de) | 1996-12-12 |
AU635551B2 (en) | 1993-03-25 |
CN1017942B (zh) | 1992-08-19 |
MY106706A (en) | 1995-07-31 |
AU5999390A (en) | 1991-02-28 |
EP0417889A3 (en) | 1992-03-18 |
JPH0391838A (ja) | 1991-04-17 |
HK203196A (en) | 1996-11-15 |
CA2020520A1 (en) | 1991-02-26 |
NZ234712A (en) | 1993-04-28 |
KR930004902B1 (ko) | 1993-06-10 |
MX171879B (es) | 1993-11-22 |
EP0417889A2 (de) | 1991-03-20 |
CA2020520C (en) | 1995-08-15 |
KR910005162A (ko) | 1991-03-30 |
GB9012948D0 (en) | 1990-08-01 |
EP0417889B1 (de) | 1996-05-29 |
US5022077A (en) | 1991-06-04 |
ATE138748T1 (de) | 1996-06-15 |
SG44409A1 (en) | 1997-12-19 |
JPH0754463B2 (ja) | 1995-06-07 |
IL95229A0 (en) | 1991-06-10 |
BR9004199A (pt) | 1991-09-03 |
CN1049923A (zh) | 1991-03-13 |
DE69027165D1 (de) | 1996-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4026912A1 (de) | Computersystem | |
DE4026911A1 (de) | Computersystem | |
DE60037606T2 (de) | Rechner mit urladungsfähigem sicherem Programm | |
DE69627814T2 (de) | System zum bereitstellen eines bios für den hauptrechner | |
DE69534867T2 (de) | Verfahren und System zur Lieferung geschützter Gerätetreiber | |
DE10003108B4 (de) | Verfahren und Computersystem zum Durchführen einer Softwareinstallation | |
DE60018807T2 (de) | Verfahren und vorrichtung zur wiederherstellung der konfiguration eines rechners | |
DE60210434T2 (de) | Betriebssystemselektor und Datenplattenspeicher | |
EP0468625B1 (de) | Personalrechnersystem mit geschütztem Speicher für die Schnittstelle und System-Utility-Programme | |
DE4329336C2 (de) | Einrichtung und Verfahren zur Identifizierung eines Computer-Mikroprozessors | |
DE19882696B4 (de) | Speichertransaktionen auf einem Bus geringer Leitungsanzahl | |
DE19918640A1 (de) | Verfahren und System zum Liefern einer kundenspezifischen Softwareinstallation an ein Computersystem | |
DE60221620T2 (de) | Datenspeichergerät zum Speichern von Daten in unbeschriebenen Zonen eines Speichermediums | |
DE112004001605T5 (de) | Computersystem, in welchem eine abgesicherte Ausführungsumgebung angewendet wird und in dem eine Speichersteuerung enthalten ist, die zum Löschen des Speichers ausgebildet ist | |
DE10296986T5 (de) | Automatischer Austausch einer detekten BIOS-Abbildung | |
US5291600A (en) | Recovery of in-core disk data | |
CH619309A5 (de) | ||
DE60100848T2 (de) | Virtuelles rom für geräte-aufzählung | |
DE112009000612T5 (de) | Multi-Betriebssystem-Booteinrichtung (OS), Multi-OS-Boot-Programm, Aufzeichnungsmedium und Multi-OS-Bootverfahren | |
DE112009000344T5 (de) | Zugriffsrechte auf eine Speicher-Map | |
EP0182044A2 (de) | Einleitungsapparat für eine Datenverarbeitungsanlage mit mehreren Ein- und Ausgängen und ein mit einer gemeinsamen Sammelleitung verbundenes Speichersteuergerät | |
DE102005025399A1 (de) | System und Verfahren zur SCSI- und SAS-Hardwarevalidierung | |
DE102005037855A1 (de) | System und Verfahren zum Speichern von Benutzerdaten in einer Partitionsdatei oder zum Verwenden einer Partitionsdatei, die Benutzerdaten enthält | |
EP0871125A1 (de) | Logikmodul für Systemänderungen eines Computers mit PC-Architektur | |
DE10393859T5 (de) | Entkoppelter Hardwarekonfigurationsmanager |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |