-
Hintergrund
-
Die
vorliegende Offenbarung betrifft im allgemeinen informationsverarbeitende
Systeme und insbesondere ein Computersystem und ein Verfahren zum
Vorbereiten eines computerlesbaren Mediums.
-
Ein
Computer kann ein computerlesbares Medium, wie zum Beispiel eine
Festplatte enthalten. Computerprogramme zum Vorbereiten des computerlesbaren
Mediums (beispielsweise um es zu formatieren und zum geeigneten
Hinzufügen,
Modifizieren oder Löschen
von einer oder mehreren Partitionen auf dem Medium) sind geschaffen
worden. Trotzdem sind die früheren
Techniken von solchen Programmen ineffizient.
-
Eine
Partition ist eine Einheit einer logischen Organisation innerhalb
eines computerlesbaren Mediums. In einem Beispiel bildet ein Computer
mehrere Partitionen auf einer Festplatte. Gemäß einer früheren Technik wird, wenn eine
der Partitionen gelöscht
wird, zumindest eine andere Partition ausführlich modifiziert oder erneut
erzeugt, um Sektoren von der gelöschten
Partition für
die andere Partition zu reallocieren. Solch eine ausführliche
Modifikation oder erneute Erzeugung ist ineffizient.
-
Aus
der
EP 0 794 484 A2 ist
ein Verfahren für partitionierte
Festplatten und ein Partitionierungsschema für Festplatten bekannt. Mit
Bezug auf
4 wird dabei
innerhalb einer Partition eine so genannte Phantompartition angelegt,
wobei diese verschachtelte Partition nach Gebrauch gelöscht wird.
-
Weiterhin
beschreibt die
EP 0
760 500 A1 , wie eine neue Partition zu einer existierenden
Partition hinzugefügt
wird, indem eine neue Datei erzeugt wird, der die Merkmale einer
Partition gegeben werden.
-
Schließlich ist
aus der
EP 0 820 003
A2 eine Methode zum Partitionieren von Speicherbereichen auf
einer Festplatte bekannt, wobei sich eine zweite Partition mit einem
Teil einer ersten Partition überlappt.
-
Daher
ist der Bedarf für
ein Computersystem und ein Verfahren entstanden zum Vorbereiten
eines computerlesbaren Mediums, in dem mehrere Nachteile von früheren Techniken überwunden
werden. Insbesondere ist ein Bedarf entstanden für ein Computersystem und ein
Verfahren zum Vorbereiten eines computerlesbaren Mediums, bei dem
die Effizienz erhöht
worden ist gegenüber
früheren
Techniken, indem verschachtelte Partitionen flexibler genutzt werden
können,
als dies aus dem Stand der Technik bislang bekannt ist.
-
Zusammenfassung
-
Entsprechend
schafft eine Ausführungsform ein
Computersystem mit einem computerlesbaren Medium und Mitteln zum
Bilden von ersten und zweiten Partitionen innerhalb des computerlesbaren
Mediums. Die zweite Partition befindet sich innerhalb der ersten
Partition. Dabei ist das Computersystem in der Lage, einen ersten
Befehl an die erste Partition zu adressieren und einen zweiten Befehl
an die zweite Partition, wobei die erste Partition mehrere Bereiche
umfasst. Zumindest einer der Bereiche ist für die zweite Partition reserviert
und innerhalb der zweiten Partition enthalten. Das Mittel dient
zum Modifizieren von Information, die der zweiten Partition zugeordnet ist,
so dass das Computersystem aufhört,
in der Lage zu sein, den zweiten Befehl an die zweite Partition
zu adressieren, jedoch der reservierte Bereich weiterhin für die zweite
Partition reserviert ist und innerhalb der zweiten Partition enthalten
ist.
-
Ein
grundsätzlicher
Vorteil dieses Ausführungsbeispiels
ist, daß verschiedene
Nachteile von früheren
Techniken überwunden
werden und die Effizienz gegenüber
früheren
Techniken erhöht
wird.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist
ein Blockdiagramm eines Computersystems gemäß des erläuterten Ausführungsbeispiels.
-
2 ist
eine schematische Darstellung eines Ausführungsbeispiels von Information,
die auf der Festplatte des Computersystems aus 1 gespeichert
ist.
-
3 ist
eine schematische Darstellung eines Ausführungsbeispiels von Information,
die innerhalb einer Datei-Zuordnungstabelle aus 2 gespeichert
ist.
-
4 ist
eine schematische Darstellung eines Ausführungsbeispiels einer Speichereinrichtung des
Computersystems aus 1.
-
5a–b ist ein
Flußdiagramm
des Betriebs des Computersystems aus 1.
-
6 ist
eine schematische Darstellung eines alternativen Ausführungsbeispiels
von Information, die auf der Festplatte des Computersystems aus 1 gespeichert
ist.
-
7 ist
eine schematische Darstellung von Information, die innerhalb einer
Datei-Zuordnungstabelle aus 6 gespeichert
ist.
-
8 ist
eine schematische Darstellung eines anderen alternativen Ausführungsbeispiel
von Information, die auf der Festplatte des Computersystems aus 1 gespeicherten
ist.
-
9 ist
ein weiteres Flußdiagramm
des Betriebs des Computersystems aus 1.
-
Detaillierte
Beschreibung
-
1 ist
ein Blockdiagramm eines Computersystems, das generell mit dem Bezugszeichen 100 bezeichnet
wird gemäß dem erläuterten
Ausführungsbeispiel.
Das System 100 enthält
Eingabevorrichtungen 104, eine Anzeigevorrichtung 106,
eine Druckvorrichtung 108 und einen Computer 102 zum Ausführen von
Prozessen und zum Durchführen
von Operationen (d.h. dem Kommunizieren von Information) in Antwort
darauf, wie weiter unten diskutiert wird. In dem erläuterten
Ausführungsbeispiel
ist der Computer 102 ein IBM-kompatibler Personalcomputer
("PC"), der eine Microsoft
Windows 95-Betriebssystem-Software ausführt.
-
Der
Computer 102 ist mit den Eingabevorrichtungen 104,
der Anzeigevorrichtung 106 und der Druckvorrichtung 108 verbunden.
Die Anzeigevorrichtung 106 ist beispielsweise eine konventionelle Elektronenstrahlröhre. Die
Druckvorrichtung 108 ist beispielsweise ein konventioneller
elektronischer Drucker oder Plotter. Ferner enthält der Computer 102 interne
Lautsprecher zur Ausgabe von Audiosignalen. In einem alternativen
Ausführungsbeispiel sind
die Lautsprecher außerhalb
des Computers 102. Darüber
hinaus enthält
das System 100 ein computerlesbares Medium (oder eine Vorrichtung) 110,
wie zum Beispiel ein Diskettenlaufwerk oder eine Festplatte.
-
Ein
menschlicher Anwender 112 und der Computer 102 arbeiten
miteinander. Beispielsweise zeigt die Anzeigevorrichtung 106 als
Antwort auf Signale vom Computer 102 sichtbare Bilder an
und der Anwender 112 sieht diese sichtbaren Bilder. Ferner druckt
die Druckervorrichtung 108 in Antwort auf Signale vom Computer 102 sichtbare
Bilder auf Papier und der Anwender 112 sieht diese sichtbaren
Bilder. Ferner betätigt
der Anwender 112 die Eingabevorrichtungen 104,
um Information an den Computer 102 abzugeben und der Computer 102 empfängt diese
Information von den Eingabevorrichtungen 104.
-
Die
Eingabevorrichtungen 104 umfassen beispielsweise eine konventionelle
elektronische Tastatur und ein Zeigegerät wie zum Beispiel eine konventionelle
elektronische "Maus", einen Trackball oder
einen Lichtstift. Der Anwender 112 betätigt die Tastatur, um alphanumerische
Textinformation an den Computer 102 auszugeben und der
Computer 102 empfängt
diese alphanumerische Textinformation von der Tastatur. Der Anwender 112 betreibt
das Zeigegerät,
um Cursor-gesteuerte
Information an den Computer 102 auszugeben und der Computer 102 empfängt diese
vom Cursor gesteuerte Information vom Anzeigegerät.
-
Das
computerlesbare Medium 110 und der Computer 102 sind
strukturell und funktional miteinander verbunden, wie im folgenden
beschrieben wird. Das computerlesbare Medium 110 speichert (d.h.
codiert, trägt
ein oder verkörpert)
funktional beschreibendes Material (beispielsweise, aber nicht ausschließlich begrenzt
auf Computerprogramme (die auch als Software oder Anwendungen bezeichnet
werden)) und Informationsstrukturen. Dieses funktional beschreibende
Material bringt eine Funktionalität mit sich, wenn es auf einem
computerlesbaren Medium 110 verschlüsselt wird. Ferner ist dieses funktional
beschreibende Material strukturell und funktional mit dem computerlesbaren
Medium 110 verbunden.
-
Innerhalb
dieses funktional beschreibenden Materials definieren Informationsstrukturen
strukturelle und funktionale Beziehungen zwischen diesen Informationsstrukturen
und dem computerlesbaren Medium 110 (und anderen Aspekten
des Systems 100). Diese Beziehungen ermöglichen, daß die Funktionalität der Informationsstrukturen
realisiert wird. Ferner definieren innerhalb dieses funktional beschreibenden
Materials Computerprogramme strukturelle und funktionelle Beziehungen
zwischen solchen Computerprogrammen und dem computerlesbaren Medium 110 (und
anderen Aspekten des Systems 100). Diese Beziehungen ermöglichen,
daß die
Funktionalität
der Computerprogramme realisiert wird.
-
Beispielsweise
liest der Computer 102 (d.h. er lädt, greift zu oder kopiert)
dieses funktional beschreibende Material in eine Computerspeichervorrichtung
(beispielsweise ein Direktzugriffsspeicher ("RAM"),
des Computers 102 und der Computer 102 führt seinen
Betrieb durch (wie an anderer Stelle hier beschrieben) in Antwort
auf das Material, das in dieser Speichereinrichtung gespeichert
ist. Insbesondere führt
der Computer 102 den Vorgang des Verarbeitens (d.h. Ausführens) einer
Computeranwendung (die gespeichert, codiert, eingetragen oder verkörpert ist
auf einem computerlesbaren Medium) durch, um den Computer 102 dazu
zu veranlassen, zusätzliche Operationen
durchzuführen
(wie an anderer Stelle hier beschrieben). Dementsprechend zeigt
das funktional beschreibende Material eine funktionale Beziehung
mit der Art, wie der Computer 102 seine Prozesse ausführt und
seine Operationen durchführt.
-
Ferner
ist ein computerlesbares Medium 110 eine Vorrichtung, über die
der Computer 102 auf eine Computeranwendung zugreifen kann,
wobei die Computeranwendung durch den Computer 102 verarbeitet
werden kann, um den Computer 102 dazu zu veranlassen, zusätzliche
Operationen durchzuführen.
Zusätzlich
zum Lesen solches funktional beschreibenden Materials vom computerlesbaren
Medium 110 ist der Computer 102 in der Lage, solches funktional
beschreibendes Material von (oder durch) ein Computernetzwerk 114 zu
lesen, das einen anderen Typ von computerlesbarem Medium (oder Vorrichtung)
darstellt. Darüber
hinaus ist die Computerspeichereinrichtung selbst ein computerlesbares
Medium (oder Vorrichtung).
-
2 ist
eine schematische Darstellung von Information, die allgemein mit
einem Bezugszeichen 200 bezeichnet wird, die auf einer
Festplatte des computerlesbaren Mediums 110 gespeichert
wird. Ein Festplatten-Controller des Computers 102 gibt Signale
an die Festplatte des computerlesbaren Mediums 110 aus
und die Festplatte speichert diese Information in Antwort auf solche
Signale. Diese Information enthält
einen Hauptstarteintrag (Master Boot Record, MBR), wie in 2 dargestellt.
-
In Übereinstimmung
mit der Architektur eines IBM-kompatiblen Personalcomputers ("PC") ist der MBR der
erste Sektor (Zylinder 0, Kopf 0, Sektor 1) auf der Festplatte des
computerlesbaren Mediums 110. Ein Sektor ist die kleinste
individuell adressierbare Speichereinheit auf einer Festplatte.
Bei einer Architektur eines IBM-kompatiblen Personalcomputers ("PC") haben Festplatten
eine Sektorgröße von 512
Bytes. Dementsprechend definiert der Computer 102 in dem
erläuterten
Ausführungsbeispiel
in dem Maße,
wie der Computer 102 eine Partition auf der Festplatte
bildet (d.h. erzeugt oder modifiziert), die Partition entlang von
Zylindergrenzen. Ein Zylinder ist eine Organisationseinheit auf
einer Festplatte, die der Anzahl der Schreib/Leseköpfe entspricht,
multipliziert mit der Anzahl von Sektoren pro Spur, multipliziert
mit der Anzahl von Bytes pro Sektor.
-
Der
MBR enthält
Startanweisungen BI und eine Hauptpartitionstabelle (Master Partition
Table, MPT) zur Verwaltung des Speicherplatzes auf der Festplatte.
In Übereinstimmung
mit der Architektur von IBM-kompatiblen Personalcomputern ("PC") enthält der MPT
vier Partitionstabelleneinträge,
nämlich PTE1,
PTE2, PTE3 und PTE4. Ein Partitionstabelleneintrag PTEx (wobei x
= 1, 2, 3 oder 4 ist) enthält
Information, die die Größe, den
Ort und den Typ (erweitert, Dateisystem einer neuen Technologie
(New Technology File System, NTFS), 16 Bit- oder 32 Bit-Dateizuordnungstabelle
("File Allocation
Table, FAT), Primär-
oder Dienstpartition) einer Partition Px, die einem solchen PTEx
zugeordnet ist.
-
Jeder
Partitionstabelleneintrag PTEx enthält eine entsprechende "aktive" Flag. Der Festplattencontroller
des Computers 102 gibt Signale an die Festplatte des computerlesbaren
Mediums 110, so daß maximal
eine der vier Partitionstabelleneinträge PTEx als "aktiv" markiert ist zu
irgendeinem besonderen Zeitpunkt (d.h. maximal einer der vier "aktiven" Flags wird auf einen
logischen, wahren Wert 1 zu einem jeweiligen Zeitpunkt gesetzt).
BI enthält
Anweisungen zum Feststellen, ob (und welcher) der Partitionstabelleneinträge PTEx
als "aktiv" markiert ist.
-
Im
Beispiel von 2 enthält die Festplatte des computerlesbaren
Mediums 110 Partitionen P1 und P2. Die Partition P1 enthält einen
Partitionsstarteintrag PBR1, eine Dateizuordnungstabelle FAT1, ein
Hauptverzeichnis RD1 und einen Dateibereich FR1. Die Partition P2
enthält
einen Partitionsstarteintrag PBR2, eine Dateizuordnungstabelle FAT2,
ein Hauptverzeichnis RD2 und einen Dateibereich FR2.
-
Mit
der Betriebssystemsoftware bezeichnet der Computer 102 (d.h.
er bildet ab oder setzt in Beziehung) eine Partition durch einen
zugeordneten logischen Laufwerksbuchstaben (beispielsweise C: oder
A:), der ein entsprechendes logisches Laufwerk, das der Partition
zugeordnet ist, identifiziert. Mit solch einer Bezeichnung wird
die Partition gleicherweise dem entsprechenden logischen Laufwerksbuchstaben
zugeordnet. Ohne solch eine Bezeichnung ist es jedoch für eine Partition
möglich,
keinem logischen Laufwerk zugeordnet zu sein.
-
Ein
Computer, wie zum Beispiel der Computer 102, wird "gestartet" ("neu gestartet"), wenn er die Ausführung der
Betriebssystemsoftware (beispielsweise Microsoft Windows) in Antwort
auf ein Ereignis ("Startereignis") beginnt. Solch
ein Startereignis kann beispielsweise sein, daß der Anwender 112 den Computer 102 "anschaltet" (d.h. der Anwender 112 bewirkt
die Anwendung von elektrischem Strom an dem Computer 102 durch
das Anschalten eines Ein/Ausschalters des Computers 102).
Alternativ dazu kann solch ein Startereignis das Empfangen eines
Befehls durch den Computer 102 sein, die Betriebssystemsoftware
zu starten. Beispielsweise kann der Computer 102 solch
einen Befehl von dem Anwender 112 empfangen (beispielsweise
durch Eingabevorrichtungen 104) oder von einer Computeranwendung,
die durch den Computer 102 ausgeführt wird oder von einem anderen
Computer (beispielsweise über
das Netzwerk 114).
-
Als
Antwort auf das Starten (oder erneute Starten) des Computers 102 werden
insbesondere die folgenden Schritte durchgeführt:
- (a)
der Computer 102 liest Anweisungen in eine Speichervorrichtung
des Computers 102: (i) von BI; und (ii) von PBRx, wenn
der Partitionstabelleneintrag PTEx als "aktiv" markiert ist und
- (b) führt
diese Anweisungen in Antwort auf ein einfaches Eingabe/Ausgabesystem
("BIOS") eines Nur-Lesespeichers
("ROM") des Computers 102 durch.
-
PBRx
ist der Partitionsstarteintrag von Px der Partition, die PTEx zugeordnet
ist. In dem erläuterten Ausführungsbeispiel
ist PBRx ein einzelner Sektor an Information. BI und jeder PBRx
enthalten Anweisungen gemäß dem Typ,
der Version und der Sprache der Betriebssystemsoftware.
-
Als
Antwort auf Signale vom Computer 102 speichert ein FRx
Informationsdateien. Jeder FRx ist in eine Anzahl C von Informationsclustern
aufgeteilt. Ein besonderer Cluster wird als Cluster b bezeichnet, wobei
b eine ganze Zahl zwischen 0 und C-1 ist.
-
In
dem erläuterten
Ausführungsbeispiel
haben die Cluster innerhalb einer jeweiligen FRx die gleiche Größe, so daß jeder
Cluster eine Größe = 2y hat, wobei y eine ganze Zahl ist und C·2y weniger oder gleich der Größe des jeweiligen
FRx ist. Dementsprechend enthält
PBRx einen BIOS-Parameterblock, der y und C für den jeweiligen FRx spezifiziert. Jeder
FRx hat seine eigene entsprechende Größe und jede Partition hat ihre
eigenen entsprechenden Werte von y und C.
-
In
dem erläuterten
Ausführungsbeispiel
enthält
jedes Hauptverzeichnis RDx Platz zum Speichern von bis zu 512 Einträgen pro
RDx. Solch ein Eintrag ist einer Informationsdatei zugeordnet und enthält den Dateinamen
der Datei (beispielsweise PROGRAM.EXE, DATA.DAT, COMMANDS.BAT), das
Datum, die Zeit, die Größe und die
Attribute (beispielsweise versteckt) und ein Startcluster. Das Startcluster
ist eines der C-Cluster innerhalb von FRx.
-
3 ist
eine schematische Darstellung von Information, die im allgemeinen
mit dem Bezugszeichen 300 bezeichnet wird und die durch
die Festplatte innerhalb einer Dateizuordnungstabelle FATx gespeichert
wird. Insbesondere wird in dem Beispiel von 3 die Information 300 innerhalb
von FAT1 gespeichert. Jede Dateizuordnungstabelle FATx enthält C-Einträge, die
jeweils einem der Cluster innerhalb von FRx zugeordnet sind. In
dem Beispiel aus 3 ist C = 10, so daß die FATx
zehn Einträge
enthält,
die numeriert sind mit b = 0 bis 9. Jeder Eintrag enthält einen
entsprechenden Zustand.
-
Wenn
indem erläuterten
Ausführungsbeispiel
der Zustand der Eintrages b FFF0, FFF1, FFF2, FFF3, FFF4, FFF5 oder
FFF6 ist, dann wird der Eintrag b „reserviert". Wenn im Vergleich
dazu der Zustand des Eintrages b 0 ist, ist der Eintrag b "zur Verfügung stehend". Wenn der Zustand
des Eintrages b eine andere Zahl als 0, FFF0, FFF1, FFF2, FFF3, FFF4,
FFF5 oder FFF6 ist, ist der Eintrag b "allociert. Wenn der Eintrag b allociert
ist und einen Zustand von –1
hat, ist der Eintrag b ein Endeintrag und identifiziert nicht einen
weiteren Eintrag. Wenn der Eintrag b allociert ist und einen anderen
Zustand als –1 hat,
identifiziert der Eintrag b einen nächsten Eintrag q, wobei q eine
ganze Zahl zwischen 0 und C-1 ist.
-
Zum
Zugreifen (d.h. Schreiben von Information auf oder dem Lesen von
Information aus) auf eine Partition Px gibt ein Prozessor des Computers 102 einen
Befehl an den Festplattencontroller des Computers 102 aus
und der Festplattencontroller empfängt diesen Befehl. Dieser Befehl
ist an die Partition Px adressiert (und entsprechend an ein entsprechendes
logisches Laufwerk, das der Partition Px zugeordnet ist) durch das
Spezifizieren eines zugeordneten Laufwerksbuchstabens (beispielsweise C:
oder A:), der die Partition Px bezeichnet (und der entsprechend
ein entsprechendes logisches Laufwerk, das der Partition Px zugeordnet
ist, identifiziert). Solch ein Befehl spezifiziert auch eine jeweilige Informationsdatei
durch ihren Dateinamen.
-
In
Antwort auf solch einen Befehl passiert folgendes:
- (a) der Festplattencontroller liest das RDx der adressierten
Partition Px von der Festplatte, (b) wenn ein Eintrag innerhalb
von RDx den Dateinamen enthält,
identifiziert der Controller den Startcluster f der Datei, so wie
er durch den Eintrag innerhalb von RDx identifiziert wird, wobei
f eine ganze Zahl zwischen 0 und C-1 ist; und (c) wenn ein Eintrag
innerhalb von RDx nicht den Dateinamen enthält, allociert der Festplattencontroller
(i) ein Startcluster (f für
die Datei, so daß der
allocierte Startcluster f einem "zur
Verfügung
stehenden" Eintrag
f innerhalb von FATx zugeordnet wird und (ii) schreibt in einen "zur Verfügung stehenden" Eintrag innerhalb
von RDx den Dateinamen der Datei, das dann gültige Datum, die dann gültige Zeit
und die Größe der Datei,
die Dateiattribute und eine Identifizierung des Startclusters f
der Datei.
-
In
beiden vorangegangenen Situationen (a) oder (b) führt der
Festplattencontroller die folgenden Schritte aus: Der Festplattencontroller
allociert oder deallociert einen oder mehrere andere Cluster, wenn (und
in dem Maße),
wie es für
das Speichern der gesamten Datei geeignet ist; er modifiziert in
geeigneter Weise Einträge
innerhalb der FATx, um genau eine Reihenfolge anzuzeigen zum Zugreifen
auf diese Cluster in Verbindung mit dem Lesen und dem Schreiben
der Datei. Solche Einträge
innerhalb der FATx zeigen genau eine solche Reihenfolge an, wie sie
im folgenden in Verbindung mit dem "nächsten Eintrag" und dem Endeintrag
diskutiert werden. Vor dem Allocieren eines Clusters überprüft der Festplattencontroller,
daß dem
allocierten Cluster ein "zur Verfügung stehender" Eintrag innerhalb
der FATx zugeordnet ist. Nach dem Deallocieren eines Clusters verändert der
Festplattencontroller den dem Cluster zugeordneten Eintrag innerhalb
der FATx auf "zur Verfügung stehend".
-
Nach
dem Identifizieren des Startclusters der Datei f führt der
Festplattencontroller die im folgenden Abschnitt für die Situation
b = f beschriebenen Vorgänge
durch.
-
Der
Festplattencontroller liest den Eintrag b innerhalb der FATx, der
dem Cluster b des FRx zugeordnet ist. Wenn der Eintrag b „reserviert" ist, gibt der Festplattencontroller
ein Signal an den Prozessor des Computers 102 zum Anzeigen,
daß der
Zugriff auf den Cluster b (und in ähnlicher Weise auf die entsprechende
durch den Dateinamen spezifizierte Informationsdatei) verweigert
worden ist. Wenn im Vergleich dazu der Eintrag b allociert ist,
greift der Festplattencontroller auf den Cluster b in einer Weise
zu, die durch den Befehl von dem Prozessor des Computers 102 spezifiziert
worden ist (z.B. in Antwort auf einen "Lese"-Befehl
liest der Festplattencontroller Information, die in dem Cluster
b gespeichert ist und gibt diese Information an den Prozessor des
Computers 102 aus und der Prozessor des Computers 102 empfängt diese
Information; in Antwort auf einen "Schreib"-Befehl
empfängt
der Festplattencontroller Information vom Prozessor des Computers 102 und schreibt
diese Information in den Cluster b). Nach dem Zugreifen auf den
Cluster b werden die folgenden Schritte durchgeführt: (a) falls der Eintrag
b ein Endeintrag ist, ist der Zugriff auf die spezielle Informationsdatei
abgeschlossen und der Festplattencontroller wartet auf den nächsten Befehl
von dem Prozessor des Computers 102; und (b) wenn der Eintrag b
nicht ein Endeintrag ist, wiederholt der Festplattencontroller die
in dem Absatz beschriebenen Vorgänge
für den
Fall wo b = q (wie oben erwähnt,
ist der nächste
Eintrag q identifiziert durch den Zustand des Eintrages b). Entsprechend
greift in dem Beispiel aus 3 der Festplattencontroller,
bei einem Startcluster f = 2 der Datei auf die Folge der Cluster
2, 5 und 7 des FRx zu.
-
In
dem erläuterten
Ausführungsbeispiel
ist der Zustand des Eintrages b innerhalb der FATx ein 16 Bit-Eintrag,
der den nächsten
Eintrag q in FRx identifiziert, und das größte logische Laufwerk (und
in ähnlicher
Weise die größte Partition),
die durch den Computer 102 verwaltet wird, ist (a) zwei
Gigabyte für die
Betriebssystemsoftware Microsoft DOS, (b) zwei Gigabyte für die Betriebssystemsoftware
Microsoft Windows 95, und (c) vier Gigabyte für die Betriebssystemsoftware
Microsoft Windows NT. In einem alternativen Ausführungsbeispiel ist der Zustand
des Eintrages b innerhalb der FATx ein 32 Bit-Eintrag, der den nächsten Eintrag
q innerhalb von FRx identifiziert und das größte logische Laufwerk (und
in gleicher Weise die größte Partition),
die durch den Computer 102 verwaltet wird, sind zwei Terabyte
für die
Version 5.0 der Betriebssystemsoftware Microsoft Windows NT und
der Betriebssystemsoftware Microsoft Windows 95 OSR2. In dem erläuterten
Ausführungsbeispiel
ist ein Terabyte 10244 Byte, ein Gigabyte
sind 10243 Byte und ein Megabyte sind 10242 Byte.
-
4 ist
eine schematische Darstellung einer Speichervorrichtung, die im
allgemeinen mit einem Bezugszeichen 400 bezeichnet wird,
des Computers 102. 5 ist
ein Flußdiagramm
des Betriebs des Systems 100. Die folgende Diskussion bezieht sich
gleichzeitig auf die 4 und 5.
-
Wie
in 4 gezeigt, enthält die Speichervorrichtung 400 einen
konventionellen Speicherbereich CM und einen erweiterten Speicherbereich
EM. Der erweiterte Speicherbereich EM enthält einen hohen Speicherbereich
HMA, wobei es sich um die niedrigst adressierbaren (d.h. durch Adressen
mit den niedrigsten Nummern adressierten) 64 Kilobyte vom Platz
innerhalb des erweiterten Speicherbereiches EM handelt. Der konventionelle
Speicherbereich CM sind die am niedrigsten adressierbaren 640 Kilobyte
am Platz innerhalb der Speichereinrichtung 400 und enthält die Bereiche 402, 404, 406, 408 und 410,
wie in 4 gezeigt.
-
Im
Schritt 500 stellt der Computer 102 fest, ob die
Ausführung
des Betriebssystems als Antwort auf ein Startereignis begonnen werden
soll. In Antwort auf das Starten (oder erneute Starten) des Computers 102,
kopiert der Computer 102 Teile der Betriebssystemsoftware
("OS") Microsoft DOS von
dem computerlesbaren Medium 110 in den Bereich 402 und
der Computer 102 liest und führt diese Teile im Schritt 502 aus.
Der Bereich 402 ist der am niedrigsten adressierbare Bereich
innerhalb des CM. Der Computer 102 speichert das Betriebssystem
im Bereich 402, da das Betriebssystem zur ersten Software gehört, die
der Computer 102 in Antwort auf das Starten (oder erneute
Starten) ausführt.
-
Beim
Ausführen
des Betriebssystems allociert der Computer 102 den Bereich 404 zum
Speichern von Informationsstrukturen IS in einem Schritt 504.
Die Informationsstrukturen IS enthalten Information zum Identifizieren
der logischen Laufwerke. Beispielsweise enthalten Informationsstrukturen
IS Information, die ein entsprechendes logisches Laufwerk, das einer
Partition zugeordnet ist (der Festplatte des computerlesbaren Mediums 110),
identifiziert. Insbesondere enthalten in dem erläuterten Ausführungsbeispiel
die Informationsstrukturen IS Information, die die Partition durch
einen zugeordneten logischen Laufwerksbuchstaben (beispielsweise
C: oder A:) identifiziert, der ein entsprechendes logisches Laufwerk
identifiziert.
-
Ferner
kopiert beim Ausführen
des Betriebssystems der Computer 102 Teile der Anwendungssoftware
("SW") vom computerlesbaren
Medium 110 in den Bereich 406 und der Computer 102 liest
und führt
diese Teile in einem Schritt 506 aus.
-
Vorzugsweise
ist eine neue Festplatte normalerweise leer und enthält keine
Partitionierungsinformation. In einer ersten Situation wird der
Computer 102, wenn eine neue Festplatte leer ist und im System 100 installiert
wird, gestartet (oder erneut gestartet). Daraufhin erkennt der Computer 102 (beim Ausführen des
Betriebssystems) den Mangel an Partitionen auf der Festplatte. In
dieser ersten Situation speichert der Computer 102 (beim
Ausführen
der Betriebssystemsoftware) keine Informationsstrukturen IS in dem
Bereich 404 zum Identifizieren von logischen Laufwerken.
In einer zweiten Situation erkennt der Computer 102 (beim Ausführen der
Betriebssystemsoftware) Partitionen auf der Platte und speichert Informationsstrukturen
IS im Bereich 404 zum Identifizieren von logischen Laufwerken.
Jedoch erkennt der Computer 102 (beim Ausführen der
Anwendungssoftware SW) eine Notwendigkeit zum Hinzufügen, Modifizieren
oder Löschen
von Partitionen auf der Festplatte.
-
Beim
Ausführen
der Anwendungssoftware SW in entweder der ersten oder der zweiten
Situation initialisiert der Computer 102 (d.h. er bereitet
vor) die Festplatte, indem er sie formatiert und indem er in passender
Weise eine oder mehrere Partitionen auf der Festplatte in einem
Schritt 508 hinzufügt,
modifiziert oder löscht.
In dem erläuterten
Ausführungsbeispiel
ist solch eine Initialisierung ein Teil eines Prozesses, der von
dem Computer 102 ausgeführt
wird zum Installieren von Programmen und Informationsstrukturen
auf der Festplatte zur Unterstützung
zahlreicher Einrichtungen des Systems 100. Nachdem der
Computer 102 eine oder mehrere Partitionen auf der Festplatte
hinzugefügt,
modifiziert oder gelöscht hat,
sind die Informationsstrukturen IS (die logische Laufwerke identifizieren)
noch ungenau, solange und bis der Computer 102 Informationsstrukturen
IS in Antwort auf die hinzugefügten,
modifizierten und/oder gelöschten
Partitionen in einem Schritt 510 bildet (d.h. in der Speichereinrichtung 400 speichert).
-
Gemäß der früheren Techniken
wird der Computer 102 nach dieser Initialisierung der Festplatte
erneut gestartet, bevor der Computer 102 (beim Ausführen des
Betriebssystems) die Informationsstrukturen IS bildet (d.h. in der
Speichereinrichtung 400 speichert) in Antwort auf die hinzugefügten, modifizierten
und/oder gelöschten
Partitionen. Solch ein Neustart eines Computers 102 benötigt bis
zu mehreren Minuten. Im Zuge des Zusammenbaus oder des Herstellens
von Computern in großen
Mengen werden leere Festplatten in einer großen Anzahl von Computern installiert.
Bei solch einem Betrieb ist das Hinzufügen von mehreren Minuten des
Neustartens pro Computer ineffizient.
-
Wie
oben bereits erwähnt,
enthalten die Informationsstrukturen IS Information, die ein entsprechendes
logisches Laufwerk identifiziert, das einer Partition (der Festplatte
des computerlesbaren Mediums 110) zugeordnet ist. In einem
wichtigen Aspekt des erläuterten
Ausführungsbeispiels,
unabhängig davon,
ob der Computer 102 erneut gestartet wird (selbst bevor
oder ohne den Neustart) gilt folgendes: Der Computer 102 bildet
(d.h. er speichert in der Speichereinrichtung 400) Informationsstrukturen
IS in Antwort auf hinzugefügte
modifizierte und/oder gelöschte
Partitionen; und der Computer 102 greift auf eine solche
Partition in Antwort auf einen Befehl zu, der an das entsprechende
logische Laufwerk, das der Partition zugeordnet ist, adressiert
ist. Insbesondere, wenn der Computer 102 Partitionen auf
der Festplatte hinzufügt
(oder in manchen Situationen modifiziert), ist der Bereich 404 normalerweise
nicht ausreichend groß zum
Speichern aller Informationsstrukturen IS.
-
Als
ein Beispiel führt
der Computer 102 beim Bezeichnen einer Partition durch
den Laufwerksbuchstaben C:, der einem entsprechenden logischen Laufwerk
C: zugeordnet ist, die folgenden Schritte durch: (a) Erzeugen der
Informationsstrukturen IS in der Form einer Laufwerkbeschreibungstabelle
(drive descriptor table, DDT) und eines Laufwerkparameterblocks
(drive parameter block, DPB); (b) Modifizieren einer gegenwärtigen Verzeichnisstruktur
(current directory structure, CDS), die dem logischen Laufwerk C:
zugeordnet ist, und die als ein lineares Feld anstelle einer verbundenen
Liste implementiert wird, so daß der
Computer 102 nicht zusätzlichen
Speicherplatz für
die CDS allociert; und (c) Modifizieren einer Systemvariablen-Tabelle
(system variables table, SysVars) des Computers 102, um
eine Anzeige des logischen Laufwerks C: zu enthalten.
-
Gemäß der früheren Techniken
speichert der Computer 102, nachdem der Computer 102 Informationsstrukturen
IS in Antwort auf die hinzugefügten, modifizierten
und/oder gelöschten
Partitionen gebildet hat, im Bereich 408 in dem Maße wie der
Bereich 404 unzureichend groß ist. Trotzdem wird, nachdem der
Computer das Ausführen
der Applikationssoftware SW beendet hat, der Bereich 406 re allocierbar durch
den Computer 102 zum Speichern von verschiedener Information
(d.h. zusätzlicher
Informationsstrukturen oder Teilen von anderer Anwendungssoftware).
Ein Nachteil der früheren
Techniken ist, daß der
Bereich 408 zwischen dem reallocierbaren Bereich 406 und
dem Bereich 410 liegt (d.h. innerhalb des Bereiches der
Adressen, wobei dieser Adreßraum
innerhalb des konventionellen Speicherbereiches CM liegt), wodurch
ein Satz von Information (beispielsweise Teile eines einzelnen Softwareprogramms)
fragmentiert wird, der in den Bereichen 406 und 410 gespeichert
wird.
-
Diese
Fragmentierung trägt
zur Komplexität der
Vorgänge
des Computers 102 bei, da der Computer 102 zusätzliche
Operationen durchführt
zum Detektieren, ob und wie der Bereich 408 übergangen werden
kann, beim Adressieren eines Satzes an Information, der in den Bereichen 406 und 410 gespeichert
ist. Die Komplexität
des Computers 102 wird erhöht durch das Speichern einer
Gruppe von Information in den Bereichen 406 und 410 anstelle
der Region 406 und 408. Dies liegt daran, daß die Bereiche 406 und 408 (im
Gegensatz zu den Bereichen 406 und 410) adressierbar
sind durch einen kontinuierlichen ununterbrochenen Bereich von Adressen.
-
In
einem wichtigen Aspekt des erläuterten Ausführungsbeispiels
stellt der Computer 102, nachdem er die Informationsstrukturen
IS als Antwort auf die hinzugefügten,
modifizierten und/oder gelöschten Partitionen
im Schritt 510 gebildet hat, folgendes fest: (a) in einem
Schritt 512 eine ausreichende Menge von Speicherplatz zum
Speichern der Informationsstrukturen IS; (b) in einem Schritt 514,
ob der Bereich 404 bereits eine frühere Version der Informationsstrukturen
IS speichert; und (c) im Schritt 516, ob der Bereich 404 ausreichend
groß ist
zum Speichern der gesamten neuen Version der Informationsstrukturen IS.
Wenn der Bereich 404 ausreichend groß ist zum Speichern der gesamten
neuen Version der Informationsstrukturen IS, speichert der Computer 102 die gesamten
Informationsstrukturen IS im Bereich 404 im Schritt 518.
-
Die
Größe der Informationsstrukturen
IS ist eine Funktion der Version des Betriebssystems und eines Typs
der Partition. Zum Feststellen, ob der Bereich 404 bereits
eine frühere
Version der Informationsstrukturen IS speichert, liest der Computer 102 ein
Feld für
eine "Anzahl von
physikalischen Laufwerken" (die
gleich einer Anzahl von DPBs ist) aus der Systemvariablentabelle
("SysVars") des Betriebssystems.
Wenn der Eintrag in dem Feld mit der "Anzahl von physikalischen Laufwerken" zwei ist, speichert der
Bereich 404 nicht bereits eine frühere Version der Informationsstrukturen
IS.
-
Wichtig
ist, daß nach
dem Feststellen einer ausreichenden Menge an Speicherplatz zum Speichern
der Informationsstrukturen IS im Schritt 512 der Computer 102 die
Informationsstrukturen IS im hohen Speicherbereich HMA speichert
(in einem Schritt 520) anstelle des Bereichs 408 (und
ohne den konventionellen Speicherbereich CM zu stören), in dem
Maße,
wie der Bereich 404 nicht ausreichend groß ist. Auf
diese Weise bleibt der Bereich 408 allocierbar durch den
Computer 102 zum Speichern einer Gruppe von Informationen
in Verbindung mit dem Bereich 406 und/oder dem Bereich 410,
wodurch das Fragmentieren verringert wird und ein größerer kontinuierlicher
Block des konventionellen Speicherbereichs CM zum Speichern einer
Gruppe von Information erreicht wird. Dementsprechend ist der Computer 102 des
erläuterten
Ausführungsbeispiels
im Vergleich mit früheren
Techniken weniger komplex.
-
Darüber hinaus
adressiert der Computer 102 durch das Speichern der Informationsstrukturen
IS im hohen Speicherbereich HMA die Informationsstrukturen IS in
vorteilhafter Weise mit 16 Bit Adressen und der Computer 102 greift
auf die Informationsstrukturen IS in vorteilhafter Weise zu, ohne
das Hervorrufen von speziellen Protokollen (beispielsweise 32 Bit-Adressierung
und geschützten
Modi). Auf diese Weise kann auf die Informationsstrukturen IS schneller
zugegriffen werden in einer Weise, die mit der Microsoft DOS-Betriebssystemsoftware
kompatibel ist, die ein 16 Bit-Betriebssystem ist.
-
Umgekehrt
greift der Computer 102 auf andere Bereiche (neben dem
HMA) innerhalb des erweiterten Speicherbereichs EM durch das Aufrufen von
speziellen Protokollen zu, die Komplexität zu den Vorgängen des
Computers 102 hinzufügt.
-
Zum
Speichern der Informationsstrukturen IS im HMA versucht der Computer 102,
einen ausreichenden Teil des HMA zu allocieren durch das Ausführen von
Int 2Fh Funktionen 4Ah des Betriebssystems. Solch ein Versuch ist
erfolgreich, wenn der Computer 102 eine Treibersoftware
für eine
erweiterte Speicherspezifikation (XMS) ausführt (wie sie zum Beispiel durch
das HIMEM.SYS-Treiber-Softwareprogramm
implementiert wird, das mit dem Betriebssystem geliefert wird) und
kopiert das Betriebssystem in den HMA (durch Ausführen eines "DOS=HIGH"-Befehls). Bei Erfolg
führt der
Computer 102 das XMS-Treiber-Softwareprogramm aus, um einen ausreichenden
Bereich des HMA zu identifizieren und zu reallocieren zum Speichern
der Informationsstrukturen IS.
-
Falls
dies nicht gelingt, versucht der Computer 102 den gesamten
HMA zum Speichern der Informationsstrukturen IS zu allocieren durch
das Einschalten der A20-Adreßleitung.
Der Computer 102 schaltet die A20-Adreßleitung ein durch das Durchführen passender
BIOS-Vorgänge,
inklusive des Ausführens
der Int 15h Funktion 24h des Betriebssystems. Wenn jedoch
das BIOS solche Vorgänge nicht
unterstützt,
schaltet der Computer 102 die A20-Adreßleitung frei durch die Ausgabe
von passenden Befehlen direkt an den Tastaturcontroller des Computers 102.
-
Alternativ
dazu speichert der Computer 102 die Informationsstrukturen
IS innerhalb des höchsten adressierbaren
Platzes des konventionellen Speicherbereiches CM anstatt des HMA
in dem Maße,
wie der Bereich 404 nicht ausreichend groß ist. Der
Computer 102 führt
diese Aktionen durch, wenn der Computer 102 ohne Erfolg
versucht, den HMA zum Speichern der Informationsstrukturen IS zu
allocieren. Ferner führt
der Computer 102 diese Aktionen durch, wenn der Computer 102 den
HMA testen muß, ohne
die Informationsstrukturen IS zu löschen.
-
Beim
Speichern der Informationsstrukturen IS verbindet der Computer 102 die
Informationsstrukturen IS mit einer früheren Version, falls vorhanden, der
Informationsstrukturen IS, die bereits in der Speichereinrichtung 400 gespeichert
ist (beispielsweise eine frühere
Version, die im Bereich 404 gespeichert ist) in dem Maße, wie
diese frühere
Version gültig bleibt.
Der Computer 102 führt
das Verbinden unabhängig
davon durch, ob der Computer 102 die Informationsstrukturen
IS im HMA oder im höchsten adressierbaren
Platz innerhalb des konventionellen Speicherbereiches CM speichert.
In vorteilhafter Weise führt
der Computer 102 dieses Erzeugen, Speichern und Verbinden
der Informationsstrukturen IS in ungefähr einer Sekunde oder weniger
durch, verglichen zu den mehreren Minuten, die anderenfalls benötigt würden zum
Neustarten des Computers 102. Im Anschluß an den
Schritt 518 oder den Schritt 520 kehrt der Betrieb
des Systems 100 in 5 zurück zum Schritt 500.
-
6 ist
eine schematische Darstellung von Information, die allgemein mit
dem Bezugszeichen 600 bezeichnet wird und die durch die
Festplatte des computerlesbaren Mediums 110 gespeichert
wird. Die Information 600 ist eine alternative Version
der Information 200 aus 2.
-
In
dem Beispiel aus 6 enthält die Festplatte des computerlesbaren
Mediums 110, wie in dem Beispiel von 2,
Partitionen P1 und P2. Wie in 2, enthält die Partition
P1 einen Partitionsstarteintrag PBR1, eine Dateizuordnungstabelle
FAT1, ein Hauptverzeichnis RD1 und einen Dateibereich FR1.
-
In ähnlicher
Weise enthält
die Partition P2 einen Partitionsstarteintrag PBR2, eine Dateizuordnungstabelle
FAT2, ein Hauptverzeichnis RD2 und einen Dateibereich FR2.
-
In
einem wichtigen Aspekt des erläuterten Ausführungsbeispiels
aus 6 ist die Partition P1 eine "primäre" Partition und die
Partition P2 eine "Dienst"-Partition, die sich
innerhalb von FR1 befindet. Insbesondere ist die Partition P2 innerhalb der Cluster
8 und 9 von FR1 angeordnet. In dem erläuterten Ausführungsbeispiel
bildet das System 100, wenn es eine Dienstpartition innerhalb
einer primären
Partition bildet, die Dienstpartition innerhalb der höchsten adressierbaren
Cluster der primären
Partition. Auf diese Weise verhindert das System 100 eine signifikante
Zunahme der Zeit zum Zugreifen auf Cluster in Antwort auf Befehle,
die an die primäre Partition
adressiert sind. Das System 100 „reserviert" eine ausreichende
Zahl von solchen Clustern für
die Dienstpartition, aufgerundet auf die nächste Zylindergrenze, um die
Kompatibilität
mit Dienstprogrammen des Betriebssystems, wie zum Beispiel FDISK
zu erhalten.
-
In
diesem Beispiel ist die Partition P2 der Information 600 identisch
zu der Partition P2 der Information 200, im Hinblick auf
ihre Struktur, Größe, Ort und
den Betrieb. Jedoch ist der FR1 der Information 600 größer als
der FR1 der Information 200. Auf diese Weise ist der FR1
der Information 600 ausreichend groß, um die Partition P2 innerhalb
der Cluster 8 und 9 des FR1 aufzunehmen.
-
Eine
Dienstpartition kann beispielsweise Programme und Informationen
speichern, die nützlich
sind während
der Herstellung, des Zusammenbaus und des Tests des Systems 100.
Trotzdem sind in zumindest einer Situation solche Programme und Informationen
weniger nützlich
und werden vielleicht nicht einmal gebraucht während der nachfolgenden Verwendung
und des Betriebs des Systems 100. In solch einer Situation
nach der Herstellung, dem Zusammenbau und dem Test des Systems 100 gilt
folgendes: (a) die Dienstpartition selbst ist weniger nützlich und
möglicherweise
wird sie nicht einmal gebraucht; (b) verglichen mit der Dienstpartition
ist die primäre
Partition nützlicher
während
der nachfolgenden Verwendung und des Betriebs des Systems 100; und
(c) bevorzugt ist das System 100 des erläuterten Ausführungsbeispiels
in der Lage, die Dienstpartition zu löschen, so daß die Sektoren
von der Dienstpartition reallociert werden zu der primären Partition.
Auf diese Weise wird die primäre
Partition der Festplatte in vorteilhafter Weise vergrößert, um
eine vielseitigere nachfolgende Verwendung und Betrieb des Systems 100 zu
erhalten.
-
7 ist
eine schematische Darstellung von Information, die allgemein mit
dem Bezugszeichen 700 bezeichnet wird, und die durch die
Festplatte innerhalb einer Dateizuordnungstabelle FAT1 der Information 600 gespeichert
wird. Wie in 7 dargestellt, sind die Einträge 8 und
9 „reserviert" im Gegensatz zur
Information 300 aus 3, in der
diese Einträge „zur Verfügung stehen". Mit Ausnahme der
Einträge
8 und 9 ist die Information 700 identisch zur Information 300 aus 3.
-
In
diesem Beispiel bezeichnet der Computer 102 mit dem Betriebssystem
die primäre
Partition P1 durch den Buchstaben C: und bezeichnet die Dienstpartition
P2 durch den Buchstaben A:. Auf diese Weise bildet der Computer 102 die
primäre
Partition P1 auf das logische Laufwerk C: und bildet die Dienstpartition
P2 auf ein virtuelles Laufwerk A: ab. Solch ein Laufwerk A: ist "virtuell", da sein tatsächlicher Speicherplatz
auf der Festplatte des computerlesbaren Mediums 110 angeordnet
ist anstelle einer Diskette des computerlesbaren Mediums 110.
-
Während der
Herstellung, des Zusammenbaus und des Tests des Computersystems
markiert der Computer 102 (in der MPT) die Dienstpartition
P2 als aktiv, so daß der
Computer 102 Anweisungen von der PBR2 in Antwort auf ein
Startereignis ausführt.
-
Wie
bereits oben in Verbindung mit 3 erwähnt, gibt
der Prozessor des Computers 102 zum Zugreifen auf die Partition
P1 einen Befehl an den Festplattencontroller des Computers 102 aus
und der Festplattencontroller empfängt diesen Befehl. Beispielsweise
ist solch ein Befehl adressiert an die Partition P1 durch das Spezifizieren
des Buchstabens C:, der die Partition P1 bezeichnet. Vor dem Allocieren
eines Clusters zum Speichern einer Datei in Antwort auf solch einen
Befehl, der an die Partition P1 adressiert ist, überprüft der Festplattencontroller,
daß der
allocierte Cluster einem „zur
Verfügung
stehenden" Eintrag
innerhalb der FAT1 zugeordnet ist. Daher allociert der Festplattencontroller
solange wie die Einträge
8 oder 9 innerhalb der FAT1 „reserviert" sind anstelle von „zur Verfügung zu
stehen", weder den Cluster
8 noch den Cluster 9.
-
Auf
diese Weise ist das System, indem es die Einträge 8 und 9 innerhalb der FAT1
der Information 600 „reserviert", in der Lage, die
Partition P2 zuverlässig
innerhalb der Clustern 8 und 9 des FR1 aufzufinden. Dies liegt daran,
daß der
Prozessor des Computers 102 auf die Cluster 8 und 9 nicht
zugreifen kann durch die Ausgabe (an den Festplattencontroller)
eines Befehls, der an die Partition P1 adressiert ist (d.h. durch
das Spezifizieren des Buchstabens C:, der die Partition P1 bezeichnet).
Statt dessen kann der Prozessor des Computers 102 auf die Cluster
8 und 9 zugreifen durch die Ausgabe (an den Festplattencontroller)
eines Befehls, der an die Partition P2 adressiert ist (durch das
Spezifizieren eines Buchstabens A:, der die Partition P2 bezeichnet).
-
In ähnlicher
Weise ist das System 100 in der Lage, zuverlässig eine
oder mehrere zusätzliche
Partitionen (beispielsweise eine Partition P3) innerhalb von FR2
(der selbst innerhalb von FR1 angeordnet ist) anzuordnen durch das
geeignete Reservieren von Einträgen
innerhalb von FAT2 der Information 600. In solch einem
Beispiel kann der Prozessor des Computers 102 nicht auf
Cluster, die diesen reservierten Einträgen zugeordnet sind, zugreifen
durch die Ausgabe (an den Festplattencontroller) eines Befehls,
der an die Partition P1 oder die Partition P2 adressiert ist. Statt
dessen kann der Prozessor des Computers 102 auf diese Cluster
zugreifen durch das Ausgeben (an den Festplattencontroller) eines
Befehls, der an die zusätzliche
Partition (d.h. die Partition P3) adressiert ist, beispielsweise
durch einen Befehl, der einen zugeordneten logischen Laufwerksbuchstaben
spezifiziert, der die zusätzliche
Partition bezeichnet.
-
In
dem Beispiel aus 6 initialisiert der Computer 102 die
Hauptpartitionstabelle MPT (des MBR) in einen spezifischen Zustand
sowohl der primären
Partition P1 als auch der Dienstpartition P2. In dem erläuterten
Ausführungsbeispiel
ist die Dienstpartition P2 vergleichsweise klein (beispielsweise
ungefähr
zehn Mega byte). Zunächst
ist PTE1 der primären
Partition P1 zugeordnet und PTE2 ist der Partition P2 zugeordnet.
-
8 ist
eine schematische Darstellung der Information, die im allgemeinen
mit dem Bezugszeichen 800 bezeichnet wird und die durch
die Festplatte des computerlesbaren Mediums 110 gespeichert wird.
Die Information 800 ist eine alternative Version der Information 600 aus 6. 9 ist
ein Flußdiagramm
des Betriebs des Systems 100. Die folgende Diskussion bezieht
sich sowohl auf die 8 als auch auf die 9.
-
In
einem Schritt 900 stellt das System 100 fest,
ob ein "Lösche die
Partition"-Befehl ausgegeben worden
ist. In Antwort auf einen geeigneten "Lösche die
Partition"-Befehl
(d.h. ein Befehl, der von dem System 100 nach der Herstellung,
dem Zusammenbau und dem Test des Systems 100 empfangen
worden ist) löscht
das System 100 die Dienstpartition P2 durch die folgenden
Schritte: (a) In einem Schritt 902 wird in geeigneter Weise
der Partitionstabelleneintrag PTEx (d.h. PTE2 in diesem Beispiel),
der der Dienstpartition P2 zugeordnet ist, modifiziert, so daß die Partition
P2 nicht länger
durch den Computer 102 erkannt wird; (b) in einem Schritt 904 werden
alle reservierten Einträge
in der Information 700 (die durch die Festplatte innerhalb
der FAT1 der Information 600 gespeichert wird) aus 7 von „reserviert" auf „zur Verfügung stehend" geändert (d.h.
die Information 700 wird verändert, um komplett identisch
zur Information 300 der 3 zu sein);
und (c) in einem Schritt 906 wird (in dem MPT) die primäre Partition P1
als aktiv markiert, so daß der
Computer 102 Anweisungen vom PBR1 in Antwort auf ein Startereignis ausführt. Nach
dem Schritt 906 kehrt der Betrieb des Systems 100 in 9 zum
Schritt 900 zurück.
-
Solch
ein Löschen
der Dienstpartition P2 ist in 8 dargestellt.
Diese Technik ist vorteilhaft verglichen mit früheren Techniken, in denen das
System 100 eine primäre
Partition erneut erzeugt oder ausführlich modifiziert, um Sektoren
von einer Dienstpartition zu einer primären Partition zu reallocieren.
Im Gegensatz dazu erreicht das System 100 diese Reallocieren
lediglich durch das Löschen
der Dienstpartition P2, wie in dem unmittelbar zuvor gehenden Absatz
diskutiert, was wesentlich schneller ist als die früheren Techniken.
-
Wenn
beispielsweise in dem erläuterten
Ausführungsbeispiel
das System 100 das Löschen
der Dienstpartition P2 automatisch durchführt, wird dieser Vorgang in
einigen Sekunden oder weniger durchgeführt. Im Gegensatz dazu benötigt solch
ein Vorgang mehrere Stunden, wenn ein Anwender manuell (mit einiger
Unterstützung
von einem früheren Computerprogramm)
das erneute Erzeugen oder die ausführliche Modifizierung einer
primären
Partition durchführt.
Beim manuellen Durchführen
solch eines Vorgangs kann der Anwender gezwungen sein, die Größe, den
Ort, den Typ und die Werte von y und C der primären Partition zu evaluieren
und zu spezifizieren sowie die Größe des Dateibereichs FRx der Partition;
darüber
hinaus kann der Anwender gezwungen sein, möglicherweise große Mengen
von Information zwischen Bereichen der Festplatte des computerlesbaren
Mediums 110 zu verschieben.
-
Ein
Beispiel eines solchen "Lösche die
Partition"-Befehls
ist ein "Breche
das Siegel"-Befehl
vom Anwender 112. Wenn beispielsweise der Anwender 112 eine
Eingabevorrichtung 104 in einer Weise bedient, die die
Akzeptanz eines Anwenders 112 des Systems 100 anzeigt
(und/oder einer Lizenvereinbarung, die dem Betrieb des Systems 100 zugrunde liegt),
antwortet das System 100 auf die Akzeptanz mit einem "Breche das Siegel"-Befehl. Solch ein "Breche das Siegel"-Befehl ist eine Technik zum Anzeigen
(a) der Fertigstellung der Herstellung, des Zusammenbaus und des
Tests des Systems 100 und (b) des Beginns der nachfolgenden
Verwendung und des Betriebs des Systems 100.
-
Wenn
es alternativ dazu für
eine besondere Situation nach der Herstellung, des Zusammenbaus und
des Tests bevorzugt ist, ist das System 100 in der Lage,
eine Dienstpartition aufrecht zu erhalten (beispielsweise die Partition
P2 in 6) zum Speichern von Programmen und Information,
die nützlich
sind für
die Dia gnose während
einer nachfolgenden Fehlfunktion des Systems 100 sind.
Wenn beispielsweise das System 100 einen NET PC umfaßt (d.h.
einen PC, der kein Diskettenlaufwerk hat und auf eine Verbindung
zu einem Netzwerk 114 angewiesen ist, um Information von
einem anderen System aufzunehmen und dorthin abzugeben), ist solch
ein Erhalten nützlich
zur Diagnose einer Fehlfunktion des NET PC. Dies ist insbesondere
der Fall, wenn die Fehlfunktion die Fähigkeit des NET PC beeinträchtigt, eine
solche Diagnose über
ein Netzwerk 114 (1) von einem
anderen System zu empfangen.
-
In
Antwort auf einen geeigneten Typ von "Lösche
die Partition"-Befehl
erreicht das System 100 solch ein Aufrechterhalten einer
Dienstpartition P2 durch die folgenden Schritte: (a) das geeignete
Modifizieren des Partitionstabelleneintrags PTEx (d.h. PTE2 in diesem
Beispiel), der der Dienstpartition P2 zugeordnet ist; (b) das Erhalten
aller reservierten Einträge
in der Information 700 (die von der Festplatte innerhalb
der FAT1 der Information 600 gespeichert wird) aus 7,
so daß solche
Einträge
weiterhin nicht „zur
Verfügung
stehen"; und (c)
Markieren (in der MPT) der primären
Partition P1 als aktiv, so daß der
Computer 102 Anweisungen vom PBR1 in Antwort auf ein Startereignis
ausführt.
In Antwort auf einen geeigneten "Stelle
die Partition wieder her"-Befehl
zum nachfolgenden Zugreifen auf Programme und Information, die in
der Dienstpartition P2 gespeichert sind, führt das System 100 die
folgenden Schritte aus: (a) das geeignete Modifizieren des Partitionstabelleneintrages
PTEx (beispielsweise PTE2 in diesem Beispiel), der der Dienstpartition
P2 zugeordnet ist, so daß die
Partition P2 vom Computer 102 erkannt wird; und (b) falls
bevorzugt, Markieren der Dienstpartition P2 (in dem MPT) als aktiv,
so daß der Computer 102 Anweisungen
vom PBR2 in Antwort auf ein Startereignis durchführt.
-
Falls
nötig,
ist für
solch eine Ausführung
des "Lösche die
Partition"-Befehls
das System 100 in der Lage, die folgenden Schritte durchzuführen: (a)
Identifizieren der reservierten Einträge in der Information 700 (die
von der Festplatte innerhalb der FAT1 der Information 600 gespeichert
wird) aus 7 durch das geeignete Lesen
und Evaluieren der FAT1; und (b) nach dem Identifizieren der reservierten
Einträge,
Lesen und Evaluieren der Cluster, die solchen reservierten Einträgen zugeordnet
sind, um die geeignete Information festzustellen zum Speichern in
den Partitionstabelleneinträgen
PTEx (d.h. PTE2 in diesem Beispiel), die der Dienstpartition P2
zugeordnet sind.
-
Insbesondere
ist der Computer 102 in Antwort auf einen geeigneten "Austausch"-Befehl in der Lage, ein Programm auszuführen, das
die Bezeichnung des logischen Laufwerks C: zwischen der primären Partition
P1 und der Dienstpartition P2 austauscht, wenn beispielsweise (unmittelbar
vor dem Empfangen solch eines Befehls) der Computer 102 die
primäre
Partition P1 durch den Buchstaben C: bezeichnet und die Dienstpartition
P2 durch den Buchstaben A:, modifiziert der Computer 102 (in
Antwort auf solch einen Befehl) seine Abbildungen der Partitionen
P1 und P2, so daß der
Computer 102 statt dessen die primäre Partition P1 auf das virtuelle
Laufwerk A: abbildet und die Dienstpartition P2 auf das logische
Laufwerk C:. Der Computer 102 führt solch einen Austausch durch
das Modifizieren der Information innerhalb einer DPB und einer DDT
(beispielsweise für
das logische Laufwerk C:), um die Parameter entweder für die primäre Partition
P1 oder die Dienstpartition P2 aus, wie benötigt aufzunehmen.
-
Wie
oben in bezug auf 2 erwähnt, führt der Computer 102 in
Antwort auf das Starten (oder Neustarten) die folgenden Schritte
durch:
- (a) der Computer 102 liest
Anweisungen in eine Speichereinrichtung des Computers 102:
(i) von BI; und (ii) aus dem Partitionstabelleneintrag PTEx (d.h.
PTE2 in diesem Beispiel), der der Dienstpartition P2 zugeordnet
sind, wenn solch ein Partitionstabelleneintrag PTEx als "aktiv" markiert ist; und
- (b) führt
diese Anweisungen in Antwort auf ein einfaches Eingabe/Ausgabesystem
(Basic Input/Output System, BIOS) eines Nur-Lesespeichers des Computers 102 durch.
-
In
einem Ausführungsbeispiel
mit Bezug auf die Anweisungen von dem Partitionstabelleneintrag PTEx
(d.h. PTE2 in diesem Beispiel), der der Dienstpartition P2 zugeordnet
ist, enthalten diese Anweisungen Anweisungen zum Modifizieren solcher PTEx.
Insbesondere verändern
diese Anweisungen den Typ der Partition P2 von einer Dienstpartition
entweder in eine 16 Bit- oder eine 32 Bit-FAT-Typ Partition. Auf
diese Weise ist der PTEx selbstmodifizierend. Solch eine Technik
zum Selbstmodifizieren ist vorteilhaft, wenn: (a) der Dienstpartitionstyp
der Partition von dem Betriebssystem und/oder dem Computer 102 nicht
erkannt wird; und (b) im Gegensatz dazu der 16 Bit- oder 32 Bit-FAT-Typ
einer Partition so erkannt wird.