DE4244266C2 - Verfahren und Schaltungseinrichtung zum dynamischen Konfigurieren von Gerätetreibern für Computersystem-Betriebsmittel - Google Patents

Verfahren und Schaltungseinrichtung zum dynamischen Konfigurieren von Gerätetreibern für Computersystem-Betriebsmittel

Info

Publication number
DE4244266C2
DE4244266C2 DE4244266A DE4244266A DE4244266C2 DE 4244266 C2 DE4244266 C2 DE 4244266C2 DE 4244266 A DE4244266 A DE 4244266A DE 4244266 A DE4244266 A DE 4244266A DE 4244266 C2 DE4244266 C2 DE 4244266C2
Authority
DE
Germany
Prior art keywords
device driver
fuselage
card
memory
copy
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.)
Expired - Fee Related
Application number
DE4244266A
Other languages
English (en)
Other versions
DE4244266A1 (de
Inventor
John I Garney
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE4244266A1 publication Critical patent/DE4244266A1/de
Application granted granted Critical
Publication of DE4244266C2 publication Critical patent/DE4244266C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • G06F9/4413Plug-and-play [PnP]
    • G06F9/4415Self describing peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

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 PCMCIA-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 (siehe EP 0 439 988 A1 und DE 40 26 911 A1). 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.
Diese Aufgabe wird durch die Merkmale der Patentansprüche 1 und 10 gelöst.
Das erfindungsgemäß ausgestattete Computersystem hat eine dynamische Gerä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. Der 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 da 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-Ini­ tialisieren (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-Ge­ rä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-Kopf­ teils;
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-Schnitt­ stelle 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-Be­ reichs 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-Be­ reichs 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-Da­ tenoffset 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-Inter­ ruptoffset 636 und Gerätetreiber-Einheiten und -Namen 638 auf. Die Computersystemspeicher-102-residenten Gerätetreiber-In­ formationen 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-Attri­ butinformationen 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-Be­ reich 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-Be­ reich 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-Be­ reich 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-La­ der 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-Be­ dienungsroutine 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-Ge­ rä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-Ver­ arbeitung 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-Be­ reich 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-Ge­ rä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-Be­ reichs 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-Spei­ cherbereich 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-In­ formationsblock 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-Parti­ tionsinformationen werden im Verarbeitungsblock 1214 vom Rumpf-Ge­ rä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-Ge­ rä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 (17)

1. Verfahren zum dynamischen Konfigurieren von Gerätetreibern als Betriebsprogramm für entfernbare Computersystem-Betriebsmittel (108) unter Verwendung eines Computersystems mit einem Prozessor (101), einem Systemspeicher (102, 501) und einer Schnittstelle (108, 203-209) zur Aufnahme eines entfernbaren System-Betriebsmittels (211, 213, 301),
dadurch gekennzeichnet, daß
ein Betriebsmittelspeicher (303) in einem entfernbaren System-Betriebsmittel (301) verwendet wird;
ein Gerätetreiber (309) in den Betriebsmittelspeicher geladen wird, wobei der Gerätetreiber zum Steuern des entfernbaren System-Betriebsmittels dient;
ein Rumpf-Gerätetreiber (307) in den Betriebsmittelspeicher geladen wird, wobei der Rumpf-Gerätetreiber zum Aktivieren des Gerätetreibers dient;
nach dem Initialisieren des Prozessors (101) eine Anzeige dafür aufgenommen wird, daß das entfernbare System-Be­ triebsmittel (301) mit der Schnittstelle gekoppelt ist;
der Rumpf-Gerätetreiber in den Systemspeicher kopiert wird;
durch Ausführen der Rumpf-Gerätetreiber-Kopie im Systemspeicher ein Zugriff auf den Gerätetreiber aktiviert wird, wobei dieser Aktivierungsschritt den Schritt enthält, eine Speicherabbildung des im Betriebsmittelspeicher (303) befindlichen Gerätetreibers (309) zu ermöglichen; und daß
der im Betriebsmittelspeicher geladene Gerätetreiber ausgeführt wird.
2. Verfahren nach Anspruch 1, gekennzeichnet durch
eine Anzeige, falls ein entfernbares System-Be­ triebsmittel von der Schnittstelle- entkoppelt worden ist; und
Deaktivieren des Zugriffs auf den Gerätetreiber, wobei die Deaktivierung von der Rumpf-Gerätetreiber-Kopie (305) im Systemspeicher ermöglicht wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß im Betriebsmittelspeicher (303) ein. Gerätetreiber-Informationsblock-DDIB-Kopfteil (305, 401) gespeichert und in den Systemspeicher (501) kopiert wird.
4. Verfahren nach Anspruch 3, wobei der DDIB-Kopfteil (305, 401) mit Verknüpfungsdaten (405) und einer speziellen Rumpf-Gerätetreiber-Identifikation (407) versehen ist, und wobei ferner die Rumpf-Gerätetreiber-Kopie (505) mit einer im Systemspeicher (501) gespeicherten anderen Rumpf-Gerätetreiber-Kopie (510-516) verbunden wird.
5. Verfahren nach Anspruch 4, wobei das Verbinden der Rumpf-Gerätetreiber-Kopie weiterhin den Schritt enthält, die Rumpf-Gerätetreiber-Kopie in Vorwärtsrichtung mit einer folgenden Rumpf-Gerätetreiber-Kopie zu verbinden und in Rückwärtsrichtung mit einer vorhergehenden Rumpf-Gerätetreiber-Kopie zu verbinden, wobei die folgende und die vorhergehende Rumpf-Gerätetreiber-Kopie im Systemspeicher vorhanden sind.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß festgestellt wird, ob die Rumpf-Ge­ rätetreiber-Kopie bereits im Systemspeicher (501) enthalten ist, und daß der Kopierschritt verhindert wird, wenn sich die Rumpf-Gerätetreiber-Kopie bereits im Systemspeicher befindet.
7. Verfahren nach einem der Ansprüche 3 bis 6, dadurch gekennzeichnet, daß der DDIB-Kopfteil (305, 401) Verknüpfungsdaten (405) und eine spezielle Rumpf-Gerätetreiber-Iden­ tifikation (407) enthält, und daß die Rumpf-Gerätetreiber- Kopie von einer anderen, im Systemspeicher gespeicherten Rumpf Gerätetreiber-Kopie entkoppelt wird.
8. Verfahren nach einem der Ansprüche 1 bis 7, weiterhin die Schritte enthaltend:
Bilden eines Karten-Einsetz-Flags (672) im Systemspeicher;
Setzen des Karten-Einsetz-Flags, wenn das entfernbare System-Betriebsmittel an die Schnittstelle angekoppelt ist;
Aufnehmen einer Anzeige, daß das Karten-Einsetz-Flag gesetzt ist, wobei das entfernbare System-Betriebsmittel an die Schnittstelle gekoppelt wurde, nachdem der Prozessor initialisiert worden ist.
9. Verfahren nach Anspruch 8, weiterhin die Schritte enthaltend:
Zurücksetzen des Karten-Einsetz-Flags (672), wenn das entfernbare System-Betriebsmittel von der Schnittstelle entkoppelt wurde; und
Deaktivieren des Zugriffs auf den Gerätetreiber in Abhängigkeit des Rücksetzens.
10. Schaltungseinrichtung zum dynamischen Konfigurieren von Geräte­ treibern als Betriebsprogramm 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
einen Betriebsmittelspeicher (303) im entfernbaren System-Be­ triebsmittel (301), wobei der Betriebsmittelspeicher einen Gerätetreiber (309) zum Steuern des entfernbaren System-Be­ triebsmittels und weiterhin einen Rumpf-Gerätetreiber (307) zum Aktivieren des Gerätetreibers enthält;
Mittel zum Aufnehmen einer Anzeige, daß das entfernbare System-Betriebsmittel mit der Schnittstelle (108) gekoppelt ist, nachdem der Prozessor initialisiert worden ist;
Mittel zum Kopieren des Rumpf-Gerätetreibers (307) in den Systemspeichern (501);
Mittel zum Aktivieren eines Zugriffs auf den Gerätetreiber durch Ausführen der Rumpf-Gerätetreiber-Kopie im Systemspeicher, wobei die Mittel zum Aktivieren eines Zugriffs auf den Gerätetreiber Mittel enthalten, die eine Speicherabbildung zu dem im Betriebsmittelspeicher befindlichen Gerätetreiber ermöglichen;
Mittel zum Ausführen des Gerätetreibers aus dem Betriebsmittelspeicher heraus.
11. Schaltungseinrichtung nach Anspruch 10, dadurch gekennzeichnet, daß der Betriebsmittelspeicher (303) außerdem einen Gerätetreiber-Informationsblock DDIB-Kopfteil (305) aufweist, und daß außerdem Mittel zum Kopieren des DDIB-Kopfteils (305) in den Systemspeicher (501) vorgesehen sind.
12. Schaltungseinrichtung nach Anspruch 11, dadurch gekennzeichnet, daß der DDIB-Kopfteil (305) Verbindungsdaten (405) und eine besondere Identifikation (407) für den Rumpf-Gerätetreiber aufweist, und daß ferner Mittel zum Verbinden der Rumpf Gerätetreiber-Kopie mit einer anderen, im Systemspeicher (501) gespeicherten Rumpf-Gerätetreiber-Kopie vorgesehen sind.
13. Schaltungseinrichtung nach Anspruch 12, wobei die Mittel zum Verbinden der Rumpf-Gerätetreiber-Kopie weiterhin Mittel zum Verbinden der Rumpf-Gerätetreiber-Kopie in Vorwärtsrichtung mit einer folgenden Rumpf-Gerätetreiber-Kopie und Mittel zum Rückwärtsverbinden der Rumpf-Gerätetreiber-Kopie mit einer vorhergehenden Rumpf-Gerätetreiber-Kopie enthalten, wobei die folgenden und vorhergehenden Rumpf-Gerätetreiber-Kopien sich im Systemspeicher befinden.
14. Schaltungseinrichtung nach einem der Ansprüche 10 bis 13, dadurch gekennzeichnet, daß Mittel zum Feststellen des Vorhandenseins der Rumpf-Gerätetreiber-Kopie im Systemspeicher und Mittel zum Verhindern des Kopierschritts bei Vorhandensein der Rumpf-Gerätetreiber-Kopie im Systemspeicher vorgesehen sind.
15. Schaltungseinrichtung nach einem der Ansprüche 10 bis 14, weiterhin enthaltend:
ein Karten-Einsetz-Flag (672) im Systemspeicher;
Mittel zum Setzen des Karten-Einsetz-Flags, wenn das entfernbare System-Betriebsmittel an die Schnittstelle (108) gekoppelt ist.
16. Schaltungseinrichtung nach Anspruch 15, weiterhin enthaltend:
Mittel zum Zurücksetzen des Karten-Einsetz-Flags (672), wenn das entfernbare System-Betriebsmittel von der Schnittstelle entkoppelt ist; und
Mittel zum Deaktivieren des Zugriffs auf den Gerätetreiber in Abhängigkeit von dem zurückgesetzten Karten-Einsetz-Flag.
17. Schaltungseinrichtung nach einem der Ansprüche 11 bis 16, dadurch gekennzeichnet, daß der DDIB-Kopfteil (305, 401) Verknüpfungsdaten (405) und eine spezielle Rumpf-Gerätetreiber-Iden­ tifikation (407) enthält, wobei die Einrichtung weiterhin Mittel zum Lösen der Verbindung der Rumpf-Gerätetreiber-Kopie von einer anderen, im Systemspeicher gespeicherten Rumpf-Gerätetreiber-Kopie enthält.
DE4244266A 1991-12-27 1992-12-28 Verfahren und Schaltungseinrichtung zum dynamischen Konfigurieren von Gerätetreibern für Computersystem-Betriebsmittel Expired - Fee Related DE4244266C2 (de)

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 DE4244266A1 (de) 1993-07-01
DE4244266C2 true 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)

Families Citing this family (299)

* Cited by examiner, † Cited by third party
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
US5537597A (en) * 1993-09-27 1996-07-16 Intel Corporation Method and apparatus for supporting real mode card services clients with a protected mode card services implementation
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
US5581768A (en) * 1995-02-27 1996-12-03 Intel Corporation Method and apparatus for executing applications in place from write once/seldom memories
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

Family Cites Families (30)

* Cited by examiner, † Cited by third party
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
US5210875A (en) * 1989-08-25 1993-05-11 International Business Machines Corporation Initial bios load for a personal computer system
JPH0776952B2 (ja) * 1990-02-02 1995-08-16 インターナショナル・ビジネス・マシーンズ・コーポレイション 追加デバイスのコンピュータ・モニタリング・システム
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

Also Published As

Publication number Publication date
DE4244266A1 (de) 1993-07-01
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
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
EP1146432B1 (de) Umkonfigurierungs-Verfahren für programmierbare Bausteine während der Laufzeit
DE10315490B4 (de) Verfahren und System zum Wechsel zwischen zwei oder mehreren Firmwareabbildungen auf einer Hostvorrichtung
DE69233465T2 (de) Gerät und Verfahren zum Unterbrechen und Wiederaufnehmen von Software auf einem Rechner
DE60005563T2 (de) Rechnersysteminitialisierung durch in einem speicher mit sequentiellem zugriff gespeicherten urlade-code
EP0743595B1 (de) Kommunikationssystem mit Mitteln zum Austausch von Software
DE2523372C3 (de) Eingabe-/Ausgabe-Anschlußsteuereinrichtung
DE10085374B4 (de) Systemmanagementspeicher für die Systemmanagement-Interrupt-Behandler wird in die Speichersteuereinrichtung integriert, unabhängig vom BIOS und Betriebssystem
DE69630355T2 (de) Dynamische gerätanpassung unter verwendung von treiber-kandidatlisten
DE60017775T2 (de) Architektur und system von einem generischen und seriellen port
DE4237417C2 (de) Datenverarbeitungssystem
DE60100848T2 (de) Virtuelles rom für geräte-aufzählung
DE102004057756B4 (de) USB-Steuerungseinrichtung mit OTG-Steuerungseinheit
DE2902465A1 (de) Datenverarbeitungsanordnung
DE2657848A1 (de) Steuereinheit fuer ein datenverarbeitungssystem
DE19518529A1 (de) Vorrichtung und Verfahren zum Rekonfigurieren eines eine inkompatible CPU enthaltenden Computersystems
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
DE102005008778B4 (de) System und Verfahren zum Verändern einer Buskonfiguration
EP1197854B1 (de) Verfahren zum Starten einer Datenverarbeitungsanlage sowie zugehörige Komponenten
DE10059006A1 (de) Verfahren und System zur sicheren Verwaltung von Dateien in nichtflüchtigen Speichern
DE10306285A1 (de) Mikrocomputersystem
DE19928939A1 (de) Datenträger sowie Verfahren zur Datenübertragung und zur Speicherverwaltung

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