DE4244266A1 - - Google Patents
Info
- Publication number
- DE4244266A1 DE4244266A1 DE4244266A DE4244266A DE4244266A1 DE 4244266 A1 DE4244266 A1 DE 4244266A1 DE 4244266 A DE4244266 A DE 4244266A DE 4244266 A DE4244266 A DE 4244266A DE 4244266 A1 DE4244266 A1 DE 4244266A1
- Authority
- DE
- Germany
- Prior art keywords
- device driver
- processing logic
- fuselage
- driver processing
- card
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- 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/4411—Configuring for operating with peripheral devices; Loading of device drivers
- G06F9/4413—Plug-and-play [PnP]
- G06F9/4415—Self describing peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
Description
Die Erfindung bezieht sich auf das Gebiet der Computersy
steme und insbesondere auf Computersysteme, welche eine
Schnittstelle für entfernbare System-Betriebsmittel und die
Steuerung von zugehörigen Gerätetreibern unterstützen.
Es wird zunehmend wichtiger, Computersysteme zu konstruie
ren und zu bauen, welche dynamisch konfiguriert werden können,
ohne das Computersystem abzuschalten oder ein Rücksetzen bzw.
ein Anfangsladen des Betriebssystems erforderlich zu machen.
Die dynamische Konfiguration umfaßt die Möglichkeit, System-Be
triebsmittel (Ressourcen) oder spezielle Merkmale hinzuzufügen
oder zu entfernen, während sich das Computersystem im Betrieb
befindet. Diese Systemressourcen und speziellen Merkmale umfas
sen Erweiterungsspeicherplatinen, parallele oder serielle Ein
gabe/Ausgabe-(I/O-)Ports, Festwertspeicher (ROM) oder Flash-
Speichererweiterungsplatinen, Computer-Netzwerk-Schnittstellen
karten, Modemkarten, intelligente Karten o.a. entfernbare Sy
stemressourcen oder Mechanismen mit speziellen Merkmalen.
Derartige entfernbare Systemressourcen und spezielle Merk
male werden im Stande der Technik häufig durch auswechselbare
elektronische Erweiterungskarten realisiert, die den Standard
der Personal Computer Memory Card International Association
(PCMCIA), Sunnyvale, Kalif., Ausgabe 2.0 einhalten. Diese PCM-
CIA-Karten enthalten im allgemeinen mikroelektronische Schal
tungen innerhalb eines dünnen Gehäuses mit einer abnehmbaren
Mehrleiter-Schnittstelle, mit der die Karte in den Steckplatz
eines Computergehäuses lösbar einsetzbar ist. Nach dem Einset
zen ist die Erweiterungskarte für den Prozessor im Computersy
stem zugreifbar. Die Verwendung solcher Karten macht es einem
Computerbenutzer möglich, spezielle Merkmale oder Betriebsmit
tel aus verschiedenen von einem Computerverkäufer angebotenen
Erweiterungskarten auszuwählen. Auf diese Weise erreicht der
Computerbenutzer das gewünschte Funktionalitätsniveau, ohne un
nötige Betriebsmittel oder Computersystem-Fähigkeiten kaufen zu
müssen. Die Gesamtkosten des Computersystems werden daher für
eine spezielle Anwendung optimiert. Die Verwendung von auswech
selbaren Erweiterungskarten ist für tragbare Computer oder Lap
top-Computer besonders wichtig, bei denen räumliche Beschrän
kungen den Bedarf an System-Betriebsmittel-Optimierungen ver
stärken. Konstruktion und Verwendung von Hardware-Geräten unter
dem PCMCIA-Standard sind im Stande der Technik bekannt. Es ist
für den Fachmann klar, daß andere Implementierungen auswechsel
barer Systemressourcen möglich sind.
Praktisch alle Computersysteme arbeiten mit einer gewissen
Art von Betriebssystem oder Software-Verarbeitungslogik. Die
Verwendung eines Betriebssystems in einem Computersystem ist
bekannt. Das Betriebssystem ist für die Verwaltung der Verar
beitung und die Übertragung von Informationen zwischen ver
schiedenen System-Betriebsmitteln verantwortlich. Eine bekannte
Methode zur Verwaltung dieser Ressourcen ist die Verwendung von
Gerätetreibern. Gerätetreiber sind Software-Module mit einer
Verarbeitungslogik zum Steuern der auf einem unteren Niveau be
findlichen bzw. gerätespezifischen Komponenten eines speziellen
Computersystem-Betriebsmittels. Beispielsweise kann ein Geräte
treiber zum Steuern eines mit einem Computersystem gekoppelten
Magnetplattenlaufwerks verwendet werden. Bei diesem Beispiel
steuert der Gerätetreiber die verschiedenen Hardware-spezifi
schen Register, Latch-Schaltungen, Signale o. a. Komponenten
des Magnetplattenlaufwerks. In ähnlicher Weise sind andere Com
putersystemressourcen, wie serielle oder parallele Ein
gabe/Ausgabe-(I/O-)Ports, Modems, Computernetzwerk-Schnittstel
lengeräte oder Speichererweiterungsplatinen von Gerätetreibern
gesteuert.
In konventionellen Computersystemen werden Gerätetreiber
typischerweise während der Anfangslade-Initialisierung des Com
putersystems in den Direktzugriffspeicher (RAM) geladen. Viele
bekannte Computersysteme bedingen, daß die Gerätetreiber beim
Starten geladen werden, damit der Direktzugriffsspeicher in ge
eigneter Weise zugeordnet werden kann. Je nach Komplexität des
vom Gerätetreiber gesteuerten Geräts kann der Gerätetreiber
selbst relativ klein oder unter Inanspruchnahme vieler tausend
Bytes an RAM-Kapazität sehr groß sein. Viele bekannte Systeme
bedingen daher die Installation einer zum Zeitpunkt der An
fangslade-Initialisierung installierten und verfügbaren vollen
Systemkonfiguration. Nachträglich hinzugefügte oder entfernte
Systemressourcen oder -Schnittstellen führen gewöhnlich dazu,
daß auf ein neu installiertes Betriebsmittel nicht zugegriffen
werden kann oder ein fehlerhafter Zugriff auf ein jetzt nicht
mehr verfügbares System-Betriebsmittel stattfindet. Andere be
kannte Computersysteme bedingen die Abschaltung des Computersy
stems beim Hinzufügen oder Entfernen von Systemressourcen oder
-charakteristiken. Wiederum andere Systeme müssen zumindest neu
geladen werden, um auf eine neue Konfiguration von Systemres
sourcen zugreifen zu können. Bekannte Computersysteme können
daher im Ergebnis nicht auf eine neue Anordnung von Systemres
sourcen umkonfiguriert werden.
Da bekannte Systeme typischerweise eine volle Systemkonfi
guration von Betriebsmitteln zum Zeitpunkt des Starts bedingen,
besteht die Tendenz, beim Einschalten des Computersystems eine
oder alle System-Betriebsmittel, die wahlweise verwendet werden
können, bereits sofort zu installieren. Diese Tendenz führt
dazu, daß Betriebsmittel installiert werden, die während einer
Computersitzung überhaupt nicht benutzt werden. Das Laden und
Installieren von unbenutzten System-Betriebsmitteln verlängert
die zum Anfangslade-Initialisieren des Systems benötigte Zeit
und verringert den verfügbaren Arbeitsspeicherraum (RAM), da
RAM-Raum auch für unbenutzte Gerätetreiber benötigt wird. Es
ist daher wichtig, in einem Computersystem nur diejenigen Gerä
tetreiber zu installieren, die während einer Computersitzung
tatsächlich benötigt werden. In einigen Fällen kann es unmög
lich sein, alle notwendigen Gerätetreiber zu laden, da der Ar
beitsspeicher begrenzt ist.
Einige bekannte Computersysteme stellen Mittel als Schnitt
stellen für auswechselbare elektronische Erweiterungskarten zur
Verfügung. Um die oben beschriebenen Nachteile zu umgehen,
speichern einige dieser Computersysteme zugehörige Gerätetrei
ber auf den auswechselbaren elektronischen Erweiterungskarten
selbst. Auf diese Weise braucht der Arbeitsspeicher innerhalb
des Computersystems selbst für die Speicherung des Systemtrei
bers nicht reserviert zu werden. Außerdem wird während der In
itialisierung keine zusätzliche Zeit benötigt, um den Geräte
treiber in den Arbeitsspeicher zu laden. Systeme, bei denen Ge
rätetreiber auf auswechselbaren Erweiterungskarten konfiguriert
werden, haben den Vorteil, daß sie die Speicherzuordnungserfor
dernisse innerhalb des Computersystems optimieren.
Andererseits haben die Systeme, welche Gerätetreiber auf
auswechselbaren Erweiterungskarten konfigurieren, einige
schwerwiegende Nachteile. Wenn eine Erweiterungskarte aus dem
Computersystem entfernt wird, wird der den Betrieb der Erweite
rungskarte steuernde Gerätetreiber für das Computersystem un
zugreifbar. In den meisten Fällen macht das Computersystem
einen Zugriff auf einen Gerätetreiber erforderlich, um den Be
trieb des Gerätes vor dem Entfernen der Erweiterungskarte in
geeigneter Weise zu beenden. Typischerweise hat das Computersy
stem nicht genügend Zeit, um vor dem Entfernen der Erweite
rungskarte auf den Gerätetreiber zuzugreifen. Daher ergeben
sich häufig Systemfehler aufgrund einer inkorrekt abgeschlosse
nen Systemressource.
Andere Computersysteme, die mit Mitteln als Schnittstelle
zu auswechselbaren elektronischen Erweiterungskarten versehen
sind, können nur sehr begrenzt auf das Einsetzen oder Entfernen
von Erweiterungskarten während des Computersystembetriebs nach
dessen Initialisierungsoperation antworten. Einige Computersy
steme erkennen keine System-Betriebsmittel, die nach der Been
digung der Initialisierung angeschlossen worden sind. Andere
Computersysteme unterbrechen den Betrieb des Computersystems
oder frieren ihn ein, wenn eine Systemressource nach Abschluß
der Initialisierung entfernt wird. Wiederum andere Computersy
steme bedingen eine Systemabschaltung oder den Neustart, wenn
eine neue Konfiguration von Systemressourcen gewünscht wird.
Benötigt wird daher eine verbesserte Einrichtung zum dyna
mischen Konfigurieren von Systemressourcen in einem Computersy
stem. Dies ist Aufgabe der Erfindung.
Das erfindungsgemäße Computersystem hat eine dynamische Ge
rätetreiberkonfiguration für auswechselbare Systemressourcen.
Das Computersystem weist einen Prozessor, einen Systemspeicher
und eine Schnittstelle zur Aufnahme auswechselbarer Systemres
sourcen auf. Die Systemressourcen und speziellen Merkmale um
fassen Erweiterungsspeicherplatinen, parallele oder serielle
Eingabe/Ausgabe-(I/O-)Ports, Festwertspeicher (ROM) oder Flash-
Speichererweiterungsplatinen, Computer-Netzwerk-Schnittstellen
karten, Modemkarten, Smartkarten oder andere auswechselbare Sy
stemressourcen oder Mechanismen für spezielle Charakteristiken
(generell Erweiterungskarten oder Karten genannt).
Eine Erweiterungskarte enthält einen Kartenspeicherbereich.
Der Kartenspeicherbereich enthält Software zum Steuern der
restlichen kartenspezifischen Funktionen. Diese sowohl Daten
als auch Verarbeitungslogik enthaltende Software innerhalb des
Kartenspeicherbereichs weist einen Gerätetreiber zum Steuern
der Erweiterungskarte auf.
Um die beim Stande der Technik anzutreffenden Probleme zu
vermeiden, ist der erfindungsgemäß vorgesehene Erweiterungskar
ten-Gerätetreiber in zwei Teile unterteilt: 1) ein Abschnitt
mit einem vollständigen Gerätertreiber; und 2) ein Abschnitt
mit einem Rumpf-Gerätetreiber. Der vollständige Gerätetreiber
stellt alle Gerätetreiberfunktionen zur Verfügung, die zum
Steuern jeder einzelnen Funktion der Erweiterungskarte erfor
derlich sind. Der Rumpf-Gerätetreiber ist ein kleiner kompakter
Abschnitt der dem vollen Gerätetreiber zugeordneten Verarbei
tungslogik, der jedoch nur für die Verknüpfung des vollen Gerä
tetreibers mit der Betriebssystemsoftware im Computersystem
verantwortlich ist.
Der Kartenspeicherbereich enthält einen Gerätetreiber-In
formationsblock(DDIB)-Kopfteil, ein Rumpf-Gerätetreiber-Code
bild und einen vollständigen Gerätetreiber-Code. Der Geräte
treiber-Informationsblock-Kopfteil enthält die zum Verknüpfen
des Gerätetreibers mit anderen Gerätetreibern und der Computer
system-Verarbeitungslogik verwendeten Informationen. Das Rumpf-
Gerätetreiber-Codebild enthält einen kompakten Abschnitt mit
Verarbeitungslogik und Daten, welche bei Einsetzen einer Erwei
terungskarte in das Computersystem in den Computersystem-Spei
cher kopiert wird. Der vollständige Gerätetreiber-Code bleibt
auf der Karte.
Bei Einsetzen einer Karte in das Computersystem wird das
Rumpf-Gerätetreiber-Codebild aus dem Karten-Speicherbereich ge
lesen und in einen Bereich des Computersystem-Speichers über
tragen. Der Rumpf-Gerätetreiber-Code wird danach vom Computer
system-Prozessor aus dem Arbeitsspeicher des Computersystems
heraus ausgeführt. Andererseits wird der volle Gerätetreiber-
Code nicht in den Arbeitsspeicher des Computersystems übertra
gen. Statt dessen wird der volle Gerätetreiber ausgeführt, wäh
rend er noch auf der Karte resident ist. Bei Ausführen ermög
licht der Rumpf-Gerätetreiber Zugriff auf den vollen kartenre
sidenten Gerätetreiber und ein Speichermapping auf den vollen
Gerätetreiber. Der volle Gerätetreiber kann dann vom Prozessor
aktiviert werden.
Der DDIB-Kopfteil enthält einen Satz von Informationen zum
Verknüpfen des Karten-Gerätetreibers in einer Verknüpfungsliste
mit anderen Gerätetreibern und mit der Betriebssystemlogik, die
im Computersystem arbeitet. Beim Durchlauf durch die Verknüp
fungsliste kann ein spezieller Gerätetreiber lokalisiert wer
den. Bei Einsetzen einer Karte wird die Verknüpfungsliste der
Gerätetreiber durchlaufen, um festzustellen, ob sich der Rumpf-
Gerätetreiber bereits im Computersystemspeicher befindet. Ist
dies der Fall, wird die Operation des Kopierens des Rumpf -Gerä
tetreiber in den Computersystemspeicher verhindert. Wenn eine
Karte eingesetzt wird, wird ein Karten-Einsetz-Flag gesetzt,
welches anzeigt, daß das auswechselbare System-Betriebsmittel
mit dem Computersystem gekoppelt ist.
Wenn eine Karte aus dem Computersystem entnommen wird, wird
die Verknüpfungsliste der Rumpf-Gerätetreiber durchlaufen, um
alle mit der entfernten Karte in Verbindung stehenden Rumpf-Ge
rätetreiber aufzufinden. Dieser zugehörige Rumpf-Gerätetreiber
wird ausgeführt. Der Rumpf-Gerätetreiber sperrt den Zugriff auf
die entfernte Karte durch Sperren des Speichermapping zur ent
fernten Karte. Der Rumpf-Gerätetreiber wird von der Verknüp
fungsliste der Rumpf-Gerätetreiber entkoppelt und das Karten-
Einsetz-Flag wird rückgesetzt, um anzuzeigen, daß das entfernte
System-Betriebsmittel vom Computersystem abgetrennt worden ist.
Mit Hilfe der Erfindung kann daher jedes System-Betriebs
mittel bzw. -ressource beliebig vor oder nach dem Anfangslade-
Initialisieren (Start) des Computersystems an- oder abgekoppelt
werden. Systemressourcen können ohne Abschaltung des Computer
systems rekonfiguriert werden. Systemressourcen können auch
ohne Neustart des Initialisierungsprozesses rekonfiguriert wer
den. Eine weitere vorteilhafte Funktion des erfindungsgemäßen
Computersystems besteht darin, daß unbenutzte Systemressourcen-
Gerätetreiber nicht in den Arbeitsspeicher des Computersystems
geladen zu werden brauchen. Ein anderer Vorteil des erfindungs
gemäßen Computersystems besteht darin, daß zum Zeitpunkt der
Anfangslade-Initialisierung die volle Systemkonfiguration gar
nicht bekannt zu sein braucht. Das erfindungsgemäße Computersy
stem kann mit einer Schnittstelle zur Aufnahme von lösbaren
elektronischen Erweiterungskarten ausgerüstet sein, welche zu
einem beliebigen Zeitpunkt während des Betriebs des Computersy
stems eingesetzt oder entfernt werden können.
Im folgenden wird die Erfindung anhand von in der Zeichnung
schematisch dargestellten Ausführungsbeispielen näher erläu
tert. In der Zeichnung zeigen:
Fig. 1 ein Blockschaltbild der Architektur eines Computer
systems, in welchem die Erfindung arbeitet;
Fig. 2 ein Beispiel eines Computergehäuses mit mehreren
Erweiterungskarten-Steckplätzen;
Fig. 3 ein Blockdiagramm des Inhalts einer auswechselbaren
elektronischen Erweiterungskarte;
Fig. 4 den Inhalt des Gerätetreiber-Informationsblock-
Kopfteils;
Fig. 5 den Inhalt eines Computersystemspeichers, soweit er
mit dem Inhalt des Erweiterungskartenspeichers in
Beziehung steht;
Fig. 6a den Inhalt des Rumpf-Gerätetreiber-RAM-Bereichs;
Fig. 6b den Inhalt eines Rumpf-Blocks;
Fig. 6c den Inhalt eines Rumpf-Kopfteils;
Fig. 6d den Inhalt eines Rumpf-Datenbereichs; und
Fig. 7 bis 13 Ablaufdiagramme der Verarbeitungslogik bei
dem bevorzugten Ausführungsbeispiel.
Beschrieben wird ein Verfahren und eine Einrichtung zum dy
namischen Konfigurieren von Gerätetreibern auswechselbarer Sy
stem-Betriebsmittel. In der folgenden Beschreibung werden zahl
reiche Einzelheiten angegeben, um das Verständnis für die Er
findung zu erleichtern. Es jedoch für den Fachmann klar, daß
diese speziellen Einzelheiten bei der Realisierung der Erfin
dung nicht notwendig sind. In anderen Fällen sind bekannte
Strukturen, Schaltungen und Schnittstellen nicht im einzelnen
gezeigt, um die vorliegende Erfindung nicht mit unnötigen Ein
zelheiten zu belasten.
Im folgenden wird auf Fig. 1 Bezug genommen, in der ein
Blockschaltbild desjenigen Computersystems dargestellt ist, in
welchem die Erfindung arbeitet. Es ist natürlich für den Fach
mann klar, daß alternative Computersystemarchitekturen verwen
det werden können. Im allgemeinen enthalten Computersysteme
entsprechend der Darstellung in Fig. 1 einen Bus 100 zur Infor
mationsübertragung, einen mit dem Bus 100 gekoppelten Prozessor
101 zur Informationsverarbeitung und einen mit dem Bus 100 ge
koppelten Direktzugriffsspeicher (Arbeitsspeicher) 102 zur
Speicherung von Informationen und Befehlen für den Prozessor
101. Die erfindungsgemäße Verarbeitungslogik ist typischerweise
in einem Bauelement, wie einem Arbeitsspeicher 102 gespeichert
und wird vom Prozessor 101 ausgeführt. Zusätzlich kann ein ty
pisches Computersystem andere Systemressourcen, einschließlich
eines mit dem Bus 100 gekoppelten Nur-Lese-Speichers 103, einer
mit dem Bus 100 gekoppelten Eingabevorrichtung 104, beispiels
weise einer alphanumerischen Eingabevorrichtung oder eines Cur
sor-Steuergeräts zur Mitteilung von Informationen und Befehls
auswahlen an den Prozessor 101, eines mit dem Bus 100 gekoppel
ten Displaygerätes 105, beispielsweise einem Video-Display-Ter
minal oder einer Flüssigkristallanzeige zum Anzeigen von Infor
mationen für den Computerbenutzer, eines mit dem Bus 100 gekop
pelten Datenspeichergeräts 106, beispielweise eines Magnetplat
tenlaufwerks, eines mit dem Bus 100 gekoppelten Ausgabegeräts,
beispielsweise eines Druckers oder Facsimilegeräts zum Mittei
len von Informationen an ein für das Computersystem externes
Ziel und einer auswechselbaren elektronischen Erweiterungskar
ten-Schnittstelle 108 zum elektrischen Koppeln einer elektroni
schen Schaltungskarte mit dem Bus 100 aufweisen.
Austauschbare Erweiterungskarten, die auswechselbar in die
Schnittstelle 108 eingesetzt sind, weisen mikroelektronische
Schaltungen innerhalb eines dünnen Gehäuses mit einer abnehmba
ren Mehrfachverbinder-Schnittstelle auf, mit der die Erweite
rungskarte in einen Steckplatz eines Computersystemgehäuses
lösbar einsetzbar ist. Bei dem beschriebenen Ausführungsbei
spiel halten die Erweiterungskarten und die Erweiterungskarten-
Schnittstelle 108, die bei der Erfindung verwendet werden, den
PCMCIA-Ausgabe 2.0-Standard, für elektronische Erweiterungskar
ten ein. Erweiterungskarten dieser Art sind dem Fachmann be
kannt.
Im folgenden wird auf Fig. 2 Bezug genommen, in der ein
Computersystemgehäuse mit mehreren Erweiterungskarten-Schnitt
stellen (203, 205, 207 und 209) dargestellt ist. Wie gezeigt,
können Erweiterungskarten 211 und 213 eingesetzt werden, wo
durch sie elektrisch mit einer Schnittstelle 108 innerhalb des
Computersystems gekoppelt werden. Diese Erweiterungskarten
struktur erleichtert das Einsetzen und/oder Entfernen von Er
weiterungskarten während einer Computersitzung.
Im folgenden wird auf Fig. 3 Bezug genommen, in der die
Struktur einer typischen Erweiterungskarte 301 dargestellt ist.
Die Erweiterungskarte 301 weist eine Schnittstelle 302 auf, mit
der die Erweiterungskarte 301 elektrisch mit einem Computersy
stem lösbar gekoppelt werden kann. Die Erweiterungskarte 301
weist auch einen Kartenspeicherbereich 303 auf. Der Karten
speicherbereich 303 enthält Software zum Steuern der restlichen
kartenspezifischen Funktionen. Diese Daten und Verarbeitungslo
gik enthaltende Software innerhalb des Kartenspeicherbereichs
303 weist einen Gerätetreiber zur Steuerung des Betriebs der
Erweiterungskarte auf. Wie oben gesagt, ist es zweckmäßig, den
Gerätetreiber für eine Erweiterungskarte auf der Erweiterungs
karte selbst zu speichern. Unter Verwendung dieser Technik
braucht der RAM-Raum innerhalb des Computersystems nicht für
den Gerätetreiber vorgesehen zu werden und die Verarbeitungs
zeit wird nicht für die Übertragung eines Gerätetreibers von
der Karte zum Computersystem-RAM verbraucht. Das Halten des
Karten-Gerätetreibers auf der Karte selbst hat außerdem den
Vorteil, daß die Kompatibilität des Gerätetreibers mit den kar
tenspezifischen Funktionen stets gewährleistet ist. Es gibt
eine geringere Wahrscheinlichkeit einer Fehlanpassung zwischen
dem in dem Computersystem gespeicherten Gerätetreiber und der
auf der Karte vorgesehenen kartenspezifischen Funktionalität.
Um die mit dem Stande der Technik verbundenen Probleme zu
vermeiden, ist der Erweiterungskarten-Gerätetreiber nach der
Erfindung in zwei Teile unterteilt: 1) Einem Abschnitt für
einen vollen Gerätetreiber und 2) einem Abschnitt für einen
Rumpf-Gerätetreiber. Der volle Gerätetreiber stellt die gesamte
Gerätetreiber-Funktionalität zur Verfügung, die zur Steuerung
jeder der Funktionen der Erweiterungskarte erforderlich ist.
Der Rumpf-Gerätetreiber ist ein kleiner kompakter Abschnitt der
dem vollen Gerätetreiber zugeordneten Verarbeitungslogik, ist
jedoch hauptsächlich zur Verbindung des kartenresidenten vollen
Gerätetreibers mit der Betriebssystemsoftware im Computersystem
verantwortlich. Der Rumpf-Gerätetreiber wird in den Computersy
stem-Arbeitsspeicher kopiert und aus letzterem ausgeführt. An
dererseits bleibt der volle Gerätetreiber auf der Erweiterungs
karte resident und wird von hier aus ausgeführt. Da der Rumpf-
Gerätetreiber für jede Erweiterungskarte ein kompakter Verar
beitungslogikblock ist, können viele derartige Rumpf -Geräte
treiber für unterschiedliche Erweiterungskarten im Computersy
stem-Arbeitsspeicher gespeichert sein, ohne übermäßige Kapazi
täten des Computersystem-RAM zu verbrauchen. Diese Konfigura
tion macht es möglich, daß eine große Anzahl von Rumpf -Geräte
treibern in dem Computersystem-Speicher resident gemacht wer
den, ohne den Computersystem-RAM für den Vollgerätetreiber für
jede Erweiterungskarte zuordnen zu müssen.
Im folgenden wird wieder auf Fig. 3 Bezug genommen. Karten
speicherbereich 303 weist einen Gerätetreiber-Informations
block(DDIB)-Kopfteil 305, ein Rumpf-Gerätetreiber-Codebild 307
und einen vollen Gerätetreiber-Code 309 auf. Der Gerätetreiber-
Informationsblock-Kopfteil 305 enthält Informationen, die zum
Verknüpfen des Gerätetreibers mit der Computersystem-Verarbei
tungslogik verwendet werden. Der Inhalt und die Struktur des
Gerätetreiber-Informationsblock-Kopfteils 305 ist in Fig. 4
dargestellt und wird weiter unten beschrieben. Der Karten
speicherbereich 303 enthält auch das Rumpf-Gerätetreiber-Code
bild 307, welches in den Computersystemspeicher kopiert wird,
und den vollen Gerätetreiber-Code 309, der auf der Karte resi
dent bleibt.
Bei Einsetzen der Karte 301 in das Computersystem wird das
Rumpf-Gerätetreiber-Codebild 307 aus dem Kartenspeicherbereich
303 gelesen und in einen Bereich des Computersystem-Speichers
102 übertragen. Der Rumpf -Gerätetreiber-Code wird danach vom
Prozessor des Computersystems aus dem Computersystem-Arbeits
speicher heraus ausgeführt. Umgekehrt wird der volle Geräte
treiber-Code 309 nicht in den Computersystem-Arbeitsspeicher
102 übertragen; vielmehr wird der volle Gerätetreiber ausge
führt, während er noch auf der Karte 301 resident ist. Bei Aus
führung aktiviert der Rumpf-Gerätetreiber den Zugriff zum
vollen kartenresidenten Gerätetreiber 309 und ermöglicht ein
Speichermapping auf den vollen Gerätetreiber 309. Der volle Ge
rätetreiber 309 kann danach vom Prozessor 301 aktiviert werden.
Im folgenden wird auf Fig. 4 Bezug genommen, in der der In
halt und die Struktur des Gerätetreiber-Informations
block(DDIB)-Kopfteils dargestellt sind. Der DDIB-Kopfteil weist
einen Informationssatz zum Verknüpfen des Karten-Gerätetreibers
mit der Betriebssystemlogik auf, welche innerhalb des Computer
systems arbeitet.
Der DDIB-Kopfteil enthält einen Gerätetreiber-Informations
block-Identitätscode 403, welcher die restlichen Informationen
als Teil eines DDIB-Kopfteils identifiziert. Ein Verknüpfungs
datenfeld 405 dient zum Verknüpfen des DDIB (nicht gezeigt) im
Kartenspeicherbereich 303. Die spezielle Identifizierung 407
für den Rumpf-Gerätetreiber ist ein besonderer Wert, welcher
den Rumpf -Gerätetreiber identifiziert und ihn von allen ande
ren Rumpf-Gerätetreibern unterscheidet.
Die nächsten fünf DDIB-Kopffelder (d. h. Felder 411, 413,
415, 417 und 419) sind die gleichen Werte, die innerhalb eines
Standard-Betriebssystem-Gerätetreiber-Kopfteils enthalten sind.
Diese fünf Parameter sind insbesondere innerhalb des DOS-Gerä
tetreiber-Kopfteils enthalten, der dem Fachmann bekannt ist.
Gerätetreiber-Verknüpfungsinformationen 411, Gerätetreiber-At
tribut-Informationen 413 und Gerätetreibereinheiten und -name
419 enthalten die Gerätetreiber-Identifikation und die Verknüp
fungsinformationen, wie sie vom Betriebssystem zum Identifi
zieren und Verknüpfen mit entsprechenden Gerätetreibern verwen
det werden. Das Gerätetreiber-Strategie-Offset 415 und das Ge
rätetreiber-Interrupt-Offset 417 enthalten das Offset vom Be
ginn des Rumpf-Gerätetreiber-Codebereichs. Diese Felder werden
durch die Erfindung modifiziert, wie weiter unten beschrieben
werden wird. Das Rumpf-Gerätetreiber-Code-Offset 421 und die
Rumpf-Gerätetreiber-Code-Länge 423 stellen ein Mittel zur Ver
fügung, durch das die Verarbeitungslogik des Computersystems
bestimmen kann, ob und wie groß das auf einer Erweiterungskarte
residente Rumpf-Gerätetreiber-Code-Segment ist. In ähnlicher
Weise liefern das Rumpf-Gerätetreiber-Daten-Offset 425 und die
Rumpf-Gerätetreiber-Daten-Länge 427 ein Mittel zur Bestimmung
des Vorhandenseins und der Größe des Rumpf-Gerätetreiber-Daten-
Bereichs auf der Erweiterungskarte. Bei Kenntnis der Lage und
Größe des Codes und der Datenbereiche des Rumpf-Gerätetreibers
kann die Betriebssystemlogik innerhalb des Computersystems den
Rumpf-Gerätetreiber-Code und Datenbereiche von der Erweite
rungskarte in den Arbeitsspeicher des Computersystems übertra
gen.
Im folgenden wird auf Fig. 5 Bezug genommen, in der ein
Teil des Computersystemspeichers 501 dargestellt ist, der sich
innerhalb des Arbeitsspeichers 102 befindet. Der Computersy
stemspeicherabschnitt 501 weist einen Gerätetreiber-Lader 503,
einen Rumpf-Gerätetreiber-RAM-Bereich 505 und PCMCIA-Steck
platz-Dienste 507 auf. Der Gerätetreiber-Lader 503 weist eine
Verarbeitungslogik zum Laden und zur Ausgabe des richtigen Ge
rätetreibers bei Initialisierung des Computersystems und bei
Einsetzen und Entfernen einer Karte (d. h. einem Karten-Einsetz-
oder -Entfernungsereignis) aus dem Computersystem auf. Die Ein
zelheiten der von dem Gerätetreiber-Lader 503 bei dem beschrie
benen Ausführungsbeispiel durchgeführten Verarbeitung werden
genauer in Verbindung mit den Ablaufdiagrammen gemäß den Fig. 7
und 8 beschrieben. Der Rumpf-Gerätetreiber-RAM-Bereich 505
weist einen Speicherbereich zur Speicherung der Rumpf-Geräte
treiber auf, die entweder während der Initialisierungszeit des
Computersystems oder beim Einsetzen einer Karte in das Com
putersystem geladen werden. Der Inhalt des Rumpf-Gerätetreiber-
RAM-Bereichs 505 wird genauer in Verbindung mit den Fig. 6a und
6b beschrieben. PCMCIA-Steckplatz-Dienste 507 enthalten eine
Verarbeitungslogik zum Handhaben einer Steuerung auf niedrigem
Niveau bei dem Karteneinsetzen und -entfernen. Die Verarbei
tungslogik innerhalb der PCMCIA-Steckplatz-Dienste 507 erhält
bei der Feststellung eines Karteneinsetz- oder -entfernungser
eignisses Interrupts. Eine Verarbeitungslogik entsprechend der
von den PCMCIA-Steckplatz-Diensten 507 ausgeführten Funktion
ist dem Fachmann bekannt.
Ebenfalls in Fig. 5 ist ein Kartenspeicherbereich 303 dar
gestellt, wie er oben in Verbindung mit Fig. 3 beschrieben wor
den ist. Der Kartenspeicherbereich 303 weist einen Gerätetrei
ber-Informationsblock-(DDIB)Kopfteil 305, ein Rumpf-Gerätetrei
ber-Code-Bild 307 und einen vollen Gerätetreiber-Code 309 auf.
Bei einem Karten-Einsetzereignis erhalten die PCMCIA-Steck
platz-Dienste (socket services) 507 ein Interrupt und antworten
anfänglich auf das Kartenereignis. Die PCMCIA-Steckplatz-
Dienste 507 aktivieren den Gerätetreiber-Lader 503, wie durch
die Linie 603 in Fig. 5 dargestellt ist. Bei Aktivierung des
Gerätetreiber-Laders 503 liefern die PCMCIA-Steckplatz-Dienste
507 für den Gerätetreiber-Lader 503 eine Identifizierung des
Steckplatz-Adapters und des Steckplatzes, für den das Kartener
eignis-Interrupt empfangen wurde. Der Gerätetreiber-Lader 503
greift dann auf den Gerätetreiber-Informationsblock(DDIB)-Kopf
teil 305 auf der neu eingesetzten Karte entsprechend der Linie
605 zu. Durch Zugriff auf den DDIB-Kopfteil 305 gewinnt der Ge
rätetreiber-Lader 503 Zugriff auf die oben in Verbindung mit
Fig. 4 beschriebenen Karteninformationen. Der Gerätetreiber-La
der 503 kann insbesondere die spezielle Identifizierung 407 des
Rumpf-Gerätetreibers, das Rumpf-Gerätetreiber-Codeoffset 421,
die Rumpf-Gerätetreiber-Codelänge 423, das Rumpf-Gerätetreiber-
Datenoffset 425 und die Rumpf-Gerätetreiber-Datenlänge 427 le
sen. Unter Verwendung dieser Informationen bestimmt der Geräte
treiber-Lader 503, wo sich das Rumpf-Gerätetreiber-Codebild 307
im Kartenspeicherbereich 303 befindet. Sobald die Lage und die
Größe des Rumpf-Gerätetreiber-Codebildes 307 festgestellt ist
(Linie 607), kopiert der Gerätetreiber-Lader 503 den Inhalt des
Rumpf-Gerätetreiber-Codebildes 307 vom Kartenspeicherbereich
303 in einen Abschnitt des Rumpf-Gerätetreiber-RAM-Bereichs
505, was in Fig. 5 durch die Leitung 609 zum Ausdruck kommt.
Das Rumpf-Gerätetreiber-Codebild 307 wird in den Rumpf-Geräte
treiber-RAM-Bereich 505 geschrieben und in eine vom Gerätetrei
ber-Lader 503 gehaltene Verknüpfungsliste von Rumpf-Gerätetrei
bern eingebunden. Die Art, in der die Rumpf-Gerätetreiber vom
Gerätetreiber-Lader 503 verbunden werden, wird in Verbindung
mit den Fig. 6a und 6b geschrieben.
Im folgenden wird auf die Fig. 6a Bezug genommen, in der
der Rumpf-Gerätetreiber-RAM-Bereich 505 dargestellt ist. Der
Rumpf-Gerätetreiber-RAM-Bereich 505 enthält einen Speicherbe
reich für eine Mehrzahl von Rumpf-Gerätetreiber-Blöcken. Bei
spielsweise stellt die Fig. 6a einen Rumpf-1-Block 510, einen
Rumpf-2-Block 512, einen Rumpf-3-Block 514 und einen Rumpf-n-
Block 516 dar. Für den Fachmann ist klar, daß eine beliebige
Anzahl von Rumpf-Gerätetreiber-Blöcken zwischen 0 und n inner
halb des Rumpf-Gerätetreiber-RAM-Bereichs 505 vorgesehen sein
können. Es ist für den Fachmann ebenfalls klar, daß die Anzahl
von Rumpf-Blöcken innerhalb des Rumpf-Gerätetreiber-RAM-Be
reichs 505 sich während der Benutzung des Computersystems dyna
misch ändert. Daher brauchen die Rumpf-Gerätetreiber zum Zeit
punkt der Urladung im Speicher nicht festgelegt zu sein. Es ist
ebenfalls zu beachten, daß die relative Größe oder Anzahl von
Speicherplätzen für jeden Rumpf-Gerätetreiber-Block relativ
klein im Vergleich zum vollen Gerätetreiber-Code ist, der die
Erweiterungskartenfunktionen steuert. Die relativ geringe Größe
jedes Rumpf-Gerätetreiber-Blocks gibt die Möglichkeit, eine
große Anzahl unterschiedlicher Rumpf-Gerätetreiber innerhalb
des Rumpf-Gerätetreiber-RAM-Bereichs 505 zu speichern.
Die Rumpf-Gerätetreiber-Blöcke innerhalb des Rumpf-Geräte
treiber-RAM-Bereichs 505 bestehen jeweils aus drei Komponenten.
Hierzu wird auf Fig. 6b Bezug genommen, in der die drei Kompo
nenten jedes Rumpf-Blocks des Rumpf-Gerätetreiber-RAM-Bereichs
505 dargestellt sind. Jeder Rumpf-Block enthält einen Rumpf-
Kopfteil 540, Rumpf-Daten 542 und einen Rumpf-Code 544. Der
Rumpf-Kopfteil (auch Stub-Header genannt) 540 wird hauptsäch
lich von der Betriebssystemlogik benutzt, welche den Betrieb
des Computersystems steuert.
Im folgenden wird auf Fig. 6c Bezug genommen, in der der
Inhalt des Rumpf-Kopfteils 540 für jeden Rumpf-Block darge
stellt ist. Der Rumpf-Kopfteil 540 weist Gerätetreiber-Verknüp
fungsinformationen 630, Gerätetreiber-Attribut-Informationen
632, ein Gerätetreiber-Strategie-Offset 634, ein Gerätetreiber-
Interruptoffset 636 und Gerätetreiber-Einheiten und -Namen 638
auf. Die Computersystemspeicher-102-residenten Gerätetreiber-
Informationen 630, 632, 634, 636 und 638 des Rumpf-Kopfteils
540 entsprechen den Gerätetreiber-Informationen 411, 413, 415,
417 und 419 des kartenresidenten DDIB-Kopfteils. Die DDIB-Gerä
tetreiber-Informationen werden zum Rumpf-Kopfteil 540 übertra
gen, wenn ein Rumpf-Gerätetreiber geladen wird.
Gerätetreiber-Verknüpfungsinformationen 630, Gerätetreiber-
Attributinformationen 632 und Gerätetreiber-Einheiten und -Na
men 638 enthalten Treiberidentifikationen und Einbindungsinfor
mation für das Betriebssystem zum Identifizieren und Einbinden
des korrespondierenden Gerätetreibers. Die Gerätetreiber-Ver
knüpfungsinformationen 630 dienen dem Betriebssystem zur Erzeu
gung einer Vorwärts-Verknüpfungsliste der Gerätetreiber ent
sprechend den Linien bzw. Pfeilen 519 in Fig. 6a. Unter Verwen
dung der Gerätetreiber-Verbindungsinformation 630 kann das Be
triebssystem 518 auf jeden Gerätetreiber in der Verknüpfungsli
ste dadurch zugreifen, daß die Liste unter Verwendung der Gerä
tetreiber-Verknüpfungsinformationen für jeden Rumpf-Gerätetrei
ber-Block solange nach unten durchlaufen wird, bis der letzte
Rumpf-Gerätetreiber-Block auf das Betriebssystem 518 zurückver
weist. Der Rumpf-Kopfteil 540 enthält auch ein Gerätetreiber-
Strategie-Offset 634 und ein Gerätetreiber-Interrupt-Offset 636,
die zur Identifizierung des Eintrittspunktes zum Rumpf-Code 544
entsprechend der Darstellung durch Linie 546 in Fig. 6b verwen
det werden.
Im folgenden wird auf Fig. 6d Bezug genommen, in der der
Inhalt der Rumpf-Daten 542 dargestellt ist. Die Rumpf-Daten 542
enthalten Zeiger 660 und 662, die vom Gerätetreiber-Lader 503
zur Erzeugung einer Vorwärts- und Rückwärts-Verknüpfungsliste
der Rumpf-Gerätetreiber-Blöcke innerhalb des Rumpf-Gerätetrei
ber-RAM-Bereichs 505 verwendet werden. Zeiger 660 ist ein Zei
ger auf den vorangegangenen Rumpf-Gerätetreiber-Block in der
Verknüpfungsliste. Zeiger 662 ist ein Zeiger auf den nächsten
Rumpf-Gerätetreiber-Block in der Verbindungsliste. Diese dop
pelt verknüpfte Listenstruktur ist in Fig. 6a durch die Linien
bzw. Pfeile 517 veranschaulicht.
Im folgenden wird auf Fig. 6a Bezug genommen. Der Geräte
treiber-Lader 503 enthält einen Zeiger auf den ersten Rumpf-Ge
rätetreiber-Block 510 in der Verknüpfungsliste. Der Zeiger 662
des Rumpf-1-Blocks 510 zeigt auf den Rumpf-2-Block 512. In ähn
licher Weise zeigt Zeiger 660 des Rumpf-1-Blocks 510 zurück auf
den Gerätetreiber-Lader 503. In ebenfalls ähnlicher Weise wer
den die Zeiger 660 und 662 jedes Rumpf-Gerätetreiber-Blocks zum
Zeigen auf den vorhergehenden Rumpf-Gerätetreiber in der Ver
knüpfungsliste verwendet. Daher sind alle Rumpf-Gerätetreiber
in einer Verknüpfungsliste vorwärts- und rückwärtsverknüpft.
Der letzte Rumpf-Gerätetreiber-Block in der Verknüpfungsliste
(d. h. Rumpf-n-Block 516) zeigt zurück auf den Gerätetreiber-La
der 503, um die doppelt verknüpfte Liste zu vervollständigen.
Im folgenden wird erneut auf Fig. 6d Bezug genommen. Rumpf-
Daten 542 enthalten auch eine Adapter-Identifikation 664 und
eine Steckplatz-Identifikation 666. Die Adapter-Identifikation
664 und die Steckplatz-Identifikation 666 erzeugen eine spe
zielle Identifizierung der Computersystem-Hardwareschnitt
stelle, der der Rumpf-Gerätetreiber zugeordnet ist. Die spe
zielle Rumpf-Gerätetreiber-Identifikation 668, welche die glei
che Identifizierung wie die spezielle Identifizierung 407 des
Erweiterungskarten-residenten Rumpf-Gerätetreiber gemäß Fig. 4
ist, identifiziert speziell den der Erweiterungskarte zugeord
neten Rumpf-Gerätetreiber. Ein Karten-Einsetz-Flag 672 dient
zum Aufrechterhalten der Anzeige, ob die dem Rumpf-Gerätetrei
ber zugeordnete Karte eingesetzt oder entfernt ist. Ein trei
berspezifischer Datenbereich 674 ist ein Speicherbereich, der
dem Rumpf-Gerätetreiber zur Speicherung seiner eigenen Daten
dient.
Im folgenden wird auf die Fig. 7 bis 13 Bezug genommen, in
denen Ablaufdiagramme zur Darstellung der bei dem beschriebenen
Ausführungsbeispiel verwendeten Verarbeitungslogik gezeigt
sind. Es ist für den Fachmann klar, daß die hier beschriebene
Verarbeitungslogik vom Prozessor 101 des Computersystems ausge
führt werden kann.
Zunächst wird auf Fig. 7 Bezug genommen, in der die dem Ge
rätetreiber-Lader 701 zugeordnete Verarbeitungslogik darge
stellt ist. Die Gerätetreiber-Lader-Logik 701 entspricht dem in
den Fig. 5 und 6a dargestellten Gerätetreiber-Lader 503. Die
Verarbeitungslogik kann beim Start am Oval 701 vom Betriebssy
stem während der Urladung des Computersystems aktiviert werden.
Bei Aktivieren des Gerätetreiber-Laders wird eine Kartenereig
nis-Serviceroutine mit dem Betriebssystem im Verarbeitungsblock
702 eingetragen. Mittel zum Eintragen einer Serviceroutine mit
dem Betriebssystem sind im Stande der Technik bekannt. Diese
Kartenereignis-Serviceroutine wird bei einem Karten-Einsetz-
oder -Entfern-Ereignis aktiviert. Der Rumpf-Gerätetreiber-RAM-
Bereich 505 wird im Verarbeitungsblock 703 reserviert. Eine
vorgegebene Kapazität des Arbeitsspeichers 102 wird für die
Speicherung von Rumpf-Gerätetreiber im Rumpf-Gerätetreiber-RAM-
Bereich 505 reserviert. Eine Gruppe von üblicherweise verwende
ten Gerätetreibern kann wahlweise während der anfänglichen La
dezeit im Verarbeitungsblock 705 in den Rumpf-Gerätetreiber-
RAM-Bereich 505 vorgeladen werden. Diese anfänglich geladenen
Gerätetreiber können in einem Massenspeichergerät gespeichert
und von dort in den Rumpf-Gerätetreiber-RAM-Bereich 505 über
tragen werden. Als nächstes werden die Hardware-Schnittstellen
abgefragt, um die Identitäten und Adressen von Karten-Steck
platzadaptern festzustellen, welche angeschlossen sind und zur
Verwendung innerhalb des Computersystems zur Verfügung stehen.
Bei einem alternativen Ausführungsbeispiel kann eine vorgege
bene Liste von Karten-Steckplatzadaptern vorgesehen und vom Ge
rätetreiber-Lader im Verarbeitungsblock 707 gewonnen werden. In
ähnlicher Weise wird die Adresse oder Identität jedes der Kar
tensteckplätze innerhalb jedes Karten-Steckplatzadapters im
Verarbeitungsblock 709 festgestellt. Wenn Erweiterungskarten in
einem der verfügbaren Steckplätze des Computersystems instal
liert sind, wird die Identität oder Adresse der installierten
Karten im Verarbeitungsblock 711 gewonnen. Der Gerätetreiber-
Lader hat jetzt eine Liste von Karten-Steckplatzadaptern, eine
Liste von Karten-Steckplätzen und eine Liste von derzeit in
stallierten Erweiterungskarten. Im Verarbeitungsblock 713 wird
ein Indexparameter initialisiert, der auf die erste der derzeit
installierten Karten in der Liste von installierten Karten hin
weist. Eine Subfunktion, genannt "Karten-Einsetz-Verarbeitung"
wird danach im Verarbeitungsblock 715 aktiviert, um den Rumpf-
Gerätetreiber für die gerade indexierte Karte zu installieren.
Die Gerätetreiber-Lader-Verarbeitung wird am mit A in Fig. 8
bezeichneten Kreis fortgesetzt.
Die Verarbeitung für den Gerätetreiber-Lader wird gemäß
Fig. 8 an dem mit A bezeichneten Kreis fortgesetzt. Während die
Liste der derzeit installierten Karten verarbeitet wird, wird
der Entscheidungsblock 1017 ausgeführt, um festzustellen, ob
alle Karten verarbeitet worden sind. Soweit alle Karten in der
Liste der installierten Karten verarbeitet worden sind, wird
der Verarbeitungspfad 1021 zur Rückkehr 1027 genommen, wo der
Prozeß für den Gerätetreiber-Lader endet. Wenn noch nicht jede
der gemäß Liste installierten Karten verarbeitet worden ist,
wird der Verarbeitungspfad 1019 zum Verarbeitungsblock 1023 be
schritten, wo der Index in der Liste von installierten Karten
weitergerückt wird, um auf die nächste installierte Karte zu
zeigen, und die Verarbeitung wird an dem mit G bezeichneten
Kreis in Fig. 7 fortgesetzt. An dem mit G bezeichneten Kreis
wird die Karten-Einsetzverarbeitungs-Subfunktion für die neu
indexierte installierte Karte aktiviert.
Im folgenden wird auf Fig. 9 Bezug genommen, in der die
Verarbeitung für eine Kartenereignis-Bedienungsroutine 1101
dargestellt ist. Die Kartenereignis-Bedienungsroutine 1101 ist
eine Softwareroutine, die mit dem Betriebssystem bei der Urla
dung des Computersystems eingetragen wird. Die Kartenereignis-
Bedienungsroutine 1101 wird aktiviert, wenn ein Hardwareereig
nis bei Einstecken oder Entfernung einer Erweiterungskarte in
irgendeinen vom Computersystem vorgesehenen Steckplatz festge
stellt wird. Bei Aktivierung der Kartenereignis-Bedienungsrou
tine 1101 wird die Identität des Karten-Steckplatzes entspre
chend dem Hardwareereignis im Verarbeitungsblock 1103 gewonnen.
Wenn ein Karten-Einsteckereignis festgestellt wird, wird der
Verarbeitungspfad 1107 zum Verarbeitungsblock 1108 eingeschla
gen, wo die Karten-Einsteck-Verarbeitungssubfunktion für die
neu installierte Karte aktiviert wird. Die darauf folgende Ver
arbeitung endet bei der Rückkehr 1131.
Im folgenden wird wiederum auf den Entscheidungsblock 1105
Bezug genommen. Wenn keine Karte in einen Steckplatz einge
steckt wurde, wird der Verarbeitungspfad 1109 zum Entschei
dungsblock 1111 genommen. Wenn ein Karten-Entfernungsereignis
festgestellt wird, wird der Verarbeitungspfad 1115 zum Verar
beitungsblock 1119 genommen, wo die Verknüpfungsliste der
Rumpf-Gerätetreiber innerhalb des Rumpf-Gerätetreiber-RAM-Be
reichs 505 bei der Suche nach einem dem Steckplatz für die ent
fernte Karte entsprechenden Rumpf-Gerätetreiber durchlaufen
wird. Wenn ein der entfernten Karte entsprechender Rumpf-Gerä
tetreiber gefunden wird, wird der Verarbeitungspfad 1125 zum
Verarbeitungsblock 1127 genommen, wo ein Karten-Einsetz-Flag in
den Rumpf-Daten zurückgesetzt wird, um anzuzeigen, daß die ent
sprechende Karte entfernt worden ist. Sobald das Karten-Ein
setz-Flag für die entfernte Karte rückgesetzt worden ist, wird
der Rumpf-Gerätetreiber entsprechend der entfernten Karte im
Verarbeitungsblock 1129 aktiviert. Die Aktivierung des der ent
fernten Karte entsprechenden Rumpf-Gerätetreibers läßt den
Rumpf-Gerätetreiber eine während der Installation der Karte ab
laufende Aktion kontrolliert beenden und sperrt einen weiteren
Zugriff auf die entfernte Karte. Der Rumpf-Gerätetreiber wird
dann von der Verknüpfungsliste der Rumpf-Gerätetreiber entkop
pelt. Bei Beendigung des Verarbeitungsblocks 1129 wird die
Steuerung auf den Verarbeitungsblock 1119 zurückübertragen, wo
die Rumpf-Verbindungsliste wiederum nach einem anderen Rumpf-
Gerätetreiber entsprechend demjenigen Steckplatz durchlaufen
wird, für den ein Karten-Entfernungsereignis festgestellt
wurde. Die Schleife zwischen den Verarbeitungsblocks 1119 und
1129 wird für jeden Rumpf-Gerätetreiber in der Verbindungsliste
so lange fortgesetzt, bis jeder Rumpf-Gerätetreiber der ent
fernten Karte verarbeitet ist. Ist dies geschehen, so wird der
Verarbeitungspfad 1123 zur Blase 1131 genommen, wo die Verar
beitung für die Kartenereignis-Bedienung endet.
Im folgenden wird wieder auf Block 1111 Bezug genommen.
Wenn das die Aktivierung der Kartenereignis-Dienstroutine 1101
bewirkende Hardware-Ereignis entweder ein Karte-Einsetz- oder
ein Karte-Entfern-Ereignis ist, wird der Verarbeitungspfad 1113
genommen, um Block 1117 zu verarbeiten, wo das nicht identifi
zierte Ereignis aufgezeichnet ist. Die Verarbeitung endet dann
in der Blase 1131.
Im folgenden wird auf Fig. 10 Bezug genommen, in der die
Karten-Einsteck-Verarbeitungssubfunktion 800 dargestellt ist.
Die Karten-Einsteck-Verarbeitung 800 wird entweder vom Verar
beitungsblock 715 (Fig. 7) oder vom Verarbeitungsblock 1108
(Fig. 9) aktiviert. Die Karten-Einsteckverarbeitung 800 ist für
die Steuerung der Zuweisung und das Laden eines einer neu ein
gesetzten Erweiterungskarte entsprechenden Rumpf-Gerätetreibers
verantwortlich. Beginnend am Verarbeitungsblock 801 wird auf
den Kartenspeicherbereich der neu eingesetzten Karte zugegrif
fen. Wenn ein Gerätetreiber-Informationsblock (DDIB) im Karten-
Speicherbereich der neu installierten Karte vorhanden ist, wird
der Verarbeitungspfad 805 zum Verarbeitungsblock 807 genommen.
Wenn kein DDIB im Karten-Speichergebiet vorhanden ist, wird der
Verarbeitungspfad 803 zu dem in Fig. 12 mit C bezeichneten
Kreis genommen, wo die Karten-Einsteckverarbeitung an der Blase
1017 endet. Da nicht alle Erweiterungskarten einen Gerätetrei
ber benötigen, ist der Verarbeitungspfad 803 für diejenigen
Karten vorgesehen, die keinen Gerätetreiber brauchen.
Am Verarbeitungsblock 807 wird der Kopfteil des DDIB der
neu installierten Karte gelesen. Der Entscheidungsblock 809
prüft, ob der Rumpf-Gerätetreiber für die neu installierte
Karte auf der Basis der speziellen Identifizierung des Rumpf-
Gerätetreibers zuvor geladen worden ist. Wenn dieser Rumpf-Ge
rätetreiber zuvor geladen worden ist, braucht der ausführbare
Code des Rumpf-Gerätetreibers nicht erneut geladen zu werden.
Wenn der Rumpf also zuvor bereits geladen worden ist, wird der
Verarbeitungspfad 811 zum Entscheidungsblock 821 genommen, wo
verfügbarer Raum innerhalb des Rumpf-Gerätetreiber-RAM-Bereichs
505 geprüft wird. Wenn verfügbarer RAM-Raum für die Rumpf -Gerä
tetreiber-Daten und den Rumpf-Kopfteil zur Verfügung steht,
wird der Verarbeitungspfad 825 zu dem in Fig. 11 mit B bezeich
neten Kreis genommen. Wenn es im Entscheidungsblock 821 nicht
genug RAM-Raum gibt, wird der Verarbeitungspfad 823 zum Verar
beitungsblock 824 genommen, wo ein Fehler in der Treiber-Lade-
Verarbeitung berichtet wird. Die Karten-Einsteck-Verarbeitung
endet dann an dem in Fig. 12 mit C bezeichneten Kreis.
Im folgenden wird erneut auf den Entscheidungsblock 809 Be
zug genommen. Wenn ein Rumpf-Gerätetreiber für die neu instal
lierte Erweiterungskarte nicht zuvor geladen worden ist, wird
der Verarbeitungspfad 813 zum Entscheidungsblock 815 genommen,
wo ein Test durchgeführt wird, um festzustellen, ob in dem
Rumpf-Gerätetreiber-RAM-Bereich 505 für die Speicherung des
ausführbaren Codes des Rumpf-Gerätetreibers, die Rumpf-Geräte
treiber-Daten und des Rumpf-Kopfteils genügend Raum zur Verfü
gung steht. Wenn genügend RAM-Raum zur Verfügung steht, wird
der Verarbeitungspfad 819 zu der in Fig. 11 mit B bezeichneten
Blase genommen. Wenn jedoch nach dem Ergebnis des im Entschei
dungsblock 815 durchgeführten Tests nicht genügend RAM-Raum zur
Verfügung steht, wird der Verarbeitungspfad 817 zum Verarbei
tungsblock 824 genommen, wo ein Fehler in der Gerätetreiber-
Lade-Verarbeitung berichtet wird und die Verarbeitung über den
in Fig. 12 mit C bezeichneten Kreis endet.
Im folgenden wird auf Fig. 11 Bezug genommen. Die Karten-
Einsteck-Verarbeitung wird an dem mit B bezeichneten Kreis
fortgesetzt. An diesem Punkt wurde festgestellt, daß genügend
Raum für die Speicherung des Rumpf-Gerätetreiber der neu einge
setzten Erweiterungskarte im Gerätetreiber-RAM-Bereich 505 zur
Verfügung steht. Im Verarbeitungsblock 827 wird ein Teil des
DDIB-Kopfteils von der neu installierten Karte in den zuvor re
servierten Rumpf-Gerätetreiber-RAM-Bereich kopiert. Insbeson
dere werden Felder 411, 413, 415, 417 und 419 des DDIB-Kopf
teils in Felder 630, 632, 634, 636 und 638 des Rumpf-Kopfteils
kopiert. Ein zusätzlicher Teil des RAM im Rumpf-Gerätetreiber-
RAM-Bereich wird für Rumpf-Gerätetreiber-Daten im Verarbei
tungsblock 829 reserviert. Die Größe dieses Rumpf-Daten-Be
reichs wird von einem Parameter 427 im DDIB-Kopfteil spezifi
ziert. Wenn der Rumpf-Gerätetreiber nicht zuvor geladen worden
ist, und zwar aus einer Erweiterungskarte oder einer Liste von
während der Urladung des Computersystems geladenen Rumpf-Gerä
tetreibern, wird der Verarbeitungspfad 911 zum Verarbeitungs
block 913 genommen. Im Verarbeitungsblock 913 wird der ausführ
bare Code des Rumpf-Gerätetreibers aus der neu installierten
Erweiterungskarte zu dem zuvor reservierten Rumpf-Gerätetrei
ber-RAM-Bereich innerhalb des Rumpf-Gerätetreiber-RAM-Bereichs
505 kopiert. Die Strategie- und Interrupt-Offsets werden im
Verarbeitungsblock 915 geladen, um in geeigneter Weise auf den
neu geladenen Code Bezug zu nehmen. Im folgenden wird erneut
auf den Entscheidungsblock 907 Bezug genommen. Wenn der Rumpf-
Gerätetreiber zuvor aus einer früheren Erweiterungskarte oder
einer optionellen Ladeliste während der Urladung geladen worden
ist, wird der Verarbeitungspfad 909 zum Verarbeitungsblock ge
nommen, wo die Strategie- und Offset-Verbindung auf den zuvor
geladenen ausführbaren Code gesetzt wird. Auf diese Weise kann
das Laden eines zuvor bereits geladenen Rumpf-Gerätetreiber
verhindert werden. Die Verarbeitung wird dann am Verarbeitungs
block 917 fortgesetzt.
Am Verarbeitungsblock 917 wird der Rumpf-Kopfteil-Bereich
und der Rumpf-Datenbereich innerhalb des Rumpf-Gerätetreiber-
RAM-Bereichs 505 initialisiert bzw. geladen. Das Initialisieren
dieser Bereiche umfaßt das Laden von Verbindungszeigern, Adap
ter- und Steckplatz-Identifikationsinformationen und der Rumpf-
Gerätetreiber-Identifikation. Diese Bereiche können dann durch
Übertragung der entsprechenden Informationen von den kartenre
sidenten DDIB-Kopfteil geladen werden. Ein Karten-Einsetz-Flag
in den Rumpf-Daten wird im Verarbeitungsblock 919 gesetzt, um
anzuzeigen, daß die Karte in einen Steckplatz eingesetzt und
vom Computersystem zugreifbar ist. Die Verarbeitung wird dann
an den mit E in Fig. 12 bezeichneten Kreis fortgesetzt.
Der neu installierte Rumpf-Gerätetreiber wird der vom Be
triebssystem gehaltenen Verbindungsliste der Gerätetreiber hin
zugefügt, und zwar im Verarbeitungsblock 1001. Bei Hinzufügen
des neu installierten Rumpf-Gerätetreibers zu dieser Verbin
dungsliste wird ein Zeiger in dem Rumpf-Kopfteil derart ge
setzt, daß es auf den nächsten Gerätetreiber-Block in der Ver
bindungsliste hinweist. In ähnlicher Weise wird der Rumpf-Kopf
teil-Zeiger des vorhergehenden Gerätetreiber-Blocks derart ein
gestellt, daß er auf den neu installierten Rumpf-Gerätetreiber
zeigt. Der der neu eingesetzten Karte entsprechende Rumpf-Gerä
tetreiber wird im Verarbeitungsblock 1009 aktiviert. Als Folge
der Aktivierung des Rumpf-Gerätetreibers gibt der Rumpf-Geräte
treiber die Aktivierung des vollen Gerätetreiber-Codes 309
frei, der auf der neu installierten Karte resident ist. Eine
Aktivierung des vollen kartenresidenten Gerätetreiber-Codes 309
wird freigegeben und ein Speichermapping zur neu installierten
Karte zugelassen. Daher bildet der Rumpf-Gerätetreiber eine
Verknüpfung zwischen der Computersystem-Software und dem kar
tenresidenten Gerätetreiber und den kartenresidenten Funktio
nen.
Wenn ein anderer Gerätetreiber-Informationsblock im Karten-
Speicherbereich für die neu installierte Karte vorhanden ist,
wird der Verarbeitungspfad 1013 zu dem in Fig. 10 mit F be
zeichneten Kreis genommen, wo der Kopfteil für den nachfolgen
den Gerätetreiber-Informationsblock im Verarbeitungsblock 807
gelesen wird. Da Erweiterungskarten mehr als einen Funktions
satz enthalten können, kann mehr als ein Gerätetreiber pro
Karte vorhanden sein. Wenn jedoch kein weiterer Gerätetreiber-
Informationsblock für die neu installierte Karte vorhanden ist,
wird der Verarbeitungspfad 1015 zur Beendigungsblase 1017 ge
nommen, wo die die Karten-Einsteck-Verarbeitung endet.
Im folgenden wird auf Fig. 13 Bezug genommen, in der die
Verarbeitungslogik für jeden Rumpf-Gerätetreiber beginnend an
der Blase 1201 dargestellt ist. Die Rumpf-Gerätetreiber-Verar
beitungslogik wird in Abhängigkeit vom Ereignis des Einsetzens
oder Entfernens einer Karte aktiviert. Beispielsweise wird die
Rumpf-Gerätetreiber-Verarbeitungslogik in Abhängigkeit von der
Aktivierung der Rumpf-Gerätetreiber-Logik im Verarbeitungsblock
1129 (Fig. 9) und im Verarbeitungsblock 1009 (Fig. 12) ausge
führt.
Wenn der Rumpf-Gerätetreiber aktiviert wird, um den Betrieb
des Rumpf-Gerätetreibers nach dem Laden zu initialisieren, wird
der Verarbeitungspfad 1207 zum Entscheidungsblock 1204 genom
men. Wenn die Aktivierung des Rumpf-Gerätetreibers das Ergebnis
des Ereignisses des Einsetzens einer Karte ist, wird der Verar
beitungspfad 1206 zum Verarbeitungspfad 1210 genommen, wo auf
den Karten-Speicherbereich der eingesetzten Karte zugegriffen
wird. Ggf. erforderliche Konfigurations- oder Karten-Partiti
onssinformationen werden im Verarbeitungsblock 1214 vom Rumpf-
Gerätetreiber gewonnen. Das Abbilden bzw. Mapping zum auf der
Erweiterungskarte residenten vollen Gerätetreiber wird im Ver
arbeitungsblock 1213 freigegeben. Der Zugriff auf den kartenre
sidenten vollen Gerätetreiber wird im Verarbeitungsblock 1216
freigegeben. Als Ergebnis des Freigabezugriffs auf den karten
residenten vollen Gerätetreiber kann eine Verarbeitungssteue
rung nachfolgend auf den kartenresidenten vollen Gerätetreiber
übertragen werden, wo die Erweiterungskarten-Funktionsvielfalt
voll ausgenutzt werden kann. Durch Ausführen des kartenresiden
ten vollen Gerätetreibers braucht der ausführbare Code des
vollen Gerätetreibers nicht in den Computersystem-Arbeitsspei
cher zur dortigen Ausführung übertragen zu werden.
Im folgenden wird wieder auf den Entscheidungsblock 1204
Bezug genommen. Wenn der Rumpf-Gerätetreiber aufgrund des Kar
ten-Einsteckereignisses nicht aktiviert worden ist, wird das
Ereignis des Kartenentfernens unterstellt. In diesem Falle wird
der Verarbeitungspfad 1205 zum Verarbeitungsblock 1218 genom
men, wo ein Zugriff auf den kartenresidenten vollen Gerätetrei
ber in Abhängigkeit vom Entfernen der Karte entaktiviert wird.
Auf diese Weise wird verhindert, daß die Computersystem-Soft
ware zufällig auf eine bereits entfernte Karte Zugriff nimmt.
Im folgenden wird wiederum auf den Entscheidungsblock 1203
Bezug genommen. Wenn ein Rumpf-Gerätetreiber zum Zweck des In
itialisierens des Rumpf-Gerätetreibers nicht freigegeben ist,
wird der Verarbeitungspfad 1205 zum Verarbeitungsblock 1209 ge
nommen. Der Verarbeitungspfad 1205 wird während des normalen
Betriebs des Rumpf-Gerätetreibers nach dem Initialisieren ge
nommen. In diesem Falle wird das Vorhandensein der zum Rumpf-
Gerätetreiber gehörigen Karte im Verarbeitungsblock 1209 über
prüft. Wenn die Karte entfernt worden ist, wird der Verarbei
tungspfad 1211 zum Verarbeitungsblock 1217 genommen, wo ein Ge
rätetreiber-definierter Fehler zurückgegeben wird und die Ver
arbeitung an der Blase 1219 endet. Wenn die dem Rumpf-Geräte
treiber entsprechende Karte jedoch noch vorhanden und aktiv
ist, wird der Verarbeitungspfad 1213 zum Verarbeitungsblock
1215 genommen, wo eine normale Gerätetreiber-Anforderung vom
kartenresidenten vollen Gerätetreiber präsentiert wird. Bei
Beendigung der normalen Anforderung in einem Verarbeitungsblock
1215 endet die Verarbeitung an der Blase 1219.
Vorstehend wurde ein Computersystem mit einem Verfahren und
Mitteln zum dynamischen Konfigurieren von Gerätetreibern für
Systemressourcen beschrieben.
Claims (20)
1. Verfahren zum dynamischen Konfigurieren von Gerätetrei
bern für entfernbare Computersystem-Betriebsmittel (108) unter
Verwendung eines Computersystems mit einem Prozessor (101), ei
nem Systemspeicher (102; 501) und einer Schnittstelle (108;
203-209) zur Aufnahme eines entfernbaren System-Betriebsmittels
(211, 213; 301),
dadurch gekennzeichnet,
daß eine Anzeige darüber aufgenommen wird, daß ein entfern bares System-Betriebsmittel (301) mit der Schnittstelle gekop pelt ist, wobei das entfernbare System-Betriebsmittel (301) mit einem Betriebsmittelspeicher (303) versehen wird, der eine Rumpf-Gerätetreiber-Verarbeitungslogik (307) und eine volle Ge rätetreiber-Verarbeitungslogik (309) enthält;
daß die Rumpf-Gerätetreiber-Verarbeitungslogik (307; 505) in den Systemspeicher kopiert wird;
daß die Rumpf-Gerätetreiber-Verarbeitungslogik (505) aus dem Systemspeicher heraus ausgeführt wird;
daß ein Zugriff auf die volle Gerätetreiber-Verarbeitungs logik (309) von der Rumpf-Gerätetreiber-Verarbeitungslogik freigegeben wird; und
daß die volle Gerätetreiber-Verarbeitungslogik (309) aus dem Betriebsmittelspeicher (303) heraus ausgeführt wird.
daß eine Anzeige darüber aufgenommen wird, daß ein entfern bares System-Betriebsmittel (301) mit der Schnittstelle gekop pelt ist, wobei das entfernbare System-Betriebsmittel (301) mit einem Betriebsmittelspeicher (303) versehen wird, der eine Rumpf-Gerätetreiber-Verarbeitungslogik (307) und eine volle Ge rätetreiber-Verarbeitungslogik (309) enthält;
daß die Rumpf-Gerätetreiber-Verarbeitungslogik (307; 505) in den Systemspeicher kopiert wird;
daß die Rumpf-Gerätetreiber-Verarbeitungslogik (505) aus dem Systemspeicher heraus ausgeführt wird;
daß ein Zugriff auf die volle Gerätetreiber-Verarbeitungs logik (309) von der Rumpf-Gerätetreiber-Verarbeitungslogik freigegeben wird; und
daß die volle Gerätetreiber-Verarbeitungslogik (309) aus dem Betriebsmittelspeicher (303) heraus ausgeführt wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß
im Betriebsmittelspeicher (303) ein Gerätetreiber-Informations
block(DDIB)-Kopfteil (305; 401) gespeichert und in den System
speicher (501) kopiert wird.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß
der DDIB-Kopfteil (401) mit Verknüpfungsdaten (405) und einer
speziellen Rumpf-Gerätetreiber-Identifikation (407) versehen
und die Rumpf-Gerätetreiber-Verarbeitungslogik mit einer in dem
Systemspeicher (501) gespeicherten anderen Rumpf-Gerätetreiber-
Verarbeitungslogik (510-516) verbunden wird.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch ge
kennzeichnet, daß festgestellt wird, ob die Rumpf-Gerätetrei
ber-Verarbeitungslogik bereits in dem Systemspeicher (501) ent
halten ist, und daß der Kopierschritt verhindert wird, wenn
sich die Rumpf-Gerätetreiber-Verarbeitungslogik bereits in dem
Systemspeicher befindet.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch ge
kennzeichnet, daß ein Karten-Einsetz-Flag (672) in dem System
speicher vorgesehen und gesetzt wird, wenn das entfernbare Sy
stem-Betriebsmittel (301) mit der Schnittstelle gekoppelt ist.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch ge
kennzeichnet, daß der Schritt der Zugriffsfreigabe auf die
volle Gerätetreiber-Verarbeitungslogik (309) ein Speichermap
ping auf die im Betriebsmittelspeicher (303) residente volle
Gerätetreiber-Verarbeitungslogik (309) ermöglicht.
7. Verfahren nach einem der Ansprüche 3 bis 6, dadurch ge
kennzeichnet, daß beim Verbinden der Rumpf-Gerätetreiber-Verar
beitungslogik ein Vorwärtsverbinden der Rumpf-Gerätetreiber-
Verarbeitungslogik mit einer anderen Rumpf-Gerätetreiber-Verar
beitungslogik und ein Rückwärtsverbinden der Rumpf-Gerätetrei
ber-Verarbeitungslogik mit einer anderen Rumpf-Gerätetreiber-
Verarbeitungslogik stattfindet.
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch ge
kennzeichnet, daß eine Anzeige darüber gewonnen wird, daß ein
entfernbares System-Betriebsmittel (301) von der Schnittstelle
entkoppelt worden ist und daß der Zugriff auf die von der
Rumpf-Gerätetreiber-Verarbeitungslogik freigegebene volle Gerä
tetreiber-Verarbeitungslogik gesperrt wird.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß
der DDIB-Kopfteil Verknüpfungsdaten und eine spezielle Rumpf-
Gerätetreiber-Identifikation enthält und daß die Rumpf-Geräte
treiber-Verarbeitungslogik von einer im Systemspeicher gespei
cherten anderen Rumpf-Gerätetreiber-Verarbeitungslogik entkop
pelt wird.
10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch ge
kennzeichnet, daß ein Karten-Einsetz-Flag (672) in dem System
speicher vorgesehen und rückgesetzt wird, wenn das entfernbare
System-Betriebsmittel (301) von der Schnittstelle entkoppelt
wird.
11. Einrichtung zum dynamischen Konfigurieren von Geräte
treibern für entfernbare Computersystem-Betriebsmittel in einem
Computersystem mit einem Prozessor (101), einem Systemspeicher
(102; 501) und einer Schnittstelle (108) zur Aufnahme eines
entfernbaren System-Betriebsmittels (211, 213; 301);
gekennzeichnet durch
Mittel zum Empfangen einer Anzeige dafür, daß das entfern bare System-Betriebsmittel (301) mit der Schnittstelle (108) gekoppelt ist, wobei das entfernbare System-Betriebsmittel (211, 213; 301) mit einem Betriebsmittelspeicher (303) versehen ist, der eine Rumpf-Gerätetreiber-Verarbeitungslogik (307) und eine volle Gerätetreiber-Verarbeitungslogik (309) aufweist;
Mittel zum Kopieren der Rumpf -Gerätetreiber-Verarbeitungs logik (307) in den Systemspeicher (501),
Mittel zum Ausführen der Rumpf-Gerätetreiber-Verarbeitungs logik (505) aus dem Systemspeicher heraus;
Mittel zum Freigeben eines Zugriffs auf die volle Geräte treiber-Verarbeitungslogik (309), wobei der Zugriff von der Rumpf-Gerätetreiber-Verarbeitungslogik (307; 505) aktivierbar ist; und
Mittel zum Ausführen der vollen Gerätetreiber-Verarbei tungslogik (309) aus dem Betriebsmittelspeicher (303) heraus.
Mittel zum Empfangen einer Anzeige dafür, daß das entfern bare System-Betriebsmittel (301) mit der Schnittstelle (108) gekoppelt ist, wobei das entfernbare System-Betriebsmittel (211, 213; 301) mit einem Betriebsmittelspeicher (303) versehen ist, der eine Rumpf-Gerätetreiber-Verarbeitungslogik (307) und eine volle Gerätetreiber-Verarbeitungslogik (309) aufweist;
Mittel zum Kopieren der Rumpf -Gerätetreiber-Verarbeitungs logik (307) in den Systemspeicher (501),
Mittel zum Ausführen der Rumpf-Gerätetreiber-Verarbeitungs logik (505) aus dem Systemspeicher heraus;
Mittel zum Freigeben eines Zugriffs auf die volle Geräte treiber-Verarbeitungslogik (309), wobei der Zugriff von der Rumpf-Gerätetreiber-Verarbeitungslogik (307; 505) aktivierbar ist; und
Mittel zum Ausführen der vollen Gerätetreiber-Verarbei tungslogik (309) aus dem Betriebsmittelspeicher (303) heraus.
12. Einrichtung nach Anspruch 11, dadurch gekennzeichnet,
daß der Betriebsmittelspeicher (303) außerdem einen Gerätetrei
ber-Informationsblock(DDIB)-Kopfteil (305) aufweist und daß au
ßerdem Mittel zum Kopieren des DDIB-Kopfteils (305) in den Sy
stemspeicher (501) vorgesehen sind.
13. Einrichtung nach Anspruch 12, dadurch gekennzeichnet,
daß der DDIB-Kopfteil (305) Verbindungsdaten (405) und eine be
sondere Identifikation (407) für den Rumpf-Gerätetreiber auf
weist, und daß ferner Mittel zum Verbinden der Rumpf-Geräte
treiber-Verarbeitungslogik mit einer in dem Systemspeicher
(501) gespeicherten anderen Rumpf-Gerätetreiber-Verarbeitungs
logik vorgesehen sind.
14. Einrichtung nach einem der Ansprüche 11 bis 13, dadurch
gekennzeichnet, daß Mittel zum Feststellen des Vorhandenseins
der Rumpf-Gerätetreiber-Verarbeitungslogik im Systemspeicher
und Mittel zum Verhindern des Kopierschritts bei Vorhandensein
der Rumpf-Gerätetreiber-Verarbeitungslogik im Systemspeicher
vorgesehen sind.
15. Einrichtung nach einem der Ansprüche 11 bis 14, dadurch
gekennzeichnet, daß ein Karten-Einsetz-Flag (672) in dem Sy
stemspeicher (501) vorgesehen ist und Mittel vorhanden sind,
welche das Karten-Einsetz-Flag setzen, wenn das entfernbare Sy
stem-Betriebsmittel (301) mit der Schnittstelle (108) gekoppelt
ist.
16. Einrichtung nach einem der Ansprüche 11 bis 15, dadurch
gekennzeichnet, daß die Mittel zur Zugriffsfreigabe auf die
volle Gerätetreiber-Verarbeitungslogik (309) außerdem Mittel
aufweisen, welche ein Speichermapping auf die im Betriebsmit
telspeicher (303) residente volle Gerätetreiber-Verarbeitungs
logik (309) ermöglichen.
17. Einrichtung nach einem der Ansprüche 13 bis 16, dadurch
gekennzeichnet, daß die Mittel zum Verbinden der Rumpf-Geräte
treiber-Verarbeitungslogik außerdem Mittel zum Vorwärtsverbin
den der Rumpf-Gerätetreiber-Verarbeitungslogik mit einer ande
ren Rumpf-Gerätetreiber-Verarbeitungslogik und Mittel zum Rück
wärtsverbinden der Rumpf-Gerätetreiber-Verarbeitungslogik mit
einer anderen Rumpf-Gerätetreiber-Verarbeitungslogik aufweisen.
18. Einrichtung nach einem der Ansprüche 11 bis 17, dadurch
gekennzeichnet, daß Mittel zum Empfangen einer Anzeige darüber
vorgesehen sind, daß ein entfernbares System-Betriebsmittel
(301) von der Schnittstelle entkoppelt worden ist, und daß Mit
tel zum Entaktivieren des Zugriffs auf die volle Gerätetreiber-
Verarbeitungslogik (309) vorgesehen sind, wobei der Zugriff von
der Rumpf-Gerätetreiber-Verarbeitungslogik aktivierbar ist.
19. Einrichtung nach einem der Ansprüche 12 bis 18, dadurch
gekennzeichnet, daß der DDIB-Kopfteil Verbindungsdaten (405)
und eine spezielle Rumpf-Gerätetreiber-Identifikation (407)
aufweist und die Einrichtung außerdem Mittel zur Entkopplung
der Rumpf-Gerätetreiber-Verarbeitungslogik von einer anderen,
im Systemspeicher gespeicherten Rumpf-Gerätetreiber-Verarbei
tungslogik aufweist.
20. Einrichtung nach einem der Ansprüche 11 bis 19, dadurch
gekennzeichnet, daß ein Karten-Einsetz-Flag (672) im System
speicher (501) und Mittel zum Rücksetzen des Karten-Einsetz-
Flags bei Entfernen des entfernbaren System-Betriebsmittels
(301) von der Schnittstelle vorgesehen sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/815,331 US5319751A (en) | 1991-12-27 | 1991-12-27 | Device driver configuration in a computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4244266A1 true DE4244266A1 (de) | 1993-07-01 |
DE4244266C2 DE4244266C2 (de) | 1997-02-27 |
Family
ID=25217482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4244266A Expired - Fee Related DE4244266C2 (de) | 1991-12-27 | 1992-12-28 | Verfahren und Schaltungseinrichtung zum dynamischen Konfigurieren von Gerätetreibern für Computersystem-Betriebsmittel |
Country Status (4)
Country | Link |
---|---|
US (4) | US5319751A (de) |
JP (1) | JPH05265919A (de) |
DE (1) | DE4244266C2 (de) |
GB (1) | GB2262825B (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4434528C2 (de) * | 1993-09-27 | 1999-11-25 | Intel Corp | Verfahren zum Bereitstellen von Kartendienstefunktionen sowie Computersystem zum Ausführen eines solchen Verfahrens |
DE19681256C2 (de) * | 1995-02-27 | 2000-02-03 | Intel Corp | Ausführung von Anwendungen am Platz vom Speicher |
Families Citing this family (297)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0820975B2 (ja) * | 1990-03-29 | 1996-03-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータシステムおよびコンピュータ上で実行されるトレース方法 |
US5319751A (en) * | 1991-12-27 | 1994-06-07 | Intel Corporation | Device driver configuration in a computer system |
JP2986299B2 (ja) * | 1992-04-15 | 1999-12-06 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 周辺装置接続検出システム |
JP2724078B2 (ja) * | 1992-09-29 | 1998-03-09 | 株式会社日立製作所 | 二重化メモリの保守方法 |
US5535342A (en) * | 1992-11-05 | 1996-07-09 | Giga Operations Corporation | Pld connector for module having configuration of either first PLD or second PLD and reconfigurable bus for communication of two different bus protocols |
WO1994011802A1 (en) * | 1992-11-12 | 1994-05-26 | New Media Corporation | Reconfigureable interface between a computer and peripheral devices |
US5590376A (en) * | 1992-11-13 | 1996-12-31 | Toshiba America Information Systems, Inc. | Apparatus and method for detecting and updating status of removable storage system using shared interrupt and software flag |
WO1994011812A1 (en) * | 1992-11-16 | 1994-05-26 | Microsoft Corporation | Method for loading device drivers |
US5991530A (en) * | 1993-02-05 | 1999-11-23 | Canon Denshi Kabushiki Kaisha | Interface device receivable in card storage device slot of host computer |
EP0610677A3 (de) * | 1993-02-12 | 1995-08-02 | Ibm | In zwei Modi arbeitender Kommunikationsgerätetreiber. |
US5530858A (en) * | 1993-04-01 | 1996-06-25 | Intel Corporation | Method and apparatus for background processing for PCMCIA card services |
US5696970A (en) * | 1993-04-01 | 1997-12-09 | Intel Corporation | Architecture for implementing PCMCIA card services under the windows operating system in enhanced mode |
US5664195A (en) * | 1993-04-07 | 1997-09-02 | Sequoia Systems, Inc. | Method and apparatus for dynamic installation of a driver on a computer system |
US5638530A (en) * | 1993-04-20 | 1997-06-10 | Texas Instruments Incorporated | Direct memory access scheme using memory with an integrated processor having communication with external devices |
US5537654A (en) * | 1993-05-20 | 1996-07-16 | At&T Corp. | System for PCMCIA peripheral to execute instructions from shared memory where the system reset signal causes switching between modes of operation by alerting the starting address |
CN1113302C (zh) * | 1993-07-30 | 2003-07-02 | 佳能株式会社 | 通过通信线路控制设备的控制器和方法 |
CA2126950A1 (en) * | 1993-07-30 | 1995-01-31 | Bryan M. Willman | Booting a computer system using a last known good set of configuration data |
JPH0765540A (ja) * | 1993-08-27 | 1995-03-10 | Olympus Optical Co Ltd | 光カードの情報管理装置 |
US5887145A (en) * | 1993-09-01 | 1999-03-23 | Sandisk Corporation | Removable mother/daughter peripheral card |
US7137011B1 (en) * | 1993-09-01 | 2006-11-14 | Sandisk Corporation | Removable mother/daughter peripheral card |
US5628027A (en) * | 1993-10-29 | 1997-05-06 | Compaq Computer Corporation | Method of determining the configuration of devices installed on a computer bus |
US5870609A (en) * | 1993-12-17 | 1999-02-09 | Xircom, Inc. | Technique for bootstrapping executable code to an adapter |
US5446869A (en) * | 1993-12-30 | 1995-08-29 | International Business Machines Corporation | Configuration and RAM/ROM control of PCI extension card residing on MCA adapter card |
US5781798A (en) * | 1993-12-30 | 1998-07-14 | International Business Machines Corporation | Method and apparatus for providing hot swapping capability in a computer system with static peripheral driver software |
US5633890A (en) * | 1994-02-24 | 1997-05-27 | Ricoh Company, Ltd. | Method for intelligent data terminal equipment (DTE) data communication |
US5519851A (en) * | 1994-03-14 | 1996-05-21 | Sun Microsystems, Inc. | Portable PCMCIA interface for a host computer |
US5748980A (en) * | 1994-05-27 | 1998-05-05 | Microsoft Corporation | System for configuring a computer system |
US6763454B2 (en) | 1994-05-27 | 2004-07-13 | Microsoft Corp. | System for allocating resources in a computer system |
US5787246A (en) * | 1994-05-27 | 1998-07-28 | Microsoft Corporation | System for configuring devices for a computer system |
US5655148A (en) | 1994-05-27 | 1997-08-05 | Microsoft Corporation | Method for automatically configuring devices including a network adapter without manual intervention and without prior configuration information |
JP3578220B2 (ja) * | 1994-06-15 | 2004-10-20 | トムソン コンシユーマ エレクトロニクス インコーポレイテツド | マイクロプロセッサの介入のないスマートカードメッセージ転送 |
GB9413870D0 (en) * | 1994-07-09 | 1994-08-31 | Vision 1 Int Ltd | Digitally-networked active-vision camera |
GB2296156A (en) * | 1994-07-09 | 1996-06-19 | Vision 1 Int Ltd | Digitally networked video camera |
DE59509945D1 (de) * | 1994-08-05 | 2002-01-24 | Sirona Dental Systems Gmbh | Zahnärztliche röntgendiagnostikeinrichtung |
US5640592A (en) * | 1994-09-30 | 1997-06-17 | Mitsubishi Kasei America, Inc. | System for transferring utility algorithm stored within a peripheral device to a host computer in a format compatible with the type of the host computer |
US5802558A (en) * | 1994-09-30 | 1998-09-01 | Intel Corporation | Method and apparatus for upgrading reprogrammable memory contents in a PCMCIA card |
US5664198A (en) * | 1994-10-26 | 1997-09-02 | Intel Corporation | High speed access to PC card memory using interrupts |
US5613095A (en) * | 1994-10-31 | 1997-03-18 | Motorola, Inc. | Peripheral card having independent functionally and method used therewith |
US5701476A (en) * | 1994-11-29 | 1997-12-23 | Intel Corporation | Method and apparatus for dynamically loading a driver routine in a computer memory |
US5715459A (en) * | 1994-12-15 | 1998-02-03 | International Business Machines Corporation | Advanced graphics driver architecture |
US5687376A (en) * | 1994-12-15 | 1997-11-11 | International Business Machines Corporation | System for monitoring performance of advanced graphics driver including filter modules for passing supported commands associated with function calls and recording task execution time for graphic operation |
US5745762A (en) * | 1994-12-15 | 1998-04-28 | International Business Machines Corporation | Advanced graphics driver architecture supporting multiple system emulations |
US5745761A (en) * | 1994-12-15 | 1998-04-28 | International Business Machines Corporation | Advanced graphics driver architecture with extension capability |
US5636357A (en) * | 1994-12-21 | 1997-06-03 | Eurotronics Company | Memory card and method for operation in a plurality of systems having incompatible object code format requirements |
US5628028A (en) * | 1995-03-02 | 1997-05-06 | Data Translation, Inc. | Reprogrammable PCMCIA card and method and apparatus employing same |
US5648990A (en) * | 1995-05-01 | 1997-07-15 | Motorola, Inc. | Radio accessory for communicating with a programmable computing device and method therefor |
US5630076A (en) * | 1995-05-05 | 1997-05-13 | Apple Computer, Inc. | Dynamic device matching using driver candidate lists |
US5802365A (en) * | 1995-05-05 | 1998-09-01 | Apple Computer, Inc. | Dynamic device matching using driver candidate lists |
US6446199B1 (en) * | 1995-06-06 | 2002-09-03 | International Business Machines Corporation | Disk drive incompatible firmware recovery |
US6104876A (en) * | 1995-06-07 | 2000-08-15 | Cirrus Logic, Inc. | PCI bus master retry fixup |
US5802544A (en) * | 1995-06-07 | 1998-09-01 | International Business Machines Corporation | Addressing multiple removable memory modules by remapping slot addresses |
US5732282A (en) * | 1995-06-30 | 1998-03-24 | Sun Microsystems, Inc. | Virtual device driver registry having a globally unique identifier supplying virtual driver call information to the requesting program |
EP0752646B1 (de) * | 1995-07-07 | 2002-03-27 | Sun Microsystems, Inc. | Datenzugriffimplementierung von Gerätetreiberschnittstelle |
KR100244836B1 (ko) * | 1995-11-02 | 2000-02-15 | 포만 제프리 엘 | 컴퓨터시스템 및 다수의 기능카드 중 한개의 기능카드를 격리하는 방법 |
US6393492B1 (en) | 1995-11-03 | 2002-05-21 | Texas Instruments Incorporated | Method and arrangement for operating a mass memory storage peripheral computer device connected to a host computer |
US5652832A (en) * | 1995-11-13 | 1997-07-29 | Systemsoft Corporation | Method and apparatus for diagnosis and correction of peripheral device allocation faults |
US5752032A (en) * | 1995-11-21 | 1998-05-12 | Diamond Multimedia Systems, Inc. | Adaptive device driver using controller hardware sub-element identifier |
US6393495B1 (en) | 1995-11-21 | 2002-05-21 | Diamond Multimedia Systems, Inc. | Modular virtualizing device driver architecture |
US6289396B1 (en) * | 1995-11-21 | 2001-09-11 | Diamond Multimedia Systems, Inc. | Dynamic programmable mode switching device driver architecture |
US6009476A (en) * | 1995-11-21 | 1999-12-28 | Diamond Multimedia Systems, Inc. | Device driver architecture supporting emulation environment |
US5794245A (en) * | 1995-12-15 | 1998-08-11 | International Business Machines Corporation | Generic wrapper for decompressing DOS driver sys files |
US5734822A (en) * | 1995-12-29 | 1998-03-31 | Powertv, Inc. | Apparatus and method for preprocessing computer programs prior to transmission across a network |
US5835772A (en) * | 1995-12-29 | 1998-11-10 | Intel Corporation | Method and apparatus for providing an interface between a system and a peripheral device |
US6094600A (en) * | 1996-02-06 | 2000-07-25 | Fisher-Rosemount Systems, Inc. | System and method for managing a transaction database of records of changes to field device configurations |
JP3080875B2 (ja) * | 1996-02-29 | 2000-08-28 | 株式会社東芝 | コンピュータシステムおよびその節電方法 |
US5719860A (en) * | 1996-03-22 | 1998-02-17 | Tellabs Wireless, Inc. | Wideband bus for wireless base station |
US6708171B1 (en) | 1996-04-23 | 2004-03-16 | Sun Microsystems, Inc. | Network proxy |
US6938263B2 (en) | 1996-04-23 | 2005-08-30 | Sun Microsystems, Inc. | System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space |
US6446070B1 (en) | 1998-02-26 | 2002-09-03 | Sun Microsystems, Inc. | Method and apparatus for dynamic distributed computing over a network |
US6438614B2 (en) | 1998-02-26 | 2002-08-20 | Sun Microsystems, Inc. | Polymorphic token based control |
US6182083B1 (en) | 1997-11-17 | 2001-01-30 | Sun Microsystems, Inc. | Method and system for multi-entry and multi-template matching in a database |
US6578044B1 (en) | 1997-11-17 | 2003-06-10 | Sun Microsystems, Inc. | Method and system for typesafe attribute matching |
US6598094B1 (en) | 1998-03-20 | 2003-07-22 | Sun Microsystems, Inc. | Method and apparatus for determining status of remote objects in a distributed system |
US6393497B1 (en) | 1998-03-20 | 2002-05-21 | Sun Microsystems, Inc. | Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system |
US6466947B2 (en) | 1998-03-20 | 2002-10-15 | Sun Microsystems, Inc. | Apparatus and method for dynamically verifying information in a distributed system |
US6247026B1 (en) | 1996-10-11 | 2001-06-12 | Sun Microsystems, Inc. | Method, apparatus, and product for leasing of delegation certificates in a distributed system |
US6421704B1 (en) | 1998-03-20 | 2002-07-16 | Sun Microsystems, Inc. | Method, apparatus, and product for leasing of group membership in a distributed system |
US6463446B1 (en) | 1998-02-26 | 2002-10-08 | Sun Microsystems, Inc. | Method and apparatus for transporting behavior in an event-based distributed system |
US6237024B1 (en) | 1998-03-20 | 2001-05-22 | Sun Microsystem, Inc. | Method and apparatus for the suspension and continuation of remote processes |
US6226746B1 (en) | 1998-03-20 | 2001-05-01 | Sun Microsystems, Inc. | Stack-based system and method to combine security requirements of methods |
US6832223B1 (en) | 1996-04-23 | 2004-12-14 | Sun Microsystems, Inc. | Method and system for facilitating access to a lookup service |
US6185611B1 (en) | 1998-03-20 | 2001-02-06 | Sun Microsystem, Inc. | Dynamic lookup service in a distributed system |
US6138238A (en) | 1997-12-11 | 2000-10-24 | Sun Microsystems, Inc. | Stack-based access control using code and executor identifiers |
US6560656B1 (en) * | 1998-02-26 | 2003-05-06 | Sun Microsystems, Inc. | Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system |
US5668996A (en) * | 1996-04-29 | 1997-09-16 | Microsoft Corporation | Rendering CD redbook audio using alternative storage locations and formats |
US5881285A (en) * | 1996-05-07 | 1999-03-09 | Intel Corporation | Associating a physical driver object with its logical contents |
US5974473A (en) * | 1996-06-14 | 1999-10-26 | Texas Instruments Incorporated | System for controlling insertion, locking, and removal of modules by removing plurality of device drivers for module to be removed from BIOS and informing BIOS of module removal |
US5862393A (en) * | 1996-10-07 | 1999-01-19 | Lxe, Inc. | System for managing power of a computer with removable devices |
US6728737B2 (en) | 1996-10-11 | 2004-04-27 | Sun Microsystems, Inc. | Method and system for leasing storage |
US6237009B1 (en) | 1996-10-11 | 2001-05-22 | Sun Microsystems, Inc. | Lease renewal service |
US5832529A (en) | 1996-10-11 | 1998-11-03 | Sun Microsystems, Inc. | Methods, apparatus, and product for distributed garbage collection |
US6151657A (en) * | 1996-10-28 | 2000-11-21 | Macronix International Co., Ltd. | Processor with embedded in-circuit programming structures |
US6493788B1 (en) | 1996-10-28 | 2002-12-10 | Macronix International Co., Ltd. | Processor with embedded in-circuit programming structures |
US6282675B1 (en) * | 1997-08-06 | 2001-08-28 | Macronix International Co., Ltd. | Fault-tolerant architecture for in-circuit programming |
US6842820B2 (en) | 1997-10-03 | 2005-01-11 | Macronix International Co., Ltd. | Processor with embedded in-circuit programming structures |
US5875349A (en) * | 1996-12-04 | 1999-02-23 | Intersect Technologies, Inc. | Method and arrangement for allowing a computer to communicate with a data storage device |
US6003093A (en) * | 1996-12-19 | 1999-12-14 | Canon Kabushiki Kaisha | Architecture for image processing application |
KR100436003B1 (ko) * | 1996-12-23 | 2004-10-08 | 삼성전자주식회사 | 디바이스드라이버적재방법 |
US6279069B1 (en) * | 1996-12-26 | 2001-08-21 | Intel Corporation | Interface for flash EEPROM memory arrays |
US6260102B1 (en) * | 1996-12-26 | 2001-07-10 | Intel Corporation | Interface for flash EEPROM memory arrays |
US6125408A (en) * | 1997-03-10 | 2000-09-26 | Compaq Computer Corporation | Resource type prioritization in generating a device configuration |
US5901330A (en) * | 1997-03-13 | 1999-05-04 | Macronix International Co., Ltd. | In-circuit programming architecture with ROM and flash memory |
US5978912A (en) * | 1997-03-20 | 1999-11-02 | Phoenix Technologies Limited | Network enhanced BIOS enabling remote management of a computer without a functioning operating system |
US5958022A (en) * | 1997-03-21 | 1999-09-28 | International Business Machines Corporation | System and method for I/O access mode selection |
US6418485B1 (en) * | 1997-04-21 | 2002-07-09 | International Business Machines Corporation | System and method for managing device driver logical state information in an information handling system |
US5872956A (en) * | 1997-04-24 | 1999-02-16 | International Business Machines Corporation | Design methodology for device drivers supporting various operating systems network protocols and adapter hardware |
US6202111B1 (en) | 1997-05-13 | 2001-03-13 | Micron Electronics, Inc. | Method for the hot add of a network adapter on a system including a statically loaded adapter driver |
US6249834B1 (en) | 1997-05-13 | 2001-06-19 | Micron Technology, Inc. | System for expanding PCI bus loading capacity |
US6292905B1 (en) | 1997-05-13 | 2001-09-18 | Micron Technology, Inc. | Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure |
US6330690B1 (en) | 1997-05-13 | 2001-12-11 | Micron Electronics, Inc. | Method of resetting a server |
US6363497B1 (en) | 1997-05-13 | 2002-03-26 | Micron Technology, Inc. | System for clustering software applications |
US6170067B1 (en) | 1997-05-13 | 2001-01-02 | Micron Technology, Inc. | System for automatically reporting a system failure in a server |
US6249885B1 (en) | 1997-05-13 | 2001-06-19 | Karl S. Johnson | Method for managing environmental conditions of a distributed processor system |
US6182180B1 (en) | 1997-05-13 | 2001-01-30 | Micron Electronics, Inc. | Apparatus for interfacing buses |
US6272648B1 (en) * | 1997-05-13 | 2001-08-07 | Micron Electronics, Inc. | System for communicating a software-generated pulse waveform between two servers in a network |
US6134673A (en) * | 1997-05-13 | 2000-10-17 | Micron Electronics, Inc. | Method for clustering software applications |
US6253334B1 (en) | 1997-05-13 | 2001-06-26 | Micron Electronics, Inc. | Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses |
US6195717B1 (en) | 1997-05-13 | 2001-02-27 | Micron Electronics, Inc. | Method of expanding bus loading capacity |
US6170028B1 (en) | 1997-05-13 | 2001-01-02 | Micron Electronics, Inc. | Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals |
US6266721B1 (en) | 1997-05-13 | 2001-07-24 | Micron Electronics, Inc. | System architecture for remote access and control of environmental management |
US6179486B1 (en) * | 1997-05-13 | 2001-01-30 | Micron Electronics, Inc. | Method for hot add of a mass storage adapter on a system including a dynamically loaded adapter driver |
US5892928A (en) * | 1997-05-13 | 1999-04-06 | Micron Electronics, Inc. | Method for the hot add of a network adapter on a system including a dynamically loaded adapter driver |
US6499073B1 (en) | 1997-05-13 | 2002-12-24 | Micron Electronics, Inc. | System using programmable processor for selectively enabling or disabling power to adapter in response to respective request signals |
US6304929B1 (en) | 1997-05-13 | 2001-10-16 | Micron Electronics, Inc. | Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals |
US6163849A (en) * | 1997-05-13 | 2000-12-19 | Micron Electronics, Inc. | Method of powering up or powering down a server to a maintenance state |
US6122746A (en) * | 1997-05-13 | 2000-09-19 | Micron Electronics, Inc. | System for powering up and powering down a server |
US6526333B1 (en) | 1997-05-13 | 2003-02-25 | Micron Technology, Inc. | Computer fan speed control system method |
US6269417B1 (en) | 1997-05-13 | 2001-07-31 | Micron Technology, Inc. | Method for determining and displaying the physical slot number of an expansion bus device |
US6219734B1 (en) | 1997-05-13 | 2001-04-17 | Micron Electronics, Inc. | Method for the hot add of a mass storage adapter on a system including a statically loaded adapter driver |
US6173346B1 (en) | 1997-05-13 | 2001-01-09 | Micron Electronics, Inc. | Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals |
US6134668A (en) * | 1997-05-13 | 2000-10-17 | Micron Electronics, Inc. | Method of selective independent powering of portion of computer system through remote interface from remote interface power supply |
US6338150B1 (en) * | 1997-05-13 | 2002-01-08 | Micron Technology, Inc. | Diagnostic and managing distributed processor system |
US6192434B1 (en) | 1997-05-13 | 2001-02-20 | Micron Electronics, Inc | System for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals |
US5987554A (en) * | 1997-05-13 | 1999-11-16 | Micron Electronics, Inc. | Method of controlling the transfer of information across an interface between two buses |
US6247898B1 (en) | 1997-05-13 | 2001-06-19 | Micron Electronics, Inc. | Computer fan speed control system |
US6145098A (en) | 1997-05-13 | 2000-11-07 | Micron Electronics, Inc. | System for displaying system status |
US6073255A (en) * | 1997-05-13 | 2000-06-06 | Micron Electronics, Inc. | Method of reading system log |
US6418492B1 (en) | 1997-05-13 | 2002-07-09 | Micron Electronics | Method for computer implemented hot-swap and hot-add |
US6138250A (en) * | 1997-05-13 | 2000-10-24 | Micron Electronics, Inc. | System for reading system log |
US6324608B1 (en) * | 1997-05-13 | 2001-11-27 | Micron Electronics | Method for hot swapping of network components |
US6148355A (en) * | 1997-05-13 | 2000-11-14 | Micron Electronics, Inc. | Configuration management method for hot adding and hot replacing devices |
US6243773B1 (en) | 1997-05-13 | 2001-06-05 | Micron Electronics, Inc. | Configuration management system for hot adding and hot replacing devices |
US6282673B1 (en) | 1997-05-13 | 2001-08-28 | Micron Technology, Inc. | Method of recording information system events |
US6202160B1 (en) | 1997-05-13 | 2001-03-13 | Micron Electronics, Inc. | System for independent powering of a computer system |
US6122758A (en) * | 1997-05-13 | 2000-09-19 | Micron Electronics, Inc. | System for mapping environmental resources to memory for program access |
US6249828B1 (en) | 1997-05-13 | 2001-06-19 | Micron Electronics, Inc. | Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver |
US6247080B1 (en) | 1997-05-13 | 2001-06-12 | Micron Electronics, Inc. | Method for the hot add of devices |
US6032201A (en) * | 1997-06-19 | 2000-02-29 | Cirrus Logic, Inc. | Plug and play system using proxy for retrieving correct information about current device from system registry when current device is not the newly installed device |
US5978862A (en) * | 1997-08-08 | 1999-11-02 | Toshiba America Information Systems, Inc. | PCMCIA card dynamically configured in first mode to program FPGA controlling application specific circuit and in second mode to operate as an I/O device |
JPH1185526A (ja) * | 1997-09-12 | 1999-03-30 | Hitachi Ltd | プログラムロード方法 |
US6009480A (en) * | 1997-09-12 | 1999-12-28 | Telxon Corporation | Integrated device driver wherein the peripheral downloads the device driver via an I/O device after it is determined that the I/O device has the resources to support the peripheral device |
US6154835A (en) * | 1997-10-01 | 2000-11-28 | Micron Electronics, Inc. | Method for automatically configuring and formatting a computer system and installing software |
US6138179A (en) * | 1997-10-01 | 2000-10-24 | Micron Electronics, Inc. | System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk |
US6065053A (en) * | 1997-10-01 | 2000-05-16 | Micron Electronics, Inc. | System for resetting a server |
US6263387B1 (en) | 1997-10-01 | 2001-07-17 | Micron Electronics, Inc. | System for automatically configuring a server after hot add of a device |
US6212585B1 (en) | 1997-10-01 | 2001-04-03 | Micron Electronics, Inc. | Method of automatically configuring a server after hot add of a device |
US6035420A (en) * | 1997-10-01 | 2000-03-07 | Micron Electronics, Inc. | Method of performing an extensive diagnostic test in conjunction with a bios test routine |
US6175490B1 (en) | 1997-10-01 | 2001-01-16 | Micron Electronics, Inc. | Fault tolerant computer system |
US6088816A (en) * | 1997-10-01 | 2000-07-11 | Micron Electronics, Inc. | Method of displaying system status |
EP0911729A1 (de) * | 1997-10-06 | 1999-04-28 | Canon Kabushiki Kaisha | Twainarchitektur |
US5926775A (en) * | 1997-10-08 | 1999-07-20 | National Instruments Corporation | Mini driver software architecture for a data acquisition system |
US6047124A (en) * | 1997-10-31 | 2000-04-04 | Sun Microsystems, Inc. | System and method for tracing device drivers using a computer |
US6292847B1 (en) * | 1997-12-03 | 2001-09-18 | Kabushiki Kaisha Kobe Seiko Sho. | Digital information reproducing apparatus and digital information distributing system |
JP4444500B2 (ja) * | 1998-01-07 | 2010-03-31 | インテル・コーポレーション | イメージング・デバイスとホスト・システムの間のイメージ情報の自動転送 |
JPH11203231A (ja) * | 1998-01-09 | 1999-07-30 | Fuji Xerox Co Ltd | 電子装置拡張システム |
US6604127B2 (en) | 1998-03-20 | 2003-08-05 | Brian T. Murphy | Dynamic lookup service in distributed system |
WO1999044127A1 (en) * | 1998-02-26 | 1999-09-02 | Sun Microsystems, Inc. | Dynamic lookup service in a distributed system |
AU2787799A (en) | 1998-02-26 | 1999-09-15 | Sun Microsystems, Inc. | Method and system for deterministic hashes to identify remote methods |
US6065067A (en) * | 1998-03-05 | 2000-05-16 | Compaq Computer Corporation | System, method and program for controlling access to an input/output device possible resource settings data in an advanced configuration and power interface operating system |
US6594708B1 (en) | 1998-03-26 | 2003-07-15 | Sun Microsystems, Inc. | Apparatus and method for object-oriented memory system |
US6189050B1 (en) * | 1998-05-08 | 2001-02-13 | Compaq Computer Corporation | Method and apparatus for adding or removing devices from a computer system without restarting |
US6178468B1 (en) * | 1998-06-19 | 2001-01-23 | Hewlett-Packard Company | Real time supply PF plug-and-play installation resources |
US6434694B1 (en) | 1998-06-29 | 2002-08-13 | Sun Microsystems, Inc. | Security for platform-independent device drivers |
US6202146B1 (en) * | 1998-06-29 | 2001-03-13 | Sun Microsystems, Inc. | Endianness checking for platform-independent device drivers |
US6202147B1 (en) | 1998-06-29 | 2001-03-13 | Sun Microsystems, Inc. | Platform-independent device drivers |
US6223234B1 (en) | 1998-07-17 | 2001-04-24 | Micron Electronics, Inc. | Apparatus for the hot swap and add of input/output platforms and devices |
US6205503B1 (en) | 1998-07-17 | 2001-03-20 | Mallikarjunan Mahalingam | Method for the hot swap and add of input/output platforms and devices |
US6567860B1 (en) | 1998-10-30 | 2003-05-20 | Computer Associates Think, Inc. | Method and apparatus for new device driver installation by an operating system |
US6279030B1 (en) * | 1998-11-12 | 2001-08-21 | International Business Machines Corporation | Dynamic JAVA™ class selection and download based on changeable attributes |
US6618767B1 (en) | 1998-11-17 | 2003-09-09 | Sun Microsystems, Inc. | Mechanism by which devices on unforeseen platform variants may be supported without re-release of core platform kernel software |
US6256059B1 (en) * | 1999-01-07 | 2001-07-03 | Intel Corporation | Automatic transfer of image information between imaging device and host system |
US6490493B1 (en) | 1999-01-21 | 2002-12-03 | Rosemount Inc. | Industrial process device management software |
US6360364B1 (en) * | 1999-03-17 | 2002-03-19 | Microsoft Corporation | System and method for installing an application on a portable computer |
US6148354A (en) | 1999-04-05 | 2000-11-14 | M-Systems Flash Disk Pioneers Ltd. | Architecture for a universal serial bus-based PC flash disk |
FI991167A (fi) * | 1999-05-24 | 2000-11-25 | Nokia Mobile Phones Ltd | Menetelmä käyttöliittymäohjelmiston lataamiseksi |
US8212893B2 (en) * | 1999-06-08 | 2012-07-03 | Verisign, Inc. | Digital camera device and methodology for distributed processing and wireless transmission of digital images |
US6532279B1 (en) * | 1999-06-11 | 2003-03-11 | David D. Goodman | High-speed data communication over a residential telephone wiring network |
US6618630B1 (en) | 1999-07-08 | 2003-09-09 | Fisher-Rosemount Systems, Inc. | User interface that integrates a process control configuration system and a field device management system |
US20040230710A1 (en) * | 1999-07-27 | 2004-11-18 | Inline Connection Corporation | System and method of automatic installation of computer peripherals |
IL137503A0 (en) * | 1999-07-27 | 2001-07-24 | Inline Connection Corp | Universal serial bus adapter with automatic installation |
US6704824B1 (en) | 1999-07-27 | 2004-03-09 | Inline Connection Corporation | Universal serial bus adapter with automatic installation |
WO2001011474A1 (fr) * | 1999-08-04 | 2001-02-15 | Fujitsu Limited | Procede et appareil de traitement des informations, et support associe |
US6539476B1 (en) * | 1999-08-12 | 2003-03-25 | Handspring, Inc. | Mobile computer system capable for copying set-up application including removal routine from peripheral device for removing device programs after the device is removed |
US6832379B1 (en) * | 1999-08-17 | 2004-12-14 | Emc Corporation | Computer architecture utilizing layered device drivers |
CN1142669C (zh) * | 2000-01-20 | 2004-03-17 | 国际商业机器公司 | 手持设备、智能卡接口设备及数据传输方法 |
US6728787B1 (en) * | 2000-03-31 | 2004-04-27 | Mitsubishi Electric Research Labs, Inc | System and method for locating and installing device drivers for peripheral devices |
US8135796B1 (en) | 2000-05-09 | 2012-03-13 | Oracle America, Inc. | Mechanism and apparatus for accessing and addressing services in a distributed computing environment |
US6862594B1 (en) | 2000-05-09 | 2005-03-01 | Sun Microsystems, Inc. | Method and apparatus to discover services using flexible search criteria |
US8001232B1 (en) | 2000-05-09 | 2011-08-16 | Oracle America, Inc. | Event message endpoints in a distributed computing environment |
US6792466B1 (en) | 2000-05-09 | 2004-09-14 | Sun Microsystems, Inc. | Trusted construction of message endpoints in a distributed computing environment |
US6789126B1 (en) | 2000-05-09 | 2004-09-07 | Sun Microsystems, Inc. | Addressing message gates in a distributed computing environment |
US6643650B1 (en) | 2000-05-09 | 2003-11-04 | Sun Microsystems, Inc. | Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment |
US6789077B1 (en) | 2000-05-09 | 2004-09-07 | Sun Microsystems, Inc. | Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment |
US7716492B1 (en) | 2000-05-09 | 2010-05-11 | Oracle America, Inc. | Method and apparatus to obtain service capability credentials |
US8082491B1 (en) | 2000-05-09 | 2011-12-20 | Oracle America, Inc. | Dynamic displays in a distributed computing environment |
US6760815B1 (en) | 2000-06-02 | 2004-07-06 | Sun Microsystems, Inc. | Caching mechanism for a virtual heap |
US6763440B1 (en) | 2000-06-02 | 2004-07-13 | Sun Microsystems, Inc. | Garbage collection using nursery regions for new objects in a virtual heap |
US6934755B1 (en) | 2000-06-02 | 2005-08-23 | Sun Microsystems, Inc. | System and method for migrating processes on a network |
US7065769B1 (en) * | 2000-06-30 | 2006-06-20 | Intel Corporation | Method for automatically installing and updating drivers |
JP2002041257A (ja) * | 2000-07-24 | 2002-02-08 | Minolta Co Ltd | プリンタドライバのインストール方法、プリンタドライバ用インストールプログラムを記録した記録媒体、およびプリンタドライバ用インストール装置 |
JP2002055824A (ja) * | 2000-08-09 | 2002-02-20 | Sony Corp | 電子装置、それを使用する機器及びデータ読み込み方法 |
US7610331B1 (en) * | 2000-09-13 | 2009-10-27 | Lightsurf Technologies, Inc. | System and method for dynamic uploading and execution of applications and drivers between devices |
US6834331B1 (en) | 2000-10-24 | 2004-12-21 | Starfish Software, Inc. | System and method for improving flash memory data integrity |
US10915296B2 (en) | 2000-11-01 | 2021-02-09 | Flexiworld Technologies, Inc. | Information apparatus that includes a touch sensitive screen interface for managing or replying to e-mails |
US11467856B2 (en) * | 2002-12-12 | 2022-10-11 | Flexiworld Technologies, Inc. | Portable USB device for internet access service |
CN100334577C (zh) | 2000-11-01 | 2007-08-29 | 福来西奥德技术公司 | 用于设备到设备的普适数字输出的控制器及管理器 |
US10860290B2 (en) | 2000-11-01 | 2020-12-08 | Flexiworld Technologies, Inc. | Mobile information apparatuses that include a digital camera, a touch sensitive screen interface, support for voice activated commands, and a wireless communication chip or chipset supporting IEEE 802.11 |
US11204729B2 (en) | 2000-11-01 | 2021-12-21 | Flexiworld Technologies, Inc. | Internet based digital content services for pervasively providing protected digital content to smart devices based on having subscribed to the digital content service |
US7805720B2 (en) | 2003-04-11 | 2010-09-28 | Flexiworld Technologies, Inc. | Autorun for integrated circuit memory component |
US20020078101A1 (en) * | 2000-11-20 | 2002-06-20 | Chang William Ho | Mobile and pervasive output client device |
US7076536B2 (en) * | 2000-12-21 | 2006-07-11 | Microsoft Corporation | Method and system to access software pertinent to an electronic peripheral device at an address based on a peripheral device identifier |
US7165109B2 (en) * | 2001-01-12 | 2007-01-16 | Microsoft Corporation | Method and system to access software pertinent to an electronic peripheral device based on an address stored in a peripheral device |
US20020097418A1 (en) | 2001-01-19 | 2002-07-25 | Chang William Ho | Raster image processor and processing method for universal data output |
US6591358B2 (en) | 2001-01-26 | 2003-07-08 | Syed Kamal H. Jaffrey | Computer system with operating system functions distributed among plural microcontrollers for managing device resources and CPU |
EP1248193A1 (de) * | 2001-04-02 | 2002-10-09 | Hewlett-Packard Company | Initialisierungsmodule für einen Gerätetreiber |
US20020152336A1 (en) * | 2001-04-17 | 2002-10-17 | Frank Tso | System and method of installing a driver of an expansion card on a portable electronic device |
KR100671153B1 (ko) * | 2001-04-25 | 2007-01-17 | 엘지전자 주식회사 | 디바이스 드라이버 설치방법 |
US6900980B2 (en) * | 2001-05-02 | 2005-05-31 | Palm, Inc. | Synchronization cradle with expansion card slots |
US20020188938A1 (en) * | 2001-06-11 | 2002-12-12 | Dong Mimi Chu | System and method for providing application software for a peripheral device |
US7155560B2 (en) * | 2001-06-27 | 2006-12-26 | Intel Corporation | Method and apparatus for storing data in flash memory |
US7228366B2 (en) * | 2001-06-29 | 2007-06-05 | Intel Corporation | Method and apparatus for deterministic removal and reclamation of work items from an expansion bus schedule |
CN1122281C (zh) * | 2001-06-30 | 2003-09-24 | 深圳市朗科科技有限公司 | 一种多功能半导体存储装置 |
GB2378531B (en) * | 2001-07-11 | 2003-04-16 | Sendo Int Ltd | Software driver code usage |
US7660887B2 (en) | 2001-09-07 | 2010-02-09 | Sun Microsystems, Inc. | Systems and methods for providing dynamic quality of service for a distributed system |
US7756969B1 (en) | 2001-09-07 | 2010-07-13 | Oracle America, Inc. | Dynamic provisioning of identification services in a distributed system |
US7093265B1 (en) * | 2001-09-21 | 2006-08-15 | Lsi Logic Corporation | Method and apparatus for providing highly-transparent, host-based multi-pathing support |
US6944867B2 (en) * | 2001-10-04 | 2005-09-13 | Lenovo (Singapore) Pte. Ltd. | Method for providing a single preloaded software image with an ability to support multiple hardware configurations and multiple types of computer systems |
KR100418964B1 (ko) * | 2001-10-23 | 2004-02-14 | 엘지전자 주식회사 | 피시아이 시스템 이중화 장치 |
US7724281B2 (en) * | 2002-02-04 | 2010-05-25 | Syniverse Icx Corporation | Device facilitating efficient transfer of digital content from media capture device |
US7017034B2 (en) * | 2002-08-07 | 2006-03-21 | Hewlett-Packard Development Company, L.P. | System and method for using a firmware interface table to dynamically load multiple ACPI SSDT tables |
US6990576B2 (en) * | 2002-08-07 | 2006-01-24 | Hewlett-Packard Development Company, L.P. | System and method for using a firmware interface table to dynamically load an ACPI SSDT |
EP1398948B1 (de) * | 2002-09-13 | 2013-11-06 | Ricoh Company, Ltd. | Bilderzeugungsgerät, Verfahren dafür und Computerlesbares Speichermedium |
TW556905U (en) * | 2002-09-27 | 2003-10-01 | Carry Computer Eng Co Ltd | Memory card adapting device |
US20040064828A1 (en) * | 2002-10-01 | 2004-04-01 | Cox David Payton | Supplanting first device objects with second device objects |
TW200410140A (en) * | 2002-12-03 | 2004-06-16 | Via Tech Inc | An initialization process in a device driver |
AU2003300880A1 (en) | 2002-12-12 | 2004-07-09 | Flexiworld Technologies, Inc. | Wireless communication between computing devices |
US20040122973A1 (en) * | 2002-12-19 | 2004-06-24 | Advanced Micro Devices, Inc. | System and method for programming hyper transport routing tables on multiprocessor systems |
US7076648B2 (en) | 2003-02-19 | 2006-07-11 | American Megatrends, Inc. | Methods and computer systems for selection of a DSDT |
US7058801B2 (en) * | 2003-02-19 | 2006-06-06 | American Megatrends, Inc. | Methods and computer systems for updating values of a DSDT |
US8805981B2 (en) * | 2003-03-25 | 2014-08-12 | Advanced Micro Devices, Inc. | Computing system fabric and routing configuration and description |
EP1473630A3 (de) * | 2003-04-11 | 2007-10-10 | Samsung Electronics Co., Ltd. | Rechnersystem und Verfahren um eine Schnittstellenkarte darin einzustellen |
US8041915B1 (en) * | 2003-06-11 | 2011-10-18 | Globalfoundries Inc. | Faster memory access in non-unified memory access systems |
US8495297B2 (en) * | 2003-06-30 | 2013-07-23 | Thomson Licensing | Removable media storage device for a video recording or reproducing device |
US20050015536A1 (en) * | 2003-07-14 | 2005-01-20 | Kuei-Jung Lee | Peripheral device having a personal disk used for storing device drivers |
US7523453B2 (en) | 2003-07-31 | 2009-04-21 | International Business Machines Corporation | System, method and program product for maintaining session information during dynamic resource additions or updates |
DE10337856A1 (de) * | 2003-08-18 | 2005-03-17 | Fujitsu Siemens Computers Gmbh | Verfahren zum Starten eines Computersystems mit einem Speichermedium |
US7434053B2 (en) * | 2003-08-28 | 2008-10-07 | Hewlett-Packard Development Company, L.P. | Methods and systems for providing an identification key to a printing device |
US7251753B2 (en) * | 2003-09-17 | 2007-07-31 | International Business Machines Corporation | Apparatus, system, and method for identifying a faulty communication module |
US20050080973A1 (en) * | 2003-09-30 | 2005-04-14 | Kuei-Jung Lee | Peripheral device having a personal disk used for storing device drivers and driving method thereof |
US7421710B2 (en) * | 2003-10-08 | 2008-09-02 | Lsi Corporation | System and method of creating virtual data paths using a multiple-path driver |
US20050086640A1 (en) * | 2003-10-21 | 2005-04-21 | Mikko Kolehmainen | Initiating execution of application programs on a data processing arrangement |
US7792874B1 (en) | 2004-01-30 | 2010-09-07 | Oracle America, Inc. | Dynamic provisioning for filtering and consolidating events |
JP2005267089A (ja) * | 2004-03-17 | 2005-09-29 | Fuji Xerox Co Ltd | ドライバ管理方法および装置並びにプログラム |
CA2561130C (en) * | 2004-03-26 | 2018-01-30 | Absolute Software Corporation | Persistent servicing agent |
DE102004015834B3 (de) * | 2004-03-31 | 2005-03-03 | Fujitsu Siemens Computers Gmbh | Verfahren zur benutzerspezifischen Konfiguration eines Computers aus einer Gruppe von vorbereiteten Computern |
JP2005301513A (ja) * | 2004-04-08 | 2005-10-27 | Fujitsu Ltd | プログラム内蔵デバイス |
DE102004019367B4 (de) * | 2004-04-21 | 2006-03-16 | Infineon Technologies Ag | Verfahren zum Verifizieren von elektronischen Schaltungseinheiten und Vorrichtung zur Durchführung des Verfahrens |
US7613862B2 (en) * | 2004-08-10 | 2009-11-03 | Intel Corporation | Embedded driver for bus-connected device |
US7716386B1 (en) * | 2004-10-15 | 2010-05-11 | Broadcom Corporation | Component identification and transmission system |
US20060143621A1 (en) * | 2004-12-29 | 2006-06-29 | Wang Dan T S | Self-installing PCMCIA network card |
US8418226B2 (en) * | 2005-03-18 | 2013-04-09 | Absolute Software Corporation | Persistent servicing agent |
US20070016913A1 (en) * | 2005-07-13 | 2007-01-18 | Ibrahim Wael M | Computer device driver and method of operation |
US20070260760A1 (en) * | 2006-03-21 | 2007-11-08 | Chang Hsien-I | Method of loading device driver used with open firmware to optimize boot time and required memory |
US7783878B2 (en) * | 2006-04-28 | 2010-08-24 | Nokia Corporation | Methods for decoupling hardware settings from software |
US7590835B1 (en) | 2006-06-30 | 2009-09-15 | American Megatrends, Inc. | Dynamically updating a computer system firmware image |
US7797696B1 (en) | 2006-06-30 | 2010-09-14 | American Megatrends, Inc. | Dynamically updating a computer system and firmware image utilizing an option read only memory (OPROM) data structure |
US9395968B1 (en) * | 2006-06-30 | 2016-07-19 | American Megatrends, Inc. | Uniquely identifying and validating computer system firmware |
US8001314B2 (en) * | 2006-09-12 | 2011-08-16 | Apple Inc. | Storing a driver for controlling a memory |
KR100823171B1 (ko) * | 2007-02-01 | 2008-04-18 | 삼성전자주식회사 | 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법 |
JP5229855B2 (ja) * | 2007-03-29 | 2013-07-03 | 株式会社メガチップス | メモリシステム及びコンピュータシステム |
US7870327B1 (en) | 2007-04-25 | 2011-01-11 | Apple Inc. | Controlling memory operations using a driver and flash memory type tables |
US8458730B2 (en) * | 2008-02-05 | 2013-06-04 | International Business Machines Corporation | Multi-level driver configuration |
US20090259771A1 (en) * | 2008-04-09 | 2009-10-15 | Tanik Haluk K | Identification of memory cards by host |
US8473941B2 (en) * | 2008-07-08 | 2013-06-25 | Sandisk Il Ltd. | Dynamic file system restriction for portable storage devices |
TW201005529A (en) * | 2008-07-24 | 2010-02-01 | Jmicron Technology Corp | Method and system for dynamical managing removable device |
JP5218568B2 (ja) * | 2009-01-26 | 2013-06-26 | 富士通株式会社 | 構成変更機能を有する情報処理装置、システム構成変更方法及びシステム構成変更プログラム |
US8463976B2 (en) * | 2009-06-23 | 2013-06-11 | Lg Electronics Inc. | Dual modem device and controlling method thereof |
TW201109927A (en) * | 2009-09-04 | 2011-03-16 | Giga Byte Tech Co Ltd | Operation system and operating method |
KR101303535B1 (ko) * | 2009-12-04 | 2013-09-03 | 한국전자통신연구원 | 메인 메모리를 이용한 메모리 디스크 구성 방법 및 장치 |
US8978044B2 (en) * | 2010-01-09 | 2015-03-10 | International Business Machines Corporation | Storage-system-based driver distribution apparatus and method |
US9396147B1 (en) | 2010-02-24 | 2016-07-19 | Open Invention Network Llc | Interconnection of peripheral devices on different electronic devices |
US8554956B1 (en) * | 2010-02-24 | 2013-10-08 | Open Invention Network Llc | Method for creation of a device driver for a peripheral device |
US8935434B1 (en) | 2010-02-24 | 2015-01-13 | Open Invention Network, Llc | Interconnection of peripheral devices on different electronic devices |
US8554957B1 (en) * | 2010-02-24 | 2013-10-08 | Open Invention Network, Llc | Method for creation of device drivers and device objects for peripheral devices |
US8533418B2 (en) | 2010-06-30 | 2013-09-10 | International Business Machines Corporation | Memory allocation with identification of requesting loadable kernel module |
US9927788B2 (en) | 2011-05-19 | 2018-03-27 | Fisher-Rosemount Systems, Inc. | Software lockout coordination between a process control system and an asset management system |
US9547499B2 (en) | 2011-12-09 | 2017-01-17 | Microsoft Technology Licensing, Llc | Device configuration with cached pre-assembled driver state |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4026911A1 (de) * | 1989-08-25 | 1991-02-28 | Ibm | Computersystem |
EP0439988A2 (de) * | 1990-02-02 | 1991-08-07 | International Business Machines Corporation | Rechnerkontrolle eingebauter Optionen |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4237535A (en) * | 1979-04-11 | 1980-12-02 | Sperry Rand Corporation | Apparatus and method for receiving and servicing request signals from peripheral devices in a data processing system |
US4589063A (en) * | 1983-08-04 | 1986-05-13 | Fortune Systems Corporation | Data processing system having automatic configuration |
US4775931A (en) * | 1984-05-11 | 1988-10-04 | Hewlett-Packard Company | Dynamically configured computing device |
US5029077A (en) * | 1986-01-17 | 1991-07-02 | International Business Machines Corporation | System and method for controlling physical resources allocated to a virtual terminal |
JPH0664536B2 (ja) * | 1986-01-17 | 1994-08-22 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 仮想端末サブシステムの制御方法 |
US5109484A (en) * | 1986-04-09 | 1992-04-28 | International Business Machines Corporation | Self configuring terminal which polls loop network and generates list of connected devices for use in selectively downloading control programs |
JPH0644251B2 (ja) * | 1986-08-28 | 1994-06-08 | 日本電気株式会社 | デ−タ処理装置 |
US5038320A (en) * | 1987-03-13 | 1991-08-06 | International Business Machines Corp. | Computer system with automatic initialization of pluggable option cards |
US4905182A (en) * | 1987-03-13 | 1990-02-27 | Apple Computer, Inc. | Self-configuring memory management system with on card circuitry for non-contentious allocation of reserved memory space among expansion cards |
US4837680A (en) * | 1987-08-28 | 1989-06-06 | International Business Machines Corporation | Controlling asynchronously operating peripherals |
JP2569092B2 (ja) * | 1987-12-11 | 1997-01-08 | 株式会社日立製作所 | 入出力機器制御プログラムのアドレス解決方法 |
US5014193A (en) * | 1988-10-14 | 1991-05-07 | Compaq Computer Corporation | Dynamically configurable portable computer system |
US5214761A (en) * | 1989-05-08 | 1993-05-25 | Wang Laboratories, Inc. | Real-time adjustable-transform device driver for physical devices |
US5359713A (en) * | 1989-06-01 | 1994-10-25 | Legato Systems, Inc. | Method and apparatus for enhancing synchronous I/O in a computer system with a non-volatile memory and using an acceleration device driver in a computer operating system |
US5136712A (en) * | 1989-06-29 | 1992-08-04 | Digital Equipment Corporation | Temporary object handling system and method in an object based computer operating system |
JP3275261B2 (ja) * | 1990-03-09 | 2002-04-15 | セイコーエプソン株式会社 | 情報処理装置 |
JPH04506720A (ja) * | 1990-03-23 | 1992-11-19 | イーストマン・コダック・カンパニー | ディジタル・データ処理システムのための仮想メモリ管理及び割付け装置 |
US5175820A (en) * | 1990-08-31 | 1992-12-29 | Advanced Micro Devices, Inc. | Apparatus for use with a computing device controlling communications with a plurality of peripheral devices including a feedback bus to indicate operational modes |
US5307491A (en) * | 1991-02-12 | 1994-04-26 | International Business Machines Corporation | Layered SCSI device driver with error handling circuit providing sense data from device directly to the driver on the occurrence of an error |
US5265252A (en) * | 1991-03-26 | 1993-11-23 | International Business Machines Corporation | Device driver system having generic operating system interface |
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 |
US5319751A (en) * | 1991-12-27 | 1994-06-07 | Intel Corporation | Device driver configuration in a computer system |
JPH0821015B2 (ja) * | 1992-01-20 | 1996-03-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータならびにそのシステム再構成化装置および方法 |
US5317695A (en) * | 1992-04-03 | 1994-05-31 | International Business Machines Corporation | Method and system for permitting communication between a data processing system and input pointing devices of multiple types |
US5404524A (en) * | 1992-04-03 | 1995-04-04 | International Business Machines Corporation | System for identifying attached input pointing devices, loading associated software routines, and interacting with anyone input pointing device while disabling the others |
US5302947A (en) * | 1992-07-31 | 1994-04-12 | Motorola, Inc. | Method and apparatus for loading a software program from a radio modem into an external computer |
US5325532A (en) * | 1992-09-25 | 1994-06-28 | Compaq Computer Corporation | Automatic development of operating system boot image |
US5339432A (en) * | 1992-10-13 | 1994-08-16 | Microsoft Corporation | Method and system for providing user control of device driver configuration |
-
1991
- 1991-12-27 US US07/815,331 patent/US5319751A/en not_active Expired - Lifetime
-
1992
- 1992-10-15 GB GB9221631A patent/GB2262825B/en not_active Expired - Fee Related
- 1992-12-28 DE DE4244266A patent/DE4244266C2/de not_active Expired - Fee Related
- 1992-12-28 JP JP4358809A patent/JPH05265919A/ja active Pending
-
1993
- 1993-01-22 US US08/007,580 patent/US5404494A/en not_active Expired - Lifetime
- 1993-01-22 US US08/007,849 patent/US5412798A/en not_active Expired - Lifetime
- 1993-02-19 US US08/019,798 patent/US6081850A/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4026911A1 (de) * | 1989-08-25 | 1991-02-28 | Ibm | Computersystem |
EP0439988A2 (de) * | 1990-02-02 | 1991-08-07 | International Business Machines Corporation | Rechnerkontrolle eingebauter Optionen |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4434528C2 (de) * | 1993-09-27 | 1999-11-25 | Intel Corp | Verfahren zum Bereitstellen von Kartendienstefunktionen sowie Computersystem zum Ausführen eines solchen Verfahrens |
DE19681256C2 (de) * | 1995-02-27 | 2000-02-03 | Intel Corp | Ausführung von Anwendungen am Platz vom Speicher |
Also Published As
Publication number | Publication date |
---|---|
US6081850A (en) | 2000-06-27 |
JPH05265919A (ja) | 1993-10-15 |
US5412798A (en) | 1995-05-02 |
US5319751A (en) | 1994-06-07 |
GB2262825A (en) | 1993-06-30 |
GB9221631D0 (en) | 1992-11-25 |
US5404494A (en) | 1995-04-04 |
DE4244266C2 (de) | 1997-02-27 |
GB2262825B (en) | 1995-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4244266C2 (de) | Verfahren und Schaltungseinrichtung zum dynamischen Konfigurieren von Gerätetreibern für Computersystem-Betriebsmittel | |
EP0743595B1 (de) | Kommunikationssystem mit Mitteln zum Austausch von Software | |
DE10315490B4 (de) | Verfahren und System zum Wechsel zwischen zwei oder mehreren Firmwareabbildungen auf einer Hostvorrichtung | |
DE2523372C3 (de) | Eingabe-/Ausgabe-Anschlußsteuereinrichtung | |
DE69233465T2 (de) | Gerät und Verfahren zum Unterbrechen und Wiederaufnehmen von Software auf einem Rechner | |
DE3204905C2 (de) | ||
DE69630355T2 (de) | Dynamische gerätanpassung unter verwendung von treiber-kandidatlisten | |
DE69822221T2 (de) | Umleitung von interruptzielen unterstützende transaktionen sowie niveauabhängigeinterruptsemantik | |
DE60017775T2 (de) | Architektur und system von einem generischen und seriellen port | |
DE102004057756B4 (de) | USB-Steuerungseinrichtung mit OTG-Steuerungseinheit | |
DE2902465A1 (de) | Datenverarbeitungsanordnung | |
DE60100848T2 (de) | Virtuelles rom für geräte-aufzählung | |
DE69825004T2 (de) | Automatische Konfiguration von Primär- und Sekundärperipheriegeräte für einen Rechner | |
EP2214104A1 (de) | Umkonfigurierungs-Verfahren für programmierbare Bausteine während der Laufzeit | |
DE2657848A1 (de) | Steuereinheit fuer ein datenverarbeitungssystem | |
DE19518529A1 (de) | Vorrichtung und Verfahren zum Rekonfigurieren eines eine inkompatible CPU enthaltenden Computersystems | |
DE10317289A1 (de) | Integrierte Schaltung mit mehreren Kommunikationsmodi und zugehöriges Betriebsverfahren | |
DE60027357T2 (de) | Eine Unterbrechungssteuerung und ein Mikrorechner, der diese Unterbrechungssteuerung beinhaltet | |
DE4434528C2 (de) | Verfahren zum Bereitstellen von Kartendienstefunktionen sowie Computersystem zum Ausführen eines solchen Verfahrens | |
DE2720864A1 (de) | Verfahren und anordnung zum lueckenfreien einspeichern einer anzahl von datenblocks unbestimmter laenge | |
DE112019000460T5 (de) | Adapter für direkten speicherzugriff | |
DE4429764C2 (de) | Zeitgebereinrichtung für einen Mikrocomputer | |
DE60125854T2 (de) | Abnehmbare elektronische Vorrichtung zur Erhöhung der Funktionalität eines Hauptprozessors und Steuerungsverfahren dazu | |
DE102005008778B4 (de) | System und Verfahren zum Verändern einer Buskonfiguration | |
EP1197854B1 (de) | Verfahren zum Starten einer Datenverarbeitungsanlage sowie zugehörige Komponenten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 9/445 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |