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 PDF

Info

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
Application number
DE69819686T
Other languages
English (en)
Other versions
DE69819686D1 (de
Inventor
J. John RICHARDSON
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.)
Citrix Systems Inc
Original Assignee
Citrix Systems Inc
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 Citrix Systems Inc filed Critical Citrix Systems Inc
Publication of DE69819686D1 publication Critical patent/DE69819686D1/de
Application granted granted Critical
Publication of DE69819686T2 publication Critical patent/DE69819686T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task 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 Speicherplatz 10 für einen WINDOWS NTTM-Prozeß dargestellt. Im allgemeinen werden Nutzermodus-Speicherplätze 14 prozeßweise zugewiesen, und der virtuelle Systemspeicherplatz 12 wird von allen Prozessen geteilt verwendet. Jeder virtuelle Speicherplatz 10 ist in den Systemspeicher 12 (in der Beschreibung auch als Kernplatz bezeichnet) und den Nutzerspeicher 14 (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 Systemspeicher 12 ist andererseits ein Satz geschützter Speicheradressen. Nur Kern-Teilprozesse können in den Systemspeicher 12 schreiben. Falls ein Nutzer-Teilprozeß in den Systemspeicher 12 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 Systemspeicher 12 weiter in nicht seitenweise organisierte Speicheradressen 16, seitenweise organisierte Speicheradressen 18 und direkt zugeordnete Adressen 20 unterteilt ist.
  • Bei der in 1 dargestellten Ausführungsform sind nicht seitenweise organisierte Systemspeicheradressen 16 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 Adressen 20 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 Adressen 20 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 Systemspeicher 18. Adressenbereiche des seitenweise organisierten Systemspeichers 18 werden für alle Aspekte des Systemcodes, beispielsweise graphischen Code, verwendet. Mit Bezug auf 2 sei bemerkt, daß, wenn ein Nutzerplatzprozeß Betriebssystemcode anfordert, der im seitenweise organisierten Systemspeicher 18 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 Adresse 36 des dem Prozeß zugeordneten Seitenverzeichnisses 30. Individuelle Seitenverzeichnisse 30 werden für jeden Prozeß unterhalten, und sie speichern Zuordnungen zu Seitentabellen 34. Seitentabellen 34 werden für jeden Nutzer bzw. jedes Endgerät unterhalten, und sie speichern Übersetzungen zwischen dem virtuellen Speicherplatz 10 des Nutzers und dem physikalischen Speicherplatz 40. Dementsprechend kann ein Nutzer bzw. ein Endgerät mehrere Seitenverzeichnisse 30, jedoch nur eine Seitentabelle 34 aufweisen. Die Seitentabelle 34 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 Seitenverzeichniseintrag 32 zugegriffen, und er gibt die Adresse einer bestimmten Seitentabelle 34 zur Verwendung zurück. Die Seitentabelle 34 bildet die virtuelle Adresse 36, d. h. die vom Nutzerprozeß angeforderte virtuelle Seite, auf eine Seite 38 im physikalischen Speicher 40 ab. Das heißt, daß die Seitentabelle 34 die Adresse der physikalischen Seite 38 in dem dieser virtuellen Adresse 36 zugeordneten Speicher speichert.
  • Wenngleich jeder Prozeß (d. h. jeder virtuelle Nutzerspeicherplatz 10) sein eigenes Seitenverzeichnis 30 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 Kernmodusspeicherbereich 22 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 Bereich 22 kann zur Zeit des Hochfahrens des Systems beiseite gesetzt werden, oder der Bereich 22 kann auf der Grundlage des Auftretens eines vorgegebenen Ereignisses dynamisch beiseite gesetzt werden, wobei das System beispielsweise den speziellen Kernmodusspeicherbereich 22 beiseite setzen kann, sobald sich ein zweiter Nutzer am System anmeldet. Der spezielle Kernmodusspeicherbereich 22 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 Seitenverzeichnistabelle 20 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 Seitentabelle 30 gesetzt sind. Die Seitentabelle 30 bildet den speziellen Kernmodusspeicherbereich 22, 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ätze 10, 10' der zwei Prozesse weisen Seitenverzeichnisse 20, 20' und Seitentabellen 30, 30' auf. Die Zwischenseitenverzeichnisse 20, 20' und die Seitentabellen 30, 30' verweisen auf dieselbe Instanz des im physikalischen Speicher 40 gespeicherten Betriebssystemcodes 46. Jeder Prozeß verwendet dieselbe virtuelle Speicheradresse 44 zum Zugreifen auf die im physikalischen Speicher 40 gespeicherte Betriebssystem-Codeinstanz 42, 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 Speicherplatz 10, 10' jedes Prozesses weist Seitenverzeichnisse 20, 20' und Seitentabellen 30, 30' auf, die auf private Instanzen des Betriebssystem-Graphikcodes 42, 42' weisen, die im physikalischen Speicher 40 ge speichert sind. Jeder Prozeß greift weiter unter Verwendung derselben virtuellen Adresse 44 auf seine eigene Graphikcodeinstanz zu, die Zwischenseitenverzeichnisse 20, 20' und die Seitentabellen 30, 30' richten diese Anforderungen jedoch an verschiedene Instanzen des im physikalischen Speicher 40 gespeicherten Betriebssystemcodes 42, 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 Speicher 40 erzeugt und die Seitenverzeichniseinträge und Seitentabelleneinträge, die dieser virtuellen Adresse zugeordnet sind, geändert, um den neuen physikalischen Ort der privaten Instanz 42' 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)

  1. 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.
  2. Computersystem nach Anspruch 1, das weiterhin eine Speicherverwaltungsdatenstruktur aufweist, die eine getrennte Zuteilung von Speicher für jede Instanz des Kernobjekts bereitstellt.
  3. Computersystem nach Anspruch 1 oder 2, bei dem das Kernobjekt ein grafisches Subsystem ist.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. Computersystem nach Anspruch 10, bei dem das vorbestimmte Ereignis vorliegt, wenn der zweite Nutzer sich bei dem Computersystem anmeldet.
  12. Computersystem nach einem der Ansprüche 5 bis 8, bei dem der Kernmodusspeicherbereich beim Starten des Computersystems beiseite gesetzt ist.
  13. 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.
  14. Verfahren nach Anspruch 13, das weiterhin den Schritt des Entfernens der ersten Kernobjektinstanz umfaßt, wenn der erste Nutzer die Nutzung des Computersystems beendet.
  15. 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.
  16. Verfahren nach Anspruch 15, bei dem ein Eintrag in einer ersten Seitentabelle modifiziert wird, um eine erste virtuelle Betriebssystemadresse der ersten Kernobjektinstanz anzupassen.
  17. 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.
  18. 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.
  19. 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.
  20. 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.
  21. 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.
  22. Herstellungsgegenstand nach Anspruch 21, der weiterhin computerlesbare Programmittel zum Entfernen der ersten Kernobjektinstanz umfaßt, wenn der erste Nutzer die Nutzung des Computersystem beendet.
  23. 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.
  24. Herstellungsgegenstand nach Anspruch 23, bei dem ein Eintrag in eine erste Seitentabelle modifiziert ist, um eine erste virtuelle Betriebssystemadresse der ersten Kernobjektinstanz anzupassen.
DE69819686T 1997-01-07 1998-01-07 Objekt und verfahren zum bereitstellen eines effizienten mehrbenutzerzugriff auf verteilten betriebssystemkernkode durch instanzierung Expired - Lifetime DE69819686T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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