DE69819686T2 - Objekt und verfahren zum bereitstellen eines effizienten mehrbenutzerzugriff auf verteilten betriebssystemkernkode durch instanzierung - Google Patents
Objekt und verfahren zum bereitstellen eines effizienten mehrbenutzerzugriff auf verteilten betriebssystemkernkode durch instanzierung Download PDFInfo
- Publication number
- DE69819686T2 DE69819686T2 DE69819686T DE69819686T DE69819686T2 DE 69819686 T2 DE69819686 T2 DE 69819686T2 DE 69819686 T DE69819686 T DE 69819686T DE 69819686 T DE69819686 T DE 69819686T DE 69819686 T2 DE69819686 T2 DE 69819686T2
- Authority
- DE
- Germany
- Prior art keywords
- core
- user
- instance
- computer
- computer system
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Description
- Gebiet der Erfindung
- Die vorliegende Erfindung betrifft Mehrnutzer-Betriebssysteme und insbesondere das Bereitstellen einer Mehrnutzerfunktionalität in Einzelnutzer-Betriebssystemen sowie das Verbessern der Leistungsfähigkeit von Mehrnutzer-Betriebssystemen mit Betriebssystem-Codeobjekten, die von mehreren Nutzern geteilt verwendet werden.
- Hintergrund der Erfindung
- Ein Betriebssystem ist Softwarecode, der Grundfunktionen bereitstellt, die es einem Nutzer oder Nutzern ermöglichen, sich mit einem Computer auszutauschen. Beispielsweise stellt ein Betriebssystem dem Nutzer Befehle zum Öffnen von Dateien, zum Schließen von Dateien, zum Drucken von Dateien, zum Anzeigen von Datenobjekten auf einem Bildschirm sowie viele andere Funktionen bereit.
- Bei einem Computersystem, das dafür ausgelegt ist, nur einem einzigen Nutzer zu dienen, ist eine einzige Kopie des Softwarecodes erforderlich, um diese Funktionen bereitzustellen. Wenn der Nutzer Tätigkeiten ausführt, die einen Eingriff in das Betriebssystem erfordern, führt der geeignete Abschnitt des Betriebssystemcodes die Nutzeranforderung aus. Bei einem System, das mehreren Nutzern dient, wird es jedoch unpraktisch, für jeden Nutzer eine getrennte Kopie des Betriebssystemcodes bereitzustellen.
- Dieses Problem wurde bei manchen Mehrnutzer-Betriebssystemen angegangen, indem nur eine einzige Kopie bestimmter Segmente des Betriebssystemcodes bereitgestellt wird, die von vielen oder allen Nutzern geteilt verwendet werden. Beispielsweise stellt WINDOWS NTTM, ein von Microsoft Corporation aus Redmond, Wash. hergestelltes und verkauftes Betriebssystem, nur eine einzige Kopie des zum Implementieren von Graphikfunktionen, also zum Anzeigen von Datenobjekten auf einem Anzeigebildschirm, erforderlichen Codes bereit. Diese Vorgehensweise hat den Nachteil, daß nicht wirklich ein Mehrnutzerzugriff auf Graphikfunktionen bereitgestellt wird, weil Mehrnutzerzugriffe zu Datenkollisionen zwischen den Daten einzelner Nutzer führen würden. Selbst wenn mehrere Nutzer gleichzeitig Tätigkeiten ausführen könnten, die das Aufrufen des Graphikcodes ohne Datenkollisionen erfordern, würden die Nutzer weiterhin Verzögerungen infolge von Codekonkurrenz erfahren.
- Es ist das Dokument von JON UDELL: "CITRIX's New Multiuser OS/2", BYTE, Band 16, Nr. 1, Januar 1991, ST PETERBOROUGH, USA, S. 134–138, XP002023070 bekannt. Gemäß diesem Dokument sind bei Citrix mehrere Instanzen von Programmen die Norm. Es ist bei Betriebssystemen allgemein bekannt, daß ein Teil des Codes als Kerncode bezeichnet wird.
- Zusammenfassung der Erfindung
- Gemäß einem Aspekt der Erfindung ist vorgesehen: ein Computersystem zum Bedienen mindestens eines ersten Nutzers und eines zweiten Nutzers, das ein Betriebssystem mit einem Kernspeicherraum zum Speichern geschützten Codes enthält, und Mittel zum Verbessern der Leistungsfähigkeit des Systems, gekennzeichnet durch: einen Kernmodusspeicherbereich des Kernspeicherraums, der zum Speichern von Instanzen von Kernobjekten reserviert ist, eine erste Instanz eines Kernobjekts, die in dem Kernmodusspeicherbereich dem ersten Nutzer des Systems zugeordnet gespeichert ist, und eine zweite Instanz des Kernobjekts in dem Kernmodusspeicherbereich dem zweiten Nutzer des Systems zugeordnet gespeichert ist, wobei jede Instanz des Kernobjekts die gleiche virtuelle Adresse hat. Gemäß einem weiteren Aspekt der Erfindung ist vorgesehen: ein Verfahren zum Bereitstellen eines gleichzeitigen Zugriffs für einen ersten Nutzer und einen zweiten Nutzer auf einen geteilten beschreibbaren Betriebssystem-Kerncode, wobei das Verfahren gekennzeichnet ist durch die Schritte: Reservieren eines ersten Bereichs des Kernmodusspeicherraums für den ersten Nutzer und eines zweiten Bereichs des Kernmodusspeicherraums für den zweiten Nutzer, Erzeugen einer ersten Instanz eines Computerkernobjekts verbunden mit dem ersten Nutzer des Computersystems, Erzeugen einer zweiten Instanz eines Computerkernobjekts verbunden mit dem zweiten Nutzer des Computersystems, Speichern der ersten Kernobjektinstanz in dem ersten Kernmodusspeicherbereich und der zweiten Kernobjektinstanz in dem zweiten Kernmodusspeicherbereich, und Zugreifen auf die erste Kernobjektinstanz und die zweite Kernobjektinstanz unter Verwendung der gleichen virtuellen Adresse. Gemäß einem weiteren Aspekt sieht die Erfindung vor: einen Herstellungsgegenstand mit computerlesbaren Programmitteln, die darauf enthalten sind, zum Bereitstellen eines gleichzeitigen Zugriffs für einen ersten Nutzer und einen zweiten Nutzer auf einen geteilten, beschreibbaren Betriebssystemkerncode, wobei der Herstellungsgegenstand gekennzeichnet ist durch: computerlesbare Programmittel zum Reservieren eines ersten Bereichs des Kernmodusspeicherbereichs für den ersten Nutzer und eines zweiten Bereichs des Kernmodusspeicherbereichs für den zweiten Nutzer, computerlesbare Programmittel zum Erzeugen einer ersten Instanz eines Computerkernobjekts verbunden mit dem ersten Nutzer des Computersystems, computerlesbare Programmittel zum Erzeugen einer zweiten Instanz eines Computerkernobjekts verbunden mit dem zweiten Nutzer des Computersystems, computerlesbare Programmittel zum Speichern der ersten Kernobjektinstanz in dem ersten Kernmodespeicherbereich und der zweiten Kernobjektinstanz in dem zweiten Kernmodespeicherbereich, und computerlesbare Programmittel zum Zugreifen auf die erste Kernobjektinstanz und die zweite Kernobjektinstanz durch die gleiche virtuelle Adresse.
- Bei bevorzugten Ausführungsformen stellen das System und das Verfahren, die hier beschrieben sind, eine Technik bereit, die es ermöglicht, daß ein Teil des Systemadressenraums für jede Anmeldungsinstanz (d. h. je Nutzer oder je Endgerät) eindeutig erscheint, und die es ermöglicht, daß eine Gruppe von Prozessen, die einer gegebenen Anmeldungsinstanz dienen, auf dieselben globalen Kerndaten zugreifen, während Daten, die der Anmeldungsinstanz zugeordnet sind, von den Daten anderer Anmeldungsinstanzen getrennt und isoliert gehalten werden. Das System und das Verfahren, die hier beschrieben sind, ermöglichen es auch, daß ein Mehrnutzer-Betriebssystem in einem verhältnismäßig kleinen Speicherplatz implementiert wird, während die Verluste an Leistungsfähigkeit vermieden werden, die mit einer Codekonkurrenz für einzelne Codesegmente verbunden sind. Als ein kurzer Überblick über das bevorzugte System sei bemerkt, daß ein spezieller Kernmodusspeicherbereich erzeugt wird, der Daten für jeden Nutzer oder jedes Endgerät instantiiert. Wenn ein Kernmodusmodul oder ein Vorrichtungstreiber vom System geladen wird, wird eine Adresse für dieses Modul in der gleichen Weise wie bei einem System mit einer einzigen Instanz, also einem Einzelnutzersystem, global zugewiesen. Die Speicherverwaltungsdatenstrukturen werden nachfolgend modifiziert, um eine getrennte Speicherzuordnung für alle Teile des Moduls bereitzustellen, in die Daten geschrieben werden können. Eine spezifische Instanz wird von einer Gruppe von Prozessen, die einem eindeutigen Anmeldeereignis zugeordnet sind, gemeinsam bzw. geteilt verwendet. Das Modul wird automatisch entfernt, wenn der letzte Prozeß endet, der dem Anmeldeereignis zugeordnet ist. Das Verfahren beinhaltet den Schritt des Entfernens der ersten Kernobjektinstanz, wenn der Nutzer die Verwendung des Computersystems beendet.
- Eine Ausführungsform der Erfindung wird nun nur als Beispiel mit Bezug auf die anliegende Zeichnung beschrieben.
-
1 zeigt ein Blockdiagramm des virtuellen Speicherplatzes eines WINDOWS NTTM-Prozesses. -
2 zeigt ein Blockdiagramm, in dem die Zuordnung zwischen dem virtuellen Speicherplatz und einem physikalischen Speicherplatz dargestellt. -
3 zeigt ein Blockdiagramm, in dem der virtuelle Speicherplatz eines WINDOWS NTTM-Prozesses dargestellt ist, wobei ein spezieller Kernmodusspeicherbereich beiseite gesetzt wurde. -
4 zeigt ein Blockdiagramm, in dem zwei Prozesse dargestellt sind, die dieselbe Betriebssystemadresse auf getrennte, instantiierte Kopien des Betriebssystemcodes abbilden. -
5 zeigt ein Blockdiagramm, in dem zwei Prozesse dargestellt sind, die dieselbe Betriebssystemadresse auf dieselbe instantiierte Kopie des Betriebssystemcodes abbilden. - Detaillierte Beschreibung der Erfindung
- In
1 ist der virtuelle Speicherplatz10 für einen WINDOWS NTTM-Prozeß dargestellt. Im allgemeinen werden Nutzermodus-Speicherplätze14 prozeßweise zugewiesen, und der virtuelle Systemspeicherplatz12 wird von allen Prozessen geteilt verwendet. Jeder virtuelle Speicherplatz10 ist in den Systemspeicher12 (in der Beschreibung auch als Kernplatz bezeichnet) und den Nutzerspeicher14 (in der Beschreibung auch als Nutzerplatz bezeichnet) unterteilt. - Der Nutzerspeicher
14 ist ein Satz seitenweise organisierter Speicheradressen, in die Nutzer- und Kern-Teilprozesse schreiben können. Der Systemspeicher12 ist andererseits ein Satz geschützter Speicheradressen. Nur Kern-Teilprozesse können in den Systemspeicher12 schreiben. Falls ein Nutzer-Teilprozeß in den Systemspeicher12 schreiben möchte, kann er dies nicht direkt vornehmen. Er fordert stattdessen einen spezifischen Systemdienst an, der aus Systemcode besteht. Das Betriebssystem übernimmt die Steuerung des Nutzer-Teilprozesses, wobei dem Nutzer-Teilprozeß Kernerlaubnisse gegeben werden. Hierdurch wird es dem Teil prozeß erlaubt, in den Systemspeicher zu schreiben. Wenn der Teilprozeß seinen Systembetrieb abschließt, kehrt er in den Nutzermodus zurück.1 zeigt eine Ausführungsform eines virtuellen Speicherplatzes, wobei der Systemspeicher12 weiter in nicht seitenweise organisierte Speicheradressen16 , seitenweise organisierte Speicheradressen18 und direkt zugeordnete Adressen20 unterteilt ist. - Bei der in
1 dargestellten Ausführungsform sind nicht seitenweise organisierte Systemspeicheradressen16 für Systemcode reserviert, der nicht seitenweise aus dem Speicher auf die Platte abgebildet werden kann, und der Systemcode, der eine virtuelle seitenweise Speicherzuordnung behandelt, darf beispielsweise nicht seitenweise auf die Platte übertragen werden. Direkt zugeordnete Adressen20 stellen einen Bereich von Systemadressen dar, die durch Hardware direkt abgebildet oder übersetzt werden, indem beispielsweise ein oder mehrere Adreßbits maskiert werden oder indem eine vorgegebene Konstante von der virtuellen Adresse subtrahiert wird, um die physikalische Adresse zu erzeugen. Direkt zugeordnete Adressen20 sind typischerweise für Systemcode reserviert, der mit einer minimalen Verzögerung ausgeführt werden muß, wobei es sich beispielsweise um den Systemcode handelt, der die Ausführung von Teilprozessen plant und abfertigt. - Der Rest des Systemspeichers in
1 ist ein seitenweise organisierter Systemspeicher18 . Adressenbereiche des seitenweise organisierten Systemspeichers18 werden für alle Aspekte des Systemcodes, beispielsweise graphischen Code, verwendet. Mit Bezug auf2 sei bemerkt, daß, wenn ein Nutzerplatzprozeß Betriebssystemcode anfordert, der im seitenweise organisierten Systemspeicher18 vorhanden ist, je doch nicht speicherresident ist, ein Seitentabellen-Nachschlagevorgang auftritt. Ein Seitentabellen-Nachschlagevorgang beginnt mit dem Zugreifen auf den geeigneten Eintrag auf der Grundlage der angeforderten Adresse36 des dem Prozeß zugeordneten Seitenverzeichnisses30 . Individuelle Seitenverzeichnisse30 werden für jeden Prozeß unterhalten, und sie speichern Zuordnungen zu Seitentabellen34 . Seitentabellen34 werden für jeden Nutzer bzw. jedes Endgerät unterhalten, und sie speichern Übersetzungen zwischen dem virtuellen Speicherplatz10 des Nutzers und dem physikalischen Speicherplatz40 . Dementsprechend kann ein Nutzer bzw. ein Endgerät mehrere Seitenverzeichnisse30 , jedoch nur eine Seitentabelle34 aufweisen. Die Seitentabelle34 kann eine Übersetzung für jede Nutzerseite speichern, oder sie kann nur die in letzter Zeit verwendeten Übersetzungen speichern. - Beispielsweise kann ein Betriebssystem nur die ersten n Bits einer Adresse untersuchen, um zu bestimmen, auf welchen Seitenverzeichniseintrag
32 der Prozeß zugreifen sollte. Es wird auf den Seitenverzeichniseintrag32 zugegriffen, und er gibt die Adresse einer bestimmten Seitentabelle34 zur Verwendung zurück. Die Seitentabelle34 bildet die virtuelle Adresse36 , d. h. die vom Nutzerprozeß angeforderte virtuelle Seite, auf eine Seite38 im physikalischen Speicher40 ab. Das heißt, daß die Seitentabelle34 die Adresse der physikalischen Seite38 in dem dieser virtuellen Adresse36 zugeordneten Speicher speichert. - Wenngleich jeder Prozeß (d. h. jeder virtuelle Nutzerspeicherplatz
10 ) sein eigenes Seitenverzeichnis30 aufweist, stellen aktuelle Betriebssysteme typischerweise nur eine Kopie des seitenweise organisierten Betriebssystem- codes bereit, um Nutzeranforderungen zu bedienen. Dementsprechend treten Codekonkurrenz oder Datenkollisionen auf, wenn mehrere Nutzer versuchen, gleichzeitig auf denselben Teil des Betriebssystemcodes zuzugreifen. - Beispielsweise ist der Graphikcode Betriebssystemcode, der den "Desktop" implementiert, mit dem individuelle Nutzer wechselwirken, und der es ermöglicht, daß Anwendungen Fenster und Daten innerhalb dieser Fenster anzeigen. WINDOWS NTTM stellt nur eine Instanz des Kerngraphikcodes bereit, was bedeutet, daß nur ein einziger Nutzer bzw. Desktop zu einer Zeit bedient werden kann.
- Wie in
3 dargestellt ist, ist die Codekonkurrenz bei Systemen in der Art der vorstehend beschriebenen dadurch abgemildert, daß ein spezieller Kernmodusspeicherbereich22 bereitgestellt ist, der es ermöglicht, daß der Betriebssystemcode für jeden Nutzer bzw. jedes Endgerät instantiiert wird, so daß der Betriebssystemcode Prozeß für Prozeß oder Prozeßgruppe für Prozeßgruppe instantiiert werden kann. Der spezielle Bereich22 kann zur Zeit des Hochfahrens des Systems beiseite gesetzt werden, oder der Bereich22 kann auf der Grundlage des Auftretens eines vorgegebenen Ereignisses dynamisch beiseite gesetzt werden, wobei das System beispielsweise den speziellen Kernmodusspeicherbereich22 beiseite setzen kann, sobald sich ein zweiter Nutzer am System anmeldet. Der spezielle Kernmodusspeicherbereich22 wird für seitenweise organisierten Betriebssystemcode verwendet, der von mehreren Prozessen aufgerufen werden kann. - Wie vorstehend erwähnt wurde, muß ein Seitentabellen-Nachschlagevorgang geschehen, wenn ein Nutzerprozeß einen geteilt verwendeten Betriebssystemcode anfordert und wenn der Code nicht speicherresident ist. Das Seitenverzeichnis gibt eine Adresse in die geeignete Seitentabelle ein, die den speziellen Kernmodusspeicherbereich
22 in den physikalischen Speicher abbildet. Der physikalische Speicher enthält eine Instanz des angeforderten Betriebssystemcodes. Durch geeignetes Manipulieren der Einträge in der Seitenverzeichnistabelle20 können sich Prozeßgruppen Betriebssystem-Codeinstanzen teilen. Individuelle Prozesse können Seitenverzeichniseinträge aufweisen, die bestimmten Betriebssystem-Codesegmenten zugeordnet sind, die jeweils auf dieselbe Seitentabelle30 gesetzt sind. Die Seitentabelle30 bildet den speziellen Kernmodusspeicherbereich22 , der dem Prozeß zugeordnet ist, in physikalischen Speicher ab, der eine Instanz des Betriebssystemcodes enthält. - Beispielsweise fordert ein Kundenknoten das Betriebssystem auf, ein Rechteck auf dem Anzeigebildschirm zu zeichnen, der seinem Endgerät zugeordnet ist. Der Kundenknoten stellt seine Anforderung, indem er beispielsweise eine dynamisch geladene Bibliothek (DLL) von Betriebssystemfunktionen aufruft. Das Betriebssystem greift auf die seitenweise organisierte Betriebssystem-Speicheradresse zu, die dem angeforderten DLL-Modul entspricht. Falls dieses Modul speicherresident ist, tritt kein Seitenfehler auf, und es wird das Rechteck gezeichnet. Falls das Modul jedoch nicht speicherresident ist, tritt ein Seitentabellen-Nachschlagevorgang auf, wie vorstehend beschrieben wurde, wird die virtuelle Seite in den physikalischen Speicher der Platte abgebildet und wird das Rechteck dann gezeichnet.
- Beispielsweise zeigt
4 zwei Prozesse, die möglicherweise demselben Nutzer bzw. Endgerät zugeordnet worden sind, wodurch auf dieselbe Betriebssystem-Codeinstanz zugegriffen wird. Die virtuellen Speicherplätze10 ,10' der zwei Prozesse weisen Seitenverzeichnisse20 ,20' und Seitentabellen30 ,30' auf. Die Zwischenseitenverzeichnisse20 ,20' und die Seitentabellen30 ,30' verweisen auf dieselbe Instanz des im physikalischen Speicher40 gespeicherten Betriebssystemcodes46 . Jeder Prozeß verwendet dieselbe virtuelle Speicheradresse44 zum Zugreifen auf die im physikalischen Speicher40 gespeicherte Betriebssystem-Codeinstanz42 , und jeder Prozeß ist in der Lage, mit derselben Betriebssystem-Codeinstanz zu arbeiten. -
4 zeigt den Normalbetrieb für das System und das Verfahren, solange keiner der Prozesse fordert, daß ein Systemschreiben auftritt. Durch Teilen derselben Betriebssystem-Objektinstanz zwischen Prozessen wird der physikalische Speicher minimiert, der vom Betriebssystem verbraucht wird, und weil die Prozesse nicht in die Instanzen schreiben, treten keine Datenkollisionen auf und werden Codekonkurrenzen minimiert. Falls jedoch ein Prozeß fordert, daß ein Schreiben in die Systemobjektinstanz auftritt, muß für diesen Prozeß eine private Instanz erzeugt werden. Es kann jedes beliebige Verfahren zum Erfassen von Schreibvorgängen in die Systemobjektinstanz verwendet werden, solange das Schreiben erkannt wird, bevor es auftritt. -
5 zeigt die Abbildung des virtuellen Speichers in den physikalischen Speicher, die auftritt, nachdem ein Prozeß fordert, daß ein Schreiben in den Systemcode auftritt. Der virtuelle Speicherplatz10 ,10' jedes Prozesses weist Seitenverzeichnisse20 ,20' und Seitentabellen30 ,30' auf, die auf private Instanzen des Betriebssystem-Graphikcodes42 ,42' weisen, die im physikalischen Speicher40 ge speichert sind. Jeder Prozeß greift weiter unter Verwendung derselben virtuellen Adresse44 auf seine eigene Graphikcodeinstanz zu, die Zwischenseitenverzeichnisse20 ,20' und die Seitentabellen30 ,30' richten diese Anforderungen jedoch an verschiedene Instanzen des im physikalischen Speicher40 gespeicherten Betriebssystemcodes42 ,42' . Sobald eine getrennte Instanz des Betriebssystemcodes für einen Prozeß erzeugt wurde, der einem Nutzer bzw. einem Endgerät zugeordnet ist, können alle Prozesse, die diesem Nutzer bzw. diesem Endgerät zugeordnet sind, auf die private Instanz zugreifen. Hierdurch wird ermöglicht, daß alle Prozesse, die einem Nutzer bzw. einem Endgerät zugeordnet sind, auf die letzten Systemdaten zugreifen können, die diesem Nutzer bzw. Endgerät zugeordnet sind. - Die vorstehend beschriebene Umleitung von Betriebssystemzugriffen kann erreicht werden, indem das Betriebssystem mit einer zusätzlichen Datenstruktur versehen wird. Die Datenstruktur speichert Informationen über die verschiedenen Betriebssystem-Codeinstanzen, die im System vorhanden sind. Gemäß einer Ausführungsform weist die Datenstruktur eine Identifikation des dem Prozeß zugeordneten Endgeräts, eine Liste der sich das Endgerät teilenden Prozesse, eine Liste der in den speziellen Speicherbereich geladenen Kernmodusmodule (Name und Adresse) und eine Information dazu, welche Seitentabelleneinträge instantiiert worden sind, auf. Immer dann, wenn auf Betriebssystemcode zugegriffen wird, kann auf die beschriebene Datenstruktur zugegriffen werden, um festzustellen, ob eine neue Instanz erzeugt werden sollte oder ob eine vom Prozeß geteilte Instanz bereits existiert. Falls beispielsweise ein Prozeß auf Graphikcode zugreift und kein Seitenfehler auftritt, tritt der Speicherzugriff normal auf, wie vorstehend beschrieben wurde. Falls ein Seitenfehler auftritt, wird jedoch zuerst auf die vorstehend beschriebene Datenstruktur zugegriffen, um festzustellen, ob der Graphikcode von einem anderen Prozeß geladen worden ist, wobei dies vom Nutzer bzw. Endgerät unabhängig ist, dem er zugeordnet ist. Falls er geladen worden ist, werden die Seitenverzeichniseinträge und die Seitentabelleneinträge für diese virtuelle Adresse auf direkte Zugriffe auf die geteilte Instanz im physikalischen Speicher gelegt. Falls der Prozeß dann versucht, in den Betriebscodespeicher zu schreiben, wird das Schreiben festgehalten, eine neue Instanz des Kernobjekts
42' im physikalischen Speicher40 erzeugt und die Seitenverzeichniseinträge und Seitentabelleneinträge, die dieser virtuellen Adresse zugeordnet sind, geändert, um den neuen physikalischen Ort der privaten Instanz42' widerzuspiegeln. Sobald diese Änderung vorgenommen wurde, greifen alle Prozesse, die diesem Nutzer bzw. Endgerät zugeordnet sind, automatisch auf die private Instanz zu, weil nur eine Seitentabelle je Nutzer bzw. Endgerät bereitgestellt ist. Alternativ kann, statt eine zusätzliche neue Datenstruktur bereitzustellen, eine bereits bestehende Speicherverwaltungsdatenstruktur, die in dem System vorhanden ist, geändert werden, um ähnliche Informationen bereitzustellen. - Das Verfahren und die Vorrichtung gemäß der vorliegenden Erfindung können als ein Herstellungsgegenstand mit computerlesbaren Programmitteln, die darauf enthalten sind, bereitgestellt werden. Der Gegenstand kann eine beliebige Form computerlesbarer Medien, einschließlich Hardware, beispielsweise ein RAM-Chip, ein ROM-Chip oder ein PROM-Chip, sowie eine traditionelle Form einer Softwareverteilung, beispielsweise eine Diskette, eine Festplatte, eine Bildplatte, eine magnetooptische Platte oder eine CD-ROM, sein.
- Die computerlesbaren Programmittel, die darauf enthalten sind, sind eine beliebige Form von Programmmitteln, welche die vorstehend beschriebenen Funktionen bereitstellen, unabhängig davon, ob sie als ein einziges monolithisches Programm oder als funktionelle Module ausgebildet sind. Die Programmittel können als Objektcode bereitgestellt werden, oder sie können als Quellcode bereitgestellt werden, der in C, C++, PASCAL, LISP, FORTRAN oder einer anderen geeigneten Programmiersprache geschrieben ist.
- Nachdem bestimmte Ausführungsformen der Erfindung beschrieben worden sind, wird es Durchschnittsfachleuten verständlich geworden sein, daß auch andere Ausführungsformen verwendet werden können, die Konzepte der Erfindung aufweisen. Die Erfindung soll daher nicht auf bestimmte Ausführungsformen beschränkt sein, sondern vielmehr nur durch den Schutzumfang der folgenden Ansprüche beschränkt sein.
Claims (24)
- Computersystem zum Bedienen zumindest eines ersten Nutzers und eines zweiten Nutzers, das ein Betriebssystem mit einem Kernspeicherraum zum Speichern geschützten Codes enthält und Mittel zum Verbessern der Leistungsfähigkeit des Systems, gekennzeichnet durch: einen Kernmodusspeicherbereich des Kernspeicherraums, der zum Speichern von Instanzen von Kernobjekten reserviert ist, eine erste Instanz eines Kernobjekts, die in dem Kernmodusspeicherbereich dem ersten Nutzer des Systems zugeordnet gespeichert ist, und eine zweite Instanz des Kernobjekts in dem Kernmodusspeicherbereich dem zweiten Nutzer des Systems zugeordnet gespeichert ist, wobei jede Instanz des Kernobjekts die gleiche virtuelle Adresse hat.
- Computersystem nach Anspruch 1, das weiterhin eine Speicherverwaltungsdatenstruktur aufweist, die eine getrennte Zuteilung von Speicher für jede Instanz des Kernobjekts bereitstellt.
- Computersystem nach Anspruch 1 oder 2, bei dem das Kernobjekt ein grafisches Subsystem ist.
- Computersystem nach Anspruch 1, 2 oder 3, bei dem eine Instanz des Kernobjekts von einer Vielzahl von Prozessen geteilt wird, wobei jeder der Vielzahl von Prozessen einem einzigartigen bzw. eindeutigen Anmeldeereignis zugeordnet ist.
- Computersystem nach Anspruch 1, bei dem: eine erste Instanz eines Kernobjekts in einem ersten Bereich von physischen bzw. physikalischen Speicheradressen in dem Kernmodusspeicherbereich dem ersten Nutzer des Systems zugeordnet gespeichert ist, die zweite Instanz eines Kernobjekts in einem zweiten Bereich von physikalischen Speicheradressen in dem Kernmodusspeicherbereich dem zweiten Nutzer des Systems zugeordnet gespeichert ist, und wobei eine Seitentabelle für jeden Nutzer des Systems vorgesehen ist, wobei jede Seitentabelle eine Abbildung zwischen einer virtuellen Speicheradresse, die für jede Instanz des Kernobjekts gleich ist, und jedem Bereich der physikalischen Speicheradressen in dem Kernmodespeicherbereich, der durch jede Instanz des Kernobjekts belegt ist, speichert.
- Computersystem nach Anspruch 5, das weiterhin ein Seitenverzeichnis aufweist, das eine Abbildung der Seitentabelle für den ersten Nutzer und zumindest einen dem ersten Nutzer zugeordneten Prozeß speichert.
- Computersystem nach Anspruch 5 oder 6, bei dem der erste und der zweite Bereich der physikalischen Speicheradressen in dem Kernmodusspeicherbereich identisch sind, wenn eine Vielzahl von Nutzern zugreifen aber nicht versuchen, zu der Speicherstelle zu schreiben.
- Computersystem nach Anspruch 5, 6 oder 7, bei dem der erste und der zweite Bereich der physikalischen Speicheradressen in dem Kernmodusspeicherbereich unterschiedlich sind, wenn eine Vielzahl von Nutzern versuchen, zu dem ersten Bereich der physikalischen Speicheradressen zu schreiben.
- Computersystem nach Anspruch 1, das eine Datenstruktur aufweist, die Informationen zu dem in dem System vorliegenden Betriebssystem-Codeinstanzen speichert, wobei auf die Datenstruktur zugegriffen werden kann, wenn auf den Betriebssystemcode zugegriffen ist, um zu bestimmen, ob eine neue Instanz erzeugt werden muß oder ob eine gemeinsam benutzte bzw. geteilte Instanz bereits existiert.
- Computersystem nach einem der Ansprüche 5 bis 8, bei dem der erste und der zweite Bereich der physikalischen Speicheradressen in dem Kernmodusspeicherbereich beim Auftreten eines vorbestimmten Ereignisses dynamisch reserviert werden.
- Computersystem nach Anspruch 10, bei dem das vorbestimmte Ereignis vorliegt, wenn der zweite Nutzer sich bei dem Computersystem anmeldet.
- Computersystem nach einem der Ansprüche 5 bis 8, bei dem der Kernmodusspeicherbereich beim Starten des Computersystems beiseite gesetzt ist.
- Verfahren zum Bereitstellen eines gleichzeitigen Zugriffs für einen ersten Nutzer und einen zweiten Nutzer auf einen geteilten beschreibbaren Betriebssystemkerncode, wobei das Verfahren gekennzeichnet ist durch: (a) Reservieren eines ersten Bereichs des Kernmodusspeicherraums für den ersten Nutzer und eines zweiten Bereichs des Kernmodusspeicherraums für den zweiten Nutzer, (b) Erzeugen einer ersten Instanz eines Computerkernobjekts verbunden mit dem ersten Nutzer des Computersystems, (c) Erzeugen einer zweiten Instanz eines Computerkernobjekts verbunden mit dem zweiten Nutzer des Computersystems, (d) Speichern der ersten Kernobjektinstanz in dem ersten Kernmodusspeicherbereich und der zweiten Kernobjektinstanz in dem zweiten Kernmodusspeicherbereich, und (e) Zugreifen auf die erste Kernobjektinstanz und die zweite Kernobjektinstanz unter Verwendung der gleichen virtuellen Adresse.
- Verfahren nach Anspruch 13, das weiterhin den Schritt des Entfernens der ersten Kernobjektinstanz umfaßt, wenn der erste Nutzer die Nutzung des Computersystems beendet.
- Verfahren nach Anspruch 13 oder 14, das weiterhin den Schritt des Modifizierens der Speicherverwaltungsdatenstrukturen umfaßt, um eine getrennte Speicherverwaltung bzw. -zuordnung für jede der Kernobjektinstanzen bereitzustellen.
- Verfahren nach Anspruch 15, bei dem ein Eintrag in einer ersten Seitentabelle modifiziert wird, um eine erste virtuelle Betriebssystemadresse der ersten Kernobjektinstanz anzupassen.
- Verfahren nach Anspruch 13, das den Schritt des Zugreifens auf eine Datenstruktur verbunden mit jedem Nutzer des Computersystems umfaßt, um eine Übereinstimmung bzw. Abbildung zwischen einer virtuellen Speicheradresse, die für jede Instanz des Computerkernobjekts gemeinsam ist, und einer physikalischen Speicheradresse der ersten und der zweiten Kernobjektinstanz in dem Kernmodusspeicherraum zu erhalten.
- Verfahren nach Anspruch 17, das den Schritt des Zugreifens auf ein Seitenverzeichnis umfaßt, um eine Stelle der Datenstrukturen verbunden mit dem ersten Nutzer zu erhalten, wenn zumindest ein mit dem ersten Nutzer verbundener Prozeß ausgeführt wird.
- Verfahren nach Anspruch 13, das weiterhin den Schritt des Einrichtens einer Datenstruktur umfaßt, die Informationen zu den in dem System vorliegenden Betriebssystem-Codeinstanzen speichert, wobei auf die Datenstruktur zugegriffen werden kann, wenn auf den Betriebssystemcode zugegriffen wird, um zu bestimmen, ob eine neue Instanz erzeugt werden muß oder ob eine geteilte Instanz bereits existiert.
- Verfahren nach Anspruch 17 oder 18, das den Schritt des dynamischen Zuordnens des ersten und des zweiten Bereichs des Kernmodusspeicherraums als Reaktion auf das Eintreten eines vorbestimmten Ereignisses umfaßt.
- Herstellungsgegenstand mit computerlesbaren Programmmitteln, die darauf enthalten sind, zum Bereitstellen eines gleichzeitigen Zugriffs für einen ersten Nutzer und einen zweiten Nutzer auf einen geteilten, beschreibbaren Betriebssystemkerncode, wobei der Herstellungsgegenstand gekennzeichnet ist durch: computerlesbare Programmittel zum Reservieren eines ersten Bereichs des Kernmodusspeicherbereichs für den ersten Nutzer und eines zweiten Bereichs des Kernmodusspeicherbereichs für den zweiten Nutzer, computerlesbare Programmittel zum Erzeugen einer ersten Instanz eines Computerkernobjekts verbunden mit dem ersten Nutzer des Computersystems, computerlesbare Programmittel zum Erzeugen einer zweiten Instanz eines Computerkernobjekts verbunden mit dem zweiten Nutzer des Computersystems, computerlesbare Programmittel zum Speichern der ersten Kernobjektinstanz in dem ersten Kernmodespeicherbereich und der zweiten Kernobjektinstanz in dem zweiten Kernmodespeicherbereich, und computerlesbare Programmittel zum Zugreifen auf die erste Kernobjektinstanz und die zweite Kernobjektinstanz durch die gleiche virtuelle Adresse.
- Herstellungsgegenstand nach Anspruch 21, der weiterhin computerlesbare Programmittel zum Entfernen der ersten Kernobjektinstanz umfaßt, wenn der erste Nutzer die Nutzung des Computersystem beendet.
- Herstellungsgegenstand nach Anspruch 21 oder 22, der weiterhin computerlesbare Programmittel zum Modifizieren der Speicherverwaltungsdatenstrukturen umfaßt, um eine getrennte Speicherverwaltung für jede der Kernobjektinstanzen bereitzustellen.
- Herstellungsgegenstand nach Anspruch 23, bei dem ein Eintrag in eine erste Seitentabelle modifiziert ist, um eine erste virtuelle Betriebssystemadresse der ersten Kernobjektinstanz anzupassen.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US3468997P | 1997-01-07 | 1997-01-07 | |
US34689 | 1997-01-07 | ||
US08/813,819 US5913230A (en) | 1997-01-07 | 1997-03-06 | Object and method for providing efficient multi-user access to shared operating system kernal code using instancing |
US813819 | 1997-03-06 | ||
PCT/US1998/000105 WO1998030956A1 (en) | 1997-01-07 | 1998-01-07 | Object and method for providing efficient multi-user access to shared operating system kernal code using instancing |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69819686D1 DE69819686D1 (de) | 2003-12-18 |
DE69819686T2 true DE69819686T2 (de) | 2004-09-16 |
Family
ID=26711255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69819686T Expired - Lifetime DE69819686T2 (de) | 1997-01-07 | 1998-01-07 | Objekt und verfahren zum bereitstellen eines effizienten mehrbenutzerzugriff auf verteilten betriebssystemkernkode durch instanzierung |
Country Status (10)
Country | Link |
---|---|
US (2) | US5913230A (de) |
EP (1) | EP0951675B1 (de) |
JP (1) | JP2001508212A (de) |
KR (1) | KR20000069891A (de) |
AU (1) | AU734996B2 (de) |
CA (1) | CA2275970C (de) |
DE (1) | DE69819686T2 (de) |
ES (1) | ES2210714T3 (de) |
IL (1) | IL130730A0 (de) |
WO (1) | WO1998030956A1 (de) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6032240A (en) * | 1997-11-12 | 2000-02-29 | Intergraph Corporation | Bypassing a nonpaged pool controller when accessing a remainder portion of a random access memory |
US6804766B1 (en) * | 1997-11-12 | 2004-10-12 | Hewlett-Packard Development Company, L.P. | Method for managing pages of a designated memory object according to selected memory management policies |
US6367072B1 (en) * | 1998-03-12 | 2002-04-02 | Applica Systems, Inc. | Apparatus and method for identifying and modifying computer operating system components |
US6222529B1 (en) * | 1999-05-05 | 2001-04-24 | Shareware, Inc. | Method and apparatus for providing multiple sessions on a single user operating system |
US6345351B1 (en) * | 1999-11-12 | 2002-02-05 | Telefonaktiebolaget Lm Ericsson(Publ) | Maintenance of speculative state of parallel executed jobs in an information processing system |
US20020030843A1 (en) * | 2000-02-02 | 2002-03-14 | Tuli Raja Singh | Portable high speed internet access device |
US7068381B1 (en) * | 2000-02-02 | 2006-06-27 | Raja Tuli | Portable high speed internet access device |
US7023572B2 (en) * | 2000-02-02 | 2006-04-04 | Raja Singh Tuli | Portable high speed internet access device |
US7356570B1 (en) | 2000-08-29 | 2008-04-08 | Raja Tuli | Portable high speed communication device |
US20020115477A1 (en) * | 2001-02-13 | 2002-08-22 | Raja Singh | Portable high speed internet access device with scrolling |
US6633314B1 (en) * | 2000-02-02 | 2003-10-14 | Raja Tuli | Portable high speed internet device integrating cellular telephone and palm top computer |
US7289244B2 (en) | 2000-02-02 | 2007-10-30 | Raja Singh Tuli | Portable high speed internet access device |
US6941382B1 (en) | 2000-02-07 | 2005-09-06 | Raja Tuli | Portable high speed internet or desktop device |
US6874009B1 (en) | 2000-02-16 | 2005-03-29 | Raja Tuli | Portable high speed internet device with user fees |
US7490166B2 (en) * | 2000-05-26 | 2009-02-10 | Citrix Systems, Inc. | Remote control of a client's off-screen surface |
US7117239B1 (en) | 2000-07-28 | 2006-10-03 | Axeda Corporation | Reporting the state of an apparatus to a remote computer |
US7069192B1 (en) * | 2000-08-25 | 2006-06-27 | Hewlett-Packard Company | CAD system |
US7035912B2 (en) | 2000-08-28 | 2006-04-25 | Abaco.P.R., Inc. | Method and apparatus allowing a limited client device to use the full resources of a networked server |
US8108543B2 (en) | 2000-09-22 | 2012-01-31 | Axeda Corporation | Retrieving data from a server |
US7185014B1 (en) | 2000-09-22 | 2007-02-27 | Axeda Corporation | Retrieving data from a server |
US6842777B1 (en) | 2000-10-03 | 2005-01-11 | Raja Singh Tuli | Methods and apparatuses for simultaneous access by multiple remote devices |
US7191211B2 (en) * | 2000-10-03 | 2007-03-13 | Raja Tuli | Portable high speed internet access device priority protocol |
US6915327B1 (en) | 2000-10-30 | 2005-07-05 | Raja Singh Tuli | Portable high speed communication device peripheral connectivity |
US6928461B2 (en) | 2001-01-24 | 2005-08-09 | Raja Singh Tuli | Portable high speed internet access device with encryption |
US7254601B2 (en) | 2001-12-20 | 2007-08-07 | Questra Corporation | Method and apparatus for managing intelligent assets in a distributed environment |
US7178149B2 (en) * | 2002-04-17 | 2007-02-13 | Axeda Corporation | XML scripting of soap commands |
US8176428B2 (en) * | 2002-12-03 | 2012-05-08 | Datawind Net Access Corporation | Portable internet access device back page cache |
US7966418B2 (en) | 2003-02-21 | 2011-06-21 | Axeda Corporation | Establishing a virtual tunnel between two computer programs |
US7450128B2 (en) * | 2004-11-15 | 2008-11-11 | Hewlett-Packard Development Company, L.P. | Systems and methods of providing image copy and modify commands to a receiver with an associated display |
US8171169B2 (en) * | 2005-03-14 | 2012-05-01 | Citrix Systems, Inc. | Method and apparatus for updating a graphical display in a distributed processing environment |
US8423673B2 (en) * | 2005-03-14 | 2013-04-16 | Citrix Systems, Inc. | Method and apparatus for updating a graphical display in a distributed processing environment using compression |
US7817849B2 (en) * | 2005-08-18 | 2010-10-19 | Hewlett-Packard Development Company, L.P. | Method and apparatus for graphical data compression |
US8370479B2 (en) | 2006-10-03 | 2013-02-05 | Axeda Acquisition Corporation | System and method for dynamically grouping devices based on present device conditions |
US8065397B2 (en) | 2006-12-26 | 2011-11-22 | Axeda Acquisition Corporation | Managing configurations of distributed devices |
US20080313647A1 (en) * | 2007-06-18 | 2008-12-18 | Microsoft Corporation | Thread virtualization techniques |
KR100928866B1 (ko) * | 2007-09-10 | 2009-11-30 | 주식회사 안철수연구소 | 가상 환경에서의 어플리케이션 실행 장치 및 방법 |
US20090322771A1 (en) * | 2008-03-13 | 2009-12-31 | Eldad Eilam | Method for providing multiple users with private access to a computer |
KR20110054415A (ko) * | 2009-11-17 | 2011-05-25 | 삼성전자주식회사 | 화면 표시 방법 및 장치 |
US8634302B2 (en) | 2010-07-30 | 2014-01-21 | Alcatel Lucent | Apparatus for multi-cell support in a network |
US8504744B2 (en) * | 2010-10-28 | 2013-08-06 | Alcatel Lucent | Lock-less buffer management scheme for telecommunication network applications |
US8737417B2 (en) | 2010-11-12 | 2014-05-27 | Alcatel Lucent | Lock-less and zero copy messaging scheme for telecommunication network applications |
US8730790B2 (en) | 2010-11-19 | 2014-05-20 | Alcatel Lucent | Method and system for cell recovery in telecommunication networks |
US8861434B2 (en) | 2010-11-29 | 2014-10-14 | Alcatel Lucent | Method and system for improved multi-cell support on a single modem board |
US9357482B2 (en) | 2011-07-13 | 2016-05-31 | Alcatel Lucent | Method and system for dynamic power control for base stations |
US9864638B2 (en) * | 2012-06-22 | 2018-01-09 | Intel Corporation | Techniques for accessing a graphical processing unit memory by an application |
CN105681291B (zh) * | 2016-01-07 | 2019-07-09 | 锐达互动科技股份有限公司 | 一种实现多客户端统一认证方法及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5129084A (en) * | 1989-06-29 | 1992-07-07 | Digital Equipment Corporation | Object container transfer system and method in an object based computer operating system |
US5774642A (en) * | 1990-08-09 | 1998-06-30 | Bull S.A. | Architecture for dynamic service processor exchange providing multitasking environment where multiple processors have access to a system configuration table |
US5339411A (en) * | 1990-12-21 | 1994-08-16 | Pitney Bowes Inc. | Method for managing allocation of memory space |
US5504814A (en) * | 1991-07-10 | 1996-04-02 | Hughes Aircraft Company | Efficient security kernel for the 80960 extended architecture |
US5519867A (en) * | 1993-07-19 | 1996-05-21 | Taligent, Inc. | Object-oriented multitasking system |
US5729710A (en) * | 1994-06-22 | 1998-03-17 | International Business Machines Corporation | Method and apparatus for management of mapped and unmapped regions of memory in a microkernel data processing system |
US5771383A (en) * | 1994-12-27 | 1998-06-23 | International Business Machines Corp. | Shared memory support method and apparatus for a microkernel data processing system |
US5752031A (en) * | 1995-04-24 | 1998-05-12 | Microsoft Corporation | Queue object for controlling concurrency in a computer system |
-
1997
- 1997-03-06 US US08/813,819 patent/US5913230A/en not_active Expired - Lifetime
-
1998
- 1998-01-07 WO PCT/US1998/000105 patent/WO1998030956A1/en active IP Right Grant
- 1998-01-07 AU AU59073/98A patent/AU734996B2/en not_active Expired
- 1998-01-07 ES ES98902395T patent/ES2210714T3/es not_active Expired - Lifetime
- 1998-01-07 CA CA002275970A patent/CA2275970C/en not_active Expired - Lifetime
- 1998-01-07 DE DE69819686T patent/DE69819686T2/de not_active Expired - Lifetime
- 1998-01-07 JP JP53100898A patent/JP2001508212A/ja active Pending
- 1998-01-07 IL IL13073098A patent/IL130730A0/xx unknown
- 1998-01-07 EP EP98902395A patent/EP0951675B1/de not_active Expired - Lifetime
- 1998-01-07 KR KR1019997006084A patent/KR20000069891A/ko not_active Application Discontinuation
-
1999
- 1999-01-25 US US09/236,928 patent/US6023749A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
AU5907398A (en) | 1998-08-03 |
DE69819686D1 (de) | 2003-12-18 |
CA2275970C (en) | 2002-04-30 |
EP0951675A1 (de) | 1999-10-27 |
KR20000069891A (ko) | 2000-11-25 |
US6023749A (en) | 2000-02-08 |
EP0951675B1 (de) | 2003-11-12 |
JP2001508212A (ja) | 2001-06-19 |
CA2275970A1 (en) | 1998-07-16 |
US5913230A (en) | 1999-06-15 |
AU734996B2 (en) | 2001-06-28 |
WO1998030956A1 (en) | 1998-07-16 |
ES2210714T3 (es) | 2004-07-01 |
IL130730A0 (en) | 2000-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69819686T2 (de) | Objekt und verfahren zum bereitstellen eines effizienten mehrbenutzerzugriff auf verteilten betriebssystemkernkode durch instanzierung | |
DE69734129T2 (de) | Hierarchisches Datenverarbeitungssystem mit symetrischen Multiprozessoren | |
DE19728726B4 (de) | Robotercontroller und dessen Steuerverfahren | |
DE112005003859B4 (de) | Verwalten von Prozessorressourcen während Architekturereignissen | |
DE4218025C2 (de) | Vorrichtung und Verfahren zur automatischen Zuordnung von Datenspeichereinrichtungen in einem Computersystem | |
DE69636002T2 (de) | Digitalrechnersystem mit Register für virtuelle Gerätetreiber | |
DE2423194C2 (de) | Vorrichtung zum Berechnen einer absoluten Hauptspeicheradresse in einer Datenverarbeitungsanlage | |
EP0682318B1 (de) | Datenverwaltungssystem | |
DE102005022893B3 (de) | Verfahren zum Zugreifen auf Speicherbereiche einer Speicherkarte durch eine anfordernde Anwendung und Speicherkarte | |
DE102013017509A1 (de) | Effiziente Speichervirtualisierung in mehrsträngigen Verarbeitungseinheiten | |
DE19852250A1 (de) | System und Verfahren zum Ändern der Zuordnung einer Partition zu einem logischen Laufwerk in einem Computerspeicher | |
DE2226382A1 (de) | Datenverarbeitungsanlage | |
DE10127198A1 (de) | Vorrichtung und Verfahren zum Ermitteln einer physikalischen Adresse aus einer virtuellen Adresse unter Verwendung einer hierarchischen Abbildungsvorschrift mit komprimierten Knoten | |
DE3438869A1 (de) | Computersystem mit adressumwandlung | |
DE69936257T2 (de) | Erzeugen und uberprüfen von referenz-adresszeigern | |
DE2641722A1 (de) | Hierarchisch geordnetes speichersystem fuer eine datenverarbeitende anlage mit virtueller adressierung | |
DE3911465A1 (de) | Verfahren zur konfiguration technischer systeme aus komponenten | |
DE102008058209A1 (de) | Anordnung und Verfahren um zu verhindern, dass ein Anwenderbetriebssystem in einem VMM System eine Anordnung abschaltet, die von einem Servicebetriebssystem verwendet wird | |
DE60105632T2 (de) | Verfahren und vorrichtung zur erzeugung zusammengesetzter schriftsätze | |
DE3441640A1 (de) | Streifenfeldspeichercontroller | |
DE69726795T2 (de) | Kodierungsverfahren des Verzeichnisstatus in einem gemeinsamen, verteilten Speichersystem mit koherenten Pufferspeichern | |
DE1801620A1 (de) | Verfahren und Anordnung zur Adressierung eines Speichers in einer Datenverarbeitungsanlage | |
CH495584A (de) | Datenverarbeitungsanlage | |
DE2847737C2 (de) | Schaltung zur Umsetzung virtueller Adressen in eine reelle Adresse von größerer Länge | |
EP1675010A2 (de) | Verfahren zur Aktualisierung von Einträgen von Adressumsetzpuffern in einem Mehrprozessor-Computersystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: KUDLEK & GRUNERT PATENTANWAELTE PARTNERSCHAFT, 803 |