[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE4434528C2 - Verfahren zum Bereitstellen von Kartendienstefunktionen sowie Computersystem zum Ausführen eines solchen Verfahrens - Google Patents

Verfahren zum Bereitstellen von Kartendienstefunktionen sowie Computersystem zum Ausführen eines solchen Verfahrens

Info

Publication number
DE4434528C2
DE4434528C2 DE4434528A DE4434528A DE4434528C2 DE 4434528 C2 DE4434528 C2 DE 4434528C2 DE 4434528 A DE4434528 A DE 4434528A DE 4434528 A DE4434528 A DE 4434528A DE 4434528 C2 DE4434528 C2 DE 4434528C2
Authority
DE
Germany
Prior art keywords
card
services
map
computer system
pcmcia
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
DE4434528A
Other languages
English (en)
Other versions
DE4434528A1 (de
Inventor
David A Sandage
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 DE4434528A1 publication Critical patent/DE4434528A1/de
Application granted granted Critical
Publication of DE4434528C2 publication Critical patent/DE4434528C2/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/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

Die Erfindung betrifft ein Verfahren zum Bereitstellen von Kartendienstefunktionen sowie ein Computersystem zum Ausführen eines solchen Verfahrens.
Personalcomputer von der Größe eines Laptops oder eines No­ tebooks wurden zunehmend populärer. Ein Problem bei vielen Per­ sonalcomputern dieser Größe ist, daß es schwierig ist, Periphe­ riegeräte zu einem solchen System hinzuzufügen, da es üblicher­ weise keine internen Erweiterungssteckplätze gibt. Peripherie­ geräte können mit externen Ports am Laptop- oder Notebook-Per­ sonalcomputer verbunden werden; jedoch hängen die externen Pe­ ripheriegeräte außen an dem tragbaren Computersystem, wodurch das System nicht mehr tragbar wird.
Um eine geeignete Schnittstelle für kleine Peripheriegeräte zur Verfügung zu stellen, entwarf ein Konsortium der Computer­ industrie eine Spezifikation, die eine Standardschnittstelle für Computerperipheriegeräte in Kreditkartengröße definiert. Das Konsortium der Computerindustrie ist bekannt als die Perso­ nal Computer Memory Card Industry Association (PCMCIA), und die standardisierten Peripheriegeräte in Kreditkartengröße sind be­ kannt als PCMCIA-Karten. Die erste Version der PMCIA-Spezifika­ tion (PCMCIA 1.0) schuf eine Schnittstelle, die eine Speicher­ kartenerweiterung ebenso wie einige einfache Peripheriegeräte, wie beispielsweise Modems in Kartengröße, handhaben konnte. Die zweite Version der PCMCIA-Spezifikation (PCMCIA 2.0) ist eine vollständige Busspezifikation, die die gebräuchlichsten Arten der Computerperipheriegeräte, wie beispielsweise Festplatten­ laufwerke und LAN-Schnittstellen, handhaben kann. (Siehe: "PC Card Standard", Release 2.0, September 1991, Personal Computer Memory Card International Association.)
Der PCMCIA-Standard ist so definiert, daß es möglich ist, bei laufendem Grundsystem Karten einzustecken und zu entfernen, ohne die Karten oder das Grundsystem zu zerstören. Dieses Merk­ mal eines im Betrieb möglichen Einsetzens/Entfernens ist ein einzigartiges Merkmal der PCMCIA-Computerhardware. Darüber hin­ aus werden Konfigurationsinformationen in einem Speicher auf der PCMCIA-Karte selbst gehalten, um dem System zu gestatten, sich an die Karte anzupassen, wenn diese in das Computersystem eingesteckt wird. Der PCMCIA-Standard definiert eine physische Größe und Form von PCMCIA-Karten. Der PCMCIA-Standard definiert außerdem Leistungs- und Spannungspegel und Steckverbinder- Ausgangspins. Karten, die mit diesem PCMCIA-Standard über­ einstimmen, können in kompatible Systeme eingesteckt werden, ohne dabei Gefahr zu laufen, daß die Steckverbinder nicht pas­ sen oder daß Spannungsdifferenzen die Hardware zerstören. Der Standard definiert außerdem den Bereich von Konfigurationsin­ formationen, welche auf den Karten gehalten werden können, und zeigt an, wie Software diese Informationen lesen kann.
Die PCMCIA-Hardware enthält den Steckplatz, in welchen die Karte eingesteckt wird, einen Steckverbinder zum Übermitteln der Stromversorgung und der Informationen zwischen der Karte und dem Computer und eine integrierte Steckplatzadapterschal­ tung, welche den Computermikroprozessor mit den Steckplätzen koppelt. Der Steckplatzadapter enthält Hardware zum Erzeugen von Mikroprozessor-Interrupts, wenn ein Ereignis der Änderung der Kartenhardware auftritt, wie beispielsweise ein Einstecken oder ein Entfernen der Karte oder ein Leerwerden der Kartenbat­ terie. Eine Abbildungshardware gestattet ein Abbilden des Spei­ chers, der Ein/Ausgaben und der Interrupts der Karte auf geeig­ nete Plätze innerhalb des Gesamtcomputersystems. Beispielsweise kann, wenn die Karte Speicher enthält, der Speicher so abgebil­ det werden, daß er an einem beliebigen Ort in dem Adreßraum des Computers unterhalb 16 Megabyte erscheint. In ähnlicher Weise kann, wenn die Karte eine Interrupt-Anforderung erzeugen kann, die Interrupt-Anforderung auf eine Anzahl von System-IRQ-Lei­ tungen weitergeleitet werden.
Der aktuelle PCMCIA-Standard definiert zwei Schichten (Layer) der Software, die ein Computersystem verwenden kann, um auf PCMCIA-Karten zuzugreifen und diese zu verwalten. Die bei­ den Software-Schichten werden Steckplatzdienste-Schicht und Kartendienste-Schicht genannt. Im Betrieb greifen Anwendungen, welche PCMCIA-Karten zu nutzen wünschen, auf die PCMCIA-Karten zu, indem sie aus der Kartendienste-Schicht zur Verfügung ge­ stellte Funktionen nutzen. Anwendungen, welche die Kartendien­ ste-Funktionen verwenden, sind als Kartendienste-"Klienten" be­ kannt. Ein Kartendienste-Klient meldet sich bei den Kartendien­ sten an, indem er eine Kartendienst-Klient-Registrierungsfunk­ tion aufruft und einige Klienteninformationen und die Adresse einer Klienten-Rückrufroutine zur Verfügung stellt. Kartendien­ ste führen die Rückrufroutine aus, wenn ein sich auf eine PCM- CIA-Karte beziehendes Ereignis auftritt.
Wenn beispielsweise ein Hardware-Ereignis von einem PCMCIA- Kartensteckplatz auftritt, führt die Rückrufroutine des Klien­ ten dem Ereignis zugeordnete Verarbeitungen aus. Die Ereignisse schließen Hardware-Ereignisse, wie beispielsweise ein Karten- Einfügen/Entfernen oder eine schwache Batterie, und Software- Ereignisse, wie beispielsweise die Anforderung einer exklusiven Benutzung einer Karte durch einen Klienten, ein. Beim Einfügen einer Karte kann ein registrierter Klient die Rückrufroutine verwenden, um die Karte zum Bestimmen des Kartentyps ab­ zufragen. Wenn die Karte den korrekten Typ hat, würde er dann mit dem Konfigurieren der Karte fortfahren. Der auf der Karte befindliche Speicher, das Ein/Ausgabesystem und die Interrupts müssen so eingerichtet werden, daß sie mit dem System, in wel­ ches die Karte eingesetzt worden ist, übereinstimmen. Karten­ dienste-Funktionen gestatten es dem Klienten, die Karten durch Programmieren der Hardware-Register der Karte und des PCMCIA- Adapters zu konfigurieren.
Die Steckplatzdienste- und Kartendienste-Schichten sind so aufgebaut, daß ein einziges System mehrere verschiedene Instan­ zen der Steckplatzdienste (jede Instanz der Steckplatzdienste dient einem oder mehreren PCMCIA-Adaptern), aber nur eine ein­ zige Instanz der Kartendienste haben kann. Die Klienten der Kartendienste-Schicht sehen eine Anzahl von verfügbaren PCMCIA- Steckplätzen, aber nicht eine Anzahl von PCMCIA-Adaptern, von denen jeder einen oder mehrere Steckplätze hat. Diese Abstrak­ tion und die Unterstützung der Konfigurationsverwaltung sind die primären Gründe für die Kartendienste-Softwareschicht.
Aus der Offenlegungsschrift DE 42 44 266 A1 ist ein Verfah­ ren zum dynamischen Konfigurieren von Gerätetreibern für eine entnehmbare Computerressource, wie z. B. eine PCMCIA-Karte, be­ kannt.
Bei einem IBM-kompatiblen Personalcomputer, der eine Real- Modus-DOS-Umgebung abarbeitet, ist die Steckplatzdienste-Soft­ wareschicht des PCMCIA-Standards üblicherweise unter Verwendung eines ROM, eines Gerätetreibers oder eines speicherresidenten Programms (TSR-Programm) implementiert. Die meisten Implemen­ tierungen der Steckplatzdienste-Schicht erfordern nur ungefähr 3 K Speicher, was eine relativ kleine Speichermenge darstellt.
In einer Real-Modus-DOS-Umgebung ist die Kartendienste- Softwareschicht unter Verwendung eines Gerätetreibers und eines TSR-Programms implementiert, das geladen wird, nachdem DOS ge­ laden wurde. Da die Kartendienste-Softwareschicht, wie sie von der PCMCIA-Spezifikation definiert ist, eine große Anzahl von Funktionen zur Verfügung stellen muß, erfordert die Kartendien­ ste-Softwareschicht üblicherweise mehr als 40 K Speicher. Diese für die Kartendienste verwendete relativ große Speichermenge kann ein Problem bei speichermäßig beschränkten DOS-basierten Computersystemen darstellen.
Die Microsoft-Windows-Betriebsumgebung ersetzt in großem Umfang die ältere Nur-DOS-Umgebung in Personalcomputern. Die Microsoft-Windows-Umgebung stellt eine attraktive graphische Benutzeroberfläche (GUI - Graphical User Interface) zur Verfü­ gung, welche eine leichtere Benutzung von Anwendungsprogrammen erlaubt. Die Microsoft-Windows-Betriebsumgebung unterstützt DOS-Anwendungen über die Verwendung von virtuellen DOS-Maschi­ nen.
Die Microsoft-Windows-Betriebsumgebung zieht Nutzen aus dem erweiterten Speicher, der in Computern auf der Basis von 386er- oder späteren Mikroprozessoren verfügbar ist. Um den Speicher des Computersystems effektiver nutzen zu können, wurden Imple­ mentierungen des geschützten Modus von Kartendiensten, die in der Windows-Betriebsumgebung arbeiten, vorgeschlagen. (Siehe "Architecture for Implementing PCMCIA Card Services Under the Windows Operating System in Enhanced Mode", US-Patent Nr. 5,696,970 vom 9. Dezember 1997.)
Jedoch können bei einer Implementierung von Kartendiensten für den geschützten Modus Kompatibilitätsprobleme mit einigen Real-Modus-Klienten der Kartendienste auftreten. Insbesondere können einige Real-Modus-Klienten der Kartendienste einen Zu­ griff auf Kartendienste-Funktionen während der Anfangsladepro­ zedur des Computersystems erfordern. Da die Implementierung von Kartendiensten für den geschützten Modus nicht verfügbar ist, bis die Microsoft-Windows-Betriebsumgebung geladen ist, sind die Real-Modus-Klienten, die Kartendienste während des An­ fangsladens des Computersystems erfordern, nicht in der Lage, auf die Kartendienste-Funktionen zuzugreifen, die sie benöti­ gen.
Folglich ist es eine Aufgabe der vorliegenden Erfindung, eine Unterstützung für eine Kartendienste-Implementierung für einen geschützten Modus zur Verfügung zu stellen, der einen Zu­ griff auf Kartendienste-Funktionen während des Anfangsladepro­ zesses des Computersystems gestattet.
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren nach dem Anspruch 1 bzw. ein Computersystem gemäß dem Anspruch 11 gelöst. Dabei wird ein Kartendienste-Kompatibilitätstreiber verwendet. Der Kartendienste-Kompatibilitätstreiber ist ein Ge­ rätetreiber oder ein speicherresidentes Programm (TSR-Pro­ gramm), der bzw. das kurz nach Beginn der Anfangsladeprozedur des Computersystems geladen wird. Der Kartendienste-Kompatibi­ litätstreiber simuliert eine vollständige Implementierung von Kartendiensten, indem er selbst dann, wenn Karten installiert sind, nur die Funktionen unterstützt, die legal sind, wenn keine Karten in dem System installiert sind. Später wird eine vollständige Implementierung von Kartendiensten für den ge­ schützten Modus in das System geladen. Der Kartendienste-Kompa­ tibilitätstreiber überträgt dann sämtliche Zustandsinformatio­ nen, die er während der Anfangsladeprozedur des Computersystems gesammelt hat, zu der vollständigen Implementierung von Karten­ diensten für den geschützten Modus. Nach dem Empfangen dieser Informationen übernimmt die vollständige Geschützter-Modus-Im­ plementierung der Kartendienste die Steuerung und bedient sämt­ liche zukünftigen Kartendienste-Anforderungen. Die vollständige Implementierung von Kartendiensten für den geschützten Modus informiert darüber hinaus die registrierten Kartendienste-Kli­ enten über irgendwelche in das System eingefügte Karten, indem sie Karteneinfügungs-Rückrufe ausführt.
Vorteilhafte Weiterbildungen der Erfindung sind in den Un­ teransprüchen gekennzeichnet.
Im folgenden wird die Erfindung anhand von in der Zeichnung dargestellten Ausführungsbeispielen näher beschrieben. In der Zeichnung zeigt:
Fig. 1 eine Blockdarstellung der durch die PCMCIA-Spe­ zifikation definierten Kartendienste- und Steck­ platzdienste-Software-Schichten, wie sie in ei­ nem Computersystem verwendet werden;
Fig. 2 ein typisches Speicherabbild einer Real-Modus- DOS-Maschine, nachdem DOS, ein Steckplatzdien­ ste-Gerätetreiber, ein Kartendienste-Geräte­ treiber, andere Gerätetreiber und speicherresi­ dente Programme (TSR) geladen worden sind;
Fig. 3a eine Blockdarstellung der Programminteraktionen in einem Computersystem, das während der An­ fangsladestufe des Computers einen Kartendien­ ste-Kompatibilitätstreiber verwendet;
Fig. 3b eine Blockdarstellung der Programminteraktionen in dem Computersystem gem. Fig. 3a, wenn eine Kartendienste-Implementierung für den geschütz­ ten Modus geladen worden ist und der Kartendien­ ste-Kompatibilitätstreiber seine Datenbasis auf die Kartendienste-Implementierung für den ge­ schützten Modus überträgt;
Fig. 3c eine Blockdarstellung der Programminteraktionen in dem Computersystem gem. Fig. 3b, wenn die Kartendienste-Implementierung des geschützten Modus die Steuerung von dem Kartendienste-Kompa­ tibilitätstreiber übernommen hat.
Fig. 4 ein Ablaufdiagramm der bei der Erfindung erfor­ derlichen Schritte; und
Fig. 5 ein Speicherabbild des Real-Modus-Speicherbe­ reichs, nachdem DOS, ein Steckplatzdienste-Ge­ rätetreiber, der Kartendienste-Kompatibilitäts­ treiber, andere Gerätetreiber und speicherresi­ dente Programme (TSR-Programme) geladen worden sind.
In der folgenden detaillierten Beschreibung wird häufig auf Display-Abbildungen, Algorithmen und symbolische Darstellungen von Operationen an Datenbits innerhalb eines Computerspeichers Bezug genommen. Diese algorithmischen Beschreibungen und Dar­ stellungen sind die Mittel, denen sich ein Fachmann auf dem Ge­ biet der Datenverarbeitung bedient, um am effektivsten die In­ halte seiner Arbeit anderen Fachleuten zu übermitteln.
Ein Algorithmus wird im folgenden und grundsätzlich ver­ standen als eine in sich logische Folge von Schritten, die zu einem gewünschten Ergebnis führen. Diese Schritte sind solche, die physikalische Manipulationen an physikalischen Größen er­ fordern. Üblicherweise, aber nicht notwendigerweise, nehmen diese Größen die Form elektrischer oder magnetischer Signale an, die gespeichert, übertragen, kombiniert, verglichen, aus­ gewählt, modifiziert und auf andere Weise manipuliert werden können. Es erscheint von Zeit zu Zeit zweckdienlich, prinzi­ piell aus Gründen des allgemeinen Gebrauchs, diese Signale als Bits, Werte, Elemente, Symbole, Zeichen, Abbildungen, Terme, Nummern oder dergleichen zu bezeichnen. Dabei ist jedoch zu be­ achten, daß all diese und ähnliche Begriffe den geeigneten phy­ sikalischen Größen zuzuordnen sind und mehr oder weniger als geeignete Kennzeichnungen dieser Größen anzusehen sind.
In dem vorliegenden Fall sind die Operationen Maschinenope­ rationen, die in Verbindung mit einem menschlichen Bediener ausgeführt werden. Geeignete Maschinen zum Ausführen dieser Operationen der Erfindung sind beispielsweise digitale Mehr­ zweckrechner oder andere ähnliche Geräte. Auf jeden Fall sollte der Unterschied zwischen den Verfahrensoperationen zum Betrei­ ben eines Computers und dem Verfahren der Berechnung selbst be­ achtet werden. Die vorliegende Erfindung bezieht sich auf die Verfahrensschritte zum Betreiben eines Computers und zum Verar­ beiten elektrischer oder anderer physikalischer Signale, um andere gewünschte physikalische Signale zu erzeugen.
Es wird eine Implementierung von PCMCIA-Kartendiensten of­ fenbart, die einen Zugriff auf Kartendienste-Funktionen während des Anfangsladeprozesses des Computersystems zur Verfügung stellt. In der folgenden Beschreibung wird zum Zwecke der Er­ läuterung eine spezielle Nomenklatur ausgeführt, um ein besse­ res Verständnis der vorliegenden Erfindung zu erreichen. Für den Fachmann ist es jedoch klar, daß diese speziellen Details nicht erforderlich sind, um die Erfindung zu praktizieren. An anderen Stellen werden gut bekannte Schaltungen und Einrichtun­ gen in Blockdiagrammform gezeigt, um das Verständnis der Erfin­ dung nicht unnötig zu erschweren.
Kartendienste und Steckplatzdienste
Der aktuelle PCMCIA-Standard definiert zwei Schichten der Software, die ein Computersystem verwendet, um auf PCMCIA-Kar­ ten zuzugreifen und diese zu verwalten: die Steckplatzdienste- Schicht und die Kartendienste-Schicht. Fig. 1 veranschaulicht, in welchem Verhältnis die Steckplatzdienste- und die Karten­ dienste-Software-Schichten zueinander stehen und wie diese bei­ den Schichten auf die PCMCIA-Karten zugreifen.
Eine Steckplatzdienste-Schicht wird für jeden einzelnen PCMCIA-Steckplatzadapter in dem System implementiert. Jede Steckplatzdienste-Implementierung stellt einen Satz von Routi­ nen zur Verfügung, die zum Konfigurieren und Steuern des ent­ sprechenden PCMCIA-Steckplatzes verwendet werden. Im folgenden wird auf Fig. 1 Bezug genommen, in der verschiedene Implemen­ tierungen der Steckplatzdienste (21 und 23) für jeden speziel­ len PCMCIA-Steckplatzadapter (25 bzw. 27) in dem System gezeigt sind. Die Steckplatzdienste-Schicht ist so aufgebaut, daß sie im ROM implementiert werden kann und Teil des System-BIOS sein kann. Die Funktionen in der Steckplatzdienste-Software-Schicht werden von der Kartendienste-Schicht (31) mit Hilfe eines Soft­ ware-Interrupt-Mechanismus aufgerufen. Speziell wird das Soft­ ware-Interrupt INT 1A verwendet, um auf Steckplatzdienste-Funk­ tionen zuzugreifen. Die Steckplatzdienste-Schicht ist unabhän­ gig von dem auf dem Computersystem laufenden Betriebssystem. (Siehe "PCMCIA Socket Services Interface Specification", Relea­ se 2.00, September 1992, Personal Computer Memory Card Interna­ tional Association.)
Die Kartendienste-Software-Schicht ist so gestaltet, daß sie an der Oberfläche einer oder mehrerer Instanzen der Steck­ platzdienste abläuft. Die Kartendienste-Software-Schicht stellt einen Satz von Funktionen zur Verfügung, den Kartendienste-Kli­ enten verwenden, um auf PCMCIA-Karten zuzugreifen und diese zu konfigurieren. Es wird wieder auf Fig. 1 Bezug genommen. Die Kartendienste-Software-Schicht 31 ist über jeder Implementie­ rung von Steckplatzdiensten angeordnet und ruft die Routinen von jeder Steckplatzdienste-Implementierung auf, um hardware­ spezifische Funktionen auszuführen. Die Kartendienste-Software- Schicht (31) ist vom Betriebssystem abhängig und wird üblicher­ weise während des Startens des Betriebssystems geladen. Real- Modus-Kartendienste-Klienten rufen Kartendienste-Funktionen mit Hilfe eines Software-Interrupt-Mechanismus auf. Speziell wird das Software-Interrupt INT 1A unter Setzen des Registersatzes AH auf dem hexadezimalen Wert AF verwendet, um Kartendienste aufzurufen. Andere Arten von Kartendienste-Klienten können auf Kartendienste mit Hilfe anderer Schnittstellen zugreifen. Die Kartendienste-Schicht 31 ist so gestaltet, daß sie die ver­ schiedenen PCMCIA-Steckplatzadapter für die Kartendienste-Kli­ enten (33 und 35) unsichtbar macht, so daß die Kartendienste- Klienten (33 und 35) stets eine gleichmäßige Schnittstelle zu den PCMCIA-Karten haben. (Siehe "PC Card Services Interface Specification", Release 2.00, September 1992, Personal Computer Memory Card International Association.)
Kartendienste im Real-Modus
Fig. 2 veranschaulicht ein typisches Speicherabbild eines Real-Modus-DOS-Computersystems, bei dem Real-Modus-Kartendien­ ste- und -Steckplatzdienste-Schichten geladen sind. Bei dem in Fig. 2 veranschaulichten DOS-Computersystem sind die Karten­ dienste- und Steckplatzdienste-Software-Schichten als speicher­ residente Programme (TSR-Programme - Terminate and Stay Resi­ dent) oder Gerätetreiber implementiert. Die Steckplatzdienste- Schicht 25 und die Kartendienste-Schicht 31 benutzen kostbaren Speicher unterhalb der 640 K-Grenze. Da die Steckplatzdienste- Schicht 25 nur ungefähr 3 K des Speichers verwendet, reduziert sie nicht signifikant die für DOS-Anwendungen in dem Anwen­ dungsbereich 41 verfügbare Speichermenge. Jedoch erfordert die Real-Modus-Kartendienste-Schicht 31 ungefähr 40 K des Spei­ chers, so daß sie signifikant die für DOS-Anwendungsprogramme in dem DOS-Anwendungsbereich 41 verfügbare Menge des Real-Mo­ dus-Speichers senkt. Folglich ist es wünschenswert, Karten­ dienste in einer anderen Weise zu implementieren, so daß Kar­ tendienste nicht sehr viel teuren Speicher unterhalb der DOS- 640 K-Grenze erfordern.
Kartendienste im geschützten Modus
Um IBM-kompatible Personalcomputer leichter benutzbar zu machen, benötigt der Markt für IBM-kompatible PC ein Betriebs­ system mit einer graphischen Benutzeroberfläche (GUI). Um die Forderung nach einer graphischen Benutzeroberfläche für IBM- kompatible Personalcomputer zu erfüllen, erschuf Microsoft die Windows-Betriebsumgebung. Die Microsoft-Windows-Betriebsumge­ bung bleibt abwärts-kompatibel mit dem existierenden Microsoft- DOS-Betriebssystems, das auf IBM-kompatiblen PC verwendet wird. Das im erweiterten Modus laufende Microsoft-Windows verwendet den geschützten Modus der Intel-Mikroprozessoren 386 oder höher. Durch Benutzung des geschützten Modus ist Microsoft Windows in der Lage, erweiterten Speicher zu nutzen.
Es wurden Implementierungen von Kartendiensten für den ge­ schützten Modus vorgeschlagen, die in der Microsoft-Windows-Be­ triebsumgebung laufen. Die Implementierungen von Kartendiensten für den geschützten Modus versetzen die Kartendienste-Schicht hinauf in die erweiterten Bereiche des Speichers, so daß kein Real-Modus-Speicher verwendet wird. (Siehe "An Architecture for Implementing PCMCIA Card Services Under the Windows Operating System in Enhanced Mode", US-Patent-Nr. 5696970.) Somit wird die Größe des für die US-Anwen­ dungen verfügbaren DOS-Anwendungsbereichs überhaupt nicht von der Kartendienste-Schicht verringert.
Jedoch haben die Implementierungen von Kartendiensten für den geschützten Modus ein Kompatibilitätsproblem in Bezug auf einige Programme, die im Real-Modus arbeiten. Da insbesondere eine Implementierung von Kartendiensten für den geschützten Mo­ dus, die in der Microsoft-Windows-Betriebsumgebung läuft, nicht geladen werden kann, bis die Microsoft-Windows-Betriebsumgebung geladen ist, arbeiten Real-Modus-Anwendungen, Gerätetreiber oder speicherresidente Programme, die Kartendienste während des Anfangsladeprozesses des Computersystems erfordern, nicht ord­ nungsgemäß. Solche Programme erwarten es, eine bereits geladene Real-Modus-Implementierung von Kartendiensten vorzufinden, so daß sie sich als Kartendienste-Klienten anmelden und Informa­ tionen über die Steckplätze während des Anfangsladeprozesses des Computersystems erlangen können.
Der Kartendienste-Kompatibilitätstreiber
Die Erfindung löst das Kompatibilitätsproblem von Real-Mo­ dus-Programmen, die Kartendienste während des Anfangsladens des Computersystems erfordern, durch Einführung des Konzepts eines Kartendienste-Kompatibilitätstreibers. Der Kartendienste-Kompa­ tibilitätstreiber ist ein von DOS ladbarer Gerätetreiber, der als eine vorübergehende Kartendienste-Schicht agiert, bis die vollständige Kartendienste-Implementierung für den geschützten Modus geladen ist.
Der Kartendienste-Kompatibilitätstreiber simuliert eine Um­ gebung, in welcher sich keine Karten in irgendwelchen Steck­ plätzen befinden. Der Kartendienste-Kompatibilitätstreiber si­ muliert diese Umgebung, obwohl Karten in den Steckplätzen vor­ handen sein können. Indem er so handelt, als ob keine Karten vorhanden sind, kann der Kartendienste-Kompatibilitätstreiber einen NO-CARD-Rückgabecode für die große Mehrheit der Karten­ dienste-Funktionen zurückgeben. Folglich muß der Kartendienste- Kompatibilitätstreiber nur einen kleinen Teil der Kartendien­ ste-Funktionen vollständig implementieren, die legal sind, wenn keine Karten in dem Computersystem vorhanden sind.
Schließlich lädt der Computer die vollständige Implementie­ rung der Kartendienste für den geschützten Modus. Nachdem der Computer die vollständige Kartendienste-Implementierung für den geschützten Modus geladen hat, fordert die vollständige Karten­ dienste-Implementierung für den geschützten Modus von dem Kar­ tendienste-Kompatibilitätstreiber sämtliche Informationen an, die der Kartendienste-Kompatibilitätstreiber während des An­ fangsladeprozesses des Computersystems erlangt hat. Nachdem diese Informationen weitergeleitet worden sind, werden alle nachfolgenden Anforderungen nach Kartendienste-Funktionen an die vollständige Kartendienste-Implementierung für den ge­ schützten Modus weitergelenkt.
Systembeschreibung
Fig. 3a veranschaulicht, wie die Programmeinheiten während des Anfangsladens des Computersystems, bevor die Windows-Be­ triebsumgebung geladen worden ist, miteinander in Wechselwir­ kung treten. Wie in Fig. 3a veranschaulicht, werden sämtliche Anforderungen nach Kartendienste-Funktionen von einem Karten­ dienste-Kompatibilitätstreiber 50 behandelt. Die Real-Modus-An­ wendungsprogramme, Gerätetreiber und speicherresidenten Pro­ gramme (TSRs) können als Kartendienste-Klienten registriert werden. Die Programme können sich außerdem den Status beschaf­ fen und einige der Physikalisch-zu-logisch-Abbildungen ausfüh­ ren. Jedoch empfangen die Kartendienste-Klienten zu diesem Zeitpunkt keinerlei Karteneinfüge-Rückrufe.
Fig. 3b veranschaulicht, wie die Programmeinheiten während des Anfangsladens des Computersystems miteinander in Wechsel­ wirkung treten, nachdem die Windows-Betriebsumgebung und die vollständige Kartendienste-Implementierung 51 für den geschütz­ ten Modus geladen worden sind. Nachdem der Computer die voll­ ständige Kartendienste-Implementierung für den geschützten Mo­ dus geladen hat, fordert die vollständige Kartendienste-Imple­ mentierung 51 für den geschützten Modus den Kartendienste-Kom­ patibilitätstreiber 50 auf, ihr sämtliche Informationen zur Verfügung zu stellen, die der Kartendienste-Kompatibilitäts­ treiber 50 während des Anfangsladens des Computersystems gesam­ melt hat. Diese Informationen enthalten: die Steckplatzdienste- Datenstruktur; eine Liste der registrierten Kartendienste-Kli­ enten (einschließlich Handles, Rückruf-Eintrittspunkten, Klien­ tendaten, globalen Ereignismasken); eine Liste der registrier­ ten Lösch-Warteschlangen (erase queues); eine Liste der regi­ strierten Zeitgeber (mit der Zeitdauer, die auf dem jeweiligen Zeitgeber verbleibt) und die verfügbaren Ressourcen (sofern für die Betriebsumgebung geeignet). Es ist zu beachten, daß der Kartendienste-Kompatibilitätstreiber 50 und die vollständige Kartendienste-Implementierung 51 für den geschützten Modus phy­ sikalische/logische Steckplatz- und Fenster-Abbildungen in der gleichen Weise ausführen müssen, damit die Informations-Über­ tragung transparent ist. Nach dem Erlangen der Informationen übernimmt die vollständige Kartendienste-Implementierung 51 für den geschützten Modus den INT 1A-Eintrittspunkt von dem Karten­ dienste-Kompatibilitätstreiber 50 und nimmt die Rolle des Kar­ tendienste-Lieferers für sämtliche Kartendienste-Klienten ein. Die Kartendienste-Implementierung 51 für den geschützten Modus informiert dann die registrierten Kartendienste-Klienten dar­ über, ob irgendwelche Karten in dem System vorhanden sind, in­ dem sie Karteneinfüge-Rückrufe für sämtliche in dem System vorhandenen Karten ausführt.
Schließlich veranschaulicht Fig. 3c, wie die Programmein­ heiten in Wechselwirkung treten, nachdem das Anfangsladen des Computersystems abgeschlossen ist. Der Kartendienste-Kompatibi­ litätstreiber 50 wird nicht länger für Kartendienste-Aufrufe verwendet. Da jedoch ein Klient ReturnSSEntry (Gib Steckplatz­ dienste-Eintrittspunkte zurück) aufgerufen haben kann, muß der Kartendienste-Kompatibilitätstreiber 50 die Unterstützung für den Steckplatzdienste-Eintrittspunkt, der dem Kartendienste- Klienten zur Verfügung gestellt wurde, fortsetzen. Wenn der Steckplatzdienste-Eintrittspunkt von einem Kartendienste-Kli­ enten aufgerufen wird, wird die Steuerung an den Steckplatz­ dienste-Eintrittspunkt der Kartendienste-Implementierung 51 für den geschützten Modus weitergeleitet.
Fig. 4 veranschaulicht die Schritte des erfindungsgemäßen Verfahrens. Zuerst wird im Schritt 101 die Anfangsladeprozedur des Computersystems initiiert. Der Computer führt die normale Anfangsladeprozedur aus, wie sie durch das in dem Computer vor­ handene ROM-BIOS vorgegeben wird. Während der Anfangsladeproze­ dur führt der Computer Kommandos einer Datei CONFIG.SYS aus. Die Datei CONFIG.SYS veranlaßt ein Laden des Kartendienste-Kom­ patibilitätstreibers in den Speicher, wie es im Schritt 103 ausgedrückt ist.
Der Computer fährt damit fort, die anderen speicherresiden­ ten Programme (TSRs) und Gerätetreiber während des Anfangslade­ prozesses zu laden, wie es in Schritt 105 festgelegt ist. So­ bald jeweils ein neues speicherresidentes Programm oder ein Ge­ rätetreiber sich selbst initialisiert, kann er versuchen, sich bei den Kartendiensten anzumelden. Der Kartendienste-Kompatibi­ litätstreiber bearbeitet die Registrierungsanforderung so, wie es eine normale Kartendienste-Implementierung tun würde. Der Kartendienste-Kompatibilitätstreiber informiert jedoch selbst dann, wenn Karten installiert sind, jeden sich anmeldenden Kar­ tendienste-Klienten, daß keine Karten in dem System installiert sind. Am Schritt 107 lädt das Computersystem die Windows-Be­ triebsumgebung ein. Im gegenwärtigen Ausführungsbeispiel lädt der Computer Microsoft Windows 3.1. Jedoch kann auch irgendeine aktuelle oder zukünftige Implementierung von Windows für den geschützten Modus geladen werden. Am Schritt 109 lädt der Com­ puter eine vollständige Implementierung von Kartendiensten für den geschützten Modus. Die Kartendienste-Implementierung für den geschützten Modus wird in den erweiterten Speicherbereich geladen, so daß sie nicht die für Real-Modus-DOS-Programme ver­ fügbare Speichermenge reduziert.
Nachdem die vollständige Implementierung von Kartendiensten für den geschützten Modus geladen worden ist, leitet der Kar­ tendienste-Kompatibilitätstreiber sämtliche Zustandsinformatio­ nen, die er gesammelt hat, an die gerade geladene Implementie­ rung von Kartendiensten für den geschützten Modus im Schritt 111 weiter. Die übertragenen Zustandsinformationen enthalten:
  • 1. Die Steckplatzdienste-Datenstruktur.
  • 2. Die Liste der Klienten, die bei den Kartendiensten angemeldet worden sind.
  • 3. Eine Liste der registrierten Lösch-Warteschlangen (erase queues).
  • 4. Eine Liste der registrierten Zeitgeber. (Die auf jedem Zeitgeber verbleibende Zeitmenge wird zur Verfügung gestellt.)
  • 5. Verfügbare Ressourcen (wenn für die Betriebsumgebung geeignet).
Am Schritt 113 überträgt das System die Kontrolle über das INT 1A-Software-Interrupt auf die Kartendienste-Implementierung für den geschützten Modus. Indem die Kontrolle über das INT 1A- Software-Interrupt auf die Kartendienste-Implementierung für den geschützten Modus übertragen wird, werden alle zukünftigen Anforderungen nach Kartendienste-Funktionen an die Kartendien­ ste-Implementierung für den geschützten Modus weitergeleitet. Somit wird der Kartendienste-Kompatibilitätstreiber von seinen Pflichten entbunden.
Am Schritt 115 überprüft die Kartendienste-Implementierung für den geschützten Modus die Steckplätze, um zu sehen, ob ir­ gendwelche Karten vorhanden sind. Wenn keine Karten vorhanden sind, dann ist die Kartendienste-Initialisierungsprozedur been­ det.
Wenn jedoch eine oder mehrere Karten in dem System vorhan­ den sind, könnte es erforderlich sein, daß die Kartendienste- Implementierung für den geschützten Modus einige der regi­ strierten Klienten von Kartendiensten informieren muß. Die Kar­ tendienste-Implementierung für den geschützten Modus überprüft zuerst die Liste der registrierten Klienten, um die Klienten herauszufinden, die über Karteneinfügungen informiert werden möchten. Die Kartendienste-Implementierung für den geschützten Modus führt dann "Rückrufe" zu diesen Klienten aus, um die Klienten zu informieren, daß eine Karte eingesetzt worden ist, was im Schritt 117 festgelegt ist. Nachdem sämtliche regi­ strierten Klienten, die über Karteneinfügungen informiert zu werden wünschen, über sämtliche in dem System vorhandenen Kar­ ten informiert worden sind, ist die Kartendienste-Initialisie­ rungsprozedur beendet.
Fig. 5 veranschaulicht, wie der Real-Modus-Speicherbereich erscheint, nachdem der erfindungsgemäße Kartendienste-Kompati­ bilitätstreiber 50 verwendet worden ist. Da der Kartendienste- Kompatibilitätstreiber 50 sehr klein (kleiner als 5 K) ist, verbraucht er nicht sehr viel Real-Modus-Speicher. Somit ver­ ringert der Kartendienste-Kompatibilitätstreiber 50 die Größe des DOS-Anwendungsbereichs 41 nicht wesentlich.
Details der Implementierung des Kartendienste-Kompatibili­ tätstreibers
Der Kartendienste-Kompatibilitätstreiber wird als eine Kom­ bination von DOS-ladbaren Gerätetreibern oder TSRs implemen­ tiert. Obwohl der Kartendienste-Kompatibilitätstreiber sämtli­ che Kartendienste-Anforderungen handhaben muß, kann der Karten­ dienste-Kompatibilitätstreiber bei den meisten der Funktionen entweder NO CARD (keine Karte) oder BAD HANDLE (schlechte Hand­ habung) zurückgeben. Die untenstehende Liste beschreibt, welche Aktion für die jeweiligen Kartendienste-Funktionen vorgenommen werden muß.
AddSocketServices - Die Funktion AddSocketServices (Füge Steckplatzdienste hinzu) ist vollständig von dem Kartendienste- Kompatibilitätstreiber implementiert. Somit können neue Steck­ platzdienste-Behandlungsroutinen während des Anfangsladeprozes­ ses hinzugefügt werden.
AdjustResourceInfo - Die Funktion AdjustResourceInfo (Stelle Ressourceninformationen ein) führt normalerweise Ein­ stellungen an der internen Datenbasis der Kartendienste von Sy­ stemressourcen aus, die zur Verwendung durch Klienten zugewie­ sen werden können. Wenn die Betriebsumgebung die externe Defi­ nition der Ressourcenverfügbarkeit gestattet, bewahrt der Kar­ tendienste-Kompatibilitätstreiber die von einem AdjustResourceInfo-Funktionsaufruf zur Verfügung gestellten In­ formationen auf. Der Kartendienste-Kompatibilitätstreiber lei­ tet schließlich diese Informationen an die Kartendienste-Imple­ mentierung für den geschützten Modus zu dessen Verwendung wei­ ter. Wenn die Betriebsumgebung nicht die externe Definition von Ressourcen gestattet, gibt der Kartendienste-Kompatibili­ tätstreiber IN USE (IN BENUTZUNG) zurück.
CheckEraseQueue - Die Funktion CheckEraseQueue (Überprüfe Lösch-Warteschlange) ist vollständig von dem Kartendienste- Kompatibilitätstreiber implementiert. Der Kartendienste-Kompa­ tibilitätstreiber antwortet auf Löschanforderungen durch Setzen von Warteschlangeneinträgen auf MEDIA_MISSING.
CloseMemory - Der Kartendienste-Kompatibilitätstreiber gibt BAD HANDLE auf irgendwelche CloseMemory-Anforderungen (Schließe-Speicher-Anforderungen) zurück, da noch keine Spei­ cherbehandlungen existieren.
CopyMemory - Der Kartendienste-Kompatibilitätstreiber gibt BAD HANDLE auf irgendwelche CopyMemory-Anforderungen (Kopiere- Speicher-Anforderungen) zurück, da noch keine Speicherbehand­ lungen existieren.
DeregisterClient - Die Funktion DeregisterClient (Melde Klienten ab) ist vollständig von dem Kartendienste-Kompatibili­ tätstreiber implementiert, um es Kartendienste-Klienten zu ge­ statten, sich abzumelden.
DeregisterEraseQueue - Der Kartendienste-Kompatibilitäts­ treiber implementiert vollständig die Funktion DeregisterErase- Queue (Melde Lösch-Warteschlange ab), um Kartendienste-Klienten zu gestatten, eine Lösch-Warteschlange abzumelden, die sie zu­ vor angemeldet hatten.
GetCardServicesInfo - Der Kartendienste-Kompatibilitäts­ treiber implementiert vollständig die Funktion GetCardServicesInfo (Hole-Kartendienste-Informationen), um die Anzahl der installierten logischen Steckplätze und Informatio­ nen über die Kartendienste-Implementierung zurückzugeben.
GetClientInfo - Der Kartendienste-Kompatibilitätstreiber implementiert vollständig die Funktion GetClientInfo (Hole Kli­ enteninformationen), um Informationen über einen registrierten Klienten zurückzugeben.
GetConfigurationInfo - Der Kartendienste-Kompatibilitäts­ treiber antwortet auf eine GetConfigurationInfo-Anforderung (Hole-Konfigurationsinformationen-Anforderungen), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem System vorhanden sein sollte.
GetEventMask - Der Kartendienste-Kompatibilitätstreiber im­ plementiert vollständig GetEventMask-Anforderungen (Hole-Ereig­ nismaske-Anforderungen) für globale Masken. Wenn jedoch ein Klient Informationen über einen speziellen Steckplatz anfor­ dert, antwortet der Kartendienste-Kompatibilitätstreiber, indem er NO CARD zurückgibt, selbst wenn eine Karte in dem System vorhanden sein sollte.
GetFirstClient - Der Kartendienste-Kompatibilitätstreiber implementiert vollständig GetFirstClient-Anforderungen (Hole- ersten-Klienten-Anforderungen) für nicht steckplatzspezifische Informationen. Wenn jedoch ein Klient eine GetFirstClient-An­ forderung nach Informationen über einen speziellen Steckplatz ausführt, antwortet der Kartendienste-Kompatibilitätstreiber, indem er NO CARD zurückgibt, selbst wenn eine Karte in dem Steckplatz vorhanden sein sollte.
GetFirstPartition - Der Kartendienste-Kompatibilitätstrei­ ber antwortet auf GetFirstPartition-Anforderungen (Hole-erste- Partition-Anforderungen), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem System vorhanden sein sollte.
GetFirstRegion - Der Kartendienste-Kompatibilitätstreiber antwortet auf GetFirstRegion-Anforderungen (Hole-erste-Region- Anforderungen), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem System vorhanden sein sollte.
GetFirstTuple - Der Kartendienste-Kompatibilitätstreiber antwortet auf GetFirstTuple-Anforderungen (Hole-erstes-Tupel- Anforderungen), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem System vorhanden sein sollte.
GetNextClient - Der Kartendienste-Kompatibilitätstreiber implementiert vollständig GetNextClient-Anforderungen (Hole- nächsten-Klienten-Anforderungen) für nicht steckplatzspezifi­ sche Informationen. Wenn jedoch ein Klient eine GetNextClient- Anforderung nach Informationen über einen speziellen Steckplatz ausführt, antwortet der Kartendienste-Kompatibilitätstreiber, indem er NO CARD zurückgibt, selbst wenn eine Karte in dem Steckplatz vorhanden sein sollte.
GetNextPartition - Der Kartendienste-Kompatibilitätstreiber antwortet auf GetNextPartition-Anforderungen (Hole-nächste-Par­ tition-Anforderungen), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem Steckplatz vorhanden sein sollte.
GetNextRegion - Der Kartendienste-Kompatibilitätstreiber antwortet auf GetNextRegion-Anforderungen (Hole-nächste-Region- Anforderungen), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem Steckplatz vorhanden sein sollte.
GetNextTuple - Der Kartendienste-Kompatibilitätstreiber antwortet auf GetNextTuple-Anforderungen (Hole-nächstes-Tupel- Anforderungen), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem Steckplatz vorhanden sein sollte.
GetStatus - Der Kartendienste-Kompatibilitätstreiber ant­ wortet auf GetStatus-Anforderungen (Hole-Status-Anforderungen), indem er den aktuellen Steckplatz-Status zur Verfügung stellt, wobei dieser aussagt, daß keine Karte vorhanden ist, selbst wenn eine Karte vorhanden sein sollte.
GetTupleData - Der Kartendienste-Kompatibilitätstreiber antwortet auf GetTupleData-Anforderungen (Hole-Tupel-Daten-An­ forderungen), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem Steckplatz vorhanden sein sollte.
MapLogSocket - Der Kartendienste-Kompatibilitätstreiber im­ plementiert vollständig die Funktion MapLogSocket (Bilde logi­ schen Steckplatz ab).
MapLogWindow - Der Kartendienste-Kompatibilitätstreiber im­ plementiert vollständig die Funktion MapLogWindow (Bilde logi­ sches Fenster ab).
MapMemPage - Der Kartendienste-Kompatibilitätstreiber ant­ wortet auf MapMemPage-Anforderungen (Bilde Speicherseite ab), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem Steckplatz vorhanden sein sollte.
MapPhySocket - Der Kartendienste-Kompatibilitätstreiber im­ plementiert vollständig die Funktion MapPhySocket (Bilde physi­ kalischen Steckplatz ab).
MapPhyWindow - Der Kartendienste-Kompatibilitätstreiber im­ plementiert vollständig die Funktion MapPhyWindow (Bilde physi­ kalisches Fenster ab).
ModifyConfiguration - Der Kartendienste-Kompatibilitäts­ treiber antwortet auf ModifyConfiguration-Anforderungen (Modifiziere-Konfiguration-Anforderungen), indem er NO CARD zu­ rückgibt, selbst wenn eine Karte in dem Steckplatz vorhanden sein sollte.
ModifyWindow - Der Kartendienste-Kompatibilitätstreiber antwortet auf ModifyWindow-Anforderungen (Modifiziere-Fenster- Anforderungen), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem Steckplatz vorhanden sein sollte.
OpenMemory - Der Kartendienste-Kompatibilitätstreiber ant­ wortet auf OpenMemory-Anforderungen (Öffne-Speicher-Anforderun­ gen), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem Steckplatz vorhanden sein sollte.
ReadMemory - Der Kartendienste-Kompatibilitätstreiber ant­ wortet auf ReadMemory-Anforderungen (Lese-Speicher-Anforderun­ gen), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem Steckplatz vorhanden sein sollte.
RegisterClient - Der Kartendienste-Kompatibilitätstreiber implementiert vollständig die Funktion RegisterClient (Registriere Klienten), so daß Gerätetreiber, TSRs und Anwen­ dungsprogramme sich bei Kartendiensten anmelden können.
RegisterEraseQueue - Der Kartendienste-Kompatibilitätstrei­ ber implementiert vollständig die Funktion RegisterEraseQueue (Melde Lösch-Warteschlange an), so daß Kartendienste-Klienten Lösch-Warteschlangen bei den Kartendiensten anmelden können.
RegisterMTD - Der Kartendienste-Kompatibilitätstreiber ant­ wortet auf RegisterMTD-Anforderungen (Registriere MTD), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem Steckplatz vorhanden sein sollte.
RegisterTimer - Der Kartendienste-Kompatibilitätstreiber implementiert vollständig die Funktion RegisterTimer (Registriere Zeitgeber), so daß Kartendienste-Klienten Zeitge­ ber innerhalb der Kartendienste registrieren können, um Kar­ tendienste zu schaffen, die den Klienten zurückrufen.
ReleaseConfiguration - Der Kartendienste-Kompatibilitäts­ treiber implementiert die Funktion ReleaseConfiguration (Gib Konfiguration frei), indem sie BAD HANDLE zurückgibt, da keine Karte konfiguriert sein kann. Es kann keine Karte konfiguriert sein, da die Funktion RequestConfiguration (Fordere Konfigura­ tion an) nicht durch den Kartendienste-Kompatibilitätstreiber implementiert ist.
ReleaseExclusive - Der Kartendienste-Kompatibilitätstreiber implementiert die Funktion ReleaseExclusive (Gib exklusiv frei), indem sie BAD HANDLE zurückgibt, da kein exklusiver Zu­ riff auf eine Karte gewährt sein kann. Es kann kein exklusiver Zugriff auf eine Karte gewährt sein, da die Funktion Re­ questExclusive (Fordere exklusiv an) nicht durch den Karten­ dienste-Kompatibilitätstreiber implementiert ist.
ReleaseIO - Der Kartendienste-Kompatibilitätstreiber imple­ mentiert die Funktion ReleaseIO (Gib I/O frei), indem er BAD HANDLE zurückgibt, da keine vorangehende RequestIO (Fordere I/O an) ausgeführt werden konnte.
ReleaseIRQ - Der Kartendienste-Kompatibilitätstreiber im­ plementiert die Funktion ReleaseIRQ (Gib IRQ frei), indem er BAD HANDLE zurückgibt, da keine vorangehende RequestIRQ (Fordere IRQ an) ausgeführt werden konnte.
ReleaseSocketMask - Der Kartendienste-Kompatibilitätstrei­ ber implementiert die Funktion ReleaseSocketMask (Gib Steck­ platzmaske frei), indem er BAD HANDLE zurückgibt, da keine vor­ hergehende RequestSocketMask ausgeführt werden konnte.
ReleaseWindow - Der Kartendienste-Kompatibilitätstreiber implementiert ReleaseWindow (Gib Fenster frei), indem er BAD HANDLE zurückgibt, da keine vorhergehende RequestWindow ausge­ führt werden konnte.
ReplaceSocketServices - Der Kartendienste-Kompatibilitäts­ treiber implementiert vollständig die Funktion ReplaceSocketServices (Ersetze Steckplatzdienste), so daß neue­ re Steckplatzdienste-Implementierungen eine ältere Steckplatz­ dienste-Implementierung ersetzen können.
RequestConfiguration - Der Kartendienste-Kompatibilitäts­ treiber antwortet auf RequestConfiguration-Anforderungen (Fordere Konfiguration an), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem Steckplatz vorhanden sein sollte.
RequestExclusive - Der Kartendienste-Kompatibilitätstreiber antwortet auf RequestExclusive-Anforderungen (Fordere-exklusiv- an-Anforderungen), indem er NO CARD zurückgibt, selbst wenn ei­ ne Karte in dem Steckplatz vorhanden sein sollte.
RequestIO - Der Kartendienste-Kompatibilitätstreiber ant­ wortet auf RequestIO-Anforderungen (Fordere-I/O-an-Anforderun­ gen), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem Steckplatz vorhanden sein sollte.
RequestIRQ - Der Kartendienste-Kompatibilitätstreiber ant­ wortet auf RequestIRQ-Anforderungen (Fordere-IRQ-an-Anforderun­ gen), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem Steckplatz vorhanden sein sollte.
RequestSocketMask - Der Kartendienste-Kompatibilitätstrei­ ber antwortet auf RequestSocketMask-Anforderungen (Fordere Steckplatzmaske an), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem Steckplatz vorhanden sein sollte.
RequestWindow - Der Kartendienste-Kompatibilitätstreiber antwortet auf RequestWindow-Anforderungen (Fordere-Fenster-an- Anforderungen), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem Steckplatz vorhanden sein sollte.
ResetCard - Der Kartendienste-Kompatibilitätstreiber ant­ wortet auf ResetCard-Anforderungen (Setze-Karte-zurück-Anforde­ rungen), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem Steckplatz vorhanden sein sollte.
ReturnSSEntry - Der Kartendienste-Kompatibilitätstreiber implementiert vollständig die Funktion ReturnSSEntry (Gib Steckplatzdienste-Eintrittspunkt zurück), so daß ein Eintritts­ punkt in einen Steckplatzdienst zurückgegeben wird. Die Steck­ platzdienste-Eintrittspunkt-Rückgabe zu dem Kartendienste-Kli­ enten muß fortgesetzt unterstützt werden, selbst wenn der Kar­ tendienste-Kompatibilitätstreiber die Kartendienste-Verantwort­ lichkeit auf die vollständige Kartendienste-Implementierung für den geschützten Modus übergeben hat.
SetEventMask - Der Kartendienste-Kompatibilitätstreiber im­ plementiert die Funktion SetEventMask (Setze Ereignismaske), um Kartendienste-Klienten zu gestatten, globale Masken zu setzen. Wenn jedoch ein Kartendienste-Klient versucht, eine Ereignis­ maske für einen speziellen Steckplatz zu setzen, antwortet die Funktion SetEventMask mit NO CARD.
SetRegion - Der Kartendienste-Kompatibilitätstreiber ant­ wortet auf SetRegion-Anforderungen (Setze-Region-Anforderun­ gen), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem Steckplatz vorhanden sein sollte.
ValidateCIS - Der Kartendienste-Kompatibilitätstreiber ant­ wortet auf ValidateCIS-Anforderungen (Mache-CIS-gültig-Anforde­ rungen), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem Steckplatz vorhanden sein sollte.
VendorSpecific - Der Kartendienste-Kompatibilitätstreiber antwortet auf VendorSpecific-Anforderungen (Anwenderspezifische Anforderungen), indem er BAD FUNCTION zurückgibt.
WriteMemory - Der Kartendienste-Kompatibilitätstreiber ant­ wortet auf WriteMemory-Anforderungen (Schreibe-Speicher-Anfor­ derungen), indem er NO CARD zurückgibt, selbst wenn eine Karte in dem Steckplatz vorhanden sein sollte.

Claims (11)

1. Verfahren zum Bereitstellen von Kartendienstefunktionen für wenigstens einen Kartendienste-Klienten während eines An­ fangsladeprozesses in einem in einem Real-Modus und in einem geschützten Modus betreibbaren Computersystem mit einem PCMCIA- Adapter, wobei
das Computersystem in den Real-Modus versetzt wird;
ein Kartendienste-Kompatibilitätstreiber in das Computersy­ stem geladen wird (Fig. 4; 103);
eine Real-Modus-Kartendienste-Umgebung mit Hilfe des Kar­ tendienste-Kompatibilitätstreibers simuliert wird, indem nur solche Kartendienstefunktionen unterstützt werden, die zugelas­ sen (legal) sind, wenn keine PCMCIA-Karten in dem PCMCIA-Adap­ ter installiert sind, wobei keine PCMCIA-Karten in dem PCMCIA- Adapter installiert sind und wobei der Kartendienste-Kompati­ bilitätstreiber Zustandsinformationen sammelt;
das Computersystem in den geschützten Modus versetzt wird;
eine Kartendienste-Implementierung für den geschützten Mo­ dus in das Computersystem geladen wird (Fig. 4; 109);
die Zustandsinformationen von dem Kartendienste-Kompatibi­ litätstreiber zu der Kartendienste-Implementierung für den ge­ schützten Modus übertragen werden (Fig. 4; 111); und
die Kontrolle über Kartendienstefunktionsanforderungen auf die Kartendienste-Implementierung für den geschützten Modus derart übertragen wird (Fig. 4; 113), daß die Kartendienste- Implementierung für den geschützten Modus Kartendienstefunk­ tionsanforderungen bedient.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der wenigstens eine Kartendienste-Klient über irgendwelche in dem Computersystem installierte PCMCIA-Karten informiert werden (Fig. 4; 117).
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß beim Informieren des wenigstens einen Kartendienste-Klienten über irgendwelche in dem Computersystem installierte PCMCIA- Karten eine Karteneinfüge-Rückruf-Routine in jedem der Karten­ dienste-Klienten aufgerufen wird, die jeden der Kartendienste- Klienten über ein Einfügen von PCMCIA-Karten informiert.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch ge­ kennzeichnet, daß die Kartendienste-Implementierung für den ge­ schützten Modus in einer Windows-Betriebsumgebung betrieben wird.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß die Kartendienste-Implementierung für den geschützten Modus ei­ nen virtuellen Windows-Gerätetreiber aufweist.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch ge­ kennzeichnet, daß beim Simulieren einer Real-Modus-Kartendien­ ste-Umgebung ein oder, mehrere Kartendienste-Klienten regi­ striert werden.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß die Zustandsinformationen eine Liste der Kartendienste-Klienten enthalten.
8. Verfahren nach Anspruch 6 oder 7, dadurch gekennzeich­ net, daß die Zustandsinformationen eine Steckplatzdienste-Da­ tenstruktur enthalten.
9. Verfahren nach einem der Ansprüche 6 bis 8, dadurch ge­ kennzeichnet, daß die Zustandsinformationen eine Liste von re­ gistrierten Lösch-Warteschlangen enthalten.
10. Verfahren nach einem der Ansprüche 6 bis 9, dadurch ge­ kennzeichnet, daß die Zustandsinformationen eine Liste regi­ strierter Zeitgeber und eine auf jedem der registrierten Zeit­ geber verbleibende Zeitdauer enthalten.
11. Computersystem zum Ausführen eines Verfahrens nach ei­ nem der Ansprüche 1 bis 10 während eines Anfangsladeprozesses entsprechend einem Programm, wobei
das Computersystem einen PCMCIA-Adapter und eine Einrich­ tung zum Erfassen des Vorhandenseins einer PCMCIA-Karte in dem PCMCIA-Adapter aufweist; und
das Programm einen Kartendienste-Kompatibilitätstreiber (50) aufweist, der während des Anfangsladeprozesses in einen Speicher des Computersystems geladen wird.
DE4434528A 1993-09-27 1994-09-27 Verfahren zum Bereitstellen von Kartendienstefunktionen sowie Computersystem zum Ausführen eines solchen Verfahrens Expired - Fee Related DE4434528C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/128,462 US5537597A (en) 1993-09-27 1993-09-27 Method and apparatus for supporting real mode card services clients with a protected mode card services implementation

Publications (2)

Publication Number Publication Date
DE4434528A1 DE4434528A1 (de) 1995-04-20
DE4434528C2 true DE4434528C2 (de) 1999-11-25

Family

ID=22435492

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4434528A Expired - Fee Related DE4434528C2 (de) 1993-09-27 1994-09-27 Verfahren zum Bereitstellen von Kartendienstefunktionen sowie Computersystem zum Ausführen eines solchen Verfahrens

Country Status (4)

Country Link
US (1) US5537597A (de)
DE (1) DE4434528C2 (de)
GB (1) GB2282249B (de)
SG (1) SG49676A1 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US5784615A (en) * 1994-12-13 1998-07-21 Microsoft Corporation Computer system messaging architecture
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
US5710941A (en) * 1995-02-28 1998-01-20 Microsoft Corporation System for substituting protected mode hard disk driver for real mode driver by trapping test transfers to verify matching geometric translation
WO1996038784A1 (en) * 1995-06-02 1996-12-05 Systemsoft Corporation Digital data processing method and apparatus for peripheral device control
US5938742A (en) * 1995-08-18 1999-08-17 General Magic, Inc. Method for configuring an intelligent low power serial bus
US5652832A (en) * 1995-11-13 1997-07-29 Systemsoft Corporation Method and apparatus for diagnosis and correction of peripheral device allocation faults
US5828899A (en) * 1996-01-04 1998-10-27 Compaq Computer Corporation System for peripheral devices recursively generating unique addresses based on the number of devices connected dependent upon the relative position to the port
US5845114A (en) * 1997-01-08 1998-12-01 Telxon Corporation PC card initialization for microprocessor based devices
DE19708755A1 (de) 1997-03-04 1998-09-17 Michael Tasler Flexible Schnittstelle
US6925513B1 (en) * 1999-05-04 2005-08-02 Apple Computer, Inc. USB device notification
FI991167A (fi) 1999-05-24 2000-11-25 Nokia Mobile Phones Ltd Menetelmä käyttöliittymäohjelmiston lataamiseksi
US20020188938A1 (en) * 2001-06-11 2002-12-12 Dong Mimi Chu System and method for providing application software for a peripheral device
FI20060636A (fi) * 2006-06-30 2007-12-31 Metso Paper Inc Pinnoitettu tela
US8726364B2 (en) * 2008-06-30 2014-05-13 Intel Corporation Authentication and access protection of computer boot modules in run-time environments

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4244266A1 (de) * 1991-12-27 1993-07-01 Intel Corp

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4928237A (en) * 1987-03-27 1990-05-22 International Business Machines Corp. Computer system having mode independent addressing
US4926322A (en) * 1987-08-03 1990-05-15 Compag Computer Corporation Software emulation of bank-switched memory using a virtual DOS monitor and paged memory management
US5255379A (en) * 1990-12-28 1993-10-19 Sun Microsystems, Inc. Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor
US5237669A (en) * 1991-07-15 1993-08-17 Quarterdeck Office Systems, Inc. Memory management method
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4244266A1 (de) * 1991-12-27 1993-07-01 Intel Corp

Also Published As

Publication number Publication date
GB2282249A (en) 1995-03-29
US5537597A (en) 1996-07-16
SG49676A1 (en) 1998-06-15
GB9413404D0 (en) 1994-08-24
DE4434528A1 (de) 1995-04-20
GB2282249B (en) 1997-12-24

Similar Documents

Publication Publication Date Title
DE4434528C2 (de) Verfahren zum Bereitstellen von Kartendienstefunktionen sowie Computersystem zum Ausführen eines solchen Verfahrens
DE60006217T2 (de) Techniken zum gewähren des zugriffs durch eine kontextsperre in einem gerät mit kleinem platzbedarf unter verwendung von einem eingangspunktobjekt
DE4244266C2 (de) Verfahren und Schaltungseinrichtung zum dynamischen Konfigurieren von Gerätetreibern für Computersystem-Betriebsmittel
DE69330533T2 (de) Systemkonfigurationsänderung in einem Rechnersystem
DE69630126T2 (de) Historische zustandinformation verwendendes entscheidungsprotokoll für zugriff auf ein geteiltes speichergebiet
DE60108851T2 (de) Mehrkanal, mehrdienstfehlerbeseitigung in pipeline-cpu-architektur
DE69223799T2 (de) Einstellung der systemkonfiguration in einem datenverarbeitungssystem
DE69228413T2 (de) Fernladung eines Betriebssystems über ein Netzwerk
DE69330691T2 (de) Dynamisch konfigurierbares Kernsystem
DE602004012106T2 (de) Multikanal-DMA mit gemeinsamem FIFO-Puffer
DE3851049T2 (de) Ein Sicherheitswegmechanismus für ein Betriebssystem.
DE10397004B4 (de) Verfahren und Vorrichtung zum Laden eines vertrauenswürdigen Betriebssystems
DE69230306T2 (de) Fern-Urladessystem und Verfahren zum Urladen eines Computersystems
DE69835879T2 (de) Multifunktionschipkarte mit delegierungsmerkmal
DE10085374B4 (de) Systemmanagementspeicher für die Systemmanagement-Interrupt-Behandler wird in die Speichersteuereinrichtung integriert, unabhängig vom BIOS und Betriebssystem
DE69024753T2 (de) Tragbarer, Ressourcen teilender Datei-Server, der gemeinsame Routines benutzt
DE69803852T2 (de) Dos-anwenderprogrammünterstützungen für ein modem ohne steuerung
DE60002687T2 (de) Techniken zum gewähren des zugriffs durch eine kontextsperre in einem gerät mit kleinem platzbedarf unter verwendung von laufzeitumgebungsprivilegien
DE602004012563T2 (de) Mehrfädiges DMA
DE102004057756B4 (de) USB-Steuerungseinrichtung mit OTG-Steuerungseinheit
DE10296798T5 (de) SMM-Lader und -Ausführungsmechanismus für Komponentensoftware für mehrere Architekturen
DE19605093A1 (de) Verfahren und Vorrichtung zur parallelen Client/Server-Kommunikation
DE10296594T5 (de) Verfahren und Einrichtung zum Bereitstellen eines Funkmoduls für ein Computersystem
DE112012005209T5 (de) Brückenfunktion zwischen Virtual Machine Monitor und Bare-Metal-Bootvorgang
DE19919137A1 (de) Grenzsignal-Thread

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20130403